Author: tziade Date: Sun Mar 12 15:13:37 2006 New Revision: 2616 Modified: cookbook/trunk/recipe07.fr.tex cookbook/trunk/recipe48.fr.tex cookbook/trunk/recipe50.fr.tex cookbook/trunk/recipe51.fr.tex Log: ran spellchecker
Modified: cookbook/trunk/recipe07.fr.tex ============================================================================== --- cookbook/trunk/recipe07.fr.tex (original) +++ cookbook/trunk/recipe07.fr.tex Sun Mar 12 15:13:37 2006 @@ -6,7 +6,7 @@ \begin{document} -\chapter*{\'Ecrire des tests fonctionnels} +\chapter*{�crire des tests fonctionnels} \begin{problem} Les tests fonctionnels, ou "acceptance tests", sont compl�mentaires aux @@ -24,8 +24,8 @@ approximativement 2/3 de tests unitaires et 1/3 de tests fonctionnels, ces derniers �tant de plus haut niveau. -Pour les applications web, ces tests n�cessitent un environnement d'ex�cution -particulier, qui imite au mieux un naviguateur, et fourni des APIs pour +Pour les applications Web, ces tests n�cessitent un environnement d'ex�cution +particulier, qui imite au mieux un navigateur, et fourni des Apis pour effectuer des requ�tes et �tudier les r�ponses, comme le ferait Firefox ou Internet Explorer. \end{problem} @@ -37,9 +37,9 @@ d'une application, sans se soucier des d�tails d'impl�mentation, contrairement aux tests unitaires. C'est le test pratiqu� par l'utilisateur final, qui peut par exemple parcourir les menus de l'application, pour tester chacun d'entre -eux. Il valide alors, muni d'une checklist, que chaque fonctionnalit� attendue +eux. Il valide alors, muni d'une check-list, que chaque fonctionnalit� attendue est bien pr�sente et se comporte comme souhait�. Le syst�me est alors "valid�" -si la checklist n'a aucun point manquant ou non conforme. +si la check-list n'a aucun point manquant ou non conforme. Les tests fonctionnels en Python et a fortiori avec Zope, se font par le biais de classes de tests d�riv�es des classe de tests unitaires, ou @@ -73,14 +73,14 @@ le site pour les r�f�rences relatives. \end{itemize} -L'object \code{Response} est un objet renvoy� par le publisher et augment� +L'objet \code{Response} est un objet renvoy� par le publisher et augment� par les outils de tests de quelques m�thodes facilitant la lecture. On retiendra surtout: \begin{itemize} \item \code{getBody()}: renvoie le corps de la r�ponse \item \code{getOutput()}: renvoie la r�ponse compl�te (corps et en-t�tes) -\item \code{getStatus()}: renvoie le status -\item \code{getHeaders()}: permet de r�cuperer les headers +\item \code{getStatus()}: renvoie le statut +\item \code{getHeaders()}: permet de r�cup�rer les en-t�tes \end{itemize} Dans l'exemple ci-dessous, un dossier est cr�� dans le dossier racine, @@ -147,7 +147,7 @@ Le module \code{doctest} de Python fourni des outils pour extraire et ex�cuter ces tests. -\codetitle{Execution du doctest:} +\codetitle{Ex�cution du doctest:} \begin{Verbatim} >>> import doctest >>> doctest.run_docstring_examples(laVerite, globals(), verbose=True) @@ -191,7 +191,7 @@ Pour manipuler facilement Zope dans les doctests, le paquet \code{zope.testbrowser} fourni une classe \code{Browser} qui permet -de simuler un naviguateur et ses fonctionalit�s. Par convention, cette classe +de simuler un navigateur et ses fonctionalit�s. Par convention, cette classe est invoqu�e avec une URL qui commence par \url{http://localhost}, puis le chemin sur le serveur Zope. @@ -216,11 +216,11 @@ \code{Browser}, outre \code{contents} et \code{url}, fournit les �l�ments principaux suivants: \begin{itemize} -\item \code{open(url)}: permet d'ouvrir l'url fournie. +\item \code{open(url)}: permet d'ouvrir l'URL fournie. \item \code{isHtml}: le contenu est-il du HTML ? \item \code{title}: renvoie directement le titre de la page. \item \code{headers}: renvoie un objet Python \code{httplib.HTTPMessage} -contenant les headers. +contenant les en-t�tes. \item \code{getLink(text)} : r�cup�re un objet \code{Link}�pour le lien repr�sent� par \code{text}. Ce lien peut ensuite �tre suivi par sa m�thode \code{click()}, pour recharger la nouvelle page dans l'instance @@ -232,9 +232,9 @@ \section*{Limitations des tests fonctionnels} -Les tests fonctionnels web ont une limitation inh�rente au fonctionnement des -naviguateurs: il est impossible de tester le javascript contenu dans les pages -car chaque naviguateur impl�mente son propre moteur. Il faut utiliser d'autres +Les tests fonctionnels Web ont une limitation inh�rente au fonctionnement des +navigateurs: il est impossible de tester le javascript contenu dans les pages +car chaque navigateur impl�mente son propre moteur. Il faut utiliser d'autres techniques, bas�es par exemple sur le syst�me de test \textit{Selenium}, qui lance les tests depuis un naviguateur r�el. \end{solution} Modified: cookbook/trunk/recipe48.fr.tex ============================================================================== --- cookbook/trunk/recipe48.fr.tex (original) +++ cookbook/trunk/recipe48.fr.tex Sun Mar 12 15:13:37 2006 @@ -6,7 +6,7 @@ \begin{document} -\chapter*{Ecrire du reSTructuredText pour la documentation et les doctests} +\chapter*{�crire du reSTructuredText pour la documentation et les doctests} \begin{problem} L'ensemble de la documentation des paquets de Zope est r�alis�e au format @@ -17,7 +17,7 @@ Cette recette est une \textit{cheatsheet} minimale, qui permet d'�crire des doctests destin�s � des paquets Zope, une documentation plus compl�te pouvant -�tre trouv� � cette url: +�tre trouv� � cette URL: \url{http://docutils.sourceforge.net/rst.html}. \end{problem} @@ -85,7 +85,7 @@ ces fichiers dans leur �diteur de code Python. \end{codenotes} -\section*{Ins�rer des liens et formatter le texte} +\section*{Ins�rer des liens et formater le texte} \noindent reST permet aussi d'afficher du texte en italique, en gras. @@ -102,14 +102,14 @@ mise en valeur de mots du texte. Pour les liens, les deux types les plus courants sont les liens complets -vers des ressources web (URL), et les liens vers une autre partie du document. +vers des ressources Web (URL), et les liens vers une autre partie du document. Les URL peuvent �tre associ�s � un texte mis entre simple c�tes, et suivit d'un espace soulign�. Ce texte est ensuite r�p�t� en bas de document, pr�c�d� -de deux points, un espace , puis un espace soulign�, puis de l'url pr�c�d� +de deux points, un espace , puis un espace soulign�, puis de l'URL pr�c�d� du symbole ":". -\codetitle{Exemple d'url:} +\codetitle{Exemple d'URL:} \begin{verbatim} Ordonnance ========== @@ -125,7 +125,7 @@ \end{codenotes} Pour d�finir des liens dans le document m�me, le m�me type de marquage est -employ�, sauf pour la section cible: la phrase r�p�t�e est suivi uniquemement +employ�, sauf pour la section cible: la phrase r�p�t�e est suivi uniquement de ":". \codetitle{Exemple de r�f�rences dans le document:} @@ -149,7 +149,7 @@ \item V�rifier � ce que le fichier reST soit toujours syntaxiquement valide, avec \code{rest2html} par exemple; \item regrouper les liens en fin de fichier; -\item les fichiers reST constituent la documentation du package, ils doivent +\item les fichiers reST constituent la documentation du paquet, ils doivent �tre particuli�rement soign�s ; \item Les en-t�tes de modules, de classes et autres fonctions peuvent aussi adopter ce format. Modified: cookbook/trunk/recipe50.fr.tex ============================================================================== --- cookbook/trunk/recipe50.fr.tex (original) +++ cookbook/trunk/recipe50.fr.tex Sun Mar 12 15:13:37 2006 @@ -15,9 +15,9 @@ Le rythme des activit�s de d�veloppement n'est pas �vident � �quilibrer pour un d�veloppeur novice. En fin de projet, tests et documentation passent souvent � la trappe, victimes du stress du d�veloppeur, qui pr�f�re �courter ces �tapes -pour rendre son travail dans les temps, m�me si il sait pertinement qu'il le +pour rendre son travail dans les temps, m�me si il sait pertinemment qu'il le payera par la suite. Ces p�riodes sont pourtant les plus importantes -pour le code (remaniement d'API, suppression de pans complets de code, etc..) +pour le code (remaniement d'apis, suppression de pans complets de code, etc..) Il est possible de limiter ces ph�nom�nes et gagner en efficacit�, par de bonnes pratiques d�crites dans cette recette. Elles s'appliquent �videmment @@ -41,9 +41,9 @@ dans toutes les m�thodologies existantes, comme le RUP (IBM Rational Unified Process). Ce sujet d�passe cependant le cadre de la recette. -\section*{Cr��r le code} +\section*{Cr�er le code} -Pour con�evoir une fonctionnalit�, un d�veloppeur r�cup�re un cahier des +Pour concevoir une fonctionnalit�, un d�veloppeur r�cup�re un cahier des charges, compos� de sp�cifications fonctionnelles, et parfois de sp�cifications techniques. En se basant sur ce document, la cr�ation du code s'effectue en trois �tapes: @@ -55,12 +55,12 @@ \subsection*{Transcrire le cahier des charges en doctest} -Transcrire en doctest les besoins exprim�s se fait en synth�sant au maximum le +Transcrire en doctest les besoins exprim�s se fait en synth�tisant au maximum le cahier des charges, et en d�crivant la structure du paquet qui va �tre d�velopp�. -Prenons l'exemple d'un module en charge de r�cup�rer des flux rss pour les -stocker dans des objets Python persistents, puis les rendre affichables dans +Prenons l'exemple d'un module en charge de r�cup�rer des flux RSS pour les +stocker dans des objets Python persistants, puis les rendre affichables dans l'application. Le d�veloppeur d�cide d'organiser son paquet en trois modules: \begin{itemize} \item \code{rssfetcher.py}: module en charge de la r�cup�ration des flux RSS; @@ -91,7 +91,7 @@ - rssfetcher: sait lire un flux RSS 1.0 - rssobject: stocke le flux et fourni des m�thodes d'acc�s -- rssview: sait afficher un flux dans le naviguateur +- rssview: sait afficher un flux dans le navigateur \end{Verbatim} \noindent Chaque module est pr�sent� � son tour dans un doctest. @@ -101,7 +101,7 @@ rssfetcher ========== -Le module rssreader transforme un fichier xml au format RSS 1.0 +Le module rssreader transforme un fichier XML au format RSS 1.0 vers une structure Python exploitable. Il est invoqu� avec l'URL d'un flux et renvoi une liste contenant les entr�es du flux. \end{verbatim} @@ -121,12 +121,12 @@ rssfetcher ========== -Le module rssfetcher transforme un fichier xml au format RSS 1.0 +Le module rssfetcher transforme un fichier XML au format RSS 1.0 vers une structure Python exploitable. Il est invoqu� avec l'URL d'un flux et renvoi une liste contenant les entr�es du flux. Il fourni une fonction `fetchFeed(source)` qui renvoie une structure Python -en fonction d'une url ou d'un fichier :: +en fonction d'une URL ou d'un fichier :: >>> from rssfetcher import fetchFeed >>> fetchFeed('tests/rss.xml') @@ -159,7 +159,7 @@ d'une modification, doit se faire de la m�me mani�re: les fichiers textes sont revus en premiers, puis le code est modifi� en cons�quence. -Les corrections de bugs sont trait�s d'une mani�re particuli�re: +Les corrections de bogues sont trait�s d'une mani�re particuli�re: un test unitaire qui reproduit le probl�me est ajout� dans les classes de tests, et le code invoqu� corrig�. Ajouter ces tests dans les doctests d�nature leur objectif secondaire: servir de documentation. Modified: cookbook/trunk/recipe51.fr.tex ============================================================================== --- cookbook/trunk/recipe51.fr.tex (original) +++ cookbook/trunk/recipe51.fr.tex Sun Mar 12 15:13:37 2006 @@ -12,12 +12,12 @@ L'�criture d'un test fonctionnel est en souvent dict� par un sc�nario d'utilisation pr�cis, ou "user story", o� chaque �tape est r�alis�e via l'interface homme-machine fournie. Dans notre cas, l'interface est bien -s�r le naviguateur. +s�r le navigateur. -Programmer une session web compl�te par code est fastidieux. +Programmer une session Web compl�te par code est fastidieux. Cette recette pr�sente des techniques pour enregistrer des actions r�alis�es -dans un vrai naviguateur, et les r�cup�rer pour les tests fonctionnels. +dans un vrai navigateur, et les r�cup�rer pour les tests fonctionnels. \end{problem} \begin{solution} -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins