Changeset 137

Show
Ignore:
Timestamp:
03/13/07 06:08:01 (2 years ago)
Author:
bermiferrer
Message:

Naixn French tutorial corrections

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/THANKS.txt

    r119 r137  
    3333 
    3434 - Scaffold generator patch. 2007-02-22 
     35 - French translation of the tutorial . 2007-03-10 
    3536  
    3637Stephen Reay 
  • trunk/docs/tutorial-fr.markdown

    r134 r137  
    1 Comment créer une application simple grâce au framework Akelos 
     1Comment cr�er une application simple gr�ce au framework Akelos 
    22========================================================= 
    33 
     
    55-------------------------- 
    66 
    7 Ce tutorial va vous permettre de créer une application à l'aide du framework Akelos. 
    8 Nous allons donc créer **booklink**, une application de gestion de livres et de leurs auteurs. 
    9  
    10 Configuration nécéssaire 
     7Ce tutoriel va vous permettre de cr�er une application � l'aide du framework Akelos. 
     8Nous allons donc crer **booklink**, une application de gestion de livres et de leurs auteurs. 
     9 
     10Configuration n�cessaire 
    1111--------------------------- 
    1212 
    13  - Une base de données de type MySQL ou SQLite 
     13 - Une base de donnes de type MySQL ou SQLite 
    1414 - Un serveur web Apache 
    15  - Un accès shell à votre serveur ('cmd' sur Windows) 
     15 - Un acc�s shell � votre serveur ('cmd' sur Windows) 
    1616 - PHP4 or PHP5 
    1717 
    18 Cette configuration est plutôt commune et se retrouve sur la plupart des serveurs web ou machines *nix
    19 Bien sûr, Akelos fonctionne sur plusieurs types de configuration, mais pour ce tutorial, nous nous concentrerons sur celle-ci. 
    20  
    21 Téléchargement et installation 
     18Cette configuration est plut�t commune et se retrouve sur la plupart des serveurs web ou machines *NIX
     19Bien s�r, Akelos fonctionne sur plusieurs types de configuration, mais pour ce tutoriel, nous nous concentrerons sur celle-ci. 
     20 
     21T�l�chargement et installation 
    2222--------------------------- 
    2323 
    24 Tant qu'Akelos n'est pas sorti dans sa version finale (1.0), nous vous recommendons de toujours utiliser la dernière révision SVN. 
    25 Pour cela, il vous faudra posséder un client [subversion](http://subversion.tigris.org). 
    26  
    27 Pour récupérer la dernière révision d'Akelos, tappez la commande : 
     24Tant qu'Akelos n'est pas sorti dans sa version finale (1.0), nous vous recommandons de toujours utiliser la derni�re r�vision SVN. 
     25Pour cela, il vous faudra possder un client [subversion](http://subversion.tigris.org). 
     26 
     27Pour r�cup�rer la derni�re r�vision d'Akelos, tapez la commande : 
    2828 
    2929    svn co http://akelosframework.googlecode.com/svn/trunk/ akelos 
    3030 
    31 Si jamais vous ne pouvez ou ne voulez pas utiliser subversion, vous pouvez toujours télécharger la [dernière version stable](http://www.akelos.org/akelos_framework-dev_preview.tar.gz). 
    32 Vous pouvez ensuite l'extraire en tappant : 
     31Si jamais vous ne pouvez ou ne voulez pas utiliser subversion, vous pouvez toujours t�l�charger la [derni�re version stable](http://www.akelos.org/akelos_framework-dev_preview.tar.gz). 
     32Vous pouvez ensuite l'extraire en tapant : 
    3333 
    3434    tar zxvf akelos_framework-dev_preview.tar.gz ; mv akelos_framework-dev_preview akelos 
    3535 
    36 Il faut maintenant s'assurer qu'Akelos sera capable d'utiliser PHP sur votre système. Tappez donc : 
     36Il faut maintenant s'assurer qu'Akelos sera capable d'utiliser PHP sur votre syst�me. Tapez donc : 
    3737 
    3838    /usr/bin/env php -v 
     
    4444    Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies 
    4545     
    46 alors vous êtes prêts à utiliser Akelos, vous pouvez donc passer au paragraphe suivant. 
    47  
    48 Cependant, si ce n'est pas le cas, il vous faudra trouver le chemin complet vers votre binaire PHP. En géné, il suffit de tapper : 
     46alors vous �tes pr�ts � utiliser Akelos, vous pouvez donc passer au paragraphe suivant. 
     47 
     48Cependant, si ce n'est pas le cas, il vous faudra trouver le chemin complet vers votre binaire PHP. En g�n�ral, il suffit de taper : 
    4949 
    5050    which php 
    5151 
    52 Ensuite, changez le chemin dans le shebang `#!/usr/bin/env php` par le votre, et ce au début de chacun de ces fichiers : 
     52Ensuite, changez le chemin dans le shebang `#!/usr/bin/env php` par le votre, et ce, au d�but de chacun de ces fichiers : 
    5353 
    5454 * script/console 
     
    5959 * script/test 
    6060 
    61 **Pour les utilisateur de Windows :** Les shebang ne sont pas pris en compte sur Windows. Il vous faudra donc appeler les scripts directement avec le binaire php : 
     61**Pour les utilisateurs de Windows :** Les shebang ne sont pas pris en compte sur Windows. Il vous faudra donc appeler les scripts directement avec le binaire php : 
    6262 
    6363    C:\wamp\php\php.exe ./script/generate scaffold 
     
    6666--------------------------------------------- 
    6767 
    68 A ce point, vous devez avoir Akelos mis en place, et devez être capable de lancer les scripts PHP depuis une console. Bien que ces scripts ne soient pas absolument nécéssaires au fonctionnement d'Akelos, ils le seront pour ce tutorial. 
    69  
    70 Vous avez maintenant deux possibilitées : 
    71  
    72  1. Créer une application Akelos dans un dossier différent et lier ce dernier aux librairies du Framework. 
    73  2. Commencer à travailler directement depuis le dossier téléchargé, avec la sécurité que cela implique : il n'est jamais recommendé de rendre visible les sources de votre application. 
    74  
    75 Vous l'aurez sûrement deviné, nous utiliserons la première méthode qui consiste à créer un lien (symbolique par exemple) vers le dossier `public` de notre application. Il est aussi très simple de configurer les dossiers du framework, puisqu'il suffit de définir l'emplacement de chacun des composants. Cependant, ce n'est pas le sujet de cette explication, et laissons cette partie à un prochain tutorial expliquant la mise en place et en production d'une application. 
    76  
    77 Nous supposerons que vous avez téléchargé Akelos dans le dossier `HOME_DIR/akelos` et que vous vous situez à la racine du dossier `akelos`. 
    78 D'ici, vous pouvez obtenier les différentes options d'installation du framework en tappant : 
     68A ce point, vous devez avoir Akelos mis en place, et devez �tre capable de lancer les scripts PHP depuis une console. Bien que ces scripts ne soient pas absolument n�cessaires au fonctionnement d'Akelos, ils le seront pour ce tutoriel. 
     69 
     70Vous avez maintenant deux possibilits : 
     71 
     72 1. Cr�er une application Akelos dans un dossier diff�rent et lier ce dernier aux librairies du Framework. 
     73 2. Commencer � travailler directement depuis le dossier t�l�charg�, avec la s�curit� que cela implique : il n'est jamais recommand� de rendre visibles les sources de votre application. 
     74 
     75Vous l'aurez s�rement devin�, nous utiliserons la premi�re m�thode qui consiste � cr�er un lien (symbolique par exemple) vers le dossier `public` de notre application. Il est aussi tr�s simple de configurer les dossiers du framework, puisqu'il suffit de d�finir l'emplacement de chacun des composants. Cependant, ce n'est pas le sujet de cette explication, et laissons cette partie � un prochain tutoriel expliquant la mise en place et en production d'une application. 
     76 
     77Nous supposerons que vous avez t�l�charg� Akelos dans le dossier `HOME_DIR/akelos` et que vous vous situez � la racine du dossier `akelos`. 
     78D'ici, vous pouvez obtenir les diff�rentes options d'installation du framework en tapant : 
    7979 
    8080    ./script/setup -h 
     
    9898    Utilisation: setup [-sqphf --dependencies] <-d>  
    9999 
    100     -deps --dependencies      Inclut une copie du framework dans le répertoire de 
     100    -deps --dependencies      Inclut une copie du framework dans le rpertoire de 
    101101                              l'application. (true) 
    102102    -d --directory=<value>    Dossier d'installation de l'application. 
    103     -f --force                Ecraser les fichier existants. (false) 
     103    -f --force                �craser les fichiers existants. (false) 
    104104    -h --help                 Affiche cette aide. 
    105     -p --public_html=<value>  Dossier par lequel le serveur web va accéder à 
     105    -p --public_html=<value>  Dossier par lequel le serveur web va acc�der � 
    106106                              l'application. 
    107107    -q --quiet                N'affiche rien. (false) 
    108     -s --skip                 Ne copie pas les fichiers déjà existants. (false) 
     108    -s --skip                 Ne copie pas les fichiers d�j� existants. (false) 
    109109 
    110110Voici un exemple de commande d'installation : (remplacez `/www/htdocs` par le chemin vers votre serveur web) 
     
    112112    ./script/setup -d ~/booklink -p /www/htdocs/booklink 
    113113 
    114 Cela va générer l'architecure suivante pour l'application **booklink** : 
     114Cela va g�n�rer l'architecture suivante pour l'application **booklink** : 
    115115 
    116116    booklink/ 
    117         app/ << L'application (modèles, vues, controlleurs, et installeurs) 
     117        app/ << L'application (mod�les, vues, contr�leurs, et installeurs) 
    118118        config/ << Des machins de configuration, mais tout sera fait via navigateur. 
    119119        public/ << Le seul dossier rendu public 
    120         script/ << Outils de génération de code, de lancement de tests, etc. 
    121  
    122 **Pour les utilisateur de Windows :** Les liens symboliques ne fonctionnent pas non plus sous Windows. Il va donc faloir renseigner Apache sur le chemin vers votre application. Editez le fichier `httpd.conf` et rajouter ceci (en modifiant, bien entendu, au préalable selon votre configuration) : 
     120        script/ << Outils de g�n�ration de code, de lancement de tests, etc. 
     121 
     122**Pour les utilisateurs de Windows :** Les liens symboliques ne fonctionnent pas non plus sous Windows. Il va donc falloir renseigner Apache sur le chemin vers votre application. �ditez le fichier `httpd.conf` et rajoutez ceci (en modifiant, bien entendu, au pr�alable selon votre configuration) : 
    123123 
    124124    Alias /booklink "/chemin/vers/booklink/public" 
     
    131131    </Directory> 
    132132 
    133 N'oubliez pas de redémarrer le serveur Apache. 
    134  
    135 ### Création de la base de données (MySQL) ### 
    136  
    137 **/!\ Si vous comptez utiliser SQLite, sautez cette étape /!\\** 
    138  
    139 La prochaine étape consite à créer la base de données relative à votre application. 
    140  
    141 Le but de ce tutorial n'est bien évidemment pas de vous apprendre à créer une base de données. Si vous ne savez pas comment faire, faites des recherches sur Google, vous trouverez sûrement quelquechose :). 
    142  
    143 Cependant, vous pouvez tout simplement essayer de créer 3 bases différentes, pour chacun des 3 environnements (production, dévellopement, tests) 
     133N'oubliez pas de redmarrer le serveur Apache. 
     134 
     135### Cr�ation de la base de donn�es (MySQL) ### 
     136 
     137**/!\ Si vous comptez utiliser SQLite, sautez cette tape /!\\** 
     138 
     139La prochaine �tape consiste � cr�er la base de donn�es relative � votre application. 
     140 
     141Le but de ce tutoriel n'est bien �videmment pas de vous apprendre � cr�er une base de donn�es. Si vous ne savez pas comment faire, faites des recherches sur Google, vous trouverez s�rement quelquechose :). 
     142 
     143Cependant, vous pouvez tout simplement essayer de cr�er 3 bases diff�rentes, pour chacun des 3 environnements (production, d�veloppement, tests) 
    144144 
    145145    $> mysql -u root -p 
     
    152152    mysql> exit 
    153153 
    154 Vous pouvez bien évidemment passer par une interface graphique, telle phpMyAdmin, pour créer ces tables. 
    155  
    156 ### Création des fichiers de configuration ### 
    157  
    158 #### A l'aide de l'installeur #### 
    159  
    160 Vous pouvez ouvrir votre navigateur et vous rendre sur le script d'installation en allant à l'adresse `http://localhost/booklink`. 
    161  
    162 Vous allez donc pouvoir configurer votre base de données, vos différents langages, et les permissions de vos fichiers. Le fichier de configuration sera enfin généré. Pendant que bermi s'occupe de prendre un café en attendant que les anglais et les espagnols configurent leur application **booklink**, je pencherais plutôt pour un p'tit chocolat chaud. 
    163  
    164 #### Configuration manuelle (non, pas le prénom) #### 
    165  
    166 Copiez les fichiers `config/DEFAULT-config.php` et `config/DEFAULT-routes.php` en tant que `config/config.php` et `config/routes.php`, respectivement, et éditez-les à vos soins. 
    167  
    168 Il vous faudra probablement aussi définir le dossier à partir duquel s'effectue la ré-écriture d'URL (afin de pouvoir utiliser des URL propres). Editez donc le fichier `public/.htaccess`, et changez la valeur de RewriteBase : 
     154Vous pouvez bien �videmment passer par une interface graphique, telle phpMyAdmin, pour cr�er ces tables. 
     155 
     156### Cration des fichiers de configuration ### 
     157 
     158#### l'aide de l'installeur #### 
     159 
     160Vous pouvez ouvrir votre navigateur et vous rendre sur le script d'installation en allant l'adresse `http://localhost/booklink`. 
     161 
     162Vous allez donc pouvoir configurer votre base de donn�es, vos diff�rents langages, et les permissions de vos fichiers. Le fichier de configuration sera enfin g�n�r�. Pendant que bermi s'occupe de prendre un caf� en attendant que les Anglais et les Espagnols configurent leur application **booklink**, je pencherais plut�t pour un p'tit chocolat chaud. 
     163 
     164#### Configuration manuelle (non, pas le prnom) #### 
     165 
     166Copiez les fichiers `config/DEFAULT-config.php` et `config/DEFAULT-routes.php` en tant que `config/config.php` et `config/routes.php`, respectivement, et �ditez-les � vos soins. 
     167 
     168Il vous faudra probablement aussi d�finir le dossier � partir duquel s'effectue la r�-�criture d'URL (afin de pouvoir utiliser des URL propres). �ditez donc le fichier `public/.htaccess`, et changez la valeur de RewriteBase : 
    169169 
    170170    RewriteBase /booklink 
    171171 
    172 Une fois votre application installée, vous pouvez ouvrir un navigateur et aller sur `http://localhost/booklink`. Un message d'accueil s'affichera, et vous pourrez alors supprimer les fichiers d'installation du framework. 
    173  
    174 Structure de la base de donées 
     172Une fois votre application installe, vous pouvez ouvrir un navigateur et aller sur `http://localhost/booklink`. Un message d'accueil s'affichera, et vous pourrez alors supprimer les fichiers d'installation du framework. 
     173 
     174Structure de la base de donn�es 
    175175--------------------------------- 
    176176 
    177 Il va maintenant faloir définir les tables que **booklink** va utiliser pour stocker les informations sur les livres et leurs auteurs. 
    178  
    179 La plupart du temps, lorsque l'on travaille avec d'autres développeurs, le schéma de la base de données est susceptible de changer. Il devient alors compliqué de maintenir cette base identique pour chaque personnes du projet. Akelos propose donc une solution à ce problème, appelée *installer*, ou *migration*. 
    180  
    181 Grâce à cet outil de migration, vous allez non seulement pouvoir créer vos base de données, mais aussi générer un installeur, qui pourra être utilisé pour enregistrer tous les différents changements que vous effectuerez sur la base. 
    182  
    183 Pour ce tutorial, créez le fichier `app/installers/booklink_installer.php`, et copiez-y le contenu suivant : 
     177Il va maintenant falloir d�finir les tables que **booklink** va utiliser pour stocker les informations sur les livres et leurs auteurs. 
     178 
     179La plupart du temps, lorsque l'on travaille avec d'autres d�veloppeurs, le sch�ma de la base de donn�es est susceptible de changer. Il devient alors compliqu� de maintenir cette base identique pour chaque personne du projet. Akelos propose donc une solution � ce probl�me, appel�e *installer*, ou *migration*. 
     180 
     181Gr�ce � cet outil de migration, vous allez non seulement pouvoir cr�er vos bases de donn�es, mais aussi g�n�rer un installeur, qui pourra �tre utilis� pour enregistrer tous les diff�rents changements que vous effectuerez sur la base. 
     182 
     183Pour ce tutoriel, cr�ez le fichier `app/installers/booklink_installer.php`, et copiez-y le contenu suivant : 
    184184  
    185185     <?php 
     
    190190              
    191191             $this->createTable('books', 
    192                 'id,'.          // La clé primaire 
     192                'id,'.          // La cl primaire 
    193193                'title,'.       // Le titre du livre 
    194194                'description,'. // La description du livre 
    195                 'author_id,'.   // L'identifiant de l'auteur. C'est grâce à cela qu'Akelos va pouvoir faire le lien entre les deux. 
     195                'author_id,'.   // L'identifiant de l'auteur. C'est gr�ce � cela qu'Akelos va pouvoir faire le lien entre les deux. 
    196196                'published_on'  // La date de publication 
    197197            ); 
    198198             
    199199             $this->createTable('authors',  
    200                 'id,'.      // La clé primaire 
     200                'id,'.      // La cl primaire 
    201201                'name'      // Le nom de l'auteur 
    202202                ); 
     
    210210     ?> 
    211211 
    212 Ce peu de données suffisent à Akelos pour créer la base de donnés. En ne spécifiant que le nom des colonnes, Akelos choisira lui-même leur type en se basant sur les conventions de nommage des tables SQL. Cependant, vous avez bien évidemment la possibilité de définir vous-même le typages des colonnes grâce a la [syntaxe de php Adodb](http://phplens.com/lens/adodb/docs-datadict.htm) 
    213  
    214 Maintenant que nous avons défini les tables, il ne reste plus qu'à les installer. Tappez la commande : 
     212Ce peu de donn�es suffit � Akelos pour cr�er la base de donn�es. En ne sp�cifiant que le nom des colonnes, Akelos choisira lui-m�me leur type en se basant sur les conventions de nommage des tables SQL. Cependant, vous avez bien �videmment la possibilit� de d�finir vous-m�me le typages des colonnes gr�ce � la [syntaxe de PHP Adodb](http://phplens.com/lens/adodb/docs-datadict.htm) 
     213 
     214Maintenant que nous avons d�fini les tables, il ne reste plus qu'� les installer. Tapez la commande : 
    215215 
    216216    ./script/migrate Booklink install 
    217217 
    218 Et pouf ! Les tables sont insallées automagiquement ! Avec MySQL, vous devriez obtenir quelque chose du genre : 
     218Et pouf ! Les tables sont install�es automagiquement ! Avec MySQL, vous devriez obtenir quelque chose du genre : 
    219219 
    220220**TABLE "BOOKS"** 
     
    240240 
    241241 
    242 Modèles, Vues, et Controlleurs 
     242Modles, Vues, et Controlleurs 
    243243------------------------------------------------------ 
    244244 
    245 Pour faire fonctionner vos applications, Akelos utilise le [motif de conception appelé MVC](http://fr.wikipedia.org/wiki/Motif_de_conception). 
    246  
    247 ### Les conventions de nomage dans Akelos ### 
    248  
    249 Le nommage de chaque objet dans Akelos est très important, puisqu'il permet l'automatisation de son fonctionnement. 
    250  
    251 #### Modèles #### 
     245Pour faire fonctionner vos applications, Akelos utilise le [motif de conception appel MVC](http://fr.wikipedia.org/wiki/Motif_de_conception). 
     246 
     247### Les conventions de nommage dans Akelos ### 
     248 
     249Le nommage de chaque objet dans Akelos est trs important, puisqu'il permet l'automatisation de son fonctionnement. 
     250 
     251#### Modles #### 
    252252 
    253253 * **Dossier :** /app/models/ 
    254254 * **Nom des classes :** au singulier, au format [CamelCase](http://fr.wikipedia.org/wiki/CamelCase) *(BankAccount, User, etc.)* 
    255  * **Nom des fichiers :** au singulier, séparé par des underscore *(bank_account.php.php, user.php, etc.)* 
    256  * **Nom des tables :** au pluriel, séparé par des underscore *(bank_accounts, users)* 
    257  
    258 #### Controlleurs #### 
     255 * **Nom des fichiers :** au singulier, s�par� par des underscore *(bank_account.php.php, user.php, etc.)* 
     256 * **Nom des tables :** au pluriel, s�par� par des underscore *(bank_accounts, users)* 
     257 
     258#### Contrleurs #### 
    259259 
    260260 * **Dossier :** */app/controllers/* 
    261261 * **Nom des classes :** Au singulier ou au pluriel, au format CamelCase, fini par `Controller` *(AccountController, UserController)* 
    262  * **Nom des fichiers :** Au singulier ou au pluriel, séparé par des underscore, fini par `_controller` *(account_controller.php, user_controller.php)* 
     262 * **Nom des fichiers :** Au singulier ou au pluriel, s�par� par des underscore, fini par `_controller` *(account_controller.php, user_controller.php)* 
    263263 
    264264#### Vues #### 
     
    271271------------------------------------------ 
    272272 
    273 Akelos fourni une méthode de **scaffold**, à savoir une générateur de code qui vous fera non seulement gagner du temps, mais pourra aussi servir de point de départ à la construction de votre application, ou à votre apprentissage. 
     273Akelos fournit une m�thode de **scaffold**, � savoir une g�n�rateur de code qui vous fera non seulement gagner du temps, mais pourra aussi servir de point de d�part � la construction de votre application, ou � votre apprentissage. 
    274274 
    275275### La magie du scaffold ### 
    276276 
    277 A l'aide du scaffolding, vous allez générer le squelette d'une interface d'administration pour **booklink**, ce qui va vous permettre d'ajouter/editer/supprimer des entrées dans la base de données. 
    278 Tappez ces deux commandes : 
     277�l'aide du scaffolding, vous allez g�n�rer le squelette d'une interface d'administration pour **booklink**, ce qui va vous permettre d'ajouter/�diter/supprimer des entr�es dans la base de donn�es. 
     278Tapez ces deux commandes : 
    279279 
    280280    ./script/generate scaffold Book 
    281281    ./script/generate scaffold Author 
    282282 
    283 Cela va créer une multitudes de fichiers là où il faut, et le tout va fonctionner directement ! Sceptique ? 
    284 Allez donc sur [http://localhost/booklink/author](http://localhost/booklink/author) et sur [http://localhost/booklink/books](http://localhost/booklink/books), et vous pourrez d'ores et déjà gérer les livres et les auteurs dans votre base de données. 
    285 Allez, je vous laisse un peu de temps pour vous amuser, et revenez me voir dès que vous êtes prêts à continuer. 
     283Cela va cr�er une multitude de fichiers l� o� il le faut, et le tout va fonctionner directement ! Sceptique ? 
     284Allez donc sur [http://localhost/booklink/author](http://localhost/booklink/author) et sur [http://localhost/booklink/books](http://localhost/booklink/books), et vous pourrez d'ores et d�j� g�rer les livres et les auteurs dans votre base de donn�es. 
     285Allez, je vous laisse un peu de temps pour vous amuser, et revenez me voir d�s que vous �tes pr�ts � continuer. 
    286286 
    287287Le fonctionnement d'Akelos 
    288288------------------------------------------ 
    289289 
    290 Voici une description rapide de comment Akelos réagi lorsqu'il répond à l'adresse : `http://localhost/booklink/book/show/2` 
     290Voici une description rapide de comment Akelos r�agi lorsqu'il r�pond � l'adresse : `http://localhost/booklink/book/show/2` 
    291291   
    292  1. Akelos va récuperer trois paramètres, en fonction de ce que vous avez défini dans le fichier `/config/routes.php` (tutorial est à venir) : 
    293  
    294   * controlleur : *book* 
     292 1. Akelos va r�cup�rer trois param�tres, en fonction de ce que vous avez d�fini dans le fichier `/config/routes.php` (tutoriel est � venir) : 
     293 
     294  * contrleur : *book* 
    295295  * action : *show* 
    296296  * id : 2 
     
    298298 2. Il va ensuite chercher le fichier `/app/controllers/book_controller.php`. S'il existe, il instanciera la classe `BookController`. 
    299299 
    300  3. Le controlleur instancié va chercher le modèle lui correspondant, ici `/app/models/book.php`. Si le modèle existe, il en crée une instance, disponible ici via l'attribut `$this->Book`. Il va ensuite chercher dans la base de données Books l'entrée avec un `id = 2` qui écrasera l'attribut `$this->Book`. 
     300 3. Le contr�leur instanci� va chercher le mod�le lui correspondant, ici `/app/models/book.php`. Si le mod�le existe, il en cr�e une instance, disponible ici via l'attribut `$this->Book`. Il va ensuite chercher dans la base de donn�es Books l'entr�e avec un `id = 2` qui �crasera l'attribut `$this->Book`. 
    301301 
    302302 4. Akelos appelle enfin l'action `show` de la classe `BookController`. 
    303303 
    304  5. A la fin de l'action, Akelos chercher le fichier de vue `/app/views/book/show.tpl` et crée le rendu de ce fichier, ce dernier étant aussi disponible dans la variable `$content_for_layout` dans les layouts. 
    305  
    306  6. Akelos va enfin chercher le fichier layout appelé `/app/views/layouts/book.tpl`. Si ce fichier est trouvé, Akelos crér le rendu du layout, et assigne le contenu de la vue dans `$content_for_layout`. Le tout est enfin envoyé au navigateur. 
    307  
    308 Si vous avez compris ce fonctionnement, je pense que vous pouvez d'ores et déjà commencer à modifier votre application. 
     304 5. A la fin de l'action, Akelos chercher le fichier de vue `/app/views/book/show.tpl` et cr�e le rendu de ce fichier, ce dernier �tant aussi disponible dans la variable `$content_for_layout` dans les layouts. 
     305 
     306 6. Akelos va enfin chercher le fichier layout appel� `/app/views/layouts/book.tpl`. Si ce fichier est trouv�, Akelos cr�e le rendu du layout, et assigne le contenu de la vue dans `$content_for_layout`. Le tout est enfin envoy� au navigateur. 
     307 
     308Si vous avez compris ce fonctionnement, je pense que vous pouvez d'ores et d�j� commencer � modifier votre application. 
    309309 
    310310Faire la relation entre *Books* et *Authors* 
    311311---------------------------- 
    312312 
    313 Il va maintenant falloir créer le lien entre la classe *Book* et la classe *Author*. Pour cela, il vous faudra utiliser la colonne `author_id` dans la base *books* 
    314  
    315 Pour renseigner chacun des modèles sur la relation entre *books* et *authors*, il vous suffit de faire : 
     313Il va maintenant falloir crer le lien entre la classe *Book* et la classe *Author*. Pour cela, il vous faudra utiliser la colonne `author_id` dans la base *books* 
     314 
     315Pour renseigner chacun des modles sur la relation entre *books* et *authors*, il vous suffit de faire : 
    316316 
    317317`/app/models/book.php` 
     
    321321    class Book extends ActiveRecord 
    322322    { 
    323         var $belongs_to = 'author'; // Un livre correspond à un auteur 
     323        var $belongs_to = 'author'; // Un livre correspond un auteur 
    324324    } 
    325325     
     
    332332    class Author extends ActiveRecord 
    333333    { 
    334         var $has_many = 'books'; // Un auteur peut posséder plusieurs livres 
     334        var $has_many = 'books'; // Un auteur peut possder plusieurs livres 
    335335    } 
    336336     
    337337    ?> 
    338338 
    339 Les modèles savent maintenant comment ils sont liés, mais il faut que le controlleur `BookController` puisse charger les deux modèles, `author` et `book`. 
     339Les mod�les savent maintenant comment ils sont li�s, mais il faut que le contr�leur `BookController` puisse charger les deux mod�les, `author` et `book`. 
    340340 
    341341`/app/models/author.php` 
     
    345345    class BookController extends ApplicationController 
    346346    { 
    347         var $models = 'book, author'; // Cette ligne suffit à indiquer quels modèles utiliser 
     347        var $models = 'book, author'; // Cette ligne suffit � indiquer quels mod�les utiliser 
    348348         
    349349        // ... code du controlleur 
    350350    } 
    351351 
    352 La prochaine étape consiste à afficher les auteurs disponibles dans la base lors de l'ajout/édition d'un livre. Il suffit pour celà d'utiliser, dans la vue, 
     352La prochaine �tape consiste � afficher les auteurs disponibles dans la base lors de l'ajout/�dition d'un livre. Il suffit pour cela d'utiliser, dans la vue, 
    353353la variable `$form_options_helper`. 
    354354 
    355 Juste après `<?=$active_record_helper->error_messages_for('book');?>`, dans le fichier */app/views/book/_form.tpl*, rajoutez le code suivant : 
     355Juste aprs `<?=$active_record_helper->error_messages_for('book');?>`, dans le fichier */app/views/book/_form.tpl*, rajoutez le code suivant : 
    356356 
    357357`/app/views/book/_form.tpl` 
     
    362362    </p> 
    363363 
    364 Si vous n'avez pas encore ajouté d'auteurs dans votre base de données (vilain garnement), c'est le moment de le faire. 
    365  
    366 Vous pouvez donc désormais choisir l'auteur de chaque livre. C'est magnifique ! Mais vous avez sûrement remarqué que vous ne voyez pas l'auteur des livres dans la liste des livres. 
    367 Ouvrez donc le fichier `app/views/book/show.tpl`, et juste après `<? $content_columns = array_keys($Book->getContentColumns()); ?>`, rajoutez : 
     364Si vous n'avez pas encore ajout� d'auteurs dans votre base de donn�es (vilain garnement), c'est le moment de le faire. 
     365 
     366Vous pouvez donc d�sormais choisir l'auteur de chaque livre. C'est magnifique ! Mais vous avez s�rement remarqu� que vous ne voyez pas l'auteur des livres dans la liste des livres. 
     367Ouvrez donc le fichier `app/views/book/show.tpl`, et juste aprs `<? $content_columns = array_keys($Book->getContentColumns()); ?>`, rajoutez : 
    368368 
    369369    <label>_{Author}:</label> <span class="static">{book.author.name?}</span><br /> 
    370370 
    371 Vous vous demandez sûrement ce que ces `_{Author}` ou autre `{book.author.name?}`. C'est en fait la syntaxe utilisée par [Sintags](http://www.bermi.org/projects/sintags) dans les templates d'Akelos. 
     371Vous vous demandez s�rement ce que ces `_{Author}` ou autre `{book.author.name?}`. C'est en fait la syntaxe utilis�e par [Sintags](http://www.bermi.org/projects/sintags) dans les templates d'Akelos. 
    372372 
    373373 
     
    375375-------------------- 
    376376 
    377 C'est tout pour le moment. Ce tutorial continuera bien sûr d'évoluer, et il y en aura d'autres, car ce ne sont pas là les seuls fonctionnalités d'Akelos ! 
    378 Si vous voyez une faute de frappe ou de français, n'hésitez pas à me le faire savoir ! 
     377C'est tout pour le moment. Ce tutoriel continuera bien s�r d'�voluer, et il y en aura d'autres, car ce ne sont pas l� les seules fonctionnalit�s d'Akelos ! 
     378Si vous voyez une faute de frappe ou de fran�ais, n'h�sitez pas � me le faire savoir !