Guide de l'utilisateur de PostgreSQL/PostGIS

TECHER David

davidgis.fr


     Résidence Prado Lido Bât A1
     20 bis avenue Aristide Briand
     34170 Castelnau-Le-Lez
     France
 Tél: 06 60 46 85 05
     
    

Résumé

PostGIS est l'extension qui confère au SGBDRO PostgreSQL, la spécificité de bases de données spatiales. Ce document est un recueil de notes pour une compilation et une installation personnelle de PostGIS/PostgreSQL sous Windows et GNU/Linux. Elle est le fruit du travail des contributeurs du site postgis.fr, pour la communauté française en SIG.

Ceci est la version 11.6 de ce document mise à jour le 2007-06-01. L'historique est disponible à http://www.davidgis.fr/documentation/win32/historique.html. La version imprimable au format PDF est disponible à http://www.davidgis.fr/documentation/win32/pdf/doc.pdf


Table des matières

Avant-propos
I. Installation sous Windows
Notes à l'intention des utilisateurs
1. Pré-requis
1.1. MinGW
1.2. Msys
1.3. Suppléments: Zlib, GetText, LibIconv,Bison, Flex,wget et MsysTDK
2. Compilation et Installation
2.1. Création des répertoires des sources et du répertoire de destination (facultatif)
2.2. PostgreSQL
2.2.1. Téléchargement
2.2.2. Compilation et Installation
2.2.3. Ajout des outils/supports contributifs pour PostgreSQL
2.3. Geos et Proj
2.3.1. Téléchargement
2.3.2. Compilations et Installations
2.3.3. Création de la DLL pour PROJ
2.4. PostGIS
2.4.1. Téléchargement
2.4.2. Compilation et Installation
2.5. Finalisation de la distribution, rendre sa distribution portable
2.6. Erreurs de compilations reportées par les utilisateurs
2.6.1. Erreur de compilation pour PostgreSQL 8.2.1 et PostGIS 1.2.0
2.6.2. Erreur de libiconv
2.6.3. Erreur de compilation avec PostGIS pour pgsql2shp.exe
2.6.4. Erreur de PostGIS avec make
II. Installation sous GNU/Linux, Ubuntu Edgy Eft
3. Installation sous Ubuntu Edgy Eft
3.1. Pré-requis
3.2. PostgreSQL
3.2.1. Téléchargement et configuration
3.2.2. Test de régression (optionnel)
3.2.3. Installation
3.3. Geos et Proj
3.4. PostGIS
III. PostgreSQL - configuration et administration minimale
4. Paramétrer PostgreSQL sous Windows et GNU/Linux
4.1. Se procurer une distribution déjà compilée - Optionnel pour Windows -
4.2. Les variables d'environnement de PostgreSQL
4.3. Le super-utilisateur de PostgreSQL
4.3.1. Le super-utilisateur?
4.3.2. Création du super-utilisateur
4.3.3. Pouvoir accéder à la session du super-utilisateur sous DOS sans changer la session en cours
4.4. Initialisation de PostgreSQL: groupe de bases de données par défaut (Windows)
4.5. Initialisation de PostgreSQL: groupe de bases de données par défaut (GNU/Linux)
4.6. Autoriser les connexions TCP/IP et Démarrer/Arrêter le serveur
4.6.1. Autoriser les connexions TCP/IP
4.6.2. Méthode 1: Démarrage/Arrêt manuel
4.6.3. Méthode 2: Démarrage/Arrêt automatique pour Windows
4.6.4. Méthode 2: Démarrage/Arrêt automatique pour GNU/Linux
4.7. Devenir soi-même super-utilisateur de PostgreSQL
4.8. Autoriser les machines du réseau intranet/extranet à se connecter au serveur
4.8.1. Intranet: Authentification par méthode de confiance (trusting) et connexion à toutes les bases
4.8.2. Extranet: Authentification par MD5, connexion à une seule et unique base de données pour un utilisateur unique de PostgreSQL - Optionnel -
4.9. Gestion des fichiers de logs
4.9.1. Création du répertoire pour les logs
4.9.2. Activation des paramètres
IV. PostGIS
5. Tutoriaux
5.1. Créer une base avec PostGIS
5.2. Effectuer des requêtes: le moniteur interactif psql de PostgreSQL
5.3. Effectuer des requêtes: PgAdmin III
5.4. Exemples de requêtes spatiales I
5.4.1. Création de la base et d'une table
5.4.2. Ajout de la colonne géométrique à la table - AddGeometryColumn()
5.4.3. Objets géométriques spécifiés par l'O.G.C dans PostGIS
5.4.4. Exemples d'objtes géométriques
5.4.5. Insertion d objets géometriques - GeometryFromText()
5.4.6. Insertion des données dans la table
5.4.7. Question: Quelles sont les aires des objets? - Area2d() -
5.4.8. Question: Quel sont les types géométriques des objets? - GeometryType() -
5.4.9. Question: Qui est dans le bâtiment 2? - Distance() -
5.4.10. Question: Qui est dans le bâtiment 2? - WithIn() -
5.4.11. Question: Quel est l'objet géométrique le plus proche du pieton 2? - Min(), Distance() -
5.5. Exemples de requêtes spatiales II
5.5.1. Démo de quelques requêtes en ligne avec SVG
5.5.2. Chargement des données par SQL
5.5.3. Chargement de données par ESRI Shapefiles (shp2pgsql)
5.5.4. Question-Pratique: Qu'elle est la version de PostgreSQL?
5.5.5. Question-Pratique: Où se trouve notre répertoire de bases de données? - PGDATA -
5.5.6. Question-Pratique: Qui sont les utilisateurs de PostgreSQL?
5.5.7. Question-Pratique: Quelles sont les infos sur les outils compilés pour PostGIS?
5.5.8. Question-Pratique: Quel est le listing des bases de PostreSQL?
5.5.9. Question-Pratique: Quelles sont les tables contenues dans la base?
5.5.10. Question-Pratique: Utiliser une vue pour simplifier la recherche du listing des tables.
5.5.11. Question-Pratique: Avec psql, comment obtenir rapidement un bref rappel de la synthaxe des commandes SQL de PostgreSQL?
5.5.12. Question: Où sont stockées les informations relatives aux données spatiales (métadonnées) des tables avec PostGIS? - table geometry_columns -
5.5.13. Question-Pratique: Comment créer une fonction en PLP/PGSQL qui puisse faire le différentiel entre les tables référencées par geometry_columns et toutes les tables contenus dans le schéma public de la base (tables non géospatiales)?
5.5.14. Question: Comment sont stockées les données géométriques avec PostGIS?
5.5.15. Question: Quelles sont les aires et les périmètres des bâtiments?
5.5.16. Question: Qui est dans le bâtiment Résidence des Mousquetaires ?
5.5.17. Question: Quelles distances séparent les bâtiments?
5.5.18. Question: Combien de points composent chaque objet de la table great_roads? - NumPoints() -
5.5.19. Question: Dans la table great_roads, quels sont les premier et dernier point de la Rue Paul Valéry? - StartPoint(), EndPoint() -
5.5.20. Question: Quels sont les coordonnées des centres des bâtiments (buildings)? - Centroid() -
5.5.21. Question: Comment garantir de toujours avoir un point sur un POLYGON autre que son centre en dépit de sa convexité/concavité? - PointOnSurface() -
5.5.22. Question: Quels sont les points d'intersection entre les petites routes (small_roads) et les grandes routes (great_roads)?
5.5.23. Quelle distance (relative au tracé de la rue Paul Valéry) dois-je couvrir si je pars de l'entrée la Rue Paul Valéry (table great_roads) jusqu'à son point de rencontre (intersection) avec la Rue Voltaire (table small_roads)? - line_locate_point(),line_interpolate_point() -
5.5.24. Extraire de la Rue Paul Valéry la portion de route joignant le premier cinquième 1/5 au quatrième cinquième (4/5) de cette rue - line_substring() -
5.5.25. Question: Quel bâtiment est le plus proche de la personne 2?
5.5.26. Question: Quel bâtiment ne contient aucune personne?
5.5.27. Question: Quels sont les personnes présentes dans les bâtiments?
5.5.28. Question: Combien y-a-t-il de personnes par bâtiments?
5.5.29. Question: Quel est l'aire d'intersection entre la rivière et les parcs?
5.5.30. Question:Quel bâtiment est contenu dans le parc Mangueret I? - Contains() -
5.5.31. Question:Quelles sont les personnes proches de la rivière dans un rayon de 5 mètres? - Buffer () -
5.5.32. Question: Quel parc contient un "trou"? - Nrings() -
5.5.33. Question: Quels sont les bâtiments que rencontrent la ligne qui relie la personne 5 à la personne 13? - MakeLine() -
5.5.34. Question: Comment arrondir la position des personnes (table personnes) avec un chiffre après la virgule? -SnapTogrid()-
5.5.35. Application: Utiliser les déclencheurs (triggers) en PL/PGSQL de PostgreSQL pour suivre à la trace la personne 7 quand elle se déplace. Selon sa position, savoir quel est le bâtiment qui lui est le plus proche ou le bâtiment dans lequel elle se trouve?
6. Etudes de cas
6.1. Cas pratique I: Etude détaillée, manipulation de données, cas pratique avec MapServer
6.1.1. Importation des communes du Languedoc-Roussillon
6.1.2. Afficher les informations relatives au Lambert II Etendu depuis la table spatial_ref_sys - get_proj4_from_srid() -
6.1.3. Question: Comment faire pour effacer la colonne géométrique sans effacer les données attributaires ? - DropGeometryColumn() -
6.1.4. Question: Comment faire pour effacer une table géométrique, avant une réimportation si les méta-données à utiliser vont changer?
6.1.5. Question: Comment faire si on a oublié de préciser l'identifiant de système de projection? - UpdateGeometrySrid() -
6.1.6. Question: Si on s'est trompé dans le système de projection, comment faire pour reprojetter dans un autre système de manière définitive ? - Transform() -
6.1.7. Création d'index spatiaux Gist, Vacuum de la base
6.1.8. Question: Qu'elle est l'étendue géographique/emprise de la table communes_lr? - Extent() -
6.1.9. Visualisation des données avec MapServer
6.1.10. Question: Quelles sont les comunes avoisinantes de Montpellier?, Utilité des index spatiaux - Distance(), && -
6.1.11. Utilité des index spatiaux - temps demandé pour exécuter la requête
6.1.12. Créer une table communes_avoisinantes correspondant aux communes avoisinantes de MONTPELLIER, extraite et conforme à la structure de la table communes_lr, exploitable par MapServer.
6.1.13. Requête 1: Qu'elle est l'intersection entre MONTPELLIER et les communes de LATTES et de JUVIGNAC?- Intersection()- Que vaut cette géométrie en SVG? - AsSVG(),
6.1.14. Requête 2: Qu'elle est la commune ayant la plus petite aire?
6.1.15. Mapfile générale pour la table communes_avoisinantes et les deux requêtes précédentes
6.1.16. Exercice: Obtenir une table departements_lr qui contient les contours départmentaux du Languedoc-Roussillon à partir de la table communes_lr
6.1.17. Exercice: Trouver les communes du Gard et de l'Aude qui sont limitrophes à l'Hérault et les afficher grâce à MapServer.
6.1.18. QGIS: Affichage des tables précédentes
6.1.19. Exemple de projet sous GNU/Linux avec MapServer/PostgreSQL/PostGIS: savoir si à une échelle donnée, quel sera le meilleur format d'impression de A4 à A0 pour savoir si un polygone ne débordera du cadre de la carte
6.2. Cas pratique II: Réunifier des tronçons d'un réseau hydrologique d'un département
6.2.1. Objectifs
6.2.2. Mise en oeuvre
6.2.3. Questions
7. PostGIS et les languages
7.1. avec du C -interface client de PostgreSQL -
7.1.1. Modifications des fichiers
7.1.2. Sortie et exécution
7.2. avec du PHP - un peu de SVG -
8. Conclusion
V. Annexes
Notes sur les annexes
A. PgRouting pour le calcul d'itinéraire
A.1. Installation sous Windows
A.2. Installation sous Ubuntu Dapper/Edgy
A.2.1. GAUL
A.2.2. BGL
A.2.3. CGAL
A.2.4. PgRouting
A.3. Installation sous Mac OS X
A.3.1. FINK
A.3.2. GAUL
A.3.3. BGL
A.3.4. CGAL
A.3.5. PgRouting
A.4. Chargement des fonctionnalités de PgRouting
A.5. Fonctionnalité Shortest_Path() - Dijkstra
A.5.1. Dijkstra: module de routing pour PostgreSQL pour la recherche du plus cours chemin
A.6. Importation d'un shapefile concernant des tronçons
A.7. Obtention des noeuds du réseau
A.8. Fonctionnalité shortest_path_astar()
A.8.1. Exemple pour les noeuds 38 et 48.
A.8.2. Démo en ligne avec MapServer
A.8.3. Tester soi-même la démo avec MapServer.
A.8.4. Tester sur un jeu de données réelles: jeu de tests GEOROUTE IGN
A.9. Fonctionnalité TSP()
A.9.1. Exemple
A.9.2. Programme en C pour les appels successifs à shortest_path_astar()
A.9.3. Limites du programme
A.10. Fonctionnalités shortest_path_astar_as_geometry_internal_id_directed() et tsp_astar_as_geometry_internal_id_directed()
A.10.1. Importation d'un jeu de données NavTeq
A.10.2. Noeuds du réseau et direction pour le routage
A.10.3. Modifications nécessaires sur la table streets_edges
A.10.4. Exemple avec shortest_path_astar_as_geometry_internal_id_directed()
A.10.5. Exemple avec tsp_astar_as_geometry_internal_id_directed()
B. Créer un modèle de base de données PostgreSQL contenant les fonctionnalités de PostGIS pour un utilisateur aux droits restreints sur une base
B.1. Création du modèle contenant les fonctionalités de PostGIS
B.2. Création de l'utilisateur et de la base de données
B.2.1. Création de l'utilisateur
B.2.2. Création de la base de données
B.2.3. Restriction des droits sur les tables geometry_columns et spatial_ref_sys
B.2.4. Vérification
C. Dblink: interroger plusieurs serveurs PostgreSQL distants
C.1. Matériel requis pour la simulation
C.2. Compilation et installation
C.3. Mise en oeuvre
C.3.1. Premiers tests
C.3.2. Test attendu
D. Pouvoir faire des sauvegardes des bases locales ou distantes d'un serveur PostgreSQL du réseau intranet vers une machine-cliente
D.1. Proposition 1: Sauvegarde et restauration rapide par une base
D.1.1. Sauvegarde au format tar du schéma public de la base de données - pg_dump -
D.1.2. Restauration - pg_restore -
D.2. Proposition 2: Sauvegarde pour toutes les bases et toutes les tables sans les définitions des fonctions de PostGIS ou autre- Script général (Côté-client)
D.3. Proposition 2: Restauration
D.3.1. Format sql
D.3.2. Format tar.gz
E. PostgreSQL et les index
E.1. Importation d'un jeu de données
E.2. Importer des données au format CSV dans PostgreSQL
E.3. Index B-tree, opérateur =
E.4. Index B-tree, fonctions
E.5. Index B-tree, recherche sur motif, like "chaine%"
E.6. Index B-tree, recherche sur motif, like "%chaine"
E.6.1. Fonction inversant une chaîne en PostgreSQL
E.6.2. Création de l'index sur le champs "Commune" de la table insee
E.6.3. Requêtes
F. Connaître l'espace disque occupé par les données (dbsize)
F.1. Dbsize - directement dans le backend de PostgreSQL -
F.2. Script Shell
F.3. Script PHP
G. PostgreSQL et Stunnel
G.1. Introduction
G.2. Pré-requis
G.3. Motivations: sniffer une connexion non sécurisée avec NAST, limites d'une connexion par mot de passe en md5!
G.3.1. Test sans mot de passe
G.3.2. Test avec MD5
G.4. Stunnel: sécurisation de la connexion
G.4.1. Pré-requis: OpenSSL
G.4.2. Installation de Stunnel
G.4.3. Mise en oeuvre
G.5. Installation en service de Stunnel
G.6. Pour aller plus loin
9. MapServer: faire une image avec zones réactives
9.1. Démo en ligne et ressource en ligne
9.2. Création de la base de données
9.3. Importation des données dans une base PostGIS
9.4. La mapfile
9.5. Script php
H. Foire Aux Questions
H.1. Existe-il des installeurs pour PostgreSQL et PostGIS qui évitent d'avoir à les compiler soi-même?
H.2. Quel lociciel utilisé pour gérer/administrer un/des serveurs PostgreSQL sous Windows?
H.3. Quel logiciel utilisé pour visualiser ses données de PostGIS?
H.4. Comment migrer des données de PostGIS à travers un réseau intranet/extranet?
H.5. Comment passer du format MapInfo à PostGIS?
H.6. PostGIS: Comment passer de PostGIS à ESRI Shapefile?
H.7. PostGIS: Est-il possible de calculer l'extent sur des objets de nature géométrique différente?
H.8. PostgreSQL: Comment exporter des données au format CSV?
H.8.1. A partir de psql
H.8.2. Avec ogr2ogr
H.9. Comment connaître les objets d'une table qui intersectionnent une fenêtre?
H.10. Comment convertir une BOX3d en Polygon?
H.11. PostGIS: Comment mettre à jour et passer de PostGIS 0.X. à 1.0.X pour PostgreSQL 8.0.X?
H.12. Notes pour PostGIS 1.1.2: Tests de régression
H.13. Sous GNU/Linux : depuis un terminal comment se connecter à une machine distante sans avoir à taper à chaque fois le mot de passe?
H.14. Sous GNU/Linux: comment connaître l'ensemble des connexions client-serveur actives?
H.15. PostgreSQL: Connaître l'OID d'une table?
H.16. PostgreSQL: Connaître les champs d'un table, ainsi que leurs type?
H.17. Sous GNU/Linux: Comment migrer une base encodé en LATIN9 ou un shapefile encodé en LATIN9 vers une base encodée en UTF-8?
H.18. Sous GNU/Linux: Comment créer un espace logique avec PostgreSQL?
H.19. PostgreSQL: Peut-on copier un schéma dans un autre schéma et renommer l’ancien schéma?
H.20. Comment ajouter le support PL/Perl pour PostgreSQL sous Windows?
H.21. Comment charger l'extension de PostgreSQL sous PHP?
I. Mémento sur les commandes SQL de PostgreSQL
J. Mémento sur les commandes internes de psql
K. Suivi de PostGIS
L. PhpMapScript
L.1. Table mapserver_desc
L.2. Script PHP
L.3. Sortie: Mapfile
M. Auteurs et contributeurs de PostGIS
Bibliographie

Liste des illustrations

1. Accidents corporels ayant eut lieu le long de la Route Nationale 113 dans le Gard en 2006 avant le lundi 2006-09-11 (Source: Accidentologie dans le Gard, http://www.01mapserver.com/applis/dde30)
2. Communes du Languedoc-Roussillon: exportation au format KML exploitable par Google Earth.
3. Réseau routier et ses noeauds obtenu grâce à PgRouting sur la base GEOROUTE IGN
4. PgRouting sur la base GEOROUTE IGN - sens aller.
5. PgRouting sur la base GEOROUTE IGN - sens retour.
6. Architecture PostgreSQL/PostGIS/Geos/Proj
7. PostgreSQL/PostGIS font un carton dans le monde du logiciel libre!
2.1. Commandes de création des répertoires
2.2. Les répertoires des sources (créés par MinGW)
2.3. Installation terminée......C'est dans la boite!
4.1. Exemple d'emploi de variables d'environnement de PostgreSQL 8.0.0 pour une connexion cliente. À adapter ici pour la version 8.2.1
4.2. Utilisation de la commande runas
4.3. Nouvelle fenêtre DOS obtenue
4.4. Initialisation du groupe de bases de données pour PostgreSQL 8.0.3 (ancienne image)
4.5. Démarrage manuel de PostgreSQL
4.6. Arrêt manuel de PostgreSQL
4.7. Installation et démarrage du service (postgresqlwin32)pour PostgreSQL
4.8. Exemple de connexion dans PgAdmin III
5.1. Le moniteur psql - Connexion à la base testgis.
5.2. psql: Fonction AddGeometryColumn() de PostGIS
5.3. psql: Insertion des données dans la table test
5.4. Visualisation de la table test dans la base testgis
5.5. Visualisation des bâtiments (tables buildings et parcs et rivers).
5.6. Visualisation des personnes (table personnes).
5.7. Visualisation des petites et grandes routes (tables small_roads et great_roads).
5.8. Personnes présentes dans le bâtiment Résidence des Mousquetaires
5.9. Points d'intersection entre les tables small_roads et great_roads
5.10. Parcours effectué sur 71% de la rue Paul Valéry
5.11. Portion de route allant du 1/5 au 4/5 de la Rue Paul Valéry
5.12. Bâtiment ne contenant aucune personne : EDF
5.13. Intersection entre la rivière et les parcs
5.14. Bâtiment contenu dans le parc Mangueret I: Office du Tourisme
5.15. Buffer de 5 mètres sur la rivière: les personnes 8 et 10 y sont présentes
5.16. Ligne reliant les points désignant les personnes 5 et 13
5.17. Bâtiments (table buildings) que rencontre la ligne reliant les points désignant les personnes 5 et 13
5.18. Déplacement successifs de la personne 7
6.1. Extent avec PostGIS. Ce qu'on appelle aussi emprise en S.IG.
6.2. Affichage des communes du Languedoc-Roussillon (MapServer+PhpMapScript)
6.3. Les communes avoisinantes de Montpellier
6.4. Intersection entre MONTPELLIER et les comunes de LATTES et de JUVIGNAC
6.5. LATTES: la commune ayant la plus petite aire.
6.6. Affichage des départements du Languedoc-Roussillon
6.7. MapServer: Communes du Gard (30) et de l'Aude (11) limitrophes à l'Hérault (34)
6.8. QGIS: Affichage des tables communes_lr, departements_lr et communes_avoisinantes
6.9. QGIS: Zoom sur le département de l'Hérault
6.10. Reconstitution du réseau hydrolique de la DROME (26). La drôme est en jaune sur l'image.
7.1. Sortie en SVG sur quelques requêtes de la section "Exemples de requêtes spatiales II" du chapitre 4
A.1. Installeur 1.0.0.a
A.2. Graphe orienté, la rue Voltaire est à sens unique (en jaune sur le graphe,du noeud 4 au noeud 1)
A.3. Shortest_Path(): chemin le plus court pour aller de 6 à 8
A.4. Shortest_Path(): chemin le plus court pour aller de 2 à 5 (puisque la Rue Voltaire est à sens unique)
A.5. Le réseau avec 5 rond-points.
A.6. Les noeuds du réseau
A.7. Parcours à l'aller
A.8. Parcours au retour
A.9. Une portion des noeuds de mon réseau (sources+targets)
A.10. Parcours à l'aller
A.11. Parcours au retour
A.12. fonctionnalité TSP() pour les noeuds 7,41,28,42 et 25
A.13. GoogleEarth: réseau routier à Washington DC
A.14. GoogleEarth: réseau routier à Washington DC
A.15. Fonction shortest_path_astar_as_geometry_internal_id_directed() sur source=5274 et target=5488 (sens aller)
A.16. Fonction shortest_path_astar_as_geometry_internal_id_directed() sur source=5274 et target=5488 (sens aller)
A.17. Fonction shortest_path_astar_as_geometry_internal_id_directed() sur source=5488 et target=5274 (sens retour)
A.18. Fonction shortest_path_astar_as_geometry_internal_id_directed() sur source=5488 et target=5274 (sens retour)
A.19. Fonction tsp_astar_as_geometry_internal_id_directed()
A.20. Fonction tsp_astar_as_geometry_internal_id_directed() vue depuis GoogleEarth
C.1. Mes deux bases distantes: testgis et testgis2
D.1. Sauvegarde du schéma public de la base madatabase - pg_dump -
D.2. Restauration de la table buildings dans la base madatabase - pg_restore -
9.1. ImageMap à l'initialisation
9.2. ImageMap lors du passage du pointeur de la souris sur l'Hérault
H.1. Une fenêtre intersectionnant des objets (ici les communes en région bourgogne)

Liste des tableaux

1.1. Versions des outils utilisés
5.1. Exemple d'objets géométriques en WKT avec PostGIS
K.1. Suivi de PostGIS

Liste des exemples

1. Exemple de requête avec PostGIS
2. Résultat de la requête
3. Conversion de PostGIS en KML: utilisation de ogr2ogr
4.1. Exemples de variable d'environnement sous Windows
4.2. Exemple de variables d'environnement sous GNU/Linux
4.3. Modification de la variable d'environnement PATH pour Windows,ajout de PGDATA
4.4. Modification de la variable d'environnement PATH, ajout de PGDATA pour GNU/linux dans /etc/bash.bashrc
4.5. Mise en place du cluster pour Windows
4.6. Création du répertoire pour les bases de données
4.7. Script d'installation en service pour GNU/Linux
4.8. Script d'installation en service pour GNU/Linux (suite)
4.9. Création du répertoire pour les logs sous WIndows
4.10. Création du répertoire pour les logs sous GNU/Linux
5.1. Création d'une base PostGIS sous WIndows
5.2. Création d'une base PostGIS sous GNU/Linux
5.3. Création de la base test avec PostGIS sous Windows
G.1. Installation de nast
G.2. PostgreSQL sur la machine-serveur: création d'un super-utilisateur damien ayant pour mot de passe 'morphine'
G.3. Modification du fichier de configuration (pg_hba.conf) sur jenna pour une connexion par mot de passe classique
G.4. Redémarrage du serveur
G.5. Nast sur bremko: sniffage des paquets envoyés à jenna sur le port 5432
G.6. Connexion à jenna depuis bremko
G.7. Portion de paquets interceptionnés
G.8. Modification du fichier de configuration de jenna (pg_hba.conf): connexion par md5
G.9. Réception de paquets par Nast: mise en évidence de l'intérêt de md5
G.10. Réception de paquets par Nast: insuffisance pour la sécurisation de la méthode
G.11. Pré-requis pour l'installation de Stunnel
G.12. Installation de Stunnel
G.13. Génération du certificat auto-signé
G.14. Stunnel en tant que serveur sur jenna
G.15. Stunnel en tant que client sur bremko
G.16. Paquets réceptionnés: Sécurisation de la connexion
G.17. Script de démarrage pour stunnel en tant que service sur la machine-serveur
9.1. Création de la base de données
9.2. Importation des données issues du shapefile dans la base
9.3. Contenu de la mapfile
9.4. Contenu de la mapfile (suite)
9.5. Script php utilisé pour générer l'image à zones réactives
9.6. Script php utilisé pour générer l'image à zones réactives (suite)
9.7. Script php utilisé pour générer l'image à zones réactives (suite)
9.8. Script JavaScript utilisé pour un peu d'interactivité avec l'image à zones réactives