Index: /trunk/workshop-foss4g/indexing.rst
===================================================================
--- /trunk/workshop-foss4g/indexing.rst	(revision 38)
+++ /trunk/workshop-foss4g/indexing.rst	(revision 39)
@@ -1,10 +1,10 @@
 .. _indexing:
 
-Partie 14 : les indexes spatiauux
+Partie 14 : Les indexes spatiaux
 =================================
 
-Rapellez-vous que les indexes spatiaux est l'une des trois fonctionnalitÃ©s clÃ©es d'une base de donnÃ©es spatiales. Les indexes sont ce qui rend possible l'utilisation de grandes quantitÃ©s de donnÃ©es dans une base. Sans indexation, chaque recherche d'une entitÃ© nÃ©cessitera d'accÃ©der sÃ©quentiellement Ã  tout les enregistrement de la base de donnÃ©es. L'indexation rend plus rapide les recherche en organisant les donnÃ©es dans des arbre de recherches qui peuvent Ãªtre parcouru efficacement pour retrouver une entitÃ© particuliÃšre.
+Rapellez-vous que les indexes spatiaux sont l'une des trois fonctionnalitÃ©s clÃ©s d'une base de donnÃ©es spatiales. Les indexes rendent possible l'utilisation de grandes quantitÃ©s de donnÃ©es dans une base. Sans indexation, chaque recherche d'une entitÃ© nÃ©cessitera d'accÃ©der sÃ©quentiellement Ã  tout les enregistrement de la base de donnÃ©es. L'indexation rend plus rapide les recherche en organisant les donnÃ©es dans des arbres de recherche qui peuvent Ãªtre parcouru efficacement pour retrouver une entitÃ© particuliÃšre.
 
-Les indexes spatiauxs ont l'un des plus grands atouts de PostGIS. Dans les exemples prÃ©cÃ©dents, nous construissions nos jointures spatiales en comparant la totalitÃ© des tables. Ceci peut s'averrer trÃšs coÃ»teux : rÃ©aliser la jointure de deux tables de 10000 enrigstrements sans index nÃ©cessitera de comparer 100000000 valeurs, avec les indexes le comparaisons requises seront 20000.
+Les indexes spatiaux sont l'un des plus grands atouts de PostGIS. Dans les exemples prÃ©cÃ©dents, nous construissions nos jointures spatiales en comparant la totalitÃ© des tables. Ceci peut s'averrer trÃšs coÃ»teux : rÃ©aliser la jointure de deux tables de 10000 enregistrements sans index nÃ©cessitera de comparer 100000000 valeurs, avec les indexes les comparaisons requises seront 20000.
 
 Lorsque nous avons chargÃ© la table  ``nyc_census_blocks``, l'outils pgShapeLoader crÃ©e automatiquement un indexe spatial appelÃ© ``nyc_census_blocks_the_geom_gist``.
@@ -22,5 +22,5 @@
    La commande ``DROP INDEX`` supprime un index existant de la base de donnÃ©es. Pour de plus amples informations Ã  ce sujet, consultez la `documentation officielle de PostgreSQL <http://docs.postgresql.fr/9.1/sql-dropindex.html>`_.
    
-Maintenant, regardons le temps d'exÃ©cution dans le coin en bas Ã  droite  de l'interface de requÃªtage de pgAdmin et lanÃ§ons la commande suivante. Notre requÃªte recherche les bloques de la rue Broad.
+Maintenant, regardons le temps d'exÃ©cution dans le coin en bas Ã  droite de l'interface de requÃªtage de pgAdmin et lanÃ§ons la commande suivante. Notre requÃªte recherche les blocs de la rue Broad.
 
 .. code-block:: sql
@@ -38,5 +38,5 @@
   360610007003006
   
-La table ``nyc_census_blocks`` est trÃšs petite (seulement quelque millier d'enregistrements) donc mÃªme sans l'index, la requÃªte prends **55 ms** sur mon ordinateur de test.
+La table ``nyc_census_blocks`` est trÃšs petite (seulement quelque millier d'enregistrements) donc mÃªme sans l'index, la requÃªte prends **55 ms** sur l'ordinateur de test.
 
 Maintenant remettons en place l'indexe et lanÃ§ons de nouveau la requÃªte.
@@ -46,31 +46,31 @@
   CREATE INDEX nyc_census_blocks_the_geom_gist ON nyc_census_blocks USING GIST (the_geom);
 
-.. note:: l'utilisation de la clause ``USING GIST`` spÃ©cifie Ã  PostgreSQL de crÃ©er une structure (GIST) pour cet indexe. Si vous recevez un mesage d'erreur ressemblant Ã  ``ERROR: index row requires 11340 bytes, maximum size is 8191`` lors de la crÃ©ation, cela signifie sans doute que vous avez omis la clause ``USING GIST``.
+.. note:: l'utilisation de la clause ``USING GIST`` spÃ©cifie Ã  PostgreSQL de crÃ©er une structure (GIST) pour cet indexe. Si vous recevez un message d'erreur ressemblant Ã  ``ERROR: index row requires 11340 bytes, maximum size is 8191`` lors de la crÃ©ation, cela signifie sans doute que vous avez omis la clause ``USING GIST``.
 
-Sur mon ordinateur de test le temps d'exÃ©cution se rÃ©duit Ã  **9 ms**. Plus votre table est grande, plus la diffÃ©rence de temps d'exÃ©cution pour une requÃªte utilisant les indexes sera augmentÃ©.
+Sur l'rdinateur de test le temps d'exÃ©cution se rÃ©duit Ã  **9 ms**. Plus votre table est grande, plus la diffÃ©rence de temps d'exÃ©cution pour une requÃªte utilisant les indexes augmentera.
 
 Comment les indexes spatiaux fonctionnent
 -----------------------------------------
 
-Les indexes des base de donnÃ©es standards crÃ©e un arbre hierarchique basÃ© sur les valeurs de la colonne Ã  indexer. Les indexes spatiaux sont un peu diffÃ©rents - ils ne sont pas capable d'indexer des entitÃ© gÃ©mÃ©triques elles-mÃªme mais indexe leur Ã©tendues.
+Les indexes des base de donnÃ©es standards crÃ©e un arbre hierarchique basÃ© sur les valeurs de la colonne Ã  indexer. Les indexes spatiaux sont un peu diffÃ©rents - ils ne sont pas capables d'indexer des entitÃ©s gÃ©omÃ©triques elles-mÃªme mais indexe leur Ã©tendues.
 
 .. image:: ./indexing/bbox.png
 
-Dans la figure ci-dessus, le nombre de lignes qui intersectent l'Ã©toile jaune est *unique*, la ligne rouge. Mais l'Ã©tendue des entitÃ©s qui intersectent la boÃ®te jaune sont *deux*, la boÃ®te rouge et la bleu.
+Dans la figure ci-dessus, le nombre de lignes qui intersectent l'Ã©toile jaune est *unique*, la ligne rouge. Mais l'Ã©tendue des entitÃ©s qui intersectent la boÃ®te jaune sont *deux*, la boÃ®te rouge et la boÃ®te bleue.
 
 La maniÃšre dont les bases de donnÃ©es rÃ©pondent de maniÃšre efficaces Ã  la questions "quelle ligne intersectent l'Ã©toile jaune ?" correspond Ã  d'abort rÃ©pondre Ã  question ; "quelle Ã©tendue intersecte l'Ã©tendue jaune" en utilisant les indexes (ce qui est trÃšs rapide) puis rÃ©alise le calcul exacte de "quelles lignes intersectent l'Ã©toile jaune" **seulement en utilisant les entitÃ©s retournÃ© par le premier test**.
 
-Pour de grandes tables, il y a un systÃšme en "deux Ã©tape" d'Ã©valuation en utilisant dans un premier temps l'approximation Ã  l'aide d'indexes, puis en rÃ©alisant le test exact sur un quantitÃ© bien moins importantes de donnÃ©es ce qui rÃ©duit drastiquement le temps de calcul nÃ©cessaire Ã  cette deuxiÃšme Ã©tape.
+Pour de grandes tables, il y a un systÃšme en "deux Ã©tapes" d'Ã©valuation en utilisant dans un premier temps l'approximation Ã  l'aide d'indexes, puis en rÃ©alisant le test exact sur une quantitÃ© bien moins importante de donnÃ©es ce qui rÃ©duit drastiquement le temps de calcul nÃ©cessaire Ã  cette deuxiÃšme Ã©tape.
 
-Ã la fois PotGIS et Oracle Spatial partage la mÃªme notion d'index structurÃ© sous la forme "d'arbres R" [#RTree]_. Les arbres R classent les donnÃ©es sous forme de rectangles, de sous-rectangles etc. Cette structure d'index gÃšre automatiquement la densitÃ© et la taille des objets.
+PotGIS et Oracle Spatial partage la mÃªme notion d'index structurÃ© sous la forme "d'arbres R" [#RTree]_. Les arbres R classent les donnÃ©es sous forme de rectangles, de sous-rectangles etc. Cette structure d'index gÃšre automatiquement la densitÃ© et la taille des objets.
 
 .. image:: ./indexing/index-01.png
 
-RequÃªte avec seulement des index
---------------------------------
+RequÃªte avec seulement des indexes
+----------------------------------
 
-La plupart des fonctions utilisÃ©es par PostGIS (:command:`ST_Contains`, :command:`ST_Intersects`, :command:`ST_DWithin`, etc) prennent en compte les index automatiquement. Mais certaines fonctions (comme par exemple : :command:`ST_Relate`) ne les utilisent pas.
+La plupart des fonctions utilisÃ©es par PostGIS (:command:`ST_Contains`, :command:`ST_Intersects`, :command:`ST_DWithin`, etc) prennent en compte les indexes automatiquement. Mais certaines fonctions (comme par exemple : :command:`ST_Relate`) ne les utilisent pas.
 
-Pour utiliser une recherche par Ã©tendue utilisant les indexes (et pas de filtres), vous pouvez utiliser l'opÃ©rateur :command:`&&`. Pour les gÃ©omÃ©tries, l'opÃ©rateur :command:`&&` signifie "l'Ã©tendue recouvre ou touche" de la mÃªme maniÃšre que l'opÃ©rateur :command:`=` sur des entiers signifi que les valeurs sont Ã©gales.
+Pour utiliser une recherche par Ã©tendue utilisant les indexes (et pas de filtres), vous pouvez utiliser l'opÃ©rateur :command:`&&`. Pour les gÃ©omÃ©tries, l'opÃ©rateur :command:`&&` signifie "l'Ã©tendue recouvre ou touche" de la mÃªme maniÃšre que l'opÃ©rateur :command:`=` sur des entiers signifie que les valeurs sont Ã©gales.
 
 Essayons de comparer une requÃªte avec seulement un indexe pour la population du quartier 'West Village'. En utilisant la commande :command:`&&` notre requÃªte ressemble Ã  ce qui suit :
@@ -102,5 +102,5 @@
   27141
 
-Un plus faible nombre de rÃ©sultat ! La premiÃšre requÃªte nous renvoit tout les bloques qui intersectent l'Ã©tendue du quartier, la seconde nous renvoit seulement les bloques qui intersectent le quartier lui-mÃªme.
+Un plus faible nombre de rÃ©sultats ! La premiÃšre requÃªte nous renvoit tout les bloqcs qui intersectent l'Ã©tendue du quartier, la seconde nous renvoit seulement les blocs qui intersectent le quartier lui-mÃªme.
 
 Analyse
@@ -109,7 +109,7 @@
 Le plannificateur de requÃªte de PostgreSQL choisit intelligemment d'utiliser ou non les indexes pour rÃ©aliser une requÃªte. Il n'est pas toujours plus rapide d'utiliser un index pour rÃ©aliser une recherche : si la recherche doit renvoyer l'ensemble des enregistrements d'une table, parcourir l'index pour rÃ©cupÃ©rer chaque valeur sera plus lent que de parcourir linÃ©airement l'ensemble de la table.
 
-Afin de savoir dans quelle situation il est nÃ©cessaire d'utiliser les idexes (lire une petite partie de la table plutÃŽt qu'une grande partie), PostgreSQL conserve des statistiques relatives Ã  la distribution des donnÃ©es dans chaque colonne indexÃ©e. Par dÃ©faut, PostgreSQL rassemble les statistiques sur une base rÃ©guliÃšre. NÃ©namoins, si vous changez dramatiquement les contenu de vos tables dans une pÃ©riode courte, les statisuqes ne seront alors plus Ã  jour.
+Afin de savoir dans quelle situation il est nÃ©cessaire d'utiliser les idexes (lire une petite partie de la table plutÃŽt qu'une grande partie), PostgreSQL conserve des statistiques relatives Ã  la distribution des donnÃ©es dans chaque colonne indexÃ©e. Par dÃ©faut, PostgreSQL rassemble les statistiques sur une base rÃ©guliÃšre. NÃ©namoins, si vous changez dramatiquement le contenu de vos tables dans une pÃ©riode courte, les statisuqes ne seront alors plus Ã  jour.
 
-Pour vous assurez que les statistiques correspondent bien au contenu de la table actuelle, il est courrant d'utiliser la commande ``ANALYZE`` aprÃšs un grand nombre de modifications ou de suppression de vos donnÃ©e. Cela force le systÃšme de gestion des statistiques Ã  rÃ©cupÃ©rer l'ensemble des donnÃ©es des colonnes indexÃ©es.
+Pour vous assurez que les statistiques correspondent bien au contenu de la table actuelle, il est courrant d'utiliser la commande ``ANALYZE`` aprÃšs un grand nombre de modifications ou de suppression de vos donnÃ©es. Cela force le systÃšme de gestion des statistiques Ã  rÃ©cupÃ©rer l'ensemble des donnÃ©es des colonnes indexÃ©es.
 
 La commande ``ANALYZE`` demande Ã  PostgreSQL de parcourir la table et de mettre Ã  jour les statistiques utilisÃ©es par le plannificateur de requÃªtes (la plannification des requÃªtes sera traitÃ© utiltÃ©rieurement).
@@ -126,7 +126,7 @@
 Le nettoyage des donnÃ©es est tellement important pour une utilisation efficace du serveur de base de donnÃ©es PostgreSQL qu'il existe maintenant une option "autovacuum".
 
-ActivÃ©e par dÃ©faut, le processus autovacuum Ã  la fois nÃ©ttoit (rÃ©cupÃšre l'espace libre) et analyse (met Ã  jour les statistiques) de vos tables suivant un interval donnÃ©e dÃ©terminÃ© par l'activitÃ© des bases de donnÃ©es. Bien que cela soit pour les bases de donnÃ©es hautement transactionnelles, il n'est pas supportable de devoir attendre que le processus autovacuum se lance lors de la mise Ã  jour ou la suppression massive de donnÃ©es. Dans ce cas, il faut lancer la commande ``VACUUM`` manuellement.
+ActivÃ©e par dÃ©faut, le processus autovacuum Ã  la fois nettoit (rÃ©cupÃšre l'espace libre) et analyse (met Ã  jour les statistiques) de vos tables suivant un interval donnÃ©e dÃ©terminÃ© par l'activitÃ© des bases de donnÃ©es. Bien que cela soit pour les bases de donnÃ©es hautement transactionnelles, il n'est pas supportable de devoir attendre que le processus autovacuum se lance lors de la mise Ã  jour ou la suppression massive de donnÃ©es. Dans ce cas, il faut lancer la commande ``VACUUM`` manuellement.
 
-Le nettoyage et l'analyse de la base de donnÃ©es peut Ãªtre rÃ©alisÃ©e sÃ©parÃ©ment si nÃ©cessaire. Utiliser la commande ``VACUUM`` ne mettra pas Ã  jour les statistiques alors que lancer la commande ``ANALYZE`` ne rÃ©cupÃšrera pas l'espace libre des lignes d'une table. Chacune de ces commandes peut Ãªtre lancÃ© sur l'intÃ©gralitÃ© de la base de donnÃ©es, sur une table ou sur une seule colonne.
+Le nettoyage et l'analyse de la base de donnÃ©es peut Ãªtre rÃ©alisÃ© sÃ©parÃ©ment si nÃ©cessaire. Utiliser la commande ``VACUUM`` ne mettra pas Ã  jour les statistiques alors que lancer la commande ``ANALYZE`` ne rÃ©cupÃšrera pas l'espace libre des lignes d'une table. Chacune de ces commandes peut Ãªtre lancÃ© sur l'intÃ©gralitÃ© de la base de donnÃ©es, sur une table ou sur une seule colonne.
 
 .. code-block:: sql
Index: /trunk/workshop-foss4g/spatial_relationships_exercises.rst
===================================================================
--- /trunk/workshop-foss4g/spatial_relationships_exercises.rst	(revision 38)
+++ /trunk/workshop-foss4g/spatial_relationships_exercises.rst	(revision 39)
@@ -1,5 +1,5 @@
 .. _spatial_relationships_exercises:
 
-Partie 11 : exercises sur les relations spatiales
+Partie 11 : Exercises sur les relations spatiales
 ===========================================
 
@@ -19,5 +19,5 @@
 * :command:`ST_Within(geometry A, geometry B)` retourne vrai si A est hors de B
 
-Souvenez-vous les tables Ã  notre disposition :
+Souvenez-vous les tables Ã  votre disposition :
 
  * ``nyc_census_blocks`` 
@@ -52,5 +52,5 @@
      01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141
      
- * **"Quel sont les quartiers et villes sont dans Atlantic Commons ?"**
+ * **"Quel sont les quartiers et villes qui sont dans Atlantic Commons ?"**
      
    .. code-block:: sql
@@ -91,5 +91,5 @@
   
 
- * **"Approximativement combien de personnes vivent dans (ou Ã  un dans une zone de 50 meters autour) Atlantic Commons ?"**
+ * **"Approximativement combien de personnes vivent dans (ou dans une zone de 50 meters autour) Atlantic Commons ?"**
  
    .. code-block:: sql
