diff --git a/source/concept/bdd/generic.md b/source/concept/bdd/generic.md
index 080279e5be95aa0dc0be1f7a13954fbea0192494..66f907e5b2c6da31191af74b54941f32055de071 100644
--- a/source/concept/bdd/generic.md
+++ b/source/concept/bdd/generic.md
@@ -10,6 +10,8 @@ Postgresql, PgAdmin, PgModeler, Postgis, qui fait quoi dans la meute ?
 
 **Postgis** est une extension pour le moteur Postgresql qui permet la gestion de données spatiales. C'est actuellement l'extension la plus performante et complète sur les outils disponibles. Il existe des équivalences pour d'autres SGBD, comme le spatialite pour sqlite ou l'oracle Spatial.
 
+![pg logos](./images/pg_logos.png)
+
 # Concepts de base des bases de données
 
 ## Qu'est-ce qu'une base de données ?
diff --git a/source/concept/bdd/images/pg_logos.png b/source/concept/bdd/images/pg_logos.png
new file mode 100644
index 0000000000000000000000000000000000000000..654b8bf44c0ff3380a9759b1165420698b910cc5
Binary files /dev/null and b/source/concept/bdd/images/pg_logos.png differ
diff --git a/source/concept/bdd/images/pgadmin4_logo.png b/source/concept/bdd/images/pgadmin4_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc1beca38c054565a9a992592e84afb41861d298
Binary files /dev/null and b/source/concept/bdd/images/pgadmin4_logo.png differ
diff --git a/source/concept/bdd/images/pgmodeler_logo.png b/source/concept/bdd/images/pgmodeler_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..924ea21fb72af321963296e0100a3067856172e7
Binary files /dev/null and b/source/concept/bdd/images/pgmodeler_logo.png differ
diff --git a/source/concept/bdd/images/postgis-logo.png b/source/concept/bdd/images/postgis-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bdb3a00ff13ac8410913bf0a454d3c533d1ee16
Binary files /dev/null and b/source/concept/bdd/images/postgis-logo.png differ
diff --git a/source/concept/bdd/index.rst b/source/concept/bdd/index.rst
index 90558f6ba81636c8b451e0f4ea4eb98557ac409f..2cb37cc739902c32a838acf8d4bffddb31241e0a 100644
--- a/source/concept/bdd/index.rst
+++ b/source/concept/bdd/index.rst
@@ -16,3 +16,4 @@ Postgres est le SGBD choisi par Veremes pour les application basées sur Vitis.
 
    generic.md
    postgres.md
+   postgis.md
diff --git a/source/concept/bdd/postgis.md b/source/concept/bdd/postgis.md
new file mode 100644
index 0000000000000000000000000000000000000000..ea48ac6a38801b43269b4298621bc00b0dfabb77
--- /dev/null
+++ b/source/concept/bdd/postgis.md
@@ -0,0 +1,208 @@
+# Présentation de PostGIS
+
+PostGIS est une extension open source pour la base de données PostgreSQL, qui permet de gérer des données géospatiales. Il fournit des fonctionnalités avancées pour le stockage, l'interrogation et l'analyse de données géographiques, en permettant aux utilisateurs de traiter des informations géographiques complexes et de réaliser des opérations spatiales puissantes.
+
+PostGIS ajoute des types de données géospatiales à PostgreSQL, tels que les points, les lignes, les polygones, les multipoints, les multilignes et les multipolygones. Ces types de données permettent de représenter des objets géographiques du monde réel avec leurs coordonnées et leurs attributs associés.
+
+Avec PostGIS, vous pouvez effectuer des requêtes spatiales avancées, telles que l'intersection, l'union, la différence, le tampon, le tampon multiple, la recherche de plus proches voisins, etc. Ces opérations spatiales vous permettent de répondre à des questions complexes liées à la géographie et d'effectuer des analyses spatiales approfondies.
+
+PostGIS offre également des fonctionnalités d'indexation spatiale, ce qui permet d'accélérer les requêtes spatiales en utilisant des indexes spécifiques. Cela garantit des performances optimales lors de l'interrogation de grandes quantités de données géospatiales.
+
+En outre, PostGIS prend en charge l'intégration avec d'autres outils et librairies géospatiales, tels que QGIS, GDAL, GEOS, etc. Cela facilite l'échange de données et la collaboration avec d'autres systèmes géographiques.
+
+Les cas d'utilisation de PostGIS sont nombreux et variés. Il est largement utilisé dans des domaines tels que l'aménagement du territoire, la gestion des ressources naturelles, la cartographie, la planification urbaine, l'analyse de données géospatiales, etc. Sa flexibilité et sa puissance en font un outil essentiel pour toute personne travaillant avec des données géographiques.
+
+## Principales fonctionnalités de PostGIS
+
+PostGIS offre un large éventail de fonctionnalités pour la gestion et l'analyse de données géospatiales. Voici quelques-unes des fonctionnalités clés de PostGIS :
+
+- Types de données géospatiales : PostGIS étend PostgreSQL en ajoutant des types de données géospatiales, tels que les points, les lignes, les polygones, les multipoints, les multilignes et les multipolygones. Ces types de données permettent de stocker et de manipuler des objets géographiques réels avec leurs coordonnées et leurs attributs associés.
+
+- Opérations spatiales : PostGIS offre un large éventail d'opérations spatiales permettant de réaliser des requêtes complexes sur les données géospatiales. Parmi les opérations les plus couramment utilisées, on trouve l'intersection, l'union, la différence, le tampon, le tampon multiple, la recherche de plus proches voisins, le découpage, la simplification, etc. Ces opérations permettent de répondre à des questions spécifiques liées à la géographie et de réaliser des analyses spatiales avancées.
+
+- Indexation spatiale : PostGIS propose des techniques d'indexation spatiale pour optimiser les performances des requêtes spatiales. L'utilisation d'indexes spatiaux tels que les indexes R-tree permet d'accélérer les opérations de recherche spatiale et d'améliorer les temps de réponse des requêtes sur les données géospatiales.
+
+- Transformation de coordonnées : PostGIS fournit des fonctions permettant de convertir les coordonnées d'un système de référence spatial à un autre. Cela facilite l'intégration et l'interopérabilité des données géospatiales provenant de différentes sources, qui peuvent utiliser des systèmes de référence spatiale différents.
+
+- Analyse spatiale avancée : PostGIS offre des fonctionnalités avancées d'analyse spatiale telles que le calcul de distances, de longueurs, d'aires, d'angles, etc. Ces fonctions permettent d'effectuer des mesures précises et de réaliser des analyses détaillées sur les données géospatiales.
+
+- Importation et exportation de données : PostGIS prend en charge l'importation et l'exportation de données à partir de différents formats de fichiers géospatiaux, tels que Shapefile, GeoJSON, KML, etc. Cela facilite l'intégration des données géospatiales provenant de différentes sources et leur utilisation dans l'environnement PostGIS. Même si dans notre cas nous préférerons utiliser FME pour réaliser ce genre d'opération.
+
+- Intégration avec d'autres outils géospatiaux : PostGIS s'intègre facilement avec d'autres outils et librairies géospatiales populaires, tels que QGIS, GDAL, GEOS, etc. Cette intégration permet d'échanger des données, d'effectuer des analyses avancées et de bénéficier de fonctionnalités supplémentaires offertes par ces outils.
+
+Ces fonctionnalités font de PostGIS un outil puissant pour la gestion, l'analyse et la manipulation de données géospatiales. Que vous travailliez dans des domaines tels que la planification urbaine, la gestion des ressources naturelles, la cartographie ou l'analyse de données géospatiales, l'utilisation de PostGIS vous permettra d'exploiter pleinement le potentiel de
+
+# Création et gestion de bases de données spatiales
+
+Pour transformer une base de donnée classique en base de donnée spatiale il suffit d'ajouter l'extension postgis dessus.
+
+```sql
+CREATE EXTENSION IF NOT EXISTS postgis;
+```
+
+## Utilisation des types de données géospatiales
+
+PostGIS ajoute plusieurs types de colonnes spécifiques pour gérer les données géospatiales de manière efficace. Voici quelques-uns des types de colonnes les plus couramment utilisés dans PostGIS :
+
+- Géométrie (Geometry) : Le type de colonne "geometry" est utilisé pour stocker des objets géospatiaux de tous types, tels que des points, des lignes, des polygones, etc. Ce type de colonne est polyvalent car il peut contenir différents types d'objets géométriques.
+
+- Géographie (Geography) : Le type de colonne "geography" est spécifiquement conçu pour stocker des données géographiques, telles que des coordonnées de latitude et de longitude. Ce type de colonne utilise une représentation sphérique de la Terre et offre des fonctions géographiques avancées pour les calculs de distance, les conversions de coordonnées, etc.
+
+- Point (Point) : Le type de colonne "point" est utilisé pour stocker des coordonnées de points spécifiques dans l'espace. Il est utile pour représenter des emplacements ponctuels précis, tels que des adresses, des sites d'intérêt, etc.
+
+- Ligne (LineString) : Le type de colonne "linestring" est utilisé pour stocker des segments de lignes ou des courbes continues. Il peut représenter des routes, des rivières, des chemins, etc.
+
+- Polygone (Polygon) : Le type de colonne "polygon" est utilisé pour stocker des régions fermées délimitées par des segments de ligne. Il peut représenter des limites administratives, des lacs, des parcelles de terrain, etc.
+
+- MultiPoint, MultiLineString, MultiPolygon : Ces types de colonnes permettent de stocker plusieurs points, lignes ou polygones, respectivement. Ils sont utilisés lorsque plusieurs objets de même type doivent être regroupés.
+
+Ces types de colonnes spécifiques de PostGIS permettent de stocker et de manipuler des données géospatiales de manière optimisée. Ils offrent des fonctionnalités avancées pour effectuer des opérations spatiales et analyser les données géographiques de manière précise et efficace.
+
+Exemple de déclaration d'une colonne de type Point dont les coordonnée utilise le SRID 4326 WGS84 Long/lat :
+
+```sql
+CREATE TABLE my_table (
+    id SERIAL PRIMARY KEY,
+    name VARCHAR(50),
+    geom GEOMETRY(Point, 4326)
+);
+```
+
+## Importation et exportation de données spatiales
+
+La colonne de type géométrie utilise le format WKB qui est la variante binaire du WKT, ce qui la rend difficilement exploitable directement.
+
+Postgis offre différentes fonction permettant d'utiliser des formats textuelles, plus faciles à utiliser via vMap, ...
+
+Par exemple pour passer du wkb à d'autre format pour les requêtes SELECT vous pouvez utiliser 
+- [ST_AsText](https://postgis.net/docs/ST_AsText.html) qui permet de récupérer du WKT
+- [ST_AsEWKT](https://postgis.net/docs/ST_AsEWKT.html) pour récupérer de l'EWKT
+- [ST_AsGeoJSON](https://postgis.net/docs/ST_AsGeoJSON.html) pour obtenir un GéoJSON
+
+A l'inverse pour les requête INSERT et UPDATE il est possibke d'utiliser des fonctions pour passer d'un format texte au WKB : 
+- [ST_GeomFromText](https://postgis.net/docs/ST_GeomFromText.html) qui transformera une géométrie WKT
+- [ST_GeomFromEWKT](https://postgis.net/docs/ST_GeomFromEWKT.html) qui transformera une géométrie EWKT
+- [ST_GeomFromGeoJSON](https://postgis.net/docs/ST_GeomFromGeoJSON.html) qui transformera une géométrie GeoJson
+
+Postgis embarque aussi des binaires permettant l'import export de données dans des formats SIG spécifiques comme shp2pgsl et pgsl2shp, mais dans notre cas nous utiliserons le plus souvent FME.
+
+## Manipulation des données géospatiales avec les fonctions PostGIS
+
+Il existe beaucoup de fonction permettant d'extraire de la données à partir de la Géométrie d'une entité en voici quelques exemple : 
+- [ST_Distance](https://postgis.net/docs/ST_Distance.html) : permet d'extraire la distance entre deux géométries
+- [ST_SRID](https://postgis.net/docs/ST_SRID.html) : Extrait la le code EPSG de la projection de la géométrie (pas fiable à 100%)
+- [ST_Area](https://postgis.net/docs/ST_Area.html) : Calcule la surface occupé par un polygone
+
+## Requêtes spatiales basiques
+
+Les requêtes spatiales dans PostGIS permettent d'effectuer des opérations courantes sur les données géospatiales, telles que la recherche de points à l'intérieur d'une zone, l'identification des intersections entre des objets géométriques, ou encore le calcul des distances entre des entités spatiales. Voici quelques exemples de requêtes spatiales basiques :
+
+Recherche des points à l'intérieur d'une zone :
+
+```sql
+SELECT *
+FROM points
+WHERE ST_Within(geom, ST_GeomFromText('POLYGON((x1 y1, x2 y2, x3 y3, x4 y4, x1 y1))'));
+Cette requête sélectionne tous les points de la table "points" qui se trouvent à l'intérieur du polygone défini par les coordonnées (x1, y1), (x2, y2), (x3, y3), (x4, y4).
+```
+
+Identification des intersections entre des objets géométriques :
+
+```sql
+SELECT *
+FROM roads
+WHERE ST_Intersects(geom, ST_GeomFromText('LINESTRING(x1 y1, x2 y2)'));
+```
+
+Cette requête sélectionne toutes les routes de la table "roads" qui intersectent la ligne définie par les coordonnées (x1, y1) et (x2, y2).
+
+Calcul des distances entre des entités spatiales :
+
+```sql
+SELECT ST_Distance(a.geom, b.geom) AS distance
+FROM points a, points b
+WHERE a.id = 1 AND b.id = 2;
+```
+
+Cette requête calcule la distance entre les points ayant les identifiants 1 et 2 de la table "points".
+
+Fusionner plusieurs polygones en un seul :
+
+```sql
+SELECT ST_Union(geom) AS merged_polygon
+FROM polygons;
+```
+
+Ces exemples illustrent quelques requêtes spatiales de base dans PostGIS. Vous pouvez combiner ces opérations avec d'autres clauses SQL, tels que les filtres WHERE, les agrégations ou les jointures, pour réaliser des analyses spatiales plus complexes et répondre à des besoins spécifiques de votre application.
+
+Il y a plus d'information sur ce genre d'usage dans [la documentation de Postgis](http://postgis.fr/chrome/site/docs/workshop-foss4g/doc/spatial_relationships.html).
+
+## Requêtes spatiales avancées
+
+Il est rare que les données stockées en base soit parfaite ou que l'intersection des géométries pures soient satisfaisantes.
+
+Pour améliorer les résultat ils existe plusieurs techniques comme l'utilisation des tampons par exemple.
+
+```sql
+SELECT *
+FROM roads
+WHERE ST_Intersects(geom, ST_Buffer(ST_GeomFromText('LINESTRING(x1 y1, x2 y2)'), 50));
+```
+
+Dans cette exemple, on applique un buffer sur la géométrie à intersecter de 50 unité de projections.
+
+Sur ce genre de fonction il faut toujours se méfier de l'unité lié à la Projection, par exemple si la géométrie est en WGS84 (4326) alors l'unité est en radian alors qu'en utilisant des projection comme le Lambert 93 (2154) alors l'unité est le mètre.
+
+Du coup pour palier à ce problème il faut parfois convertir la géométrie dans une projection métrique pour simplifier l'utilisation de ce genre de fonction.
+
+```sql
+SELECT *
+FROM roads
+WHERE ST_Intersects(geom, ST_Trasnform(ST_Buffer(ST_Transform(ST_GeomFromText('LINESTRING(x1 y1, x2 y2)'), 2154), 50), 4326));
+```
+
+Ce genre d'opération peut déclencher une erreur en cas de violation de l'étendue de la projection, par exemple une donnée situé aux état-unis projeté en Lambert 93 sera incohérente ou provoquera l'apparition d'une erreur car le Lambert 93 ne couvre pas cette zone.
+
+Autre point important sur ce genre d'opération, ces transformations sont trés coûteuse en terme de performance, il est donc important d'appliquer ces modification à l'ensemble le plus petit.
+
+Par exemple si vous intersectez les géométries d'une table par une géométrie commune (en dur dans votre clause where) alors il vaut mieux appliquer les fonction de transformation à cette dernière géométrie. Exemple je fait une requête de ce type sur une table contenant une cinquantaine de ligne par une géométrie statique. Si j'applique la transformation à la géométrie statique je fais 1 transfromation suivi de 50 intersections alors qu'en faisant l'inverse postgres va réaliser 50 transformations suivi de 50 intersections.
+
+## Optimisation des requêtes spatiales avec les indexes
+
+L'utilisation des index spatiaux est essentielle pour améliorer les performances des requêtes géospatiales dans PostGIS. Les index spatiaux sont des structures de données spécifiquement conçues pour accélérer les opérations de recherche et de récupération de données spatiales en utilisant des techniques d'indexation spéciales adaptées aux données géométriques.
+
+Dans PostGIS, il existe différents types d'index spatiaux disponibles :
+
+- Index GIST (Generalized Search Tree) : L'index GIST est l'index spatial par défaut dans PostGIS. Il utilise une structure d'arbre généralisée pour organiser les données géométriques et permet une recherche efficace sur les requêtes spatiales. L'index GIST prend en charge divers types de données géométriques, tels que les points, les lignes et les polygones, ainsi que les opérations spatiales correspondantes.
+
+```sql
+CREATE INDEX idx_geom ON ma_table USING GIST (geom);
+```
+
+- Index GiST (Generalized Search Tree) : L'index GiST est une extension de l'index GIST qui offre des fonctionnalités supplémentaires pour les opérations spatiales avancées. Il permet de créer des index spatiaux pour des types de données spécifiques, tels que les géométries 3D, les géométries géodésiques ou les géométries temporelles. L'index GiST permet une recherche efficace même pour des données spatiales complexes et multidimensionnelles.
+
+```sql
+CREATE INDEX idx_geom_3d ON ma_table USING GIST (geom3d gist_geometry_ops);
+```
+
+- Index SP-GiST (Space-Partitioned Generalized Search Tree) : L'index SP-GiST est un type d'index spatiale qui divise l'espace en partitions pour organiser les données géométriques. Il est particulièrement adapté aux données spatiales qui peuvent être partitionnées de manière efficace, comme les données en grille ou en quadrillage. L'index SP-GiST offre des performances améliorées pour les requêtes spatiales dans ces types de données.
+
+```sql
+CREATE INDEX idx_geog ON ma_table USING SPGIST (geog);
+```
+
+L'utilisation des index spatiaux dans PostGIS permet d'accélérer considérablement les requêtes de recherche, de filtrage et d'analyse sur les données géospatiales. Lors de la conception de votre schéma de base de données et de vos requêtes, il est recommandé de prendre en compte l'ajout d'index spatiaux appropriés pour les colonnes géométriques utilisées fréquemment dans les opérations spatiales. Cela permettra d'optimiser les performances et de réduire le temps d'exécution des requêtes géospatiales, en tirant parti des capacités avancées d'indexation spatiale offertes par PostGIS.
+
+# Analyse spatiale avec PostGIS
+
+## Calcul de distances et d'aires
+## Analyse de proximité et recherche de plus proches voisins
+## Agrégation et regroupement spatial
+## Analyse de cluster et de densité spatiale
+
+# Fonctionnalités avancées de PostGIS
+
+## Utilisation des fonctions de géotraitement avancées
+## Analyse raster avec PostGIS
+## Utilisation de fonctions de géocodage et de géomarketing
+## Intégration avec d'autres outils et librairies (GDAL, GEOS, etc.)
\ No newline at end of file
diff --git a/source/concept/bdd/postgres.md b/source/concept/bdd/postgres.md
index d18983f8907dc3fe8361ba0ae72fbc901d928108..a18c41f04d1de3f9c04e4fa9d1d9f39950a3a3dc 100644
--- a/source/concept/bdd/postgres.md
+++ b/source/concept/bdd/postgres.md
@@ -193,15 +193,4 @@ EXPLAIN ANALYZE SELECT * FROM Customers WHERE age > 30;
 
 L'analyse des résultats de EXPLAIN ANALYZE permet d'identifier les éventuels problèmes de performance dans une requête et de prendre des mesures pour les résoudre. Par exemple, vous pouvez ajuster les indexes, réorganiser les jointures, ajouter des clauses WHERE supplémentaires, etc.
 
-En résumé, l'utilisation des commandes EXPLAIN et ANALYZE dans PostgreSQL est essentielle pour comprendre et optimiser les performances des requêtes. Elles fournissent des informations précieuses sur le plan d'exécution et les statistiques des requêtes, ce qui permet d'identifier les problèmes de performance et de prendre des mesures pour les résoudre.
-
-V. Intégration et échange de données
-   A. Importation et exportation de données
-   B. Intégration avec d'autres systèmes (API, ETL, etc.)
-   C. Synchronisation des données
-
-VI. Bonnes pratiques et astuces
-   A. Optimisation des requêtes
-   B. Modélisation efficace des données
-   C. Sécurité des données
-   D. Évolutivité et extensibilité
\ No newline at end of file
+En résumé, l'utilisation des commandes EXPLAIN et ANALYZE dans PostgreSQL est essentielle pour comprendre et optimiser les performances des requêtes. Elles fournissent des informations précieuses sur le plan d'exécution et les statistiques des requêtes, ce qui permet d'identifier les problèmes de performance et de prendre des mesures pour les résoudre.
\ No newline at end of file