Commit initial avec structure de l'application HLM Rails 4 et environnement de développement.

* Structure de l'application Rails 4 (sans le gem ActiveRecord)
* Ajout du support de MongoDB via la gem mongoid (http://mongoid.org)
* Environnement de développement géré par Vagrant (http://www.vagrantup.com)
* Provisioning de la VM de développement géré par Puppet (http://puppetlabs.com)
* Téléchargement des modules Puppet géré par librarian-puppet (http://librarian-puppet.com)
* Sécurisation du secret token de l'application (gestion par variable d'environnement)
Ajout du support du framework de test RSpec.

* Ajout des gems rspec, factory_girl, sport, faker, capybara et mongoid-rspec
* Configuration de Spork dans le spec_helper de RSpec
* Configuration de mongoid-rspec dans le fichier de support de spec mongoid.rb
Ajout du gem sorcery et implémentation d'une authentification basique (sign up, login, logout)

* Gem sorcery ajouté au Gemfile et configuré avec le module remember_me
* Intégration de sorcery dans application_controller
* Création du document MongoDB user avec support de sorcery
* Ajout des controllers/routes de users et de sessions
* Création des vues users/new (sign up) sessions/new (log in)
* Création des features RSpec/Capybara
* Suppression du dossier test (remplacé par le dossier spec de RSpec)
Ajout du nickname (pseudonyme) de l'utilisateur

* Nickname ajouté au document MongoDB user avec validation (requis, unique)
* Controller user_controller#new mis à jour avec le nickname en paramètre requis
* View users#new mise à jour avec le champ nickname
* Sorcery configuré pour accepter l'authentification avec nickname
* Ajout du test des redirections dans les features RSpec
Ajout du gem database_cleaner et mise à jour du spec_helper RSpec

* Le gem database_cleaner a été ajouté pour permettre de "cleaner" la BDD MongoDB avant chaque test
* Mise à jour du spec_helper avec support de database_cleaner et optimisation de la configuration Spork
Merge branch 'feature/basic_authentication' into develop
Ajout du support de la réinitialisation du mot de passe.

Il est maintenant possible de réinitialiser son mot de passe depuis le formulaire d'authentification.
Après avoir précisé l'email ou le nickname de l'utilisateur dans le formulaire, un email est envoyé
(si l'utilisateur existe) avec le lien de la page de regénération de mot de passe.

* Ajout du module reset_password dans sorcery
* Création du controller password_resets et des vues associées permettant de réinitialiser le mot de passe.
* Ajout du mailer UserMailer et du mail reset_password_email envoyé aux utilisateurs
* Ajout du gem email-spec permettant de tester le rendu des mails ainsi que sa livraison
* Configuration mongoid de dev/test mise à jour avec l'option raise_not_found_error=false
Vérouillage des gems du projet dans le Gemfile.

Pour des raisons de stabilisation des dépendances et dans le but d'assurer un environnement de production
cohérent avec celui de développement, les dépendances du projet définies dans le Gemfile ont été vérouillées.

Seules les dépendances relatives à mongoid ne bénéficient pas de ce vérouillage (version beta).
Suppression de la gestion des rôles utilisateurs dans app/models et dans les specs RSpec.

L'implémentation (minimale) du support des rôles utilisateurs a été supprimées car trop anticipée
par rapport au backlog produit.
L'impact est minimal mais a nécessité la modification de nombreuses specs RSpec.
Ajout du support du changement de mot de passe après une réinitialisation.

Il est maintenant possible de changer son mot de passe après une demande de réinitialisation.
En cliquant sur le lien de changement de mot de passe présent dans le mail, l'utilisateur
est maintenant redirigé vers la page de changement de mot de passe.
Il doit spécifier et confirmer son nouveau mot de passe pour que le changement soit pris en compte.

* Ajout des actions edit et update dans le password_reset_controller
* Ajout de la view password_resets/edit avec formulaire de changement de mot de passe.
* La vérification du token est gérée par Sorcery et son module :reset_password
* Les features RSpec ont été mises à jour pour gérer les nouveaux cas d'utilisation
Refactoring des features RSpec.

Step de refactoring des features RSpec avec scenarios plus explicite et meilleure utilisation
des matchers Capybara.
Le prochain step de refactoring intégrera l'internationalisation et l'automatisation avec Guard.
Merge branch 'feature/change_password' into develop
Intégration du support de BootStrap+Sass

Projet responsive

* Mise à jour du Gemfile : ajout de bootstrap-sass
* Include de bootstrap dans application.js
* Refactor du application.css vers Sass
* Include de bootstrap dans application.css
Début de conception du layout principal

* Ajout de l'entête
* Ajout de la partie gauche (sidebar + blocs)
* Ajout de la partie droite (corps de la page)
Finalisation du layout de base et ajout de l'internationalisation.

* Mise à jour du précédent layout pour supporter les prochaines features.
* Mise à jour des views des features existantes avec les composants Bootstrap (form, navbar, panels, sidebar)
* Internationalisation des controllers/views existants (uniquement en anglais)
* Mise à jour des spec RSpec pour supporter l'internationalisation.
Descripteur Vagrant mis à jour pour supporter l'installation des gems du projet.

Le provisioning Puppet exécute maintenant la commande 'bundle install' dans le
répertoire de travail pour rendre la VM de développement complètement fonctionnelle.
Cette dernière télécharge toutes les dépendances précisées dans le Gemfile.

* Ajout de la tâche d'exécution bundle install dans provisioning/nodes.pp
Ajout du support de la création et du visionage d'un article basique.

Il est maintenant possible de créer un article en tant qu'utilisateur authentifié,
et de visioner un article en utilisateur invité.
Un article est composé d'un title et d'un body dans sa version minimale.

Tous les formulaires de l'application ont également été modifiées à des fins
ergonomiques et en meilleure adéquation avec les contraintes visuelles du projet.

* Création du model Mongoid Article avec validation
* Implémentation des actions article :new :create :show
* Ecriture des views article :new :show
* Internationalisation des views et controllers
* Mise en forme des formulaires de l'application avec un layout horizontal
Meilleure gestion de l'authentification lors de l'édition d'article.

Les contraintes d'authentification ont été ajoutées au controller article
pour éviter qu'un article puisse être édité publiquement.

* Ajout du require_login sur les actions article :new :edit
* Refactoring de la gestion de l'authentification sur les autres controllers
* Correction d'un bug d'authentification dans le home controller
* Configuration de Mongoid pour lever des erreurs lors de documents non trouvés
Ajout de la possibilité de créer un article depuis la page d'accueil.

Il est maintenant possible, en tant qu'utilisateur authentifié, de créer un article
depuis la page d'accueil.

* Ajout du boutton de création d'article dans la sidebar
* Modification de la feature RSpec user_creates_article_spec
* Internationalisation des composants
Merge branch 'feature/create_article' into develop