Skip to content
blegat edited this page Apr 15, 2013 · 21 revisions

Bienvenue sur le wiki du repository du site web de l'OMB training

Pour aider, soumettez un bug sur le bug tracker ou corriger/rajouter des solutions vous-même.

Pour cela, rien de bien compliqué.

Commencez par installer les outils nécessaire. Pour cela, suivez ceci et puis celui ci que le précédent vous conseille.

Vous voilà prêt, suivez ceci pour savoir comment contribuer.

Développement

Installation

Il vous sera nécessaire d'installer Ruby on Rails. Pour cela, suivez le chapitre 1.2 du RailsTutorial. Le reste du livre est pas mal aussi pour débuter en Ruby on Rails.

Local set up

Une fois cela fait, allez dans le dossier <dossier_où_vous_avez_fait_le_git_clone>/ombtraining. Créez vous d'abord un gemset

$ rvm use 1.9.3@ombtraining --create --default

puis installez les gems nécessaires

$ bundle install --without production

Vous devrez relancer cette commande à chaque fois que vous changez (ou que vous faite un git pull qui change) le fichier Gemfile.

Il faut maintenant créer la base de donnée.

$ rake db:create # Crée la base de donnée
$ rake db:schema:load # Migre la base de donnée au bon état
$ rake db:seed # La rempli de donnée importantes
$ rake db:populate # Ajoute des données exemples pour tester le layout
$ rake db:test:prepare # Prépare la base de donnée pour les tests

Testing

Pour lancer les tests, écrivez

$ rspec

Try it

Pour essayer le site en local, lancer

$ rails server # ou rails s

Cette commande lance un serveur. La commande ne se terminera pas. Pour arrêter le serveur, vous devez faire Ctrl+C (non, ce n'est pas copier, copier (resp. coller) dans un terminal, c'est Ctrl+Shift+C (resp. Ctrl+Shift+V)).

Ouvrez alors un navigateur et allez à l'url localhost:3000.

Les axiomes de OMBtraining

Un chapitre a deux statuts : en ligne et en construction. Lorsqu'on rajoute un chapitre, il est bien sûr en construction. Et lorsqu'on le met en ligne, il est visible par les étudiants et on ne peut plus le modifier autant que lorsqu'il était en construction (pour éviter des bugs du genre : un élève a résolu tous les exercices, mais on lui en rajoute encore un, un chapitre A est prérequis de B, un élève finit le A, et un administrateur décide que maintenant, B est prérequis de A...). Je pense que les points suivants règlent tous les problèmes :

Théorie et Problèmes

Ceux-ci seront toujours modifiables, supprimables, ajoutables, même si le chapitre est en ligne. Ils auront aussi droit à un boutton "mettre en ligne", de sorte qu'un point théorique ou un problème qui n'est pas encore finalisé ne soit pas tout de suite accessible aux étudiants.

Exercices et QCMs

  • Si le chapitre est en construction, ils sont modifiables, supprimables, ajoutables
  • Si le chapitre est en ligne, ils sont éventuellement supprimables (ce n'est pas très grave si on supprime un exercice que quelqu'un a déjà fait), mais pas ajoutables. On peut toujours les modifier, mais dans une moindre mesure. Si on commence à ajouter des choix à un QCM alors que des gens sont en train d'essayer de le faire, ca va faire un peu bizarre. Donc ils seront juste légèrement modifiables dans le sens où on peut corriger leur énoncé ou l'énoncé des réponses dans le cas d'un QCM, mais plus les réponses à proprement parlé. Si un exercice est vraiment faux et qu'il n'y a pas moyen de le modifier légèrement pour le rendre correct, on n'a plus qu'à le supprimer (il faut tout de même faire attention à mettre des trucs corrects dans un chapitre en ligne, où va le monde?)

Pour mettre un chapitre en ligne

  • Tous ses prérequis doivent être en ligne
  • Un chapitre essentiel ne peut avoir pour prérequis un chapitre fondamental

Restriction lorsqu'un chapitre est en ligne

  • Comme dit plus haut, on ne peut plus modifier grandement ses exercices et QCMs
  • On ne peut plus modifier, ajouter, supprimer des prérequis essentiels (j'entends par là non-fondamentaux)
  • On peut toujours modifier, ajouter, supprimer des prérequis fondamentaux (pourvu qu'ils soient en ligne)
  • On peut éventuellement le changer de sections, à condition de ne pas le faire passer du statut d'essentiel à fondamental (ou vice versa). Si on veut le faire passer de Géométrie à Algèbre, il suffit de d'abord le rajouter à Algèbre et puis de l'enlever de Géométrie.

Hébergeurs

En cherchant à partir de ce site : http://www.top-cheap-web-hosting.com/linux-web-hosting/best-ruby-on-rails-web-hosting/

  • Bluehost : http://www.bluehost.com/ : $3.95 par mois pour 3 ans ($4.95 pour 2 ans et $5.95 pour un an), meilleur hébergeur ruby on rails selon le site, pour avoir 5 étoiles de moyenne sur 300 personnes, il faut être vraiment balaise. Ca a l'air de tout supporter et de ne pas avoir beaucoup de défauts. Le seul peut-être, c'est qu'on dirait qu'on a un nom de domaine gratuit seulement un an, après je pense qu'il faut renouveler pour quelque chose de l'ordre de $10.00 par an... Ils recommandent plusieurs trucs payants dont certains ont l'air inutiles, mais un est highly recommanded (Domain Whois Privacy), c'est pour ne pas que tout le monde ait accès à tes informations on dirait. C'est $9.99 par an donc avec cela ca reviendrait à $4.82 par an (sans compter le renouvellement du nom de domaine). Si je ne m'abuse ca revient à payer $173.61 tout de suite, à savoir €132.72 pour trois ans.
  • Hostmonster : www.hostmonster.com/ : $3.95 par mois pour 3 ans, c'est un copier coller de Bluehost donc pour le prix, autant prendre l'autre :p
  • Dreamhost, $3.95 par mois pendant un an et domaine gratuit. Il est mis en avant ici.
  • Arvixe : https://www.arvixe.com/ : $4.00 par mois pour 2 ans, réduit à $2.80 par mois à l'aide de ce coupon : http://www.top-cheap-web-hosting.com/arvixe-coupon-reviews . Je viens d'essayer et ca marche. On a en prime un nom de domaine gratuit à vie. En gros ils disent sur le comparatif que si on est vraiment attaché à un support client exceptionnel, il faut prendre Bluehost, car c'est moins bien avec Arvixe. Ceci dit, a-t-on vraiment besoin d'un super support client? Si on peut faire faire des économies à Philippe, moi je suis pas contre. Car ca revient à $67.20 (51€) pour deux ans, sans plus devoir se soucier du domaine, ca me parait quand même ultra intéressant. Les gens n'ont pas l'air de s'en plaindre puisqu'il a 4.79/5 sur le site. Pour les trucs supplémentaires, ils mettent ceci (ils le mettent une fois inscrit, je me suis inscrit pour voir), je pense qu'on a besoin d'aucun de ces trucs si?
  1. Automatic Software Installation: Use this feature if you would like us to pre-install your hosting account with one of the most popular scripts and software out there. [ FREE ]
  2. Dedicated IP Address: Generally required for securing e-commerce websites or creating a completely independent site entity. ($2.00 per month)
  3. Shared Tomcat: Required for websites coded in JSP (Java Server Pages) ($5.00 per month)
  4. Private Tomcat: Required for websites coded in JSP (Java Server Pages) - Offers admin and manager logins ($10.00 per month)
  5. SSL Certificate: SSL Certificate Issuance and Free Installation on any Arvixe hosting account. (Note: a dedicated IP is required for SSL-enabled websites) ($25.00 per year)

Que penses-tu donc de cette dernière possibilité?