Développement d'une application de webmapping MapServer/PostGIS( Télécharger le fichier original )par Julien Berron Université d'Avignon et des Pays de Vaucluse - Master 2 Géomatique et Conduite de Projets 2006 |
- ANNEXES -Annexe 1 Diagramme de classe PHPMapscript (Veremes & DM Solutions Group Inc.) 36 Annexe 2a Script d'authentification 38 Annexe 2b Extrait du script de mesure de surface 39 Annexe 2c Extrait du mapfile (section publique) 40 Annexe 2d Extrait du template (section publique) 41 Annexe 3 Extrait du Guide de Maintenance et Utilisation (hors description et arborescence de l'application) 42 * * * Annexe 1 Diagramme de classe PHPMapscript (Veremes & DM Solutions Group Inc.) Annexe 2a Script d'authentification <?php session_start(); // vérification du remplissage des inputs de la page xxxx.xxx if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { function no_cache() { header("Pragma: no-cache"); header("Cache-Control: no-cache"); } no_cache(); // connexion à la base de données postgresql "xxxx" en tant que superutilisateur $connexion = pg_connect("host=xxx.xxx.xxx.xx dbname=xxxx user=xxxxxx password=xxxxxxx"); if ($connexion == 0) { erreur('Echec lors de la connexion',true,false); } // vérification de l'existence du couple login/pass dans la base de données "xxxx" et //déconnexion $sql = "SELECT count(*) FROM xxxxxxx WHERE pseudo='".$_POST['login']."' AND passe='".$_POST['pass']."'"; $req = pg_query($sql) or die('Erreur SQL'); $data = pg_fetch_array($req); pg_free_result($req); pg_close(); // si le couple login/pass renseigné existe, renvoi vers l'entrée sécurisée du // serveur cartographique if ($data[0] == 1) { $_SESSION['pseudo'] = $_POST['login']; header('Location: /xxxxx/xxx.xxxxx'); exit(); } // si le couple login/pass renseigné n'existe pas, renvoi vers une nouvelle page // d'identification elseif ($data[0] == 0) { header('Location: xxxxx.xxxx'); exit(); } } else { header('Location: xxxxx.xxxx'); exit(); } } ?> Annexe 2b Extrait du script de mesure de surface <?php ... function {$szName}() { // cree nouveaux calques pour tracage lignes var sId = ""; gaszAreaDivPointNames = new Array(); gaszAreaDivNodeNames = new Array(); var content = "<img src='{$szImagesURL}ruler_pix.gif' width='6' height='6'><br>"; var content2 = "<img src='{$szImagesURL}ruler_node.gif' width='7' height='7'><br>"; for (var i=1; i < {$nPoints}; i++) { // cree calques points sId = 'areaPointLayer'+i; CWCDHTML_CreateLayer(sId, 10, 10, 0, 0, false, content); CWCDHTML_SetLayerZOrder( sId, 20 ); gaszAreaDivPointNames.push( sId ); // cree calques noeuds sId = 'areaNodeLayer'+i; CWCDHTML_CreateLayer(sId, 10, 10, 0, 0, false, content2); CWCDHTML_SetLayerZOrder( sId, 20 ); gaszAreaDivNodeNames.push( sId ); }
// init objet polygone goROIAreaObj = new CWCPolygonROI({$nPoints}); goROIAreaObj.pointImageWidth = 6; goROIAreaObj.nodeImageWidth = 7; goROIAreaObj.left = gMapWhspc; goROIAreaObj.top = gMapWvspc; goROIAreaObj.right = gMapWhspc + gMapWiWidth; goROIAreaObj.bottom = gMapWvspc + gMapWiHeight; goROIAreaObj.edgeColor = goCWCROIManager.szEdgeColor; goROIAreaObj.edgeWidth = goCWCROIManager.nEdgeWidth; goROIAreaObj.fillLayer = goCWCROIManager.bUseFill; // ET ---------------------------------------------------------------------------------- // ATTENTION declarer meme code couler que dans ROIRenderer (lignes 94 et 139). goROIAreaObj.fillColor = 'ffcc33'; // ET ---------------------------------------------------------------------------------- goROIAreaObj.fillOpacity = goCWCROIManager.nFillOpacity;
// affiche polygone goROIAreaObj.Show();
} ... ?> Annexe 2c Extrait du mapfile (section publique) ###MAPFILE ###APPLICATION CHAMELEON/MAPSERVER SERVEUR CARTOGRAPHIQUE MAIRIE DE CREST ################################### MAP NAME SERVCREST STATUS ON SIZE 650 450 SYMBOLSET ../xxx/xxxx.sym EXTENT 808891 269917 816398 277471 UNITS METERS SHAPEPATH "../xxxx" IMAGECOLOR 255 255 255 IMAGETYPE JPEG FONTSET ../xxx/xxxx.txt TRANSPARENT FALSE OUTPUTFORMAT NAME JPEG DRIVER "GD/JPEG" MIMETYPE "image/jpeg" IMAGEMODE PC256 EXTENSION "jpg" FORMATOPTION "QUALITY=80" END ################################### . . . ################################## #debut parametrage des couches ################################### #theme xml legende #Zonage PLU# LAYER GROUP "Zonage PLU" NAME "[nom_table]" METADATA SPATIALSEARCH "gid,refzone,surface,perimetre,nbpolygone,type,stype" SPATIALSEARCHLIST "" END TYPE POLYGON LABELITEM "refzone" STATUS OFF HEADER "gid^|refzone^|surface^|perimetre^|type^|stype^|legende^|" CONNECTIONTYPE postgis CONNECTION "host=xxx port=xxxx user=xxx password=xxxxx dbname=xxxxxxx" DATA "the_geom from [nom_table]" CLASS STYLE COLOR 193 191 255 OUTLINECOLOR 100 100 100 END LABEL SIZE MEDIUM POSITION CC COLOR 255 255 255 BACKGROUNDCOLOR 193 191 255 END TEMPLATE "ttt_query.html" END TOLERANCE 5 TRANSPARENCY 55 PROJECTION "init=epsg:27593" END END#layer . . . Annexe 2d Extrait du template (section publique) ... <!-- DEBUT DU CONTAINER CSS PRINCIPAL -fichier htdocs/style2.css- --> <div id="Cadre"> <form method="post"> <div id="Banniere"> <img SRC="images/ban_templatepublic.jpg" WIDTH="939" BORDER="0" HEIGHT="68" USEMAP="#ban_templatepublic"> </div> <cwc2 type="LegendTemplate" visible="false" embedded="true" template="legend_template.html" popupstyleresource="TextButtons" popupwidth="500" popupheight="400" status="false" menubar="false"/> <!-- BARRE NAVIGATION CARTE -fichier htdocs/style2.css- --> <div id="BarreNavigation" name="NavToolsLayer"> <table border="0" cellspacing="4" cellpadding="0" align="left"> <tr> <!-- Appel de la liste des fonctionnalités disponibles dans la barre de navigation --> [#navigation.html#] </tr> </table> </div> <!-- LIENS SORTIE -fichier htdocs/style.css- --> <div id="Liens" align="right"> <table border="0" cellspacing="3" cellpadding="0"> <tr><td> <cwc2 type="PrintProduction" visible="true" popupheight="500" popupwidth="600" template="legend_template.html" styleresource="TextButtons2" image="icons/icon_print.png" imagetip="Imprimer ou sauvegarder" label="Imprimer"> <image state="normal"/> <image state="selected"/> <image state="hover"/></cwc2> </td></tr> </table> </div> <!-- LEGENDE DONNEES -fichier htdocs/style2.css- --> <div id="LegendLayer" name="LegendLayer"> <table width="185px" border="0" cellspacing="0" cellpadding="0"> <cwc2 type="XMLThemeLegend" popupwidth="185" popupheight="560"> <selection name="SampleLegend" template="templatepublic.html" themefile="legendepublic.xml" contextfile="mapfilepublic.map" rendererfile="renderer.html"/> </cwc2> </table> <!-- BOUTON ACTUALISER CARTE -fichier htdocs/style2.css- --> <div id="BoutonUpdate"> <table cellspacing="0" cellpadding="0"> <tr><td> <cwc2 type="UpdateMap" styleresource="TextButtons2" visible="true" image="icons/icon_update.png" imagetip="Actualiser" label="Actualiser"> <image state="normal"/> <image state="selected"/> <image state="hover"/> </cwc2> </td></tr> </table> </div></div> <!-- FENETRE CARTE MAPDHTML -fichier htdocs/style2.css- --> <div id="Carte" name="MainMapLayer"> <cwc2 type="MapDHTML" bordercolor="#ffffff" visible="true" width="745" height="499" allowresize="false" marqueecolor="FF0000" marqueewidth="2" minscale="1"/> </div> ... Annexe 3 Extrait Guide de Maintenance et Utilisation (hors description et arborescence de l'application) Extrait Guide de Maintenance et Utilisation - SOMMAIRE - 1. Description du produit 2. Installation 43 Etape 1 : Installation d'Apache, PHP, Mapserver et librairies (GDAL/OGR, PROJ4). 43 Etape 2 : Mise à jour des variables d'environnement Windows. 43 Etape 3 : Copie des fichiers de l'application. 43 Etape 4 : Initialisation de PostgreSQL/PostGIS et création des bases de données. 43 Etape 5 : Importation des données (création des tables). 45 Etape 6 : Tâches planifiées. 47 3. Manipulations courantes 47 Manipulation 1 : Mettre à jour une couche. 47 Manipulation 2 : Importer une nouvelle couche. 48 Manipulation 3 : Changer les paramètres d'affichage d'une couche. 50 Manipulation 4 : Définir un nouveau login/mot de passe pour l'entrée limitée. 50 Manipulation 5 : Créer une nouvelle base de données avec champ géométrique. 50 Manipulation 6 : Créer une nouvelle base de données simple. 51 Manipulation 7 : Créer une nouvelle table simple. 51 4. Annexes Annexe 1 : Table de correspondance des couches. Annexe 2 : Arborescence de l'application. a. Arborescence du répertoire c:\ms4w. b. Arborescence du répertoire c:\PostgreSQLWin32 L'application est livrée avec 2 CDROM contenant : · Disque 1 : Distribution originale (sources et bins). · Disque 2 : Application, shapes, images produites pour l'application et manuel. Etape 1 : Installation d'Apache, PHP, Mapserver et librairies (GDAL/OGR, PORJ4). 1. Copier les répertoires `ms4w' et `PostgreSQLWin32' (Disque 1) à la racine du disque dur. 2. Ouvrir le répertoire `ms4w' et : - double-cliquer sur le fichier `apache-install.bat' - ______''_______''_______ `setenv.bat' Etape 2 : Mise à jour des variables d'environnement Windows. 1. Ouvrir la fenêtre de mise à jour des variables d'environnement de Windows (clic droit sur Poste de Travail > Propriétés > onglet Avancé > Variables d'environnement). 2. Copier la 1re ligne du fichier `variables_environnement.txt' (Disque 1) dans le PATH (sélectionner la ligne `PATH' dans la partie `variables système' de la fenêtre et cliquer sur modifier puis coller la ligne en vérifiant bien qu'un ` ;' sépare chaque chemin renseigné). 3. Créer 4 nouvelles variables (PGHOME c:\PostgreSQLWin32, PGDATA c:\PostgreSQLWin32\data, PGHOST localhost, PGPORT 5432) comme indiqué dans le fichier `variables_evironnement.txt' (Disque 1). Pour cela cliquer sur nouveau dans la partie `variables système' de la fenêtre et renseigner les 2 champs pour chaque nouvelle variable. 4. Redémarrer la machine. Etape 3 : Copie des fichiers de l'application. 1. Copier le contenu du dossier `ms4w' du disque 2 (application/ms4w) dans le répertoire `ms4w' et ses sous-répertoires de la machine. 2. Copier le contenu du dossier `PostgreSQLWin32' du disque 2 (application/PostgreSQLWin32) dans le répertoire `PostgreSQLWin32 et ses sous-répertoires de la machine. 3. Copier le dossier shp du disque 2 (shp_&_images/shp) dans le répertoire data de PostgreSQL (PostgreSQLWin32/data). 4. Redémarrer Apache en exécutant le script `apache-restart.bat' dans ms4w. Etape 4 : Initialisation de PostgreSQL/PostGIS et création des bases de données. 1. Créer un compte utilisateur simple Windows (non administrateur) nommé `[utilisateur]' et avec pour mot de passe `[passe]' (Démarrer > Panneau de configuration > Comptes d'utilisateurs). 2. Ouvrir une session comme administrateur PostgreSQL. Dans Démarrer > Exécuter : runas /user:[utilisateur] cmd L'invite de commandes s'ouvre et vous demande d'entrer le mot de passe utilisateur. Entrer : [passe] 3. Initialiser PostgreSQL. Taper : cd c:\windows\system32 Initdb -A trust 4. Fermer l'invite de commandes. 5. Ouvrir l'invite de commande en tant qu'administrateur Windows. Démarrer > Tous les programmes > Accessoires > Invite de commandes 6. Installer PostgreSQL en tant que service Windows. Taper : cd c:\Documents and Settings\[ici_nom_compte_administrateur_windows] pg_ctl register -u [utilisateur] -p [passe] 7. Démarrer le service PostgreSQL. Taper : net start postgresql Note : si Windows refuse de démarrer le service postgresql, le faire manuellement. Pour cela Démarrer > Panneau de configuration > Outils d'administration > Services. Chercher dans la liste le service `PostgreSQL'. Faire un clic droit dessus et ouvrir les propriétés. Dans l'onglet `général `, choisir le type de démarrage automatique. Dans l'onglet `connexion' choisir `Ouvrir un session en tant que ce compte' (.\postgresql). Renseigner les 2 champs mot de passe (entrer `[passe]'). Retourner dans l'onglet `général' et cliquer sur démarrer puis appliquer. Fermer toutes les fenêtres. 8. Redémarrer la machine et vérifier que le service postgresql (postgres.exe) a bien été démarré par Windows. Si le problème persiste vous pouvez utiliser le script `start_postgresql.bat' (Disque 2) en tâche planifiée au démarrage pour lancer automatiquement le service. Dans l'invite de commandes, les commandes pg_ctl start et pg_ctl stop permettent de démarrer ou arrêter manuellement le service postgresql. 9. Créer la base de données `[nom_bdd1]' (sans accent) pour les couches. Ouvrir l'invite de commande en tant qu'administrateur PostgreSQL : Dans Démarrer > Exécuter : runas /user:[utilisateur] cmd L'invite de commandes s'ouvre et vous demande d'entrer le mot de passe utilisateur. Entrer : [passe] 10. Taper : cd c:\postgresqlwin32 createdb [nom_bdd1] createlang plpgsql [nom_bdd1] 11. Charger l'extension PostGIS et les projections dans PostgreSQL pour la base de données `[nom_bdd1]'. Taper : psql -d [nom_bdd1] -f c:\PostgreSQLWin32\share\postgresql\postgis.sql psql -d [nom_bdd1] -f c:\PostgreSQLWin32\share\postgresql\spatial_ref_sys.sql 12. Créer la base de données `[nom_bdd2]' pour les logins et les mots de passe. Taper : cd c:\postgresqlwin32 createdb [nom_bdd2] createlang plpgsql [nom_bdd2] Etape 5 : Importation des données (création des tables). Les couches à intégrer à la base de données sont contenues dans le répertoire PostgreSQLWin32/data/xxxx. Les copies de sauvegarde sont dans le dossier shp_&_images/xxxx du disque 2. 1. Ouvrir l'invite de commande en tant qu'administrateur PostgreSQL : Dans Démarrer > Exécuter : runas /user:[utilisateur] cmd L'invite de commandes s'ouvre et vous demande d'entrer le mot de passe utilisateur. Entrer : [passe] 2. Importer couche par couche les données dans la base de données `donnees'. Taper : cd c:\postgresqlwin32\data\xxxx shp2pgsql -s 27593 -c [nom_de_la_table_d'origine.shp] [nouveau_nom_de_la_table] | psql [nom_bdd1] Note : le nouveau nom de la table doit correspondre à celui renseigné dans le mapfile (c:/ms4w/apps/chameleon/map) et le fichier de légende xml c:/ms4w/apps/chameleon/htdocs). Si une table doit être remplacée ou mise à jour, veiller à entrer le même nom que la table postgresql d'origine (voir 3. Manipulations courantes). Voir tableau des correspondances des couches en annexe (Annexe 1 : Table de correspondance des couches). 3. Redémarrer Apache (exécuter le script `apache-restart.bat' dans ms4w) et la machine. 4. Création de la table `[nom_table]' dans la base de données `[nom_bdd2]'. Accéder à l'interface d'administration de la base de données (PhpPgAdmin) en entrant l'url http://xxxx/phpPgAdmin/index.php dans la barre d'adresse du navigateur. Entrer le login [utilisateur] et le mot de passe [passe] pour vous logger. Cliquer sur la base de données `[nom_bdd2]' et sur `SQL' en haut à droite de l'écran pour ouvrir une invite de commande SQL. Taper dans la fenêtre : CREATE TABLE [nom_table] ("Pseudo" character varying(20) DEFAULT ' '::character varying NOT NULL,"Passe" character varying(20) DEFAULT ' '::character varying); Ou copier directement cette commande SQL à partir du fichier `SCRIPT_create_table_authentification.sql' contenu sur le disque 2 (application\commandes SQL). 5. Importer un couple login/mot de passe dans la table `[nom_table]' de la base de données `[nom_bdd2]'. Retourner dans l'invite de commande SQL et taper dans la fenêtre : INSERT INTO [nom_table] VALUES('[login]','[mdp]'); [login] et [mdp] doivent être remplacés respectivement par le login choisi et par le mot de passe correspondant. Attention à conserver les guillements. Ou copier directement cette commande SQL à partir du fichier `SCRIPT_insert_login_et_mdp.sql' contenu sur le disque 2 (application\commandes SQL). Cette opération doit être répétée pour chaque nouveau couple login/mot de passe souhaité. 6. Fermer l'invite de commande SQL. Vérifier l'existence de la table `[nom_table]' dans la fenêtre de gauche de l'interface (arborescence déroulante). Vérifier la présence dans la table `[nom_table]' du/des couple(s) login/mot de passe importés en cliquant sur la table `[nom_table]' et sur parcourir. 7. Se déconnecter de PhpPgAdmin (lien de déconnexion en haut à droite de l'écran) et fermer la fenêtre. A ce stade, il n'est pas nécessaire d'effectuer d'autres manipulations dans PostgreSQL pour exploiter le serveur cartographique. Cependant, une documentation complète du SGBD est disponible à l'adresse http://docs.postgresqlfr.org/pgsql-8.1.2-fr/index.html. La liste des commandes SQL est également disponible à l'adresse http://docs.postgresqlfr.org/pgsql-8.1.2-fr/sql-commands.html. Il est souhaitable de vider régulièrement le répertoire tmp (ms4w/tmp) en exécutant les scripts `del-ms_tmp.bat' (au 1er niveau de l'arborescence) et `del-buttons.bat' (dans tmp/ms_tmp). Pour automatiser cette tâche créer une tâche planifiée par Windows. Démarrer > Tous les programmes > Accessoires > Outils système > Tâches planifiées. Effacer manuellement les fichiers et dossiers dont le nom est du type `sess_xxxxx' (au 1er niveau de l'arborescence) et vider régulièrement le log `ms_error.txt'. Attention cependant à ne pas supprimer les sous-répertoires (auquel cas les recréer ou les récupérer à partir de la sauvegarde contenue dans le disque 2). Manipulation 1 : Mettre à jour une couche. 1. Exporter en shape (.shp) la table mise à jour via le traducteur universel de MapInfo (Outils > Traducteur universel) dans le répertoire c:\PostgreSQLWin32\share\postgresql\xxxx. 2. Dans PhpPgAdmin, supprimer la table à mettre à jour (cliquer sur la base de données `[nom_bdd1]' et dans la fenêtre de droite listant les tables contenues dans la base, cliquer sur supprimer dans la ligne correspondant à la table à mettre à jour). Note : Il est nécessaire de préalablement effectuer cette suppression puisque PostgreSQL ne peut pas écraser une couche existante et la couche mise à jour doit avoir le même nom que l'ancienne afin d'éviter de la renommer dans le mapfile et le fichier xml de légende. 3. Importer la couche mise à jour dans la base de données `[nom_bdd1]'. Pour cela, ouvrir l'invite de commande en tant qu'administrateur PostgreSQL : Dans Démarrer > Exécuter : runas /user:[utilisateur] cmd L'invite de commandes s'ouvre et vous demande d'entrer le mot de passe utilisateur. Entrer : [passe] Importer couche par couche les données dans la base de données `[nom_bdd1]'. Taper : cd c:\postgresqlwin32\data\xxxx shp2pgsql -s 27593 -c [nom_de_la_table_mise_a_jour.shp] [nom_de_la_table] | psql [nom_bdd1] Note : le nom de la table doit être le même que celui de l'ancienne table supprimée. Voir tableau des correspondances des couches en annexe (Annexe 1). Manipulation 2 : Importer une nouvelle couche. 1. Exporter en shape (.shp) la nouvelle table via le traducteur universel de MapInfo (Outils > Traducteur universel) dans le répertoire c:\PostgreSQLWin32\share\postgresql\xxxx. 2. Importer la nouvelle couche dans la base de données `[nom_bdd1]'. Pour cela, ouvrir l'invite de commande en tant qu'administrateur PostgreSQL : Dans Démarrer > Exécuter : runas /user:[utilisateur] cmd L'invite de commandes s'ouvre et vous demande d'entrer le mot de passe utilisateur. Entrer : [passe] Importer la nouvelle couche dans la base de données `[nom_bdd1]'. Taper : cd c:\postgresqlwin32\data\xxxx shp2pgsql -s 27593 -c [nom_de_la_nouvelle_table.shp] [nom_de_la_nouvelle_table] | psql [nom_bdd1] 3. Mettre à jour le mapfile (c:\ms4w\apps\chameleon\map). Editer le/les mapfile(s) (mapfilepublic.map et mapfilelimite.map) avec le bloc note. Dans la section ` #paramètres des couches#' : Copier un bloc `layer' (commençant par LAYER et finissant par END#LAYER) existant du même type que celui de la nouvelle couche (polygon, line, point) défini à la ligne : TYPE POLYGON (ou LINE ou POINT) Coller le nouveau bloc layer dans le groupe et suivant la position relative voulue (Mapserver dessine les couches dans l'ordre défini dans le mapfile). Paramétrer le nouveau layer : Mettre à jour avec le nom entré dans la base de données, les lignes : NAME "xxxx" Et : DATA "the_geom from xxxx" Où `xxxx' est le nom de la nouvelle couche entré dans la base de données `donnees'. Paramétrer la couleur d'affichage de la couche en modifiant les lignes suivantes surlignées: CLASS STYLE COLOR 0 51 255 OUTLINECOLOR 255 255 255 END Personnaliser les paramètres d'étiquetage en modifiant ou ajoutant les lignes suivantes: LABELITEM "champx" Où `champx' correspond au nom de champ servant à l'étiquetage. Et : LABEL SIZE MEDIUM #taille de l'étiquette MINFEATURESIZE AUTO #taille minimale d'affich. POSITION CC #position par rapport à l'objet COLOR 162 163 163 #couleur de la police BACKGROUNDCOLOR 207 255 255 #couleur de fond END Sélectionner les champs interrogeables par clic en les listant dans la ligne : HEADER "champ1^|champ3^|champ7^|" Où `champ1' etc correspondent aux noms des champs attributaires que l'on veut rendre interrogeables par clic à partir de l'outil de navigation `informations' de l'interface web. Sélectionner les champs interrogeables par requête attributaire en les listant dans la ligne du bloc METADATA : SPATIALSEARCH "champ1,champ7,champ10 " Où `champ1' etc correspondent aux noms des champs attributaires que l'on veut rendre interrogeables à partir du module de requête attributaire de l'interface web. Note : L'ensemble des paramètres du mapfile sont détaillés à l'adresse http://fa.vdb.free.fr/MapServer/doc/mapfile-reference_fr.html . 4. Mettre à jour le fichier de légende xml (c:\ms4w\apps\chameleon\htdocs). Editer le/les fichiers(s) de légende xml (legendepublic.xml et legendelimite.xml) avec le bloc note. Copier un groupe (contenu dans les balises <group> et </group>) existant et le coller dans le `thème' xml (groupe de layer dans le mapfile) où la couche doit être affichée. <group name="nom" ABSTRACT="TBA" visible="true" icon="images/.gif"> <layer name="xxxx"/> </group> `xxxx' correspond au nom de la table entrée dans la base de données et à la ligne `NAME' du mapfile et `nom' correspond au nom de la couche souhaité pour l'affichage dans la légende de l'interface web. 5. Vider le répertoire tmp (c:\ms4w\tmp) en exécutant les script `del-ms_tmp.bat' et `del-buttons.bat' et en supprimant manuellement les fichiers et répertoires du type sess_xxxx contenus dans c:\ms4w\tmp. 6. Redémarrer Apache en exécutant le script `apache-restart.bat' dans c:\ms4w. Manipulation 3 : Changer les paramètres d'affichage d'une couche. Voir point 3. de la manipulation 2 `Importer une nouvelle couche' et listing des paramètres du mapfile à l'adresse http://fa.vdb.free.fr/MapServer/doc/mapfile-reference_fr.html . Manipulation 4 : Définir un nouveau login/mot de passe pour l'entrée limitée. Accéder à l'interface d'administration de la base de données (PhpPgAdmin) en entrant l'url http://localhost/phpPgAdmin/index.php dans la barre d'adresse du navigateur ou en cliquant sur le lien `Administrer' de la section protégée du serveur cartographique. Entrer le login [utilisateur] et le mot de passe [passe] pour vous logger. Cliquer sur la base de données `[nom_bdd2]' et sur `SQL' en haut à droite de l'écran pour ouvrir une invite de commande SQL. Importer un couple login/mot de passe dans la table `[nom_table]' de la base de données `[nom_bdd2]' en entrant la ligne suivante : INSERT INTO [nom_table] VALUES('[login]','[mdp]'); Où [login] et [mdp] sont respectivement le login choisi et le mot de passe correspondant. Attention à conserver les guillemets. Ou copier directement cette commande SQL à partir du fichier `SCRIPT_insert_login_et_mdp.sql' contenu sur le disque 2 (application\commandes SQL). Cette opération doit être répétée pour chaque nouveau couple login/mot de passe souhaité. Manipulation 5 : Créer une nouvelle base de données avec champ géométrique. Créer la base de données `xxxx' (sans accent) devant contenir des objet géographiques (nécessité de charger l'extension PostGIS et les projections). Ouvrir l'invite de commande en tant qu'administrateur PostgreSQL : Dans Démarrer > Exécuter : runas /user:[utilisateur] cmd L'invite de commandes s'ouvre et vous demande d'entrer le mot de passe utilisateur. Entrer : [passe] Taper : cd c:\postgresqlwin32 createdb xxxx createlang plpgsql xxxx Charger l'extension PostGIS et les projections dans PostgreSQL pour la base de données `xxxx'. Taper : psql -d xxxx -f c:\PostgreSQLWin32\share\postgresql\postgis.sql psql -d xxxx -f c:\PostgreSQLWin32\share\postgresql\spatial_ref_sys.sql Manipulation 6 : Créer une nouvelle base de données simple. Créer la base de données `yyyy' ne devant pas contenir d'objet géographiques. Ouvrir l'invite de commande en tant qu'administrateur PostgreSQL : Dans Démarrer > Exécuter : runas /user:[utilisateur] cmd L'invite de commandes s'ouvre et vous demande d'entrer le mot de passe utilisateur. Entrer : [passe] Taper : cd c:\postgresqlwin32 createdb yyyy createlang plpgsql yyyy Manipulation 7 : Créer une nouvelle table simple. Création de la table `nouvelle_table' composée des champs `Nom' et `Prénom', dans la base de données `yyyy'. Accéder à l'interface d'administration de la base de données (PhpPgAdmin) en entrant l'url http://xxxx/phpPgAdmin/index.php dans la barre d'adresse du navigateur ou en cliquant sur le lien `Administrer' de la section protégée du serveur cartographique. Entrer le login [utilisateur] et le mot de passe [passe] pour vous logger. Cliquer sur la base de données `yyyy' et sur `SQL' en haut à droite de l'écran pour ouvrir une invite de commande SQL. Taper dans la fenêtre : CREATE TABLE nouvelle_table ("Nom" character varying(20) DEFAULT ' '::character varying NOT NULL,"Prenom2" character varying(20) DEFAULT ' '::character varying); Où `Nom' et `Prenom' sont ici de type character flottant limité à 20 caractères. Importer un couple Nom/Prénom dans la table `nouvelle_table' de la base de données `yyyy'. Dans l'invite de commande SQL de PhpPgAdmin taper : INSERT INTO nouvelle_table VALUES('[nom]','[prenom]'); Où [nom] et [Prenom] doivent être remplacés par le couple Nom/Prénom à entrer dans la table. Attention à conserver les guillemets. Note : Une documentation complète du SGBD PostgreSQL est disponible à l'adresse http://docs.postgresqlfr.org/pgsql-8.1.2-fr/index.html. La liste des commandes SQL est également disponible à l'adresse http://docs.postgresqlfr.org/pgsql-8.1.2-fr/sql-commands.html. * * *
|
|