Author: forresst Date: 2010-02-11 19:10:00 +0100 (Thu, 11 Feb 2010) New Revision: 27913
Modified: doc/branches/1.2/jobeet/fr/01.txt doc/branches/1.2/jobeet/fr/02.txt doc/branches/1.2/jobeet/fr/03.txt doc/branches/1.2/jobeet/fr/05.txt doc/branches/1.2/jobeet/fr/06.txt doc/branches/1.2/jobeet/fr/08.txt doc/branches/1.2/jobeet/fr/09.txt doc/branches/1.2/jobeet/fr/10.txt doc/branches/1.2/jobeet/fr/12.txt doc/branches/1.2/jobeet/fr/13.txt doc/branches/1.2/jobeet/fr/15.txt doc/branches/1.2/jobeet/fr/16.txt doc/branches/1.2/jobeet/fr/17.txt doc/branches/1.2/jobeet/fr/18.txt Log: [doc-fr][1.2] update doc in french, jobeet Modified: doc/branches/1.2/jobeet/fr/01.txt =================================================================== --- doc/branches/1.2/jobeet/fr/01.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/01.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -342,7 +342,7 @@ Les ~environnements~ ------------------ -Si vous regarder le répertoire `web/`, vous trouverez deux fichiers PHP : +Si vous regardez le répertoire `web/`, vous trouverez deux fichiers PHP : `index.php` et `frontend_dev.php`. Ces fichiers sont appelés **~contrôleurs frontaux|Contrôleurs Frontaux~**; toutes les requêtes de l'application se font par leur intermédiaire. Mais pourquoi nous avons deux contrôleurs frontaux alors Modified: doc/branches/1.2/jobeet/fr/02.txt =================================================================== --- doc/branches/1.2/jobeet/fr/02.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/02.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -1,10 +1,10 @@ Jour 2 : Le Projet ================== -Nous n'avons pas écrit une seule ligne de PHP pour le moment, mais hier, nous avons configurer -l'environnement, créer un projet symfony vide, et fait en sorte que nous commencions avec +Nous n'avons pas écrit une seule ligne de PHP pour le moment, mais hier, nous avons configuré +l'environnement, créé un projet symfony vide, et fait en sorte que nous commencions avec une bonne sécurité par défaut. Si vous avez suivi tout le long, vous avez regardé -votre écran avec délices depuis qu'il affiche la belle page par défaut +votre écran avec délice depuis qu'il affiche la belle page par défaut de symfony pour de nouvelles applications.  Modified: doc/branches/1.2/jobeet/fr/03.txt =================================================================== --- doc/branches/1.2/jobeet/fr/03.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/03.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -1,7 +1,7 @@ Jour 3 : Le ~modèle de données~ ======================= -Ceux d'entre vous qui brûlent d'ouvrir votre éditeur de texte et de définir un peu de PHP seront +Ceux d'entre vous qui brûlent d'ouvrir leur éditeur de texte et de définir un peu de PHP seront heureux d'apprendre que le tutoriel d'aujourd'hui va nous entraîner dans un certain développement. Nous allons définir le modèle de données de Jobeet, utiliser un ORM pour interagir avec la base de données, et construire le premier module de l'application. Mais, comme symfony fait beaucoup de @@ -62,7 +62,7 @@ Le ~modèle~ relationnel ---------------------- -Les histoires d'utilisateurs que nous avons écrit hier, décrivent les objets principaux de notre +Les histoires d'utilisateurs que nous avons écrites hier, décrivent les objets principaux de notre projet : les emplois, les sociétés affiliées et les catégories. Voici le schéma correspondant aux relations entre entités : Modified: doc/branches/1.2/jobeet/fr/05.txt =================================================================== --- doc/branches/1.2/jobeet/fr/05.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/05.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -29,7 +29,7 @@ ou qu'un emploi a un certain identifiant dans la base de données. Exposer le fonctionnement interne de votre application est aussi très mauvais en ce qui concerne la ~sécurité|Sécurité~ : que faire si l'utilisateur essaie de deviner l'adresse URL pour le -contenu où il n'a pas accès ? Bien sûr, le développeur doit sécuriser ces accès, mais +contenu auquel il n'a pas accès ? Bien sûr, le développeur doit sécuriser ces accès, mais la meilleure solution est de cacher les informations sensibles. Les URLs sont si importantes, que symfony possède un framework dédié à leur Modified: doc/branches/1.2/jobeet/fr/06.txt =================================================================== --- doc/branches/1.2/jobeet/fr/06.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/06.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -99,7 +99,7 @@ ---------------------------------- Etant donné que vous n'écrivez pas les requêtes SQL à la main, ##ORM## se chargera de vous -les différenciés entre les moteurs de base de données et générera les instructions SQL +les différencier entre les moteurs de base de données et générera les instructions SQL optimisé pour le moteur de base choisi pendant la journée 3. Mais parfois, voir le SQL généré par ##ORM## est d'une grande aide, par exemple, pour ~déboguer|Déboguer~ une requête qui ne fonctionne pas comme prévu. Dans l'~environnement|Environnements~ de `dev`, symfony Modified: doc/branches/1.2/jobeet/fr/08.txt =================================================================== --- doc/branches/1.2/jobeet/fr/08.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/08.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -564,12 +564,12 @@ </doctrine> >**NOTE** ->##ORM## se connecte à la base de données que si elle a des instructions SQL +>##ORM## ne se connecte à la base de données que si elle a des instructions SQL >à exécuter. Maintenant que tout est en place, nous pouvons commencer à tester la classe `JobeetJob`. -Premièrement, nous avons besoin pour créer le fichier `JobeetJobTest.php` dans `test/unit/model`: +Premièrement, nous avons besoin de créer le fichier `JobeetJobTest.php` dans `test/unit/model`: [php] // test/unit/model/JobeetJobTest.php Modified: doc/branches/1.2/jobeet/fr/09.txt =================================================================== --- doc/branches/1.2/jobeet/fr/09.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/09.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -37,7 +37,7 @@ Dans Symfony, les tests fonctionnels sont gérés via un ~navigateur|Navigateur~ spécial, implémenté par la classe [~`sfBrowser`|Navigateur~](http://www.symfony-project.org/api/1_4/sfBrowser). -Elle agit comme un navigateur tailler sur mesure pour votre application et elle est +Elle agit comme un navigateur taillé sur mesure pour votre application et elle est directement connectée à lui, sans la nécessité d'un serveur web. Elle vous donne accès à tous les objets de symfony avant et après chaque requête, vous donnant la possibilité de les introspecter et d'effectuer les vérifications que vous voulez par programmation. Modified: doc/branches/1.2/jobeet/fr/10.txt =================================================================== --- doc/branches/1.2/jobeet/fr/10.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/10.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -76,8 +76,8 @@ > $this->mergeForm(new AnotherForm()); > $this->embedForm('name', new AnotherForm()); -Les formulmaires de ##ORM## ---------------------------- +Les formulaires de ##ORM## +-------------------------- La plupart du temps, un formulaire doit être sérialisé à la base de données. Comme symfony sait déjà tout sur le modèle de votre base de données, il peut générer automatiquement @@ -417,7 +417,7 @@ ### Le template du formulaire Maintenant que la classe de formulaire a été personnalisé, nous avons besoin de -l'afficher. Le ~Template|Templates~ du formulaire est le même, que vous voulez créer +l'afficher. Le ~Template|Templates~ du formulaire est le même, que vous vouliez créer un nouvel emploi ou modifier un existant. En fait, les deux Templates `newSuccess.php` et `editSuccess.php`sont assez similaires: @@ -982,7 +982,7 @@ -------- Le tutoriel d'aujourd'hui a été composé avec beaucoup de nouvelles informations, mais nous -espérons que vous avez maintenant une meilleure compréhension du framework de formulaire desymfony. +espérons que vous avez maintenant une meilleure compréhension du framework de formulaire de symfony. Je sais que certains d'entre vous ont remarqué que nous avons oublié quelque chose aujourd'hui ... Nous n'avons pas mis en œuvre de test pour les nouvelles fonctionnalités. Parce que l'écriture de Modified: doc/branches/1.2/jobeet/fr/12.txt =================================================================== --- doc/branches/1.2/jobeet/fr/12.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/12.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -960,10 +960,10 @@ >**NOTE** >Comme nous avons ajouté une nouvelle classe, n'oubliez pas de vider le cache. -Le formulaire `edit` a toujours un petit ennui. Le logo actuel ~téléchargé|Téléchargement -de fichier~ ne s'affiche pas partout et vous ne pouvez pas supprimer l'actuelle. -Le widget `sfWidgetFormInputFileEditable` ajoute des capacités d'édition pour un widget -d'un simple fichier en entrée : +Le formulaire `edit` a toujours un petit ennui. Le logo de ~téléchargement|Téléchargement +de fichier~ ne s'affiche pas partout et vous ne pouvez pas supprimer l'actuel. +Le widget `sfWidgetFormInputFileEditable` ajoute des possibilités d'édition à une +simple saisie de fichier : [php] <propel> Modified: doc/branches/1.2/jobeet/fr/13.txt =================================================================== --- doc/branches/1.2/jobeet/fr/13.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/13.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -11,7 +11,7 @@ ont besoin d'un moyen de maintenir les données entre les requêtes pour améliorer l'expérience utilisateur. -Une ~session|Session~ d'utilisateur peut être identifié à l'aide d'un ~cookie|Cookies~. +Une ~session|Session~ d'utilisateur peut être identifiée à l'aide d'un ~cookie|Cookies~. Dans Symfony, le développeur n'a pas besoin de manipuler la session directement, mais utilise plutôt l'objet ~`sfUser`~, qui représente l'utilisateur final de l'application. @@ -115,12 +115,12 @@ ### `getAttribute()`, `setAttribute()` -Pour un identifiant donnée, la méthode `sfUser::getAttribute()` récupère les valeurs de +Pour un identifiant donné, la méthode `sfUser::getAttribute()` récupère les valeurs de la session de l'utilisateur. Inversement, la méthode `setAttribute()` stocke toutes les variables PHP dans la session pour un identifiant donné. -La méthode `getAttribute()` prend également une valeur facultative par défaut pour -retourner si l'identifiant n'est pas encore défini. +La méthode `getAttribute()` prend également une valeur facultative par défaut qu'elle +retourne si l'identifiant n'est pas encore défini. >**NOTE** >La valeur par défaut prise par la méthode `getAttribute()` est un raccourci >pour : @@ -310,7 +310,7 @@ >**TIP** >Comme nous l'avons vu pendant le jour 4, le même fichier de configuration >peut être ->définie dans plusieurs endroits. C'est également le cas pour `security.yml`. Pour +>défini dans plusieurs endroits. C'est également le cas pour `security.yml`. Pour >~sécuriser ou dé-sécuriser|Restriction d'accès~ seulement une seule action ou >un module >complet, créer un ~`security.yml`~ dans le répertoire `config/` du module : > Modified: doc/branches/1.2/jobeet/fr/15.txt =================================================================== --- doc/branches/1.2/jobeet/fr/15.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/15.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -38,7 +38,7 @@ http://jobeet.localhost/frontend_dev.php/job.html Les deux URL sont équivalentes car les routes générés par la classe -`sfPropelRouteCollection` ont le `sf_format` comme l'extension et parce +`sfPropelRouteCollection` ont le `sf_format` comme extension et parce que le HTML est le format par défaut. Vous pouvez le vérifier vous-même en exécutant la tâche `app:routes` : Modified: doc/branches/1.2/jobeet/fr/16.txt =================================================================== --- doc/branches/1.2/jobeet/fr/16.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/16.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -324,7 +324,7 @@ Plutôt que de transmettre un tableau d'objets `JobeetJob` aux Templates, on passe un tableau de chaînes. Comme nous avons trois Templates différents pour la même action, -la logique pour traiter les valeurs a été refactoriser dans la méthode +la logique pour traiter les valeurs a été refactorisée dans la méthode `JobeetJob::asArray()` : [php] @@ -399,7 +399,7 @@ ### ~Le format `yaml`|Formats (Création)~ Pour les formats intégrés, symfony fait une certaine configuration en arrière-plan, comme -changer le type de contenu ou la désactivation de la mise en page. +changer le type de contenu ou désactiver la mise en page. Comme le format YAML n'est pas dans la liste des formats prédéfinis d'une requête, le type de contenu de la réponse peut être modifié et la mise en page désactivée dans l'action : @@ -625,7 +625,7 @@ ### Les actions Ici encore, comme nous n'utiliserons que le formulaire de création, ouvrez le -fichier `actions.class.php` et supprimez toutes les méthodes `executeNew()`, +fichier `actions.class.php` et supprimez toutes les méthodes sauf `executeNew()`, `executeCreate()` et `processForm()`. Pour l'action `processForm()`, modifiez l'URL de redirection pour l'action `wait` : @@ -686,7 +686,7 @@ relation est rendue comme une liste déroulante grâce au widget `sfWidgetFormChoice`. Comme on le voit pendant le jour 10, nous avons changé le tag rendu en utilisant l'option `expanded`. -Comme les emails et les URL ont tendance à être très supérieure à la taille par défaut d'une balise +Comme les emails et les URL ont tendance à être très supérieurs à la taille par défaut d'une balise input, les attributs HTML par défaut peuvent être définis en utilisant la méthode `setAttribute()`.  Modified: doc/branches/1.2/jobeet/fr/17.txt =================================================================== --- doc/branches/1.2/jobeet/fr/17.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/17.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -20,7 +20,7 @@ Aujourd'hui, nous voulons ajouter un moteur de recherche à Jobeet, et le Zend Framework fournit une grande bibliothèque, appelée [~Zend Lucene~](http://framework.zend.com/manual/en/zend.search.lucene.html), -qui est un portage du projet bien connue Java Lucene. Au lieu de créer encore +qui est un portage du projet bien connu Java Lucene. Au lieu de créer encore un autre moteur de recherche pour Jobeet, ce qui est une tâche complexe, nous allons utiliser Zend Lucene. @@ -178,14 +178,14 @@ L'indexation de l'emploi lui-même est simple : la clé primaire est stockée pour un référencement ultérieur lors de la recherche d'emplois et les colonnes principales (`position`, `company`, -`location` et `description`) sont indexés, mais pas stockés dans l'index car nous allons +`location` et `description`) sont indexées, mais pas stockées dans l'index car nous allons utiliser les objets réels pour afficher les résultats. ### ~Transactions~ de ##ORM## Et si il y a un problème lors de l'indexation d'un emploi ou si l'emploi n'est pas enregistré dans la base de données ? ##ORM## et Zend Lucene lèveront une exception. Mais, -dans certaines circonstances, nous pourrions avoir un emploi enregistrées dans la base de +dans certaines circonstances, nous pourrions avoir un emploi enregistré dans la base de données sans l'indexation correspondante. Pour éviter cela, on peut envelopper les deux mises à jour dans une transaction et faire ~rollback|Rollback (Transaction base de données)~ en cas d'erreur : Modified: doc/branches/1.2/jobeet/fr/18.txt =================================================================== --- doc/branches/1.2/jobeet/fr/18.txt 2010-02-11 17:45:50 UTC (rev 27912) +++ doc/branches/1.2/jobeet/fr/18.txt 2010-02-11 18:10:00 UTC (rev 27913) @@ -61,7 +61,7 @@ Au lieu d'ajouter le comportement avec un attribut HTML `on*()`, le principe essentiel de jQuery est d'ajouter des comportements au ~DOM~ après que la page soit complètement chargée. De cette façon, si vous désactivez le support JavaScript dans votre navigateur, -aucun comportement est enregistrée, et le formulaire fonctionne toujours comme avant. +aucun comportement n'est enregistré, et le formulaire fonctionne toujours comme avant. La première étape est d'intercepter chaque fois qu'un utilisateur tape sur une touche dans le champ de recherche : @@ -167,7 +167,7 @@ >**SIDEBAR** >JavaScript comme une action > ->Bien que le JavaScript que nous avons écrit pour le moteur de recherche est statique, +>Bien que le JavaScript que nous avons écrit pour le moteur de recherche soit statique, >parfois, vous avez besoin d'appeler un peu de code PHP (pour utiliser le >helper >`url_for()` par exemple). > -- You received this message because you are subscribed to the Google Groups "symfony SVN" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/symfony-svn?hl=en.
