L’arborescence de cette application de blog est :
|-- app
| |-- assets
| |-- images
| |-- javascripts
| `-- stylesheets
| |-- controllers
| |-- helpers
| |-- mailers
| |-- models
| `-- views
| `-- layouts
|-- config
| |-- environments
| |-- initializers
| `-- locales
|-- db
|-- doc
|-- lib
| `-- tasks
|-- log
|-- public
|-- script
|-- test
| |-- fixtures
| |-- functional
| |-- integration
| |-- performance
| `-- unit
|-- tmp
| |-- cache
| |-- pids
| |-- sessions
| `-- sockets
`-- vendor
|-- assets
`-- stylesheets
`-- plugins
|-- spec
|-- controllers
|-- helpers
|-- models
|-- requests
|-- routing
|-- views
app
est le dossier de l'application à proprement parler.
app/assets
est le sous-reperoire pour les images,etc. Il est vide
app/controllers
est le dossier contenant les controlleurs "Posts" pour les posts sur le blog et "Comments" pour les commentaires associés aux posts.
app/models
est le dossier contenant les models de persistance Active Record pour représenter les posts ("Post") et les commentaires ("Comment")
app/views
est le dossier contenant les templates des differentes actions des controlleurs.
app/views/layouts
est le dossier contenant les layouts des vues associées aux actions des controlleurs. Il est vide
app/helpers
est le dossier contenant les helpers de chaque controlleur.
config
est le dossier contenant les fichiers de configuration de l'environnement rails, la table de routage de l'application, les bases de donnée et les autres dépendances.
db
est le dossier contenant le fichier de schema de la base de donnée et un dossier contenant tous les fichiers de migrations de la base de donnée.
doc
est le dossier où on peut mettre la documentation de l'application. Il est vide.
lib
est le dossier contenant les librairies spécifiques de l'application.
public
est le dossier contenant les pages HTML par défaut de l'application.
spec
est le dossier contenant les fichiers de test d'intégration, unitaires, de routage, etc de l'application. Ces fichiers sont classés en sous-dossiers selon qu'on teste un controlleur, un modèle, la couche de routage ou autre.
vendor
est le dossier pouvant contenir les librairies externes de l'application.
Cette application interagit avec l’application “Service d’authentification” enregistrée sous “s_auth.rb” qui a subit une légère modification concernant les paramètres rendus lors des authentifications initiées par des applications (bien vouloir prendre en compte la dernière version postée sur github à l’adresse : git@github.com:MBAPPOU/project_I_authentification.git).
Les comptes utilisables pour s’authentifier venant du blog afin d’atteindre les parties protégées de l’application sont : login : “super_user” mdp : “su” pour un administrateur. login : “Engel” mdp : “engel” pour un utilisateur standard.
NB: Avant d’editer,créer un post ou commenter un post, supprimer un posts, vous devez être préalablement logué en cliquant sur le lien “se connecter” car je n’arrive pas à expliquer pourquoi l’application ne le fait pas automatiquement alors que les controlleurs ont bien un “before filter” de configuré!
Avant d’exécuter les jeux de tests de l’application “blog”, bien vouloir désactiver les fonctions d’authentication en commentant les lignes “before_filter” des controllers de post et de commentaires.