Index: trunk/workshop-foss4g/introduction.rst
===================================================================
--- trunk/workshop-foss4g/introduction.rst	(revision 37)
+++ trunk/workshop-foss4g/introduction.rst	(revision 38)
@@ -7,5 +7,5 @@
 ============================================
 
-PostGIS est une base de donnÃ©es spatiale. Oracle Spatial et SQL Server 2008 sont aussi des bases de donnÃ©es spatiales. Mais qu'est-ce que cela signifie? Qu'est-ce qui diffÃ©rentie un serveur de base de donnÃ©es spatiales d'un non spatiale ?
+PostGIS est une base de donnÃ©es spatiale. Oracle Spatial et SQL Server 2008 sont aussi des bases de donnÃ©es spatiales. Mais qu'est-ce que cela signifie? Qu'est-ce qui diffÃ©rencie un serveur de base de donnÃ©es spatiales d'un non spatiale ?
 
 La rÃ©ponse courte, est ...
Index: trunk/workshop-foss4g/spatial_relationships.rst
===================================================================
--- trunk/workshop-foss4g/spatial_relationships.rst	(revision 37)
+++ trunk/workshop-foss4g/spatial_relationships.rst	(revision 38)
@@ -1,12 +1,12 @@
 .. _spatial_relationships:
 
-Partie 10 : relations spatiales
+Partie 10 : Les relations spatiales
 =================================
 
-Jusqu'Ã  maintenant nous n'avons utilisÃ© que des fonctions qui permettent de mesurer (:command:`ST_Area`, :command:`ST_Length`), de serialiser (:command:`ST_GeomFromText`) ou dÃ©sÃ©rialiser (:command:`ST_AsGML`) des gÃ©omÃ©tries. Ces fonctions ont en commun de fonctionner uniquement sur une gÃ©omÃ©trie Ã  la fois.
+Jusqu'Ã  maintenant nous avons utilisÃ© uniquement des fonctions qui permettent de mesurer (:command:`ST_Area`, :command:`ST_Length`), de sÃ©rialiser (:command:`ST_GeomFromText`) ou dÃ©sÃ©rialiser (:command:`ST_AsGML`) des gÃ©omÃ©tries. Ces fonctions sont toutes utilisÃ©es sur une gÃ©omÃ©trie Ã  la fois.
 
-Les base de donnÃ©es spatiales sont puissantes car elle ne font pas que stoquer les gÃ©omÃ©tries, elle ont aussi la facultÃ© de vÃ©rifier les *relations entre les gÃ©omÃ©tries*.
+Les base de donnÃ©es spatiales sont puissantes car elle ne se contentent pas de stocker les gÃ©omÃ©tries, elle peuvent aussi vÃ©rifier les *relations entre les gÃ©omÃ©tries*.
 
-Pour les questions comme "Quel est le plus proche garage Ã  vÃ©lo prÃªt du park ?" ou "Ou est l'intersection du mÃ©tros avec telle rue ?" nous devrons comparer les gÃ©omÃ©tries reprÃ©sentant les garage Ã  vÃ©lo, les rues et les lignes de mÃ©tros.
+Pour les questions comme "Quel est le plus proche garage Ã  vÃ©lo prÃªt du parc ?" ou "Ou est l'intersection du mÃ©tro avec telle rue ?", nous devrons comparer les gÃ©omÃ©tries reprÃ©sentant les garage Ã  vÃ©lo, les rues et les lignes de mÃ©tro.
 
 Le standard de l'OGC dÃ©finit l'ensemble suivant de fonctions pour comparer les gÃ©omÃ©tries.
@@ -15,10 +15,10 @@
 ---------
  
-:command:`ST_Equals(geometry A, geometry B)` test l'Ã©galitÃ© spatiale de deux gÃ©omÃ©tries. 
+:command:`ST_Equals(geometry A, geometry B)` teste l'Ã©galitÃ© spatiale de deux gÃ©omÃ©tries. 
 
 .. figure:: ./spatial_relationships/st_equals.png
    :align: center
 
-ST_Equals retourne TRUE si les deux gÃ©omÃ©tries sont du mÃªme type, ont des coordonnÃ©es x.y identiques.
+ST_Equals retourne TRUE si les deux gÃ©omÃ©tries sont du mÃªme type et ont des coordonnÃ©es x.y identiques.
 
 PremiÃšrement, essayons de rÃ©cupÃ©rer la reprÃ©sentation d'un point de notre table ``nyc_subway_stations``. Nous ne prendrons que l'entrÃ©e : 'Broad St'.
@@ -36,5 +36,5 @@
    Broad St | 0101000020266900000EEBD4CF27CF2141BC17D69516315141 | POINT(583571 4506714)
  
-Maintenant, copiez / collez la valeur afficher pour tester la fonction :command:`ST_Equals`:
+Maintenant, copiez / collez la valeur affichÃ©e pour tester la fonction :command:`ST_Equals`:
 
 .. code-block:: sql
@@ -50,5 +50,5 @@
 .. note::
 
-  La reprÃ©sentation du point n'est pas vraiment comprÃ©hensible (``0101000020266900000EEBD4CF27CF2141BC17D69516315141``) mais c'est exactement la reprÃ©sentation des coordonnÃ©es. Pour tester l'Ã©galitÃ©, utiliser ce format est nÃ©cessaire.
+  La reprÃ©sentation du point n'est pas vraiment comprÃ©hensible (``0101000020266900000EEBD4CF27CF2141BC17D69516315141``) mais c'est exactement la reprÃ©sentation des coordonnÃ©es. Pour tester l'Ã©galitÃ©, l'utilisation de ce format est nÃ©cessaire.
 
 
@@ -56,10 +56,10 @@
 ------------------------------------------------------
 
-:command:`ST_Intersects`, :command:`ST_Crosses`, et :command:`ST_Overlaps` test si l'intÃ©rieur des gÃ©omÃ©tries s'intersect, se croise ou se chevauche.
+:command:`ST_Intersects`, :command:`ST_Crosses`, et :command:`ST_Overlaps` teste si l'intÃ©rieur des gÃ©omÃ©tries s'intersecte, se croise ou se chevauche.
 
 .. figure:: ./spatial_relationships/st_intersects.png
    :align: center
 
-:command:`ST_Intersects(geometry A, geometry B)` retourne t (TRUE) si l'intersection ne rÃ©nvoit pas un ensemble vide de rÃ©sultats. Intersects retourne le rÃ©sultat exactement inverse de la fonction disjoint.
+:command:`ST_Intersects(geometry A, geometry B)` retourne t (TRUE) si l'intersection ne renvoit pas un ensemble vide de rÃ©sultats. Intersects retourne le rÃ©sultat exactement inverse de la fonction disjoint.
 
 .. figure:: ./spatial_relationships/st_disjoint.png
@@ -71,7 +71,5 @@
    :align: center
 
-Pour les comparaisons de couples de types multipoint/polygon, multipoint/linestring, linestring/linestring, linestring/polygon, et linestring/multipolygon, :command:`ST_Crosses(geometry A, geometry B)` retourne t (TRUE) si les rÃ©sultats de l'intersection 
-
-For multipoint/polygon, multipoint/linestring, linestring/linestring, linestring/polygon, and linestring/multipolygon comparisons, :command:`ST_Crosses(geometry A, geometry B)` returns t (TRUE) if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.
+Pour les comparaisons de couples de types multipoint/polygon, multipoint/linestring, linestring/linestring, linestring/polygon, et linestring/multipolygon, :command:`ST_Crosses(geometry A, geometry B)` retourne t (TRUE) si les rÃ©sultats de l'intersection est Ã  l'intÃ©rieur des deux gÃ©omÃ©tries.
 
 .. figure:: ./spatial_relationships/st_overlaps.png
@@ -99,10 +97,10 @@
 ----------
 
-:command:`ST_Touches` test si deux gÃ©omÃ©tries se touchent en leur contour extÃ©rieur, mais leur contours intÃ©rieur ne s'intersectent pas
+:command:`ST_Touches` teste si deux gÃ©omÃ©tries se touchent en leur contours extÃ©rieurs, mais leur contours intÃ©rieurs ne s'intersectent pas
 
 .. figure:: ./spatial_relationships/st_touches.png
    :align: center
 
-:command:`ST_Touches(geometry A, geometry B)` retourn TRUE soit si les contours des gÃ©omÃ©tries s'intersectent ou si l'un des contours intÃ©rieur de l'une intersecte le contour extÃ©rieur de l'autre.
+:command:`ST_Touches(geometry A, geometry B)` retourn TRUE soit si les contours des gÃ©omÃ©tries s'intersectent ou si l'un des contours intÃ©rieurs de l'une intersecte le contour extÃ©rieur de l'autre.
 
 ST_Within et ST_Contains
@@ -114,7 +112,7 @@
    :align: center
     
-:command:`ST_Within(geometry A , geometry B)` retourne TRUE si la premiÃšre gÃ©omÃ©tries est complÃštement contenue dans l'autre. ST_Within test l'exact opposÃ© au rÃ©sultat de ST_Contains.  
+:command:`ST_Within(geometry A , geometry B)` retourne TRUE si la premiÃšre gÃ©omÃ©trie est complÃštement contenue dans l'autre. ST_Within test l'exact opposÃ© au rÃ©sultat de ST_Contains.  
 
-:command:`ST_Contains(geometry A, geometry B)` retourne TRUE si la seconde gÃ©omÃ©tries est complÃštement contenue dans la premiÃšre gÃ©omÃ©trie.
+:command:`ST_Contains(geometry A, geometry B)` retourne TRUE si la seconde gÃ©omÃ©trie est complÃštement contenue dans la premiÃšre gÃ©omÃ©trie.
 
 
@@ -122,7 +120,7 @@
 --------------------------
 
-Une question qui arrive frÃ©quemment dans le domaine du SIG est "trouver tout les trucs qui se trouve Ã  une distance X de cet autre truc".
+Une question frÃ©quente dans le domaine du SIG est "trouver tout les Ã©lÃ©ments qui se trouvent Ã  une distance X de cet autre Ã©lÃ©ment".
 
-La fonction :command:`ST_Distance(geometry A, geometry B)` calcule la *plus courte* distance entre deux gÃ©oÃ©mÃ©tries. Cela est pratique pour rÃ©cupÃ©rer la distance entre les objets.
+La fonction :command:`ST_Distance(geometry A, geometry B)` calcule la *plus courte* distance entre deux gÃ©omÃ©tries. Cela est pratique pour rÃ©cupÃ©rer la distance entre les objets.
 
 .. code-block:: sql
@@ -136,10 +134,10 @@
   3
 
-Pour tester si deux obets sont Ã  la mÃªme distance d'un autre, la fonction :command:`ST_DWithin` fournit une test tirant proffit des indexes. Cela est trÃšs utile pour rÃ©pondre au questions du genre : "Combien d'arbre se situe dans un buffer de 500 mÃštres autour de cette route ?". Vous n'avez pas Ã  calculer le buffer, vous avez simplement besoin de tester la distance entre les gÃ©omÃ©tries.
+Pour tester si deux objets sont Ã  la mÃªme distance d'un autre, la fonction :command:`ST_DWithin` fournit un test tirant profit des indexes. Cela est trÃšs utile pour rÃ©pondre a une question telle que: "Combien d'arbre se situent dans un buffer de 500 mÃštres autour de cette route ?". Vous n'avez pas Ã  calculer le buffer, vous avez simplement besoin de tester la distance entre les gÃ©omÃ©tries.
 
   .. figure:: ./spatial_relationships/st_dwithin.png
      :align: center
     
-En utilisant de nouveau notre station de mÃ©tros Broad Street, nous pouvons trouver les rues voisines (Ã  10 mÃštres de) de la station :
+En utilisant de nouveau notre station de mÃ©tro Broad Street, nous pouvons trouver les rues voisines (Ã  10 mÃštres de) de la station :
 
 .. code-block:: sql
@@ -170,5 +168,5 @@
 `ST_Contains(geometry A, geometry B) <http://postgis.org/docs/ST_Contains.html>`_ : retourne TRUE si aucun des points de B n'est Ã  l'extÃ©rieur de A, et au moins un point de l'intÃ©rieur de B est Ã  l'intÃ©rieur de A.
 
-`ST_Crosses(geometry A, geometry B)  <http://postgis.org/docs/ST_Crosses.html>`_ : retourne TRUE si la gÃ©omÃ©trie A a certains, mais pas la totalitÃ© de, ses points Ã  l'intÃ©rieur de B.
+`ST_Crosses(geometry A, geometry B)  <http://postgis.org/docs/ST_Crosses.html>`_ : retourne TRUE si la gÃ©omÃ©trie A a certains, mais pas la totalitÃ©, de ses points Ã  l'intÃ©rieur de B.
 
 `ST_Disjoint(geometry A , geometry B) <http://postgis.org/docs/ST_Disjoint.html>`_ : retourne TRUE si les gÃ©mÃ©tries nes s'intersectent pas - elles n'ont aucun point en commun.
Index: trunk/workshop-foss4g/index.rst
===================================================================
--- trunk/workshop-foss4g/index.rst	(revision 37)
+++ trunk/workshop-foss4g/index.rst	(revision 38)
@@ -24,7 +24,5 @@
   un rÃ©pertoire contenant les fichier au format Shapefiles que nous utiliserons
 
-L'ensemble des donnÃ©es prÃ©sentes dans cette archive sont du domaine public et 
-librement redistribuables. Toute les applications de l'archive sont des logiciels libres, et 
-librement redistribuables. Le document est publiÃ© sous licence Creative Commons 
+L'ensemble des donnÃ©es prÃ©sentes dans cette archive sont du domaine public et librement redistribuables. Toute les applications de l'archive sont des logiciels libres, et librement redistribuables. Le document est publiÃ© sous licence Creative Commons 
 "`share alike with attribution <http://creativecommons.org/licenses/by-sa/3.0/us/>`_", 
 et est librement redistribuable en respectant les termes de cette license.
Index: trunk/workshop-foss4g/joins.rst
===================================================================
--- trunk/workshop-foss4g/joins.rst	(revision 37)
+++ trunk/workshop-foss4g/joins.rst	(revision 38)
@@ -1,12 +1,12 @@
 .. _joins:
 
-Partie 12 : les jointures spatiales
+Partie 12 : Les jointures spatiales
 ===================================
 
-Les jointures saptiales est la cerise sur le gÃ¢teau des base de donnÃ©es spatiales. Elles vous pemettent de conbiner les informations de plusieures tables en utilisant une relation spatiale comme clause de jointure. Les plupart des "analyses SIG standards" peuvent Ãªtre exprimÃ©es Ã  l'aide de jointure spatiales.
-
-Dans la partie prcÃ©dente, nous avons utilisÃ© les relations spatiales en utilisant deux Ã©tapes dans nos requÃªtes : nous avons dans un premier temps extrait la station de mÃ©tro "Broad St" puis nous avon utilisÃ© ce rÃ©sultat dans nos autres requÃªtes pour rÃ©pondre aux questions comme "dans quel quartier se situ la station 'Broad St' ?"
-
-En utilisant les jointures spatiales, nous pouvons rÃ©pondre aux questions en une seule Ã©tape, rÃ©cupÃ©rant les informations relatives Ã  la station de mÃ©tro et le quartie la contenant : 
+Les jointures saptiales sont la cerise sur le gÃ¢teau des base de donnÃ©es spatiales. Elles vous pemettent de combiner les informations de plusieures tables en utilisant une relation spatiale comme clause de jointure. La plupart des "analyses SIG standards" peuvent Ãªtre exprimÃ©es Ã  l'aide de jointure spatiales.
+
+Dans la partie prÃ©cÃ©dente, nous avons utilisÃ© les relations spatiales en utilisant deux Ã©tapes dans nos requÃªtes : nous avons dans un premier temps extrait la station de mÃ©tro "Broad St" puis nous avon utilisÃ© ce rÃ©sultat dans nos autres requÃªtes pour rÃ©pondre aux questions comme "dans quel quartier se situe la station 'Broad St' ?"
+
+En utilisant les jointures spatiales, nous pouvons rÃ©pondre aux questions en une seule Ã©tape, rÃ©cupÃ©rant les informations relatives Ã  la station de mÃ©tro et le quartier la contenant : 
 
 .. code-block:: sql
@@ -27,12 +27,12 @@
    Broad St    | Financial District | Manhattan
 
-Nous avons pu regrouper chaque station de mÃ©tros avec le quartier duquel elle fait partie, mais dans ce cas nous n'en voulions qu'une. Chaque fonctionn qui envoit un rÃ©sultat du type vrai/faux peut Ãªtre utilisÃ©e pour joindre spatialement deux tables, mais la plupart du temps on utilise : :command:`ST_Intersects`, :command:`ST_Contains`, et :command:`ST_DWithin`.
+Nous avons pu regrouper chaque station de mÃ©tro avec le quartier auquel elle appartient, mais dans ce cas nous n'en voulions qu'une. Chaque fonction qui envoit un rÃ©sultat du type vrai/faux peut Ãªtre utilisÃ©e pour joindre spatialement deux tables, mais la plupart du temps on utilise : :command:`ST_Intersects`, :command:`ST_Contains`, et :command:`ST_DWithin`.
 
 Jointure et regroupement
 ------------------------
 
-La combinaison de ``JOIN`` avec ``GROUP BY`` fournit le type d'analyse qui est courramment utilisÃ© dans les systÃšmes SIG.
-
-Par exemple : **Quelle est la population et la rÃ©partition raciale du quartier de Manhattan ?** Ici nous avons une question qui combine les informations relatives Ã  la population recenssÃ©e et les contours des quartier, or nous ne voulons qu'un seul quartier, celui de Manhattan.
+La combinaison de ``JOIN`` avec ``GROUP BY`` fournit le type d'analyse qui est couramment utilisÃ© dans les systÃšmes SIG.
+
+Par exemple : **Quelle est la population et la rÃ©partition raciale du quartier de Manhattan ?** Ici nous avons une question qui combine les informations relatives Ã  la population recensÃ©e et les contours des quartiers, or nous ne voulons qu'un seul quartier, celui de Manhattan.
 
 .. code-block:: sql
@@ -86,8 +86,8 @@
 Que ce passe-t-il ici ?  Voici ce qui se passe (l'ordre d'Ã©valuation est optimisÃ© par la base de donnÃ©es) :
 
-#. La clause ``JOIN`` crÃ©e une table cirtuelle qui contient les colonnes Ã  la fois des quartier et des recensements (tables neighborhoods et census).
-#. La claue ``WHERE`` filtre la table virtuelle pour ne conserver que la ligne correspondant Ã  Manhattan. 
+#. La clause ``JOIN`` crÃ©e une table virtuelle qui contient les colonnes Ã  la fois des quartiers et des recensements (tables neighborhoods et census).
+#. La clause ``WHERE`` filtre la table virtuelle pour ne conserver que la ligne correspondant Ã  Manhattan. 
 #. Les lignes restantes sont regroupÃ©es par le nom du quartier et sont utilisÃ©es par la fonction d'agrÃ©gation : :command:`Sum()` pour rÃ©aliser la somme des valeurs de la populations.
-#. AprÃšs un peu d'arythmÃ©tiques et de formatage (ex: ``GROUP BY``, ``ORDER BY``)) ssur le nombres finaux, notre requÃªte calcul les porcentages.
+#. AprÃšs un peu d'arythmÃ©tique et de formatage (ex: ``GROUP BY``, ``ORDER BY``)) sur le nombres finaux, notre requÃªte calcul les pourcentages.
 
 .. note:: 
@@ -95,5 +95,5 @@
    La clause ``JOIN`` combine deux parties ``FROM``.  Par dÃ©faut, nous utilisons un jointure du type :``INNER JOIN``, mais il existe quatres autres types de jointures. Pour de plus amples informations Ã  ce sujet, consultez la partie `type_jointure <http://docs.postgresql.fr/9.1/sql-select.html>`_ de la page de la documentation officielle de PostgreSQL.
 
-Nous pouvons aussi utiliser le test de la distance dans notre clef de jointure, pour crÃ©er une regroupement de "tout les Ã©lÃ©ments dans un certain rayon". Essayons de regarder la gÃ©ographie raciale de New York en utilisant les requÃªtes de distance.
+Nous pouvons aussi utiliser le test de la distance dans notre clef de jointure, pour crÃ©er une regroupement de "tout les Ã©lÃ©ments dans un certain rayon". Essayons d'analyser la gÃ©ographie raciale de New York en utilisant les requÃªtes de distance.
 
 PremiÃšrement, essayons d'obtenir la rÃ©partition raciale de la ville.
@@ -114,5 +114,5 @@
 
 
-Donc, 8M de personnes de New York, environ 44% sont "blancs" et "26% sont "noirs".
+Donc, 8M de personnes dans New York, environ 44% sont "blancs" et 26% sont "noirs".
 
 Duke Ellington chantait que "You / must take the A-train / To / go to Sugar Hill way up in Harlem." Comme nous l'avons vu prÃ©cÃ©demment, Harlem est de trÃšs loin le quartier ou se trouve la plus grande concentration d'africains-amÃ©ricains de Manhattan (80.5%). Est-il toujours vrai qu'il faut prendre le train A dont Duke parlait dans sa chanson ?
@@ -158,5 +158,5 @@
   A,C,E
   
-Essayons de regrouper la rÃ©partition racialedans un rayon de 200 mÃštres de la ligne du train A.
+Essayons de regrouper la rÃ©partition raciale dans un rayon de 200 mÃštres de la ligne du train A.
 
 .. code-block:: sql
@@ -179,10 +179,10 @@
 La rÃ©partition raciale le long de la ligne du train A n'est pas radicallement diffÃ©rente de la rÃ©partition gÃ©nÃ©rale de la ville de New York.
 
-Jointres avancÃ©es
------------------
+Jointures avancÃ©es
+------------------
 
 Dans la derniÃšre partie nous avons vu que le train A n'est pas utilisÃ© par des populations si Ã©loignÃ©es de la rÃ©partition totale du reste de la ville. Y-a-t-il des train qui passent par des parties de la ville qui ne sont pas dans la moyenne de la rÃ©partition raciale ?
 
-Pour rÃ©pondre Ã  cette question, nous ajouterons une nouvelle jointure Ã  notre requÃªte, de telle maniÃšre que nous puissions calculer simultanÃ©ment la rÃ©partition raciale de plusieures lignes de mÃ©tros Ã  la fois. Pour faire ceci, nous crÃ©erons une table qui permettra d'Ã©numÃ©rer toutes les lignes que nous voulons regrouper.
+Pour rÃ©pondre Ã  cette question, nous ajouterons une nouvelle jointure Ã  notre requÃªte, de telle maniÃšre que nous puissions calculer simultanÃ©ment la rÃ©partition raciale de plusieures lignes de mÃ©tro Ã  la fois. Pour faire ceci, nous crÃ©erons une table qui permettra d'Ã©numÃ©rer toutes les lignes que nous voulons regrouper.
 
 .. code-block:: sql
@@ -239,10 +239,10 @@
 
 
-Comme prÃ©cÃ©demment, les jointure crÃ©ent une table virtuelle de toutes les combinaisons possible disponibles Ã  l'aide des contraintes de type ``JOIN ON`, ces lignes sont ensuite utilisÃ©es dans le regroupement ``GROUP``. La magie spatiale tiend dans l'utilisation de la fonction ``ST_DWithin`` qui s'assure que les bloques sont suffisamment proches des lignes de mÃ©tros inclues dans le calcul.
+Comme prÃ©cÃ©demment, les jointure crÃ©ent une table virtuelle de toutes les combinaisons possible disponibles Ã  l'aide des contraintes de type ``JOIN ON`, ces lignes sont ensuite utilisÃ©es dans le regroupement ``GROUP``. La magie spatiale tiend dans l'utilisation de la fonction ``ST_DWithin`` qui s'assure que les blocs sont suffisamment proches des lignes de mÃ©tros inclues dans le calcul.
 
 Liste de fonctions
 ------------------
 
-`ST_Contains(geometry A, geometry B) <http://postgis.org/docs/ST_Contains.html>`_: retourne TRUE si et seulement si aucun points de B est Ã  l'extÃ©rieur de A, et si au moins un point Ã  l'intÃ©rieur de B  est Ã  l'intÃ©rieur de A.
+`ST_Contains(geometry A, geometry B) <http://postgis.org/docs/ST_Contains.html>`_: retourne TRUE si et seulement si aucun point de B est Ã  l'extÃ©rieur de A, et si au moins un point Ã  l'intÃ©rieur de B  est Ã  l'intÃ©rieur de A.
 
 `ST_DWithin(geometry A, geometry B, radius) <http://postgis.org/docs/ST_DWithin.html>`_: retourne TRUE si les gÃ©omÃ©tries sont distantes du rayon donnÃ©. 
Index: trunk/workshop-foss4g/joins_exercises.rst
===================================================================
--- trunk/workshop-foss4g/joins_exercises.rst	(revision 37)
+++ trunk/workshop-foss4g/joins_exercises.rst	(revision 38)
@@ -1,6 +1,6 @@
 .. _joins_exercises:
 
-Partie 13 : exercice jointures spatial
-=======================================
+Partie 13 : Exercice sur jointures spatiales
+============================================
 
 Voici un petit rappel de certaines des fonctions vues prÃ©cÃ©demment. Astuce: elles pourraient Ãªtre utiles pour les exercices !
@@ -8,5 +8,5 @@
  * :command:`sum(expression)` agrÃ©gation retournant la somme d'un ensemble
  * :command:`count(expression)` agrÃ©gation retournant le nombre d'Ã©lÃ©ments d'un ensemble
-* :command:`ST_Area(geometry)` returns the area of the polygons
+* :command:`ST_Area(geometry)` retourbe l'aire d'un polygone
 * :command:`ST_AsText(geometry)` returns WKT ``text``
 * :command:`ST_Contains(geometry A, geometry B)` retourne vrai si la gÃ©omÃ©trie A contient la gÃ©omÃ©trie B 
@@ -15,9 +15,9 @@
 * :command:`ST_GeomFromText(text)` returns ``geometry``
 * :command:`ST_Intersects(geometry A, geometry B)` returns the true if geometry A intersects geometry B
-* :command:`ST_Length(linestring)` returns the length of the linestring
+* :command:`ST_Length(linestring)` retourne la longueur d'une linestring
 * :command:`ST_Touches(geometry A, geometry B)` retourne vrai si le contour extÃ©rieur de A touche B
 * :command:`ST_Within(geometry A, geometry B)` retourne vrai si A est hors de B
 
-Souvenez-vous des tables Ã  notre disposition : 
+Souvenez-vous des tables Ã  votre disposition : 
 
  * ``nyc_census_blocks`` 
@@ -40,5 +40,5 @@
 ---------
 
- * **"Quelle station de mÃ©tros se situe dans le quartier 'Little Italy' ? Quelle est l'itinÃ©raire de mÃ©tros Ã  emprunter ?"**
+ * **"Quelle station de mÃ©tros se situe dans le quartier 'Little Italy' ? Quelle est l'itinÃ©raire de mÃ©tro Ã  emprunter ?"**
  
    .. code-block:: sql
@@ -88,6 +88,7 @@
    .. note::
   
-     Nous avons utilisÃ© le mot clef ``DISTINCT`` pour supprimer les rÃ©pÃ©titions dans notre ensemble derÃ©sultats oÃ¹ il y avait plus d'une seule station de mÃ©tros dans le quartier.    
- * **"AprÃšs le 11 septembre, le quartier de 'Battery Park' Ã©tait interdit d'accÃšs pendant plusieurs jours. Combien de personnes ont dÃ»t Ãªtre Ã©vacuÃ©s ?"**
+     Nous avons utilisÃ© le mot clef ``DISTINCT`` pour supprimer les rÃ©pÃ©titions dans notre ensemble de rÃ©sultats oÃ¹ il y avait plus d'une seule station de mÃ©tro dans le quartier. 
+        
+ * **"AprÃšs le 11 septembre, le quartier de 'Battery Park' Ã©tait interdit d'accÃšs pendant plusieurs jours. Combien de personnes ont dÃ» Ãªtre Ã©vacuÃ©es ?"**
  
    .. code-block:: sql
@@ -103,5 +104,5 @@
      9928
     
- * **"Quelle est la densitÃ© de population (personne / km^2) des quartier de 'Upper West Side' et de 'Upper East Side' ?"** (Astuce: il y a 1000000 m^2 dans un km^2.)
+ * **"Quelle est la densitÃ© de population (personne / km^2) des quartiers de 'Upper West Side' et de 'Upper East Side' ?"** (Astuce: il y a 1000000 m^2 dans un km^2.)
  
    .. code-block:: sql
