# Création d'un prototype d'une base de données sur les Aires d'Alimentation de Captage

Yusuf Guner

► To cite this version:

Yusuf Guner. Création d'un prototype d'une base de données sur les Aires d'Alimentation de Captage. 2016, 91 p. hal-01603978

HAL Id: hal-01603978

https://hal.science/hal-01603978v1

Submitted on 5 Jun 2020

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
# RAPPORT DE STAGE

# CREATION D'UN PROTOTYPE
# D'UNE BASE DE DONNEES
# SUR LES AIRES
# D'ALIMENTATION DE
# CAPTAGE

INRA
VOTRE AVENIR EST NOTRE CULTURE

<figure><img src="image_2.png" /></figure>

<figure><img src="image_3.png" /></figure>

GUNER Yusuf

47ème promotion du D.U.T Informatique

Tutrice dans l'institut : DURPOIX Amandine

Tuteur académique : MARI Jean-François

Etablissement : IUT Nancy-Charlemagne

2 Boulevard ter Charlemagne 54000 Nancy

Institut : Institut National de la Recherche Agronomique - ASTER

662 Avenue Louis Buffet 88500 Mirecourt
REMERCIEMENTS

D'abord, je tiens à remercier toute l'équipe pédagogique du département informatique de l'IUT Nancy-Charlemagne pour les deux années de formation en D.U.T Informatique.

Je remercie également toute l'équipe de l'unité ASTER de l'INRA pour leur accueil et leur sympathie à mon égard.

Je tiens à remercier particulièrement Amandine DURPOIX, ingénieure d'études au sein de l'institut pour m'avoir accordé sa confiance, de m'avoir accompagné durant les dix semaines de stage ainsi qu'à la rédaction de ce rapport.

Je remercie également Fabienne BARATAUD et Jean-Marie TROMMENSCHLAGER pour avoir participé au suivi du projet. Et pour finir, Jean-François MARI pour m'avoir aidé dans le développement et d'avoir supervisé le stage.

J'en profite pour remercier Matthieu GODFROY, Responsable de l'Installation Expérimentale pour m'avoir fait une visite guidée de l'installation expérimental le premier jour du stage.
Table des matières

<table><tr><td>REMERCIEMENTS</td><td>2</td></tr><tr><td>INTRODUCTION</td><td>4</td></tr><tr><td>1) Présentation de l'institut</td><td>5</td></tr><tr><td>1.1 – L'INRA</td><td>5</td></tr><tr><td>1.2 – L'unité ASTER</td><td>5</td></tr><tr><td>2) Description du stage</td><td>6</td></tr><tr><td>2.1 - Contexte du stage</td><td>6</td></tr><tr><td>2.2 - Fonctionnement</td><td>6</td></tr><tr><td>3) Description du projet</td><td>7</td></tr><tr><td>3.1 - Contexte</td><td>7</td></tr><tr><td>3.2 – Objectifs</td><td>8</td></tr><tr><td>3.3 – Les différentes phases du projet</td><td>8</td></tr><tr><td>4) Déroulement du stage</td><td>9</td></tr><tr><td>4.1 – Le premier jour</td><td>9</td></tr><tr><td>4.2 – Technologies utilisés</td><td>9</td></tr><tr><td>4.2.1 – Les langages de programmation</td><td>9</td></tr><tr><td>4.2.2 – Les Framework utilisés</td><td>10</td></tr><tr><td>4.2.3 – Les logiciels utilisés</td><td>11</td></tr><tr><td>4.3 – Le SGBD</td><td>12</td></tr><tr><td>4.3.1 – Description de la base de données</td><td>12</td></tr><tr><td>4.3.2 – Les trois sources de données</td><td>12</td></tr><tr><td>4.4 – Le site web</td><td>19</td></tr><tr><td>4.4.1 – Hébergement</td><td>19</td></tr><tr><td>4.4.2 – Les fonctionnalités</td><td>20</td></tr><tr><td>4.4.3 – Le formulaire & les questions</td><td>20</td></tr><tr><td>4.4.4 – Les patrons de conception</td><td>21</td></tr><tr><td>4.6 – Répartition du travail durant le stage</td><td>23</td></tr><tr><td>5) Perspectives</td><td>24</td></tr><tr><td>6) Conclusion</td><td>25</td></tr><tr><td>TABLE DES FIGURES</td><td>26</td></tr><tr><td>BIBLIOGRAPHIE</td><td>27</td></tr><tr><td>TABLE DES ANNEXES</td><td>28</td></tr></table>
# INTRODUCTION

Dans le cadre DUT Informatique, je suis amené à effectuer un stage en entreprise pour une durée de dix semaines à compter du 09/11/2015. Suite à plusieurs dizaines, voire centaines demandes de stage non abouties, j'ai prêté attention aux offres de stage disponible via le secrétariat du département informatique de l'IUT Nancy-Charlemagne. Suite à l'annonce du déroulement de stage effectuée par Nadia Belallem, la première offre est apparue sur la boîte mail étudiante et j'ai pris beaucoup de soin dans la rédaction de la demande notamment avec le curriculum vitae et la lettre de motivation.

Le stage s'est déroulé au sein de l'Institut National de la Recherche Agronomique à Mirecourt dans l'unité ASTER (AgroSystème Territoire et Ressources). Le but du stage est de créer une base de données multicritères et un site web dédié permettant aux acteurs de l'eau de se renseigner sur leur(s) captage(s) proche(nt) de chez eux.

Dans la première partie, nous allons nous concentrer sur la présentation de l'institut et la description du stage ; par la suite, nous allons rebondir sur le travail effectué durant les dix semaines de stage dans l'institut.
# 1) Présentation de l'institut

## 1.1 – L'INRA

L'histoire de l'INRA commence en 1946, dans l'après-guerre. Il fût créé pour répondre au besoin de « nourrir la France ». On pouvait s'apercevoir que l'agriculture française était en retrait comparée à d'autres pays. L'institut s'intéresse à trois domaines : l'alimentation, l'agriculture, et l'environnement. Il se trouve sous la tutelle du ministère en charge de la Recherche et du ministère en charge de l'Agriculture. Son objectif, à travers les différents travaux, est de développer une agriculture répondant au besoin nutritionnels de l'être humain tout en respectant l'environnement.

## 1.2 – L'unité ASTER

L'unité AgroSystèmes Territoires et Ressources se situe à Mirecourt dans la plaine des Vosges. L'unité de Recherche est dotée d'une installation expérimentale avec une surface d'exploitation de 240 ha en polyculture-élevage laitier (100 vaches laitières, avec la mention Agriculture Biologique (AB) depuis 2004). L'équipe est constituée de personnes évoluant dans les sciences agronomiques, sciences sociales et sciences informatiques.

L'équipe est constituée de :

- 18 chercheurs et ingénieurs

- 14 techniciens expérimentaux

- 4 doctorants

- 3 gestionnaires

L'unité est rattachée au centre INRA Nancy-Lorraine et au département Sciences pour l'Action et le Développement (SAD).

Les enjeux de l'unité se placent sur 3 critères sociétaux mettant en relation l'agriculture et le territoire :

- Le développement de systèmes agricoles économes en intrants de synthèse fondés sur les ressources du milieu

- La restauration et la préservation de la qualité d'eau

- Le développement de la biomasse à vocation énergétique

Les relations agricultures-territoires sont traitées à l'échelle de territoires d'exploitation agricoles, de territoires locaux (exemples : aire d'alimentation de captage en eau).

Les thèmes de recherches concernent la conception et l'évolution pas à pas de systèmes agricoles autonomes ; l'accompagnement de coordinations d'acteurs dans des situations de changement ; les facteurs de changement d'usage de terres.
## 2) Description du stage

### 2.1 - Contexte du stage

Le travail durant le stage s'inscrit dans un projet financé par l'Agence de l'Eau Rhin-Meuse. L'objectif du stage est de créer une base de données multicritères dynamique à destination des « acteurs de l'eau ». Cette base de données devra en utilisant des données élaborées relatives à chaque captage d'eau, donner aux différents acteurs des éléments sur leur captage mais également permettra de favoriser la mise en réseau des acteurs locaux concernés par les captages.

La base de données a plusieurs objectifs, à savoir :

- Avoir une connaissance fine du contexte local (historique, hydrogéologique, agricole, socio-économique, ...)

- Permettre un accès simple à des informations sur les captages à l'aide de sorties de différentes natures (graphes, cartes, tableau, fiche synthétique).

- Faciliter l'échange d'expérience entre animateurs ou collectivités gestionnaires en ayant accès à des informations sur d'autres captages.

- Aider au suivi des actions mises en œuvre sur les captages du bassin.

Nous nous sommes appuyés sur d'anciens travaux, la dernière en date se nomme GRENADINE : les AAC Grenelle : Aide à une description intégrée de territoires à enjeu eau.

### 2.2 - Fonctionnement

Durant la première semaine, nous avons travaillé sur le projet pas-à-pas. Nous avons commencé par préparer une réunion au sein de l'agence de l'Eau Rhin-Meuse qui se tenait le 20/11/2015. Cette dernière avait pour but de mettre au clair sur la manière dont nous avons procédé. Beaucoup de questions ressortaient tantôt du développement du site web que de la base de données. Lors de cette réunion, nous avons su comment récupérer les données nécessaires, notamment les données de qualités d'eaux en précisant le taux de pollution et des différentes substances présentes. Les personnes présentent lors de la réunion m'ont données carte blanche sur les technologies à utiliser lors du développement. Durant les semaines suivantes, Amandine DURPOIX et moi avons travaillé sur la conception de la base de données. Tous les vendredis après-midi, une réunion a eu lieu (en fonction de leurs disponibilités) avec Fabienne BARATAUD, Ingénieure de recherche ; Jean-Marie TROMMENSCHLAGER, Assistant ingénieur ; et Jean-François MARI, professeur accueilli. Lors de ces réunions, nous avons fait un point sur ce qui a été fait durant la semaine, nous avons corrigé les fautes commises et nous avons également fait un point sur ce qu'il fallait faire la semaine qui suit.
## 3) Description du projet

### 3.1 - Contexte

La pollution d'eau dans les milieux aquatiques est au-dessous de ce que définit la feuille de route du Comité de bassin, notamment avec des schémas directeurs d'aménagement et de gestion des eaux (SDAGE) adoptés en 2009.

Les produits phytosanitaires et nitrates sont une des causes principales des pollutions de l'eau.

Nous avions pu apercevoir à travers des constats, la présence de pesticides dans les eaux naturels du bassin Rhin-Meuse, plus de 10% des captages d'eaux potables sont contaminés.

Pour contrer cette anomalie, plusieurs objectifs sont inscrits depuis l'inscription de certains captages dans les SDAGE qui ont pour but de reconquérir la qualité de l'eau jusqu'aux captages prioritaires Grenelle en 2009. Les captages « Grenelle » sont nommés comme captage dit « nouvelle génération » parce qu'ils sont soumis à des objectifs de résultats à une année précise, en l'occurrence 2015 (le plan d'action a été instauré en 2012). Ces captages doivent servir de preuve d'efficacité de l'action de l'Etat français face aux exigences de la Directive Cadre sur l'Eau en 2000 (loi européenne). En plus, l'expérience de ces actions pourront permettre d'agir consciencieusement pour l'avenir sur les dix mille captages ayant un problème dans notre pays.

L'Agence de l'Eau Rhin-Meuse s'implique dans ce programme :

> « L'agence de l'eau donne la priorité à la lutte contre les pollutions d'origine agricole ou d'origine industrielle pour ce qui concerne les substances toxiques [...] Le programme affirme une volonté d'action pour la protection des captages d'eau potable »

Cependant, les résultats sur les captages Grenelle ne sont pas à la hauteur des attentes.

Les conséquences amènent un besoin de suivi des ouvrages, un besoin de rassembler l'information.

Actuellement, quelques outils informatiques peuvent permettre l'accès aux données relatives à la protection des captages contre les pollutions. Cependant, ces sources d'informations sont étalées à travers plusieurs sources pour mieux visualiser des dynamiques en œuvre sur ce sujet.

L'unité ASTER de Mirecourt a créé une base de données multicritère qui se nomme GRENADINE (Les AAC GRENelle : Aide à une Description INtégrée de territoires à enjeu Eau). Cette base de données recense des informations sur le milieu biophysique, sur l'occupation des sols et l'agriculture en place.

Cette outil fait office d'un objet de recherche, se concentrant uniquement sur les captages Grenelle.

Une étude de faisabilité (nationale) de la mise en place d'un centre de ressource eau a démontré les besoins nécessaires notamment l'accompagnement des territoires grâce à une base de données ; prenant en compte les données d'informations sous Système d'Information Géographique. Il permettra le suivi des captages, la mise en relation des animateurs grâce aux retours d'expériences et forums d'échanges.
## 3.2 – Objectifs

Cette base de données est destinée à l'ensemble des gestionnaires de la ressource en eau inscrits dans une dynamique de protection des captages du bassin Rhin-Meuse contre les pollutions agricoles, et les acteurs locaux (collectivités, partenaires techniques, etc.).

Cette base de données sera multicritères, c'est-à-dire, qu'elle permettra de renseigner et lier des informations relatives a :

- La qualité des eaux brutes

- La distribution en eau potable, soit :

- La caractérisation de la population desservie

- L'organisation des services d'alimentation en eau potable

- Les collectivités présentes sur les aires

- Les documentations réglementaires (Diagnostic, DUP)

- L'agriculture présente sur les Aires d'Alimentation de Captages, avec des informations sur l'assolement, les exploitations agricoles (poids, concernement, etc.)

- D'autres activités impactantes

- Les actions de protection des captages mises en place

- Des éléments d'évaluation

Différents types de restitution des informations seront possibles : des tableaux, des graphiques, des cartes permettant d'aider les acteurs de l'eau sur le terrain.

## 3.3 – Les différentes phases du projet

Le projet est organisé en trois parties sur une durée approximative de 19 mois (cf. **Annexe 1**)

La première phase dite « *Recensement des besoins* » s'est étalé de janvier à avril 2015. Le but de cette première partie était d'enquêter les acteurs de l'eau afin de connaître leurs attentes sur les variables (de la base de données) attendues ainsi que les sorties (l'affichage désirée). Un compte-rendu a été réalisé à chaque enquête afin de maintenir une dynamique.

La seconde phase « *Création des variables et lien avec les autres bases de données et applications* » commence en mars 2015 et termine en janvier 2016. Le but est définir l'architecture, l'hébergement, ainsi que le format de la base de données. Des formulaires, les formats et le type de sortie seront à définir.

La dernière phase appelée « *Renseignement de la base* » commence en janvier 2016 et fini en août 2016. Le but est de tester la faisabilité de la base par les personnes enquêtées auparavant. D'éventuels réajustements sont à prévoir comme la structure des variables, les libellés des champs et des différents types de sortie.

Actuellement, le projet est dans la deuxième phase, le développement de la base de données (cf. **Annexe 2**).
## 4) Déroulement du stage

Cette partie explique mes travaux effectués durant les dix semaines de stage dans l'unité.

### 4.1 - Le premier jour

Durant le premier jour de stage, j'ai pu faire connaissance avec tous les membres de l'unité ASTER. Ce moment fût sympathique, j'ai pu dialoguer avec tout le monde, cela s'est bien passé. Juste après, j'ai pu m'entretenir avec mon parrain de de stage et la responsable du stage dans l'institut. Je me suis senti plus rassuré après l'avoir vu, il m'a mis les choses au clair concernant ma mission du stage. Vers la fin de matinée, ma responsable de stage m'a fait prendre connaissance du projet, de ce qui a été fait auparavant. J'ai feuilleté pas mal de documents concernant les différentes missions de l'unité ASTER, l'agronomie pour me familiariser avec ce monde, du champ lexical de l'eau notamment (par exemple : les AAC = Aires d'Alimentation de Captage). L'après-midi, j'ai effectué une visite des lieux extérieurs des bureaux afin de prendre connaissance des expérimentations et de la production interne à l'INRA.

### 4.2 - Technologies utilisés

Pour travailler sur le projet, j'ai dû me servir de quelques outils de développement pour développer la base de données, le site web ; des outils de conception permettant de schématiser quelques parties du projet de manière numérique ; et un logiciel permettant la sauvegarde du travail effectué.

#### 4.2.1 - Les langages de programmation

- Pour le Système de Gestion de Base de Données :

→ Il s'agit du langage SQL (Structured Query Language) :

SQL

- Pour le site web :

→ PHP : HyperText Preprocessor

<figure><img src="image_4.png" /></figure>

Le PHP est un langage de programmation conçut pour fabriquer des sites web de façon dynamique et non statique comme cela pouvait être à l'époque avec les langages HTML & CSS. Ces langages restent toujours nécessaires mais ne sont plus suffisant à l'heure d'aujourd'hui.

<figure><img src="image_5.png" /><figcaption>JavaScript</figcaption></figure>

→ JavaScript

Le JavaScript est un langage de programmation de scripts utilisés pour rendre les pages interactives et dynamique. Les bibliothèques de classes fournit par jQuery m'ont permis de sélectionner des éléments et la

<figure><img src="image_6.png" /><figcaption>write less, do more.</figcaption></figure>
manipulation des éléments HTML comme j'ai pu faire cocher/décocher des cases ; j'ai pu également utiliser les fonctions d'événements pour cacher/montrer des éléments HTML.

## 4.2.2 – Les Framework utilisés

→ Slim Framework:

Slim

PHP Micro Framework

Le Framework Slim a la particularité d'être léger, contrairement à beaucoup d'autres Framework, nous n'aurons pas des tonnes de classe dans le projet. Il m'a permis la réécriture des URLs pour attribuer une page à un contenu.

Exemple : Je souhaite créer une page dédiée au contact.

Avec Slim, j'ai pu créer une page exclusivement dédiée au contact, l de la page est (en local) : localhost/NomduProjet/contact

Ceci permet de retirer le `.php` et cela rend l plus propre.

→ Bootstrap :

B
Bootstrap

Bootstrap est un Framework CSS qui m'a permis d'utiliser du code CSS déjà optimisé. Les boutons, les champs de formulaires, la barre de navigation, et beaucoup d'autres éléments sont déjà tout prêts, il suffit simplement de les mettre en place en utilisant la class CSS adaptée avec la balise HTML.

→ ORM Eloquent:

<figure><img src="image_7.png" /></figure>

LARAVEL 4
Eloquent

L'ORM Eloquent est extrait du Framework Laravel.

Il m'a permis d'effectuer la liaison de la base de données au projet, autrement appelé Active Record. Une classe abstraite est fait pour être hérité par les modèles du projet (MVC). Cette classe permet d'indiquer le nom de la table, la clé primaire, clé(s) étrangère(s) afin que la classe soit lier à la table correspondante dans la base de données et effectuer des requêtes sur celui-ci.
### 4.2.3 – Les logiciels utilisés

→ Eclipse :

<figure><img src="image_8.png" /></figure>

eclipse

Eclipse est un IDE (Integrated Development Environment/ ou environnement de développement en français). Il supporte plusieurs langages de développement comme le Java, PHP, le JavaScript, C++.

Avant, ils étaient intégrées sous forme de plug-ins, à télécharger depuis le MarketPlace d'Eclipse. Depuis peu, nous pouvons télécharger directement l'outil que l'on recherche à travers l'outil d'installation fournit par Eclipse ; l'inconvénient de ce dernier, c'est le temps d'installation qui est assez long.

→ WampServer :

<figure><img src="image_9.png" /></figure>

Il s'agit d'un pack contenant tous les outils nécessaires pour la programmation en PHP. WAMP signifie :

- Windows : système d'exploitation nécessaire pour l'installation

- Apache : serveur permettant l'interprétation du code

- MySQL : la base de données qui accompagne PHP

- PHP : installe les fichiers PHP nécessaires

→ Composer :

<figure><img src="image_10.png" /></figure>

Composer un outil mis en place pour les développeurs PHP, il sert de gestionnaire de dépendances entre applications et libraires.

Il m'a permis d'installer Slim, et Eloquent à travers la console cmd (le terminal) en tapant : « composer install » et écrivant un fichier appelé composer.json (cf. **Annexe 3**).

→ ArgoUML:

<figure><img src="image_11.png" /></figure>

Il s'agit d'un logiciel permettant de créer les différents schémas de conception d'un projet informatique sous forme numérique. Il m'a permis de faire un diagramme de cas d'utilisation, et un diagramme de séquence.

→ SyncBack :

<figure><img src="image_12.png" /></figure>

SyncBack

Ce logiciel m'a permis de créer une sauvegarde du projet en copiant les données du projet de mon PC au serveur appelé BASILIC appartenant à l'unité ASTER. Cette sauvegarde est effectuée une fois chaque jour. Il sert beaucoup en cas de litige sur le PC et permet de récupérer les données facilement.
## 4.3 - Le SGBD

Dans cette partie, nous allons détailler la conception et la création de la base de données.

### 4.3.1 - Description de la base de données

Le nom de la base de données est : « Description de territoire (à enjeux) pour l'accompagnement des acteurs et leur mise en réseau le bassin Rhin-Meuse ».

Son diminutif se nomme DEAUMIN'EAU.

Il s'agit d'une base de données multicritères, cela signifie qu'elle permettra de renseigner et de faire des liaisons entre des informations de sources et de contenu différents comme les données de qualités d'eaux, la distribution en eau potable, l'agriculture sur les Aires d'Alimentation de Captage, etc.

Cet outil informatique devra aider à la protection contre les pollutions agricoles en apportant des informations de contexte aux « acteurs de l'eau ».

### 4.3.2 - Les trois sources de données

Dans cette partie, nous allons décrire les différentes sources de données faisant la base de données.

Ci-dessous, le schéma relationnel de la base de données.
# Modèle conceptuel du prototype de la base de Données DEAUMIN'EAU
## DESCRIPTION DE TERRITOIRE (À ENJEUX) POUR L'ACCOMPAGNEMENT DES ACTEURS ET LEUR MISE EN RESEAU
### SUR LE BASSIN RHIN MEUSE

<figure><img src="image_13.png" /><figcaption>Figure 1 : Schéma relationnel du prototype de la base de données</figcaption></figure>
4.3.2.1 – Données issues de traitement SIG

Cette partie référence toutes les tables issues de traitement SIG (Système Information
Géographique). Les données de ce dernier ont été obtenues via des traitements sous
ArcGis. Les données cette partie proviennent de différentes sources :

- Le Corine Land Cover, mis à disposition par le Ministère de l'Ecologie, du Développement Durable et l'Energie, en téléchargement libre.

- Le Registre Parcellaire Graphique, mis à disposition sous convention par l'Agence de Service et de Paiement.

- Les délimitations de zones protégées mises à disposition par le Muséum d'Histoire Naturel, en téléchargement libre.

- Les données de description des communes, mises à disposition par le ministère de l'intérieur, ainsi que l'AGRESTE (ensemble des données collectées et publiées par les services de statistique agricole du ministère de l'Agriculture et de la Pêche, à l'échelon national, régional et départemental), en téléchargement libre.

Cette partie peut évoluer avec le temps. Des tables supplémentaires devraient
apparaître dans le futur.

Toutes les tables apparaissent dans le schéma ci-dessous.

La description des tables et des variables ont été décrites dans un document technique, qui se
situe en **Annexe 4**.
<figure><img src="image_14.png" /><figcaption>Figure 2 : Modèle conceptuel des données issues de traitements SIG</figcaption></figure>

15
### 4.3.2.2 – Données issues du formulaire

Cette partie référence les tables propres à cette base de données. Ces données sont renseignées via des formulaires. L'ensemble des tables est visible dans le schéma ci-dessous. Ce schéma évoluera avec le temps, en effet, il est prévu que d'autres tables s'ajutent à celles existantes. Dans cette partie, deux types de tables sont recensés : des tables étant des nomenclatures (table avec des traits en pointillés situés à droite du schéma au-dessus) ; ces tables permettent de décrire certains champs entrés par l'utilisateur comme les actions mises en place par les acteurs de l'eau (N_NOMENCLATURE ACTIONS). Et il existe un second type de table où ; ce sont des renseignements liés aux champs du formulaire ; dans notre exemple, il s'agit de la table T ACTIONS.

La description des tables et des variables ont été décrites dans un document technique, qui se situe en **Annexe 4**.
<figure><img src="image_15.png" /><figcaption>Figure 3 : Modèle conceptuel des données propres à cette BdD</figcaption></figure>
4.3.2.3 – Données provenant de l'AERM

Les données de qualité d'eau sont disponibles dans un serveur FTP. A travers PHP, on peut se connecter, se déplacer via une méthode, télécharger les fichiers compressés et les extraire.
Voici le code PHP permettant d'aller chercher et extraire les fichiers ZIP du serveur FTP.

```php
<?php
try {
    // id de connexion
    $ftp = ftp_connect ( "", "21" );
    echo "------CONNEXION------<br>";
    // connexion avec login et mdp
    if(ftp_login ( $ftp, "user", "password" )){
        echo "Connexion réussie! <br>";
    } else {
        echo "Connexion échouée! <br>";
    }

    echo "<br>------CHANGEDEMENT DE REPERTOIRE------ <br>";
    // dossier de destination
    $dir = "";
    // on teste le déplacement
    if (ftp_chdir ( $ftp, $dir )) {
        echo "Déplacement dans le dossier $dir réussi !<br>";
        // on recupère le nom du dossier où l'on se trouve
        $pwd = ftp_pwd ( $ftp );
        echo "Dossier dans lequel vous vous trouvez maintenant : " . $pwd . "<br>";
    } else {
        echo 'Déplacement dans le dossier "site" <b>échoué</b> !<br>';
    }
}
```

```perl
echo "<br>------LISTE DES FICHIER SE TROUVANT DANS <b>$pwd</b>------<br>";
//on recupère la liste des fichiers
$liste_fichiers = ftp_nlist($ftp, '.');
$pwd = ftp_pwd ( $ftp );

//on parcourt les différents fichiers
for ($i=0; $i($liste_fichiers); $i++) {
    //affichage du nom de fichier
    echo $i . ' ) ' . $liste_fichiers[$i] . '<br/>';

    //téléchargement du fichier
    ftp_get($ftp, $liste_fichiers[$i], $liste_fichiers[$i], FTP_BINARY);

    $zip = new ZipArchive;

    //on teste si le fichier a le droit d'exécution
    if ($zip->open($liste_fichiers[$i]) === TRUE) {
        //extraction au même endroit où se trouve le script
        //note l'extraction peut prendre un petit instant...
        $zip->extractTo('.');
        $zip->close();
        //message de fin
        echo 'Extraction : OK <br><br>';
        $i++;
    } else {
        echo 'Extraction : Echec! <br><br>';
        $i++;
    }
}

} catch ( Exception $e ) {
    echo "Error : " . $e->getMessage ();
}
?>
```
## 4.4 - Le site web

La deuxième partie de mon travail en parallèle a été de concevoir un site web dédiée à la base de données DEAUMIN'EAU. Nous parlerons de l'hébergement, les fonctionnalités, les questions du formulaire et des différents patrons de conception.

### 4.4.1 - Hébergement

La première question qui se posait avant la réflexion sur le développement fût l'hébergement, il fallait réfléchir à toutes les solutions possibles.

Avant la réunion à l'AERM du 20/11/2015, nous ne connaissions pas la conception et le développement de la base de données de l'AERM. Voici les différentes possibilités :

1) **Site du l'AERM**

- Quel(s) est/sont le(s) langage(s) de programmation utilisé(s) ?

- Est-ce qu'il y a un ou plusieurs Framework d'utilisé(s) ?

- Avoir les droits nécessaires pour la création du site (droit en écriture notamment).

2) **Site de l'INRA**

- Quel(s) est/sont le(s) langage(s) de programmation utilisé(s) ?

- Est-ce qu'il y a un ou plusieurs Framework d'installé(s) ?

3) **Création d'un nouveau site web prévu à cet effet**

- Conditions pour maintenir le site web crée :

→ Le site web devra être maintenu avec les mêmes moyens utilisés à sa création.

→ Ajouter des fonctionnalités à travers un ou plusieurs Framework sera possible mais il faudra absolument que les développeurs se tiennent aux outils utilisés à la création.

- Comment allons-nous hébergé le site ?

o Exemples : OVH.org (le plus connu), 1and1.fr, online.net

o La meilleure solution : EIC (Equipe Informatique Collective de Nancy)

→ L'EIC est l'unité gère les ressources informatiques de l'INRA, la mise en cohérence avec la Direction des Système d'Informations (DSI), elle est le garant de son fonctionnement, de la disponibilité et la sécurité.

o Autre possibilité : il serait possible d'avoir une machine dédiée au serveur mais une personne devra toujours être derrière pour vérifier que tout fonctionne parfaitement. La sécurité ne devrait pas être négligée et puisqu'un organisme se charge de ceci (EIC), il n'y a pas l'utilité de faire de cette manière.

- Comment pouvons-nous stocké la base de données ?

o Prendre un hébergeur payant :

→ Prendre un hébergeur gratuit pourrait **nous causer des problèmes** dans le futur.

Puisque l'offre est gratuite, on est limité à la création de base de données, au trafic du site internet, certains ne donnent pas le droit d'utiliser les langages de scripts les plus connus comme PHP. Même
les choix de technologies de base de données seraient limités.

En effet, les moyens ne sont pas les mêmes, le site crée peut avoir des problèmes du jour au lendemain dans l'exécution du site web sans pouvoir y remédier.

De plus, le nom du domaine ne ferait pas très professionnel. L'hébergeur ne touchant pas d'argent, en profite pour faire se faire de la publicité via le nom du domaine. **Un exemple :** www.siteWeb.hebergeur-france.com

### 4.4.2 – Les fonctionnalités

Le site dédié à la base de données sera constitué d'un système de connexion avec un login et un mot de passe à entrer lors de l'inscription. La plupart des autres fonctionnalités sont accessibles uniquement après la connexion au site. Cependant, le visiteur du site web peut consulter les adresses emails afin de contacter les personnes concernés sur le projet.

Etant connecté, l'utilisateur peut renseigner le formulaire, modifier les informations saisies, consulter les informations saisies, ou extraire les données qu'il souhaite comme l'indique le diagramme de cas d'utilisation ci-dessous.

<figure><img src="image_16.png" /><figcaption>Figure 4 : Diagramme de cas d'utilisation du site</figcaption></figure>

### 4.4.3 – Le formulaire & les questions

Le formulaire est constitué de cinq thèmes permettant de renseigner les tables décrites dans la partie des données issues du formulaire de la base de données.

1. Distribution de l'eau potable

2. Autres pollutions

3. Analyse d'eau

4. Actions mises en place

5. Foncier

Chaque thème possède une page dédiée avec ces propres questions. (cf. **Annexe 5**)

A travers ce formulaire, nous souhaitons compléter la base de données pour recueillir les informations recherchées.
### 4.4.4 – Les patrons de conception

Dans cette partie, nous allons aborder les différents patrons de conception présents sur le site web du projet.

#### 4.4.4.1 – Modèle, Vue, Contrôleur

Le patron de conception Modèle – Vue – Contrôleur permet de bien organiser son code source. Le but est de distinguer où l'on doit créer son fichier, et aussi à définir le rôle des différentes classes. C'est aussi un moyen de reprendre le code source de quelqu'un d'autre plus facilement, donc il permet aussi d'uniformiser le code source d'une application.

- Le modèle : Il s'agit de la partie qui va gérer les données. Son rôle est de récupérer les informations dans la base de données, de les organiser et de les assembler pour être utilisé par le contrôleur.

- La vue : Cette partie concerne l'affichage. Elle se contente d'aller chercher le code HTML et/ou aussi un peu de code PHP (pour rendre le site dynamique). Il est utilisé pour afficher des messages par exemple.

- Le contrôleur : Il s'agit de la partie centrale qui va exécuter des actions en utilisant des modèles et des vues. On distingue une action pour une classe.

**Exemple :** Afficher les actions possibles (supprimer, modifier, ajouter...)

Le contrôleur AdminControleur (contrôleur centrale qui va disperser les actions à effectuer) sera créé dans l'index, lui-même va créer une instance de RequestControleur (contrôleur qui va exécuter les requêtes). Il va exécuter une requête SQL avec l'intermédiaire du modèle. Une fois le résultat retourné, le contrôleur va faire appel à la vue pour afficher les éléments en HTML en ajoutant les actions.

<figure><img src="image_17.png" /><figcaption>Figure 5 : Diagramme de séquence utilisant MVC</figcaption></figure>
### 4.4.4.2 - Singleton

Le patron de conception Singleton permet une unique instance dans tout le projet.

Il permet donc de gagner de la place en mémoire, donc une meilleure optimisation et un
meilleur temps exécution.

Dans le développement, il a été utilisé à deux reprises, notamment avec :

- Eloquent : Le singleton m'a permis une seule connexion à la base de données contrairement à l'outil PDO inclut dans PHP où il faut toujours créer une instance de celui-ci en précisant le type de la base de données (MySQL, Postgres, etc.), avec le nom de la base de données et le mot de passe.

- Framework Slim : Le singleton Slim m'a permis de créer un chemin relatif des fichiers. (par exemple : préciser le chemin pour une icône ; préciser le chemin d'un fichier JavaScript).
## 4.6- Répartition du travail durant le stage

Le stage s'est déroulé en plusieurs parties. D'abord, il y a eu la découverte du monde de l'agronomie à travers des documents, des brochures, la visite de l'installation expérimentale. Par la suite est venue la réunion avec l'AERM. Le but était de préparer toutes les questions à poser aux membres de l'agence de l'Eau Rhin-Meuse, avec quelles technologies ? Comment ? Etc. La plus longue partie du stage était de concevoir la base de données avec la prise de la partie du projet, c'est-à-dire prendre en compte les variables voulues par les acteurs de l'eau. Pour finir, la dernière partie du stage consistait à créer le site web dédié à la base de données en PHP.

<figure><img src="image_18.png" /><figcaption>Figure 6 : Diagramme de Gantt</figcaption></figure>
## 5) Perspectives

Travaillant avec une personne néophyte dans le développement web, j'ai dû rédiger un manuel de développement en expliquant pas à pas comment créer une base de données, créer une table, ajouter des variables, importer/exporter des tables et une partie est consacrée aussi la partie web.

Pour procéder à ce manuel de développement, j'ai écrit chaque étape d'une action à réaliser pas-à-pas, j'ai ajouté des photos pour illustrer certaines parties qui peuvent ne pas être évident.

Ajouter des fonctionnalités à travers un ou plusieurs Framework sera possible mais il faudra absolument que les développeurs se tiennent aux outils utilisés à la création pour éviter les risques de devoir tout recoder de A à Z. Sauf au moment où le prototype sera terminé les développeurs de l'Agence de l'Eau Rhin-Meuse ont dit qu'ils reprogrammeraient le site web.

Le manuel de développement est visible dans l'**Annexe 6**.
## 6) Conclusion

Mon stage de fin de DUT s'est déroulé dans l'Institut National de la Recherche Agronomique au sein de l'unité ASTER.

L'objectif du stage était d'avoir un prototype fonctionnel. Au final, nous avons un site qui fonctionne avec un système de connexion avec login et mot de passe, où l'utilisateur peut saisir renseigner les formulaires. Donc on peut en conclure que l'objectif a été atteint.
Si j'avais plus de temps, j'aurais voulu pouvoir faire en sorte que l'utilisateur puisse modifier les informations entrées, les voir et aussi passer plus de temps sur la mise en page.

Durant le stage, j'ai mis en pratique mes connaissances acquises durant les deux années de formation en DUT Informatique. N'étant pas adepte des langages de programmation web, j'ai pris ce stage comme un défi à relever. Elle m'aura permis une nette progression dans ce domaine. De plus, ces connaissances acquises durant le stage me seront très utiles dans le futur.

Mon stage dans le domaine informatique fût une très bonne expérience, elle m'aura ouvert une voie dans laquelle je pourrai m'orienté à l'avenir à travers une licence professionnelle ou un master dans les mois ou les années à venir.
TABLE DES FIGURES

<table><tr><td>Figure 1 : Schéma relationnel du prototype de la base de données</td><td>13</td></tr><tr><td>Figure 2 : Modèle conceptuel des données issues de traitements SIG</td><td>15</td></tr><tr><td>Figure 3 : Modèle conceptuel des données propres à cette BdD</td><td>17</td></tr><tr><td>Figure 4 : Diagramme de cas d'utilisation du site</td><td>20</td></tr><tr><td>Figure 5 : Diagramme de séquence utilisant MVC</td><td>21</td></tr><tr><td>Figure 6 : Diagramme de Gantt</td><td>23</td></tr></table>
# BIBLIOGRAPHIE

- Etablissements :

- Institut National de la Recherche Agronomique : http://www.inra.fr/

- Unité ASTER (INRA) : https://www6.nancy.inra.fr/sad-aster

- Agence de l'Eau Rhin-Meuse : http://www.eau-rhin-meuse.fr/

- Programmation :

- Documentation PHP : https://secure.php.net/manual/fr/index.php

- JQuery : https://jquery.com/

- Slim Framework : http://www slimframework.com/

- Bootstrap : http://getbootstrap.com/

- Laravel : https://laravel.com/

- Logiciels :

- Eclipse : https://eclipse.org/

- WampServer : http://www.wampserver.com/

- Composer : https://getcomposer.org/

- ArgoUML : http://argouml.tigris.org/

- SyncBack : http://www.syncback.fr/

- ArcGis : https://www.arcgis.com/features/
TABLE DES ANNEXES

Annexe 1 : Les différentes parties du projet de la base de données (I)

Annexe 2 : Avancement du projet (II)

Annexe 3 : Installation des Framework PHP avec Composer (III)

Annexe 4 : Le document technique de la base de données (IV – XXXVI)

Annexe 5 : Maquette des différents thèmes (XXXVII – XLI)

Annexe 5.1 : Distribution de l'eau

Annexe 5.2 : Autres pollutions

Annexe 5.3 : Analyse d'eau

Annexe 5.4. : Actions mises en place

Annexe 5.5 : Foncier

Annexe 6 : Le manuel de développement (XLII – LXII)
# Annexe 1 : Les différentes parties du projet de la base de données

<figure><img src="image_19.png" /></figure>

La Base de données sera accompagnée d'un guide d'utilisation.

De plus des séminaires sont à envisager à plusieurs échelles : à destination des agents de l'Agence de l'Eau Rhin-Meuse, des collectivités et animateurs destinataires, mais également avec différents interlocuteurs nationaux tels que le « Groupe Technique Captage » de l'ONEMA, les ministères en charge de l'environnement et de l'agriculture, ainsi qu'une éventuelle future « cellule ressource eau ».

Photos : INRA ASTER Mirecourt

**Source** : Rapport intermédiaire projet de la Base de données sur le Bassin Rhin-Meuse (09/2015)
Annexe 2 : Avancement du projet

<table><caption>Tableau 1 : Chronogramme Création d'une Base de Données sur le bassin Rhin-Meuse (les cases en couleur représentent le chronogramme prévisionnel et celles hachurées l'avancement à la date de rédaction)</caption><thead><tr><th rowspan="2"></th><th colspan="10">2015</th><th colspan="10">2016</th></tr><tr><th>J<br>A<br>N<br>V<br>I<br>E<br>R</th><th>F<br>E<br>M<br>V<br>RI<br>E<br>S</th><th>A<br>M<br>RI<br>L</th><th>AI</th><th>J<br>U<br>I<br>L<br>E<br>T</th><th>A<br>O<br>U<br>T</th><th>S<br>E<br>P<br>T<br>E<br>B<br>R<br>E</th><th>O<br>C<br>T<br>O<br>M<br>B<br>R<br>E</th><th>N<br>O<br>V<br>E<br>M<br>B<br>R<br>E</th><th>D<br>E<br>C<br>V<br>E<br>M<br>R<br>E</th><th>J<br>A<br>N<br>VI<br>E<br>R</th><th>F<br>E<br>M<br>V<br>RI<br>E<br>S</th><th>A<br>V<br>RI<br>L</th><th>M<br>AI</th><th>J<br>U<br>I<br>L<br>E<br>T</th><th>A<br>O<br>L<br>U<br>T</th><th>S<br>E<br>P<br>T<br>E<br>M<br>B<br>R<br>E</th><th>O<br>C<br>V<br>E<br>M<br>B<br>R<br>E</th><th>N<br>O<br>V<br>E<br>M<br>B<br>R<br>E</th></tr></thead><tbody><tr><td>Phase 1 :<br>Recensement de<br>besoins</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Phase 2 :<br>Conception de la<br>Base de Données</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Phase 3 :<br>Renseignement<br>de la Base</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Phase 4 :<br>Rédaction</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

Source : Rapport intermédiaire projet de la Base de données sur le Bassin Rhin-Meuse (Septembre 2015)
Annexe 3 : Installation des Framework PHP avec Composer

<figure><img src="image_20.png" /></figure>

Source : Fichier `composer.json` faisant partie du projet de la base de données DEAUMIN'EAU.
<figure><img src="image_21.png" /></figure>

INRA
SCIENCE & IMPACT

<figure><img src="image_22.png" /></figure>

<figure><img src="image_23.png" /></figure>

AGENCE
DE L'EAU
RHIN-MEUSE

SAD-ASTER-MIRECOURT

# DOCUMENT ATTACHE AU PROTOTYPE
DE LA BASE DE DONNEES
DEAUMIN'EAU

DESCRIPTION DE TERRITOIRE (A ENJEUX)
POUR L'ACCOMPAGNEMENT DES ACTEURS ET
LEUR MISE EN RESEAU
SUR LE BASSIN RHIN MEUSE

Version 1.0 – Janvier 2016

Document rédigé par
Amandine Durpoix & Yusuf Güner

Dossier suivi par Fabienne Barataud et Amandine Durpoix

INRA UR 055 ASTER (AgroSystèmes-Territoires - Ressources)
662 avenue Louis Buffet F-88500 Mirecourt
03.29.38.55.00
## SOMMAIRE

<table><tr><td>Table des Sigles</td><td>VII</td></tr><tr><td>Introduction</td><td>VIII</td></tr><tr><td>Contexte</td><td>IX</td></tr><tr><td>Vue générale - Le modèle</td><td>XI</td></tr><tr><td>Vue détaillée</td><td>XIII</td></tr><tr><td>I. Le référentiel</td><td>XIII</td></tr><tr><td>I.1. T_REFERENCEL AAC</td><td>XIII</td></tr><tr><td>I.2. T_AAC</td><td>XIII</td></tr><tr><td>II. Les données issues de travaux SIG</td><td>XIV</td></tr><tr><td>II.1. T_OCCSol_CLC</td><td>XVI</td></tr><tr><td>II.2. N_NOMENCLATURE_CLC_NIV1</td><td>XVII</td></tr><tr><td>II.3. N_NOMENCLATURE_CLC_NIV2</td><td>XVII</td></tr><tr><td>II.4. N_NOMENCLATURE_CLC_NIV3</td><td>XVII</td></tr><tr><td>II.5. T_CLC_CARTE</td><td>XVIII</td></tr><tr><td>II.6. T_OCCSol_RPG</td><td>XVIII</td></tr><tr><td>II.7. T_RPG_CARTE</td><td>XIX</td></tr><tr><td>II.8. T_AGRICULTURE_RPG</td><td>XIX</td></tr><tr><td>II.9. T_ZONEs_PROTEGEES</td><td>XX</td></tr><tr><td>II.10. N_NOMENCLATURE_ZP</td><td>XX</td></tr><tr><td>II.11. T_ZP_CARTE_ZP</td><td>XX</td></tr><tr><td>II.12. T_REFERENCEL COMMUNE</td><td>XXI</td></tr><tr><td>II.13. T COMMUNE AAC</td><td>XXI</td></tr><tr><td>II.14. T_COM_COM</td><td>XXII</td></tr><tr><td>II.15. T_COM_COM_CARTE</td><td>XXII</td></tr><tr><td>II.16. T_CARTE_AAC</td><td>XXIII</td></tr><tr><td>III. Les données propres à cette base de données renseignées par formulaire</td><td>XXIV</td></tr><tr><td>III.1. T_CONTACT</td><td>XXVI</td></tr><tr><td>III.2. T_FORMULAIRE</td><td>XXVII</td></tr><tr><td>III.3. T ACTIONS_DESCRIPTION</td><td>XXVIII</td></tr><tr><td>III.4. N_NOMENCLATURE ACTIONS</td><td>XXVIII</td></tr><tr><td>III.5. T_AJOUT ACTIONS</td><td>XXVIII</td></tr><tr><td>III.6. T_SYNDICAT_EAU</td><td>XXVIII</td></tr><tr><td>III.7. T_DISTRIBUTION_INTEGRALEMENT</td><td>XXIX</td></tr></table>
<table><tr><td>III.8. T_DISTRIBUTION_MELANGE</td><td>XXIX</td></tr><tr><td>III.9. N.TRAITEMENT</td><td>XXIX</td></tr><tr><td>III.10. T_POSSESSIONold_TERRE_DESCRIPTION</td><td>XXIX</td></tr><tr><td>III.11. T_ACHATold_TERRE_DESCRIPTION</td><td>XXX</td></tr><tr><td>III.12. T_AUTRES old POLLUTIONS old DESCRIPTION</td><td>XXX</td></tr><tr><td>III.13. N_NOMENCLATURE old AUTRES old POLLUTIONS</td><td>XXX</td></tr><tr><td>III.14. T old ANALYSE old DESCRIPTION</td><td>XXX</td></tr><tr><td>III.15. N_PARAMETRES</td><td>XXXI</td></tr><tr><td>III.16. T_VALIDATION</td><td>XXXI</td></tr><tr><td>IV. Les données issues de travaux et de base de données de l'Agence de l'Eau Rhin Meuse</td><td>XXXII</td></tr><tr><td>IV.1. T_AERM old BSS old ESO</td><td>XXXII</td></tr><tr><td>IV.2. T_AERM old SITE old ESO</td><td>XXXIII</td></tr><tr><td>Table des Illustrations</td><td>XXXV</td></tr><tr><td>Les tableaux</td><td>XXXV</td></tr><tr><td>Les figures</td><td>XXXVI</td></tr></table>
# Table des Sigles

**AAC** : Aire d'Alimentation de Captage

**BANATIC** : Base nationale sur l'intercommunalité

**BdD** : Base de Données

**BSS** : Le code BSS (ou code national SANDRE du point d'eau) correspond au code national du dossier de tout ouvrage souterrain qui a été déclaré et qui de ce fait a été intégré à la Banque du Sous-Sol (BSS) du BRGM<fnref n="1" />.

**BRGM** : Bureau de Recherches Géologiques et Minières

**CLC** : Corine Land Cover

**IGN** : Institut National de l'information Géographique et forestière

**INSEE** : Institut National de la Statistique et des Etudes Economiques

**MNHN** : Muséum National d'Histoire Naturelle

**PNR** : Parc Naturel Régional

**RPG** : Registre Parcellaire Graphique

**SAU** : Surface Agricole Utile

**SIG** : Système d'Information Géographique

**SANDRE** : Service d'Administration Nationale des Données et Référentiels sur l'Eau

**ZNIEFF** : Zones Naturelles d'Intérêt Ecologique Faunistique et Floristique

<footnote n="1">¹ Il permet de désigner « tout objet ayant trait à la géologie » notamment tout point d'eau d'origine souterraine qu'il s'agisse d'un puits, d'une source ou d'un forage. Depuis 1997, le SANDRE a retenu le code BSS comme identifiant national des points d'eau d'origine souterraine. En effet, ce code unique et stable permet d'identifier strictement chaque point d'eau, facilitant ainsi l'échange d'informations entre partenaires (maîtres d'ouvrages, DDASS, Agence de l'Eau, DIREN, ...). Les caractéristiques techniques associées à ce code (coordonnées géographiques, profondeur et coupe géologique) permettent de localiser précisément les prélèvements et d'identifier les aquifères captés.</footnote>
## Introduction

Ce document présente le modèle conceptuel du prototypede la base de DEAUMIN'EAU en présentant la structure de la base ainsi que les données renseignées.

Afin de comprendre le cadre dans laquelle a été créée cette base, le contexte est rappelé dans la première partie.

Ensuite, nous présentons le modèle conceptuel de ce prototype. Les tables sont organisées en fonction de l'origine des données par lesquelles elles sont constituées, à savoir (i) les données issues de traitements SIG, puis (ii) les données propres à cette base de données qui seront renseignées par formulaire et enfin (iii) les données issues de bases de données internes à l'agence de l'eau Rhin Meuse. La description des tables est également organisée par source des données dans trois parties.

La dernière partie vise à décrire les finalités et perspectives d'évolution et d'utilisation de ce prototype.
## Contexte

Bien que la qualité physico-chimique des cours d'eau, et plus globalement des milieux aquatiques, ait fait des progrès au regard des formes classiques de pollutions du fait de la mise en service des ouvrages d'épuration des eaux usées urbaines et industrielles, cela s'avère encore malheureusement insuffisant pour permettre l'atteinte du bon état des milieux aquatiques tel qu'il a été défini dans la feuille de route du Comité de bassin au travers des schémas directeurs d'aménagement et de gestion des eaux « Rhin » et « Meuse » adoptés en 2009.

Les pollutions diffuses d'origine agricole (produits phytosanitaires et nitrates) sont les principales causes de ce décalage par rapport aux objectifs de bon état des eaux.

Plusieurs constats sont ainsi faits comme : la détection généralisée de présence de pesticides dans les eaux naturelles du bassin Rhin-Meuse, le fait que plus de 10 % des captages pour l'eau potable sont contaminés et que le bilan des actions pour limiter les nitrates dans les eaux souterraines est mitigé.

Face à ces constats, des objectifs ambitieux sont affichés depuis l'inscription d'un certain nombre de ces captages dans des SDAGE ambitionnant la reconquête de la qualité de l'eau, jusqu'aux captages prioritaires Grenelle en 2009. Ces captages dits Grenelle ont pu être qualifiés de captages « nouvelle génération » dans la mesure où, pour la première fois, ils sont soumis à des objectifs de résultats avec des échéances de calendrier précises (2012 initialement pour l'élaboration d'un plan d'action et 2015 pour l'obtention de résultats). Ce sont aussi des captages qui doivent servir de preuve de l'efficacité de l'action de l'Etat face à Bruxelles et aux exigences de la communauté en matière de préservation et restauration de l'état des ressources en eau (exigences exprimées par la Directive Cadre sur l'Eau de 2000). Enfin, l'expérience (en termes de modalités d'action et d'obtention de résultats) devant être acquise sur ces captages doit permettre d'agir plus efficacement par la suite sur les quelques 10 000 autres captages à problèmes de France. La récente Conférence environnementale a enfin affiché l'intention de doubler la liste de ces captages prioritaires au plan national.

Le 10ème Programme d'action de l'Agence de l'Eau Rhin-Meuse (AERM) s'inscrit pleinement dans cette lignée (« L'agence de l'eau donne la priorité à la lutte contre les pollutions d'origine agricole ou d'origine industrielle pour ce qui concerne les substances toxiques [...] Le programme affirme une volonté d'action pour la protection des captages d'eau potable »). Malgré tous ces efforts, au niveau national, le bilan apparaît mitigé sur les captages Grenelle et le constat généralisé est fait d'un besoin de suivi des ouvrages (base SOG<fnref n="2" /> du ministère, commande à un Bureau d'Etude<fnref n="3" /> par les deux ministères d'une extension du diagnostic des démarches aux captages autres que Grenelle), d'un besoin de rassembler et d'homogénéiser l'information, d'un besoin de disposer d'informations variées intégrant de multiples dimensions des captages.

<footnote n="2">² Suivi des Ouvrages Grenelle</footnote>

<footnote n="3">³ Bureau d'étude Tercia</footnote>
A ce jour, plusieurs outils permettent d'accéder à un certain nombre de données relatives à la protection des captages contre les pollutions agricoles, mais ces informations sont trop partielles et disséminées dans des sources multiples (Sise-Eaux, Système d'Information sur l'Eau, Suivi des Ouvrage Grenelle, etc.) pour avoir une vision fiable des dynamiques en œuvre sur ce thème.

L'INRA ASTER Mirecourt a créé en 2012, GRENADINE<fnref n="4" /> (Les AAC GRENelle : Aide à une Description INtégrée de territoires à enjeu Eau), une base de données multicritères, à l'échelle nationale, regroupant des informations sur le milieu biophysique, sur des aspects organisationnels et administratifs, sur l'occupation du sol et l'agriculture en place, sur des aspects socio-économiques, ainsi que sur les démarches et actions en cours.

Cette base est avant tout un objet de recherche, non dynamique, et centré exclusivement sur les captages Grenelle. Elle ne peut donc pas être utilisée telle quelle comme outil de suivi des captages.

Lors de l'étude de faisabilité de la mise en place d'un centre de ressource eau, il a été mis en évidence un certain nombre de besoins, parmi lesquels le suivi et l'accompagnement des territoires grâce à un système d'information sous forme de base de données (mobilisant également des informations sous Système d'Information Géographique). Ce système d'information aurait également pour vocation le suivi des projets, le partage des documents, et la mise en réseau des animateurs *via* des retours d'expériences et des forums d'échange.

La Base de données DEAUMIN'EAU rentre donc directement dans ce cadre, et pourrait alors servir de pilote au niveau national.

**Cette base de données a pour objectifs de (i) mettre en lien les informations aujourd'hui segmentées dans différentes bases de données, et (ii) de prendre en considération des variables non prises en compte aujourd'hui tout en (iii) favorisant la mise en réseau des acteurs locaux concernés par les captages.**

Cette base de données est multicritère, c'est-à-dire qu'elle permettra de renseigner et lier des informations relatives à la qualité des eaux brutes, la distribution en eau potable, l'agriculture présente sur les Aires d'Alimentation de Captages (AAC), les actions de protection des captages mises en place,...

Cet outil est destiné à l'ensemble des gestionnaires de la ressource en eau inscrits dans une dynamique de protection des captages du bassin Rhin-Meuse contre les pollutions agricoles, et particulièrement les acteurs locaux

<footnote n="4">⁴ Durpoix, A., Barataud, F. (2012). GRENADINE : Les AAC GRENelle : Aide à une Description INtégrée de territoires à enjeu Eau[Base de données].</footnote>
# Vue générale - Le modèle

La figure 1 représente le modèle des données. On peut décrire 5 entités :

- Les référentiels (en bleu),

- Les données issues de travaux SIG (en vert)

- Les données propres à cette base de données renseignées par formulaire (en rouge)

- Les données relatives aux personnes renseignant et exportant des données sur cette base à savoir la table **T_CONTACT** (en orange), et

- Les données travaillées par l'AERM (en bleu turquoise).
# Modèle conceptuel du prototype de la base de Données DEAUMIN'EAU
## DESCRIPTION DE TERRITOIRE (À ENJEUX) POUR L'ACCOMPAGNEMENT DES ACTEURS ET LEUR MISE EN RESEAU

## SUR LE BASSIN RHIN MEUSE

<figure><img src="image_24.png" /><figcaption>Figure 1 : Modèle conceptuel du prototype de la Base de Données DEAUMIN'EAU</figcaption></figure>
# Vue détaillée

Les clés primaires, identifiant unique, des tables correspondent aux champs soulignés. I. Le référentiel

## I.1. T REFERENTIEL AAC

L'élément de base de cette base de données est le numéro BSS. Cependant l'entrée des utilisateurs (Acteurs de l'eau) est l'AAC c'est pourquoi la plupart des relations entre les différentes tables se fera au niveau de cette entité. D'autres codes permettent de lier les tables entre elles en fonction de l'entrée à laquelle nous nous plaçons.

<table><caption>Tableau 1 : T REFERENTIEL AAC</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>BSS</td><td>Ce champ est compose par le code BSS</td><td>AERM</td><td>Texte (17)</td></tr><tr><td>AE</td><td>Nom de l'agence de l'eau en charge de ce captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>NOM_OUVRAGE</td><td>Nom du point de prélèvement</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>CODE_INSEE</td><td>Le numéro INSEE de la commune de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>MASSE_EAU</td><td>Nom de la masse d'eau sur lequel est le captage</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>CODE_MASSE_EAU</td><td>Code la masse d'eau du captage</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>CODE_SISE_EAUX</td><td>Code SISE-EAUX</td><td>AERM</td><td>Texte (20)</td></tr><tr><td colspan="4">Les champs ci-dessous devront être ajoutés à terme, mais actuellement le référentiel existant à l'AERM ne permet pas de prendre en compte ces champs.</td></tr><tr><td>NOM_AAC</td><td>Nom de l'AAC</td><td></td><td>Texte (250)</td></tr><tr><td>ID_SOG</td><td>Identifiant de l'ouvrage Grenelle</td><td></td><td>Texte (20)</td></tr><tr><td>NOM_SOG</td><td>Nom du suivi de l'ouvrage Grenelle</td><td></td><td>Texte (250)</td></tr><tr><td>MAITRE_OUVRAGE</td><td>Nom du Maitre d'ouvrage gérant le captage</td><td></td><td>Texte (250)</td></tr></tbody></table>

## I.2. T AAC

La table T AAC reprend tous les identifiants des AAC.

<table><caption>Tableau 2 : T AAC</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr></tbody></table>
## II. Les données issues de travaux SIG

Cette partie référence toutes les tables issues de travaux SIG. Ces données sont obtenues après traitement sous ArcGIS. Les différentes méthodes d'obtention de ces données seront détaillées dans un autre document. Les données de cette partie proviennent de différentes sources :

* Le Corine Land Cover, mis à disposition par le Ministère de l'Ecologie, du Développement Durable et de l'Energie, en téléchargement libre

* Le Registre Parcellaire Graphique mis à disposition sous convention par l'Agence de Services et de Paiement

* Les délimitations de zones protégées mises à disposition par le Muséum d'Histoire Naturel, en téléchargement libre

* Les données de description des communes, mises à disposition par l'IGN<fnref n="5" /> et le ministère de l'Intérieur<fnref n="6" />, ainsi que l'AGRESTE, en téléchargement libre.

Cette partie peut être amendée par d'autres tables, d'autres données apportant d'autres informations comme les informations sur les syndicats d'eau.

Toutes les tables décrites dans cette partie se trouvent en figure 2 et 3 ci-dessous

<figure><img src="image_25.png" /><figcaption>Figure 2 : Représentation simplifiée des tables des données issues de travaux SIG</figcaption></figure>

<footnote n="5">⁵ Ces données sont issues de la BD GEOFLA ; « Générée chaque année à partir de la BD CARTO®, la base de données GEOFLA® décrit le découpage administratif national (France métropolitaine et DOM). Elle est dédiée aux applications de géomarketing ainsi que de cartographie statistique et thématique à des échelles voisines du 1 : 1 000 000. La réutilisation de GEOFLA® est gratuite pour tous les usages, y compris commerciaux, selon les termes de la "licence ouverte" version 1.0. »</footnote>

<footnote n="6">⁶ Ces données sont issues de la base de données BANATIC, Base nationale de l'intercommunalité.</footnote>
<figure><img src="image_26.png" /><figcaption>DEAUMIN'EAU
Données issues de traitement SIG</figcaption></figure>

<caption>Figure 3 : Représentation détaillée des tables issues de traitements SIG</caption>
## II.1. T_OCC_SOL_CLC

La base de données géographique Corine Land Cover (CLC) constitue un inventaire biophysique de l'occupation des terres pour 38 états européens. L'agence européenne pour l'environnement assure la continuité du programme ainsi que la diffusion des données; en France, le ministère chargé de l'environnement, via le service de l'observation et des statistiques, assure la production de ces données.

« Corine Land Cover est issue de l'interprétation visuelle d'images satellitaires, avec des données complémentaires d'appui. L'échelle de production est le 1/100 000». Il existe 4 millésimes de cette base; 1990, 2000, 2006 et 2012. Nous utilisons les données de 2006 et 2012 dans cette base de données afin d'avoir les informations relatives à l'occupation des sols dans les AAC considérées.<fnref n="7" />

Cette étape a lieu pour les AAC ayant une délimitation « SIG ». Après avoir intersecté les délimitations des AAC avec le CLC, nous recalculons les surfaces issues du CLC, présentes dans l'AAC. Nous sommons ensuite les surfaces des entités ayant le même code de niveau 3 afin d'avoir l'occupation de sol sur l'AAC; ces données sont référencées dans la table T_OCC_SOL_CLC.

<table><caption>Tableau 3 : T_OCC_SOL_CLC</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_CLC</td><td>Identifiant unique formé à partir de l'ID_AAC, l'année et le code CLC de niveau 3 (exemple : 08001_2006_111).</td><td></td><td>Texte (15)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>ANNEE</td><td>Année du Corine Land Cover</td><td>CLC/SIG</td><td>Texte (4)</td></tr><tr><td>CODE_NIV3_CLC</td><td>Code de niveau 3 du CLC06<sup>8</sup></td><td>CLC/SIG</td><td>Texte (3)</td></tr><tr><td>CODE_NIV2_CLC</td><td>Code de niveau 2 du CLC06</td><td>CLC/SIG</td><td>Texte (2)</td></tr><tr><td>CODE_NIV1_CLC</td><td>Code de niveau 1 du CLC06</td><td>CLC/SIG</td><td>Texte (1)</td></tr><tr><td>HA_CLC</td><td>Surface de l'aire définie par CLC06 recalculée afin de n'avoir que la surface de l'entité dans l'AAC (en ha).</td><td>CLC/SIG</td><td>Réel simple (4 décimales)</td></tr></tbody></table>

<footnote n="7">⁷ http://TTT.statistiques.developpement-durable.gouv.fr/donnees-ligne/liste/1825.html et plus précisément http://TTT.statistiques.developpement-durable.gouv.fr/donnees-ligne/li/1825/1097/occupation-sols-corine-land-cover.html</footnote>

<footnote n="8">⁸ Nomenclature de CLC06 : http://TTT.statistiques.developpement-durable.gouv.fr/donnees-ligne/t/nomenclature.html?tx TTneTs[tt_neTs]=11270&cHash=3ea1052d98defb77a7edd1866f134b27</footnote>
## II.2. N_NOMENCLATURE_CLC_NIV1

La nomenclature Corine Land Cover est hiérarchisée sur 3 niveaux et comprend 44 postes répartis selon 5 grands types d'occupation du territoire, qui définissent le niveau 1 :

- Territoires artificialisés

- Territoires agricoles

- Forêts et milieux semi-naturels

- Zones humides

- Surfaces en eau

La table `N_NOMENCLATURE_CLC_NIV1` explicite le champ `CODE_NIV1` de la table `T_OCC_SOL_CLC`. Les champs de cette table sont détaillés dans le tableau 4.

<table><caption>Tableau 4 : N_NOMENCLATURE_CLC_NIV1</caption><thead><tr><td>Nom du Champ</td><td>Description</td><td>Type</td></tr></thead><tbody><tr><td>CODE_NIV1_CLC</td><td>Code CLC de niveau 1</td><td>Texte (1)</td></tr><tr><td>LIBELLE_FR</td><td>Libellé du code CLC de niveau 1 en français</td><td>Texte (50)</td></tr><tr><td>LIBELLE_EN</td><td>Libellé du code CLC de niveau 1 en anglais</td><td>Texte (50)</td></tr></tbody></table>

## II.3. N_NOMENCLATURE_CLC_NIV2

La table `N_NOMENCLATURE_CLC_NIV2` détaille les 15 types de niveau 2 du CLC, selon les champs explicités dans le tableau 5.

<table><caption>Tableau 5 : N_NOMENCLATURE_CLC_NIV2</caption><thead><tr><td>Nom du Champ</td><td>Description</td><td>Type</td></tr></thead><tbody><tr><td>CODE_NIV2_CLC</td><td>Code CLC de niveau 2</td><td>Texte (2)</td></tr><tr><td>LIBELLE_FR</td><td>Libellé du code CLC de niveau 2 en français</td><td>Texte (100)</td></tr><tr><td>LIBELLE_EN</td><td>Libellé du code CLC de niveau 2 en anglais</td><td>Texte (100)</td></tr></tbody></table>

## II.4. N_NOMENCLATURE_CLC_NIV3

La table `N_NOMENCLATURE_CLC_NIV3` détaille les 44 postes du CLC, selon les champs explicités dans le tableau 6.

<table><caption>Tableau 6 : N_NOMENCLATURE_CLC_NIV3</caption><thead><tr><td>Nom du Champ</td><td>Description</td><td>Type</td></tr></thead><tbody><tr><td>CODE_NIV3_CLC</td><td>Code CLC de niveau 3</td><td>Texte (3)</td></tr><tr><td>LIBELLE_FR</td><td>Libellé du code CLC de niveau 3 en français</td><td>Texte (100)</td></tr><tr><td>LIBELLE_EN</td><td>Libellé du code CLC de niveau 3 en anglais</td><td>Texte (100)</td></tr></tbody></table>
## II.5. T_CLC_CARTE

Cette table référence les cartes d'occupation du sol des AAC pour les années 2006 et 2012.

<table><caption>Tableau 7 : T_CLC_CARTE</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>ID_CLC_CARTE</td><td>Identifiant unique formé à partir de l'ID_AAC et l'année (exemple : 08001_2006)</td><td></td><td>Texte (15)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>ANNEE</td><td>Année du Corine Land Cover</td><td>CLC/SIG</td><td>Texte (4)</td></tr><tr><td>CARTE_CLC</td><td>Chaque AAC, par année du CLC, aura une carte d'occupation du sol de son territoire.<br>Les cartes prennent le type de nom de fichier et au format PDF : CLC_ANNEE_ID.pdf) Elles sont stockées dans l'hébergeur. Dans ce champ figure donc l'URL pour accéder aux cartes.</td><td>CLC/SIG<br>AERM</td><td>Texte (100)</td></tr></tbody></table>

## II.6. T_OCC_SOL_RPG

Conformément à la réglementation communautaire (n° 1593/2000), la France a mis en place depuis 2002, le Registre Parcellaire Graphique (RPG) qui est un système d'information géographique permettant l'identification des parcelles agricoles. Ce dispositif est administré par l'Agence de Services et de Paiement (ASP) et est utilisé pour la gestion des aides européennes à la surface. Depuis 2007, l'ASP diffuse une version anonyme des données graphiques du RPG associées à certaines des données déclarées par les exploitants (dont l'occupation du sol). Les données sont départementalisées à l'échelle de la France entière. Nous utilisons ces données afin d'avoir des meilleures connaissances agricoles sur ces territoires. Nous ne travaillons que sur les AAC s existante sur le bassin Rhin-Meuse ; c'est-à-dire celle disposant d'une délimitation.

Nous utilisons le RPG pour avoir une information sur les assolements présents dans les AAC, la table T_OCC_SOL_RPG recense les assolements selon les catégories du RPG.

<table><caption>Tableau 8 : T_OCC_SOL_RPG</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>ID_RPG</td><td>Identifiant unique formé à partir de l'ID_AAC, l'année (exemple : 08001_2006)</td><td></td><td>Texte (15)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>ANNEE</td><td>Année du RPG</td><td>RPG / SIG</td><td>Texte (4)</td></tr><tr><td>NOM_RPG</td><td>Nom officielle des cultures issues de la nomenclature du RPG</td><td>RPG / SIG</td><td>Texte (100)</td></tr><tr><td>HA_RPG</td><td>Surface (en ha) des différents assolements</td><td>RPG / SIG</td><td>Réel simple (4 décimales)</td></tr></tbody></table>
## II.7. T_RPG_CAPTE

Le RPG peut également être utilisé pour réaliser des cartes des AAC, que ce soit l'assolement, les territoires d'exploitations des agriculteurs concernées, l'étalement des parcellaires des agriculteurs,... La table T_RPG_CAPTE reprend ces cartes. Le champ DESCRIPTION définit le thème représenté dans la carte.

<table><caption>Tableau 9 : T_RPG_CAPTE</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>ID_RPG_CAPTE</td><td>Identifiant unique formé à partir de l'ID_AAC, l'année et de la description (exemple : 08001_2006_assolement)</td><td></td><td>Texte (100)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>ANNEE</td><td>Année du RPG</td><td>RPG / SIG</td><td>Texte (4)</td></tr><tr><td>DESCRIPTION</td><td>Plusieurs cartes sont réalisées avec ces données afin de décrire les AAC, comme l'assolement, les territoires d'exploitation,...</td><td>RPG / SIG</td><td>Texte (50)</td></tr><tr><td>CARTE_RPG</td><td>Chaque AAC, par année du RPG et par donnée représentée, aura une carte de son territoire.<br>Les cartes prennent le type de nom de fichier et au format PDF : RPG_ANNEE_DESCRIPTION_ID.pdf. Elles sont stockées dans l'hébergeur. Dans ce champ figure donc l'URL pour accéder aux cartes.</td><td>RPG / SIG<br>AERM</td><td>Texte (100)<sup>r</sup></td></tr></tbody></table>

## II.8. T_AGRICULTURE_RPG

Nous utilisons le RPG pour calculer des indicateurs décrivant l'agriculture dans l'AAC. Ces données sont toutefois, à utiliser en sachant que les données ne concernent que les agriculteurs ayant des surfaces faisant l'objet des aides du 1er pilier. Les informations qui, entre-autre, nous intéressent sont le concernement et l'implication des exploitants agricoles (les exploitants impactés par l'AAC, et les impactants).

<table><caption>Tableau 10 : T_AGRICULTURE_RPG</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>ID_RPG_AGRI</td><td>Identifiant unique formé à partir de l'ID_AAC et de l'année (exemple : 08001_2006)</td><td></td><td>Texte (15)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>ANNEE</td><td>Année du RPG</td><td>RPG / SIG</td><td>Texte (4)</td></tr><tr><td>NB_AGRI</td><td>Nombre d'agriculteurs ayant des terres sur l'AAC</td><td>RPG / SIG</td><td>Entier (6)</td></tr><tr><td>NB_AGRI_2_3_SAU_AAC</td><td>Le nombre d'agriculteur nécessaire pour obtenir 2/3 de la Surface Agricole Utile (SAU) de l'AAC (en prenant les agriculteurs les plus impactés)</td><td>RPG / SIG</td><td>Entier (6)</td></tr><tr><td>NB_AGRI_100</td><td>Le nombre d'agriculteur ayant plus de 90% de sa SAU dans une AAC</td><td>RPG / SIG</td><td>Entier (6)</td></tr><tr><td>CONCERNEMENT</td><td>Le concernement moyen des exploitants de l'AAC</td><td>RPG / SIG</td><td>Réel simple (2 décimales)</td></tr><tr><td>CONCERNEMENT_RESTREINT</td><td>Le concernement moyen des exploitants nécessaires pour couvrir les 2/3 de la SAU.</td><td>RPG / SIG</td><td>Réel simple (2 décimales)</td></tr><tr><td>SAU_MOYEN</td><td>La SAU moyenne des agriculteurs ayant au moins une parcelle dans l'AAC</td><td>RPG / SIG</td><td>Réel simple (2 décimales)</td></tr><tr><td>SAU_MIN</td><td>La SAU la plus petite parmi les SAU des agriculteurs ayant au moins une parcelle dans l'AAC</td><td>RPG / SIG</td><td>Réel simple (2 décimales)</td></tr><tr><td>SAU_MAX</td><td>La SAU la plus grande parmi les SAU des agriculteurs ayant au moins une parcelle dans l'AAC</td><td>RPG / SIG</td><td>Réel simple (2 décimales)</td></tr><tr><td>CULTUREइंDom</td><td>La culture dominante sur l'AAC selon les classes du RPG</td><td>RPG / SIG</td><td>Texte (100)</td></tr></tbody></table>
## II.9. T_ZONE_PROTEGEES

La table `T_ZONE_PROTEGEES` nous donne les surfaces dans l'AAC qui sont concernées par ce que nous avons appelés des zones protégées. Ces surfaces peuvent être en Natura 2000, ZNIEFF, PNR. Ces données sont obtenus après intersections entre les couches SIG de zones protégées et les délimitations SIG des AAC avec un calcul de surface en ha.

<table><caption>Tableau 11 : T_ZONE_PROTEGEES</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_AAC_ZP</td><td>Incrémentation de l'ID AAC, de l'année et du code de la zone protégée</td><td></td><td>Texte (50)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>CODE_ZP</td><td>Code représentant une zone protégée</td><td>MNHN</td><td>Texte (20)</td></tr><tr><td>ANNEE</td><td>Année de la mise à jour de la couche SIG prise en compte dans le calcul</td><td></td><td>Texte (4)</td></tr><tr><td>HA_ZP</td><td>Surface (en ha) de la zone protégée</td><td>MNHN / SIG</td><td>Réel simple (2 décimales)</td></tr></tbody></table>

## II.10. N_NOMENCLATURE_ZP

La table `N_NOMENCLATURE_ZP` détaille les `CODE_ZP` en reprenant le type de zones et le nom de la zone.

<table><caption>Tableau 12 : N_NOMENCLATURE_ZP*</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>CODE_ZP</td><td>Code représentant une zone protégée (Exemple : PNR_BallonDesVosges)</td><td>MNHN</td><td>Texte (20)</td></tr><tr><td>DETAIL_ZP</td><td>Description de la zone protégée (Exemple : Parc Naturel Régional)</td><td></td><td>Texte (100)</td></tr><tr><td>NOM_ZP</td><td>Nom de la zone (Exemple : Ballon des Vosges)</td><td></td><td>Texte (250)</td></tr></tbody></table>

## II.11. T_ZP_CARTE_ZP

La table `T_ZP_CARTE_ZP` donne une carte par AAC avec les différentes zones protégées. Ces cartes sont centrées sur les AAC. Les zones protégées ne sont donc pas forcément en entier sur la carte.

<table><caption>Tableau 13 : T_ZP_CARTE_AAC</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_AAC_ZP</td><td>Incrémentation de l'ID AAC, de l'année et du code de la zone protégée</td><td></td><td>Texte (50)</td></tr><tr><td>CODE_ZP</td><td>Code représentant une zone protégée</td><td>MNHN</td><td>Texte (20)</td></tr><tr><td>CARTE_ZP</td><td>Chaque AAC, aura une carte de son territoire avec les différentes zones protégées mises en évidence. Les cartes prennent le type de nom de fichier et au format PDF : ZP_ID.pdf. Elles sont stockées dans l'hébergeur. Dans ce champ figure donc l'URL pour accéder aux cartes.</td><td>MNHN/SIG<br>AERM</td><td>Texte (100)</td></tr></tbody></table>
## II.12. T REFERENTIEL COMMUNE

La table `T REFERENTIEL COMMUNE` a comme identifiant le code INSEE des communes, et reprend les départements, régions, Petite Région Agricole, et Région Agricole d'appartenance des communes.

<table><caption>Tableau 14 : T REFERENTIEL COMMUNE</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>CODE_INSEE</td><td>Le numéro INSEE de la commune.</td><td></td><td>Texte (5)</td></tr><tr><td>NOM COMMUNE</td><td>Nom de la commune</td><td></td><td>Texte (100)</td></tr><tr><td>CODE_DEPT</td><td>Code départemental de la commune</td><td></td><td>Entier (2)</td></tr><tr><td>NOM_DEPT</td><td>Nom du département à laquelle appartient la commune</td><td></td><td>Texte (250)</td></tr><tr><td>CODE REGION</td><td>Code de la région auquel appartient la commune</td><td></td><td>Entier (2)</td></tr><tr><td>NOM REGION</td><td>Nom de la région à laquelle appartient la commune</td><td></td><td>Texte (50)</td></tr><tr><td>CODE PRA</td><td>Code de la Petite Région Agricole de la commune</td><td></td><td>Texte (5)</td></tr><tr><td>NOM PRA</td><td>Nom de la Petite Région Agricole de la commune</td><td></td><td>Texte (50)</td></tr><tr><td>CODE_RA</td><td>Code de la Région Agricole de la commune</td><td></td><td>Texte (3)</td></tr><tr><td>NOM_RA</td><td>Nom de la Région Agricole de la commune</td><td></td><td>Texte (50)</td></tr></tbody></table>

## II.13. T COMMUNE AAC

La table `T COMMUNE AAC` recense les communes concernées par une (ou plusieurs) AAC. Ces données sont issues d'intersection et de calcul de surfaces sous SIG entre les délimitations communales et AAC.

<table><caption>Tableau 15 : T COMMUNE AAC</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID COMMUNE AAC</td><td>Incrémentation entre l'ID AAC et le code INSEE de la commune (Exemple : 08001_54002)</td><td></td><td>Texte(15)</td></tr><tr><td>ID AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>CODE_INSEE</td><td>Le numéro INSEE de la commune</td><td>IGN</td><td>Texte (5)</td></tr><tr><td>HA AAC</td><td>Surface (en ha) de la commune AAC</td><td>IGN/SIG</td><td>Réel simple (2 décimales)</td></tr><tr><td>P AAC</td><td>Pourcentage de la commune dans l'AAC</td><td>IGN/SIG</td><td>Réel simple (2 décimales)</td></tr></tbody></table>
## II.14. T_COM_COM

BANATIC, la Base nationale sur l'intercommunalité, constitue le système d'information de référence sur les données relatives à l'intercommunalité.

Développé par la DGCL, ce portail est destiné à mettre à disposition du plus grand nombre des informations sur la catégorie des groupements de collectivités territoriales telle que définie par l'article L5210-1-1 A du code général des collectivités territoriales (CGCT). Les informations de BANATIC sont produites sur la base des éléments renseignés dans les systèmes d'information gérés par les services déconcentrés de l'Etat dénommés ASPIC "Accès des services publics aux informations sur les collectivités".

Sont diffusées sur BANATIC des informations sur les établissements publics de coopération intercommunale (EPCI) avec ou sans fiscalité propre et les syndicats mixtes :

* établissements publics de coopération intercommunale à fiscalité propre : métropole, communauté urbaine, communauté d'agglomération, communauté de communes et syndicat d'agglomération nouvelle ;

* établissements publics de coopération intercommunale sans fiscalité propre : syndicat à vocation unique et syndicat à vocation multiple ;

* syndicats mixtes : syndicat mixte fermé et syndicat mixte ouvert.

* pôles métropolitains<fnref n="9" />

Nous utilisons cette base de données afin de connaitre les intercommunalités d'appartenance des communes. La table **T_COM_COM** recense les intercommunalités associés aux communes.

<table><caption>Tableau 16 : T_COM_COM</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_COM_COM</td><td>Incrémentation entre le code le CODE_COM_COM et le CODE_INSEE.</td><td></td><td>Texte(250)</td></tr><tr><td>CODE_INSEE</td><td>Le numéro INSEE de la commune</td><td></td><td>Texte(5)</td></tr><tr><td>ANNEE</td><td>Année de la donnée (pour prendre en considération les mises à jour)</td><td>BANATIC</td><td>Texte (4)</td></tr><tr><td>CODE_COM_COM</td><td>Code de la collectivité territoriale</td><td>BANATIC</td><td>Texte (250)</td></tr><tr><td>NOM_COM_COM</td><td>Nom de la collectivité territoriale</td><td>BANATIC</td><td>Texte (250)</td></tr></tbody></table>

## II.15. T_COM_COM_CARTE

La table **T_COM_COM_CARTE** recense les cartes par collectivités territoriales (types communauté de communes), avec les AAC présentes sur les Communautés de Communes. Ces cartes sont centrées sur les collectivités. Par conséquent les AAC peuvent ne figurer que partiellement sur les cartes.

<table><caption>Tableau 17 : T_COM_COM_CARTE</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>CODE_COM_COM</td><td>Code de la collectivité territoriale</td><td>BANATIC</td><td>Texte (250)</td></tr><tr><td>NOM_COM_COM</td><td>Nom de la collectivité territoriale</td><td>BANATIC</td><td>Texte (250)</td></tr><tr><td>ANNEE</td><td>Année de la donnée (pour prendre en considération les mises à jour)</td><td>BANATIC</td><td>Texte (4)</td></tr><tr><td>CARTE_COM_COM</td><td>Chaque collectivité territoriale du type communauté de communes aura une carte avec les AAC représentées (nom des cartes ? format des cartes ? pdf) (Les cartes prennent ce type de nom de fichier et au format PDF : COMCOM_ANNEE_CODE.pdf). Elles sont stockées dans l'hébergeur. Dans ce champ figure donc l'URL pour accéder aux cartes.</td><td>BANATIC / SIG AERM</td><td>Texte (100)</td></tr></tbody></table>

<footnote n="9">⁹ https://www.banatic.interieur.gouv.fr/V5/accueil/index.php</footnote>
## II.16. T_CARTE_AAC

La table `T_CARTE_AAC` recense les cartes par AAC et par année avec les collectivités territoriales (communauté de communes, communauté d'agglomération,...) mais également les zones protégées. La carte est centrée sur les AAC, par conséquent les collectivités peuvent ne pas être représentées en entier.

<table><caption>Tableau 18 : T_COM_COM_CARTE_AAC</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_AAC_CARTE</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>CARTE_ZP_AAC</td><td>Chaque ZP aura une carte centrée sur elle avec les délimitations des AAC (nom des cartes ? format des cartes ? pdf) (Les cartes prennent ce type de nom de fichier et au format PDF : ZP_CODEZP_ID.pdf). Elles sont stockées dans l'hébergeur. Dans ce champ figure donc l'URL pour accéder aux cartes.</td><td>MNHN/SIG<br>AERM</td><td>Texte (100)</td></tr><tr><td>CARTE_COM_COM_AAC</td><td>Chaque AAC, par année du RPG et par donnée représentée, aura une carte de son territoire. Les cartes prennent ce type de nom de fichier et au format PDF : COMCOM_ANNEE_ID.pdf. Elles sont stockées dans l'hébergeur. Dans ce champ figure donc l'URL pour accéder aux cartes.</td><td>BANATIC / SIG</td><td>Texte (100)</td></tr></tbody></table>
### III. Les données propres à cette base de données renseignées par formulaire

Les tables décrites dans cette partie sont les données propres à cette base de données. Ces données sont renseignées via des formulaires. L'ensemble des tables présentes dans ce prototype sont présentes dans les figures 4 et 5, ci-dessous. Il est possible d'ajouter des tables par la suite, tout en ajoutant des formulaires.

<figure><img src="image_27.png" /><figcaption>Figure 4 : Représentation simplifiée des tables renseignées via le formulaire</figcaption></figure>
<figure><img src="image_28.png" /><figcaption>Figure 5 : Représentation détaillée des tables en lien avec le formulaire</figcaption></figure>

DEAUMIN'EAU
Données issues des formulaires
Données propres à cette BdD
### III.1. T_CONTACT

Cette table permet de connaître l'utilisateur qui va entrer les informations dans le formulaire. Ils sont caractérisés par les variables présentes dans le tableau ci-dessous.

<table><caption>Tableau 19 : T_CONTACT</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_CONTACT</td><td>Identifiant permettant décrivant le contact</td><td>Formulaire</td><td>Entier long</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>STRUCTURE</td><td>Nom de la structure d'appartenance du contact</td><td>Formulaire</td><td>Texte (250)</td></tr><tr><td>ADRESSE</td><td>Adresse de la structure</td><td>Formulaire</td><td>Texte (250)</td></tr><tr><td>CP</td><td>Code Postale de la structure</td><td>Formulaire</td><td>Texte (5)</td></tr><tr><td>VILLE</td><td>Ville de la structure</td><td>Formulaire</td><td>Texte (100)</td></tr><tr><td>MAIL</td><td>Mail de la structure</td><td>Formulaire</td><td>Texte (50)</td></tr><tr><td>MDP</td><td>Mot de passe du contact</td><td>Formulaire</td><td>Texte (10)</td></tr><tr><td>DATE_ENREGISTRMENT</td><td>Date de l'enregistrement de l'utilisateur</td><td>Formulaire</td><td>Date (JJ/MM/ANNEE)</td></tr></tbody></table>
### III.2. T_FORMULAIRE

Cette table référence les questions primaires des différents formulaires. Les informations détaillées se situent ensuite dans les tables décrivant le contexte de l'AAC, à savoir :

* T ACTIONS_DESCRIPTION,

* T DISTRIBUTION_INTEGRALEMENT,

* T DISTRIBUTION_MELANGE,

* T POSSESSION_TERRE_DESCRIPTION,

* T ACHAT_TERRE_DESCRIPTION,

* T AUTRES_POLLUTIONS_DESCRIPTION,

* T ANALYSE_DESCRIPTION, et

* T ACTIONS_DESCRIPTION.

<table><caption>Tableau 20 : T_FORMULAIRE</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>ID_CONTACT</td><td>Identifiant permettant décrivant le contact (incrémentation avec la STRUCTURE et l'ID_AAC)</td><td>Formulaire</td><td>Texte (50)</td></tr><tr><td>ID_AAC</td><td>L'identifiant SIG des AAC ayant une couche SIG. Ce numéro est, pour les AAC de l'AERM sous forme de 5 chiffres pour les AAC dont les deux premiers correspondent au département de localisation du captage</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>DATE CREATION</td><td>Date de création du formulaire</td><td>Automatique (formulaire)</td><td>Date (JJ/MM/ANNEE)</td></tr><tr><td>SYNDICAT_EAU</td><td>Répond à la question « Le captage appartient-il à un syndicat ? »</td><td>Formulaire</td><td>Texte (3)</td></tr><tr><td>DISTRIBUTION_INTEG</td><td>Répond à la question : « Le captage aliment-t-il intégralement une ou des communes ? ». Les réponses peuvent donc être soit oui, soit non. Si la réponse est oui, le descriptif des communes concernées se trouve dans la table T DISTRIBUTION_INTEGRALEMENT.</td><td>Formulaire</td><td>Texte (3)</td></tr><tr><td>DISTRIBUTION_MELANGE</td><td>Répond à la question : « Le captage aliment-t-il en mélange une ou des communes ? ». Les réponses peuvent donc être soit oui, soit non. Si la réponse est oui, le descriptif des communes concernées se trouve dans la table T DISTRIBUTION_MELANGE.</td><td>Formulaire</td><td>Texte (3)</td></tr><tr><td>ACTIONS</td><td>Donne le nombre d'actions en cours sur l'AAC</td><td>Formulaire</td><td>Entier (10)</td></tr><tr><td>POLLUTIONS</td><td>Répond à la question : « Y a-t-il d'autres sources de pollutions ? »</td><td>Formulaire</td><td>Texte (3)</td></tr><tr><td>ANALYSE</td><td>Répond à la question : « Existe-t-il des analyses complémentaires à l'ARS et à l'AERM ? »</td><td>Formulaire</td><td>Texte (3)</td></tr><tr><td>POSSESSION_TERRE</td><td>Répond à la question : « La commune a-t-elle des surface agricoles ? »</td><td>Formulaire</td><td>Texte (3)</td></tr><tr><td>ACHAT_TERRE</td><td>Répond à la question : « La collectivité a-t-elle l'intention d'acheter des terres ? »</td><td>Formulaire</td><td>Texte (3)</td></tr></tbody></table>
### III.3. T ACTIONS DESCRIPTION

La table ci-dessous nous permet de connaître les actions en cours actuellement (correspondant à la partie ACTIONS MISES EN PLACE du formulaire), certains actions sont déjà définies mais l'utilisateur peut très bien entrer de nouvelles actions qui s'ajouteront automatiquement dans la table `T_AJOUT where` de la base de données. Ces données pourront être ajoutées, par la suite, à `N_NOMENCLATURE where`.

<table><caption>Tableau 21 : T where DESCRIPTION</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>ID where</td><td>Incrémentation entre l'ID_FORMULAIRE et le CODE where ainsi qu'un nombre</td><td></td><td>Texte (100)</td></tr><tr><td>CODE where</td><td>Il s'agit d'une action en cours représenté par un code</td><td>Formulaire</td><td>Texte (15)</td></tr><tr><td>DESCRIPTION where</td><td>Description de l'action en cours (Exemple : Allongement des rotations)</td><td>Formulaire</td><td>Texte (50)</td></tr><tr><td>PORTEUR</td><td>Il s'agit du porteur de l'action</td><td>Formulaire</td><td>Texte (20)</td></tr><tr><td>FREQUENCE</td><td>Fréquence de l'action</td><td>Formulaire</td><td>Texte (20)</td></tr><tr><td>NB_PERSONNES</td><td>L'ampleur de l'action (nombre de personne touché)</td><td>Formulaire</td><td>Entier(4)</td></tr><tr><td>DATE_DEBUT</td><td>Date de début de l'action</td><td>Formulaire</td><td>Texte (4)</td></tr><tr><td>DATE_FIN</td><td>Date de fin de l'action (non obligatoire)</td><td>Formulaire</td><td>Texte (4)</td></tr></tbody></table>

### III.4. N_NOMENCLATURE where

Cette table référence les actions.

<table><caption>Tableau 22 : N_NOMENCLATURE where</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>CODE where</td><td>Il s'agit d'une action en cours représenté par un code</td><td></td><td>Texte (15)</td></tr><tr><td>DESCRIPTION where</td><td>Description de l'action mises en place</td><td></td><td>Texte (50)</td></tr></tbody></table>

### III.5. T_AJOUT where

Cette table détaille les actions mises en place.

<table><caption>Tableau 23 : T_AJOUT where</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>ID where</td><td>Identifiant de l'action</td><td></td><td>Entier long</td></tr><tr><td>AUTRES</td><td>Ce que l'utilisateur écrit dans la description de AUTRES.</td><td></td><td>Texte (50)</td></tr><tr><td>DESCRIPTION where</td><td>Description de l'action mises en place que les utilisateurs de DEUAMIN'EAU auront ajouté</td><td></td><td>Texte (250)</td></tr></tbody></table>

### III.6. T_SYNDICAT_EAU

La table `T_SYNDICAT_EAU` donne le nom du syndicat gérant le captage lorsque le champ `SYNDICAT_EAU` de la table `T_FORMULAIRE` est renseigné par OUI.

<table><caption>Tableau 24 : T_SYNDICAT_EAU</caption><thead><tr><th>Nom du champ</th><th>Description</th><th>Origine des données</th><th>Type</th></tr></thead><tbody><tr><td>ID SYNDICAT</td><td>Identifiant du syndicat eau</td><td></td><td>Entier long</td></tr><tr><td>ID where</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>NOM SYNDICAT</td><td>Nom du syndicat qui gère le captage</td><td></td><td>Texte (100)</td></tr></tbody></table>
### III.7. T_DISTRIBUTION_INTEGRALEMENT

Cette table apporte un degré d'informations plus fin, mais ne sont pas indispensables à la compréhension et à l'utilisation de la table `T_FORMULAIRE`, dont les champs sont détaillés dans le tableau 20.

<table><caption>Tableau 25 : T_DISTRIBUTION_INTEGRALEMENT</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_INTEG</td><td>Identifiant de la distribution intégrale</td><td></td><td>Entier long</td></tr><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>CODE_INSEE_INTEG</td><td>Le numéro INSEE de la commune desservie intégralement</td><td></td><td>Texte (5)</td></tr><tr><td>PROPORTION_INTEG</td><td>Proportion du volume desservi dans la commune</td><td>Formulaire</td><td>Texte (20)</td></tr><tr><td>ID_TRAITEMENT</td><td>Identifiant du traitement</td><td>Formulaire</td><td>Entier long</td></tr></tbody></table>

### III.8. T_DISTRIBUTION_MELANGE

Cette table apporte un degré d'informations plus fin, mais ne sont pas indispensables à la compréhension et à l'utilisation de la table `T_FORMULAIRE`, dont les champs sont détaillés dans le tableau 20.

<table><caption>Tableau 26 : T_DISTRIBUTION_MELANGE</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_MELANGE</td><td>Identifiant de la distribution mélangée</td><td></td><td>Entier long</td></tr><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>NOM_CAPTAGE_ASSOCIE</td><td>Nom du captage associé pour distribuer de l'eau.</td><td></td><td>Texte (50)</td></tr><tr><td>CODE_INSEE_DESSERVIES</td><td>Communes desservies par le captage</td><td>Formulaire</td><td>Texte (5)</td></tr><tr><td>PROPORTION_MELANGE</td><td>Proportion du volume desservi dans la commune</td><td>Formulaire</td><td>Texte (20)</td></tr><tr><td>ID_TRAITEMENT</td><td>Code du traitement de l'eau réalisé avant distribution</td><td>Formulaire</td><td>Texte (50)</td></tr></tbody></table>

### III.9. N_TRAITEMENT

Cette table décrit la nomenclature de l'identifiant traitement utilisé dans les deux tables précédentes.

<table><caption>Tableau 27 : N_TRAITEMENT</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_TRAITEMENT</td><td>Identifiant du traitement</td><td></td><td>Entier long</td></tr><tr><td>NOM_TRAITEMENT</td><td>Nom du traitement</td><td></td><td>Texte (250)</td></tr><tr><td>DESCRIPTION</td><td>Description du traitement (si n nécessaire)</td><td></td><td>Texte (250)</td></tr></tbody></table>

### III.10. T_POSSESSION_TERRE_DESCRIPTION

Les tables `T_POSSESSION_TERRE_DESCRIPTION` et `T_ACHAT_TERRE` renseigne la partie « FONCIER » du formulaire.

La table suivante recense les informations relatives au foncier. Ces données apportent une précision sur les surfaces et leurs localisations détenues par la collectivité gérant le captage, le maitre d'ouvrage.

<table><caption>Tableau 28 : T_POSSESSION_TERRE_DESCRIPTION</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_POSSESSION</td><td>Identifiant de la possession de la terre</td><td></td><td>Entier long</td></tr><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>LOCALISATION_TERRE</td><td>Localisation de la terre agricole possédée par la commune (AAC, PPI, PPR, PPE et hors AAC, les surfaces dans l'AAC comprennent les surfaces dans les périmètres de protection.)</td><td>Formulaire</td><td>Texte (20)</td></tr><tr><td>SURFACE_TERRE</td><td>Surface de la terre agricole possédée par la commune</td><td>Formulaire</td><td>Réel simple (2 décimales)</td></tr></tbody></table>
### III.11. T_ACHAT_HERRE_DESCRIPTION

La table `T_ACHAT_HERRE_DESCRIPTION` donne les surfaces et la localisation des intentions d'achat de la collectivité.

<table><caption>Tableau 29 : T_ACHAT_HERRE</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_ACHAT</td><td>Identifiant de l'achat de terre</td><td></td><td>Entier long</td></tr><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>LOCALISATION_HERRE</td><td>Localisation de la terre agricole possédée par la commune (AAC, PPI, PPR, PPE et hors AAC, les surfaces dans l'AAC comprennent les surfaces dans les périmètres de protection.)</td><td>Formulaire</td><td>Texte (20)</td></tr><tr><td>SURFACE_HERRE</td><td>Surface de la terre agricole possédée par la commune</td><td>Formulaire</td><td>Réel simple (2 décimales)</td></tr></tbody></table>

### III.12. T_AUTRES_POLLUTIONS_DESCRIPTION

La table `T_AUTRES_POLLUTIONS` nous informent, si dans la table `T_FORMULAIRE` la réponse est oui au champ `AUTRES_POLLUTIONS`, des types des pollutions (hors agricoles) dans l'AAC.

<table><caption>Tableau 30 : T_AUTRES_POLLUTIONS_DESCRIPTION</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_POLLUTION</td><td>Identifiant de la pollution ajoutée</td><td></td><td>Entier long</td></tr><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>SOURCE_POLLUTION</td><td>Décris la source de pollution</td><td>Formulaire</td><td>Texte (50)</td></tr><tr><td>PRECISION_POLLUTION</td><td>Apporte des précisions sur le pollution</td><td>Formulaire</td><td>Texte (50)</td></tr></tbody></table>

### III.13. N_NOMENCLATURE_AUTRES_POLLUTIONS

Cette table décris les autres pollutions présentes sur l'AAC.

<table><caption>Tableau 31 : N_NOMENCLATURE_AUTRES_POLLUTIONS</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>SOURCE_POLLUTION</td><td>Décris la source de pollution</td><td>Formulaire</td><td>Texte (50)</td></tr><tr><td>DESCRIPTION_POLLUTION</td><td>Description de la pollution si nécessaire</td><td>Formulaire</td><td>Texte (50)</td></tr></tbody></table>

### III.14. T{ANALYSE_DESCRIPTION}

La table `T{ANALYSE_DESCRIPTION}` renseigne les informations du formulaire « Analyse d'eau ».

<table><caption>Tableau 32 : T 分析 DESCRIPTION</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID 分析</td><td>Identifiant de l'analyse d'eau</td><td></td><td>Entier long</td></tr><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>DATE_DEBUT</td><td>Date de début des analyses</td><td></td><td>Texte (4)</td></tr><tr><td>DATE_FIN</td><td>Date de fin d'analyse</td><td></td><td>Texte (4)</td></tr><tr><td>STRUCTURE</td><td>Répond à la question : « Quelles sont les structures faisant les analyses ? »</td><td>Formulaire</td><td>Texte (50)</td></tr><tr><td>ID_PARAMETRE</td><td>Répond à la question : « Sur quels produits portent les analyses ? » La nomenclature des paramètres se situent dans la table N_PARAMETRES</td><td>Formulaire</td><td>Texte (20)</td></tr><tr><td>FREQUENCE 分析</td><td>Répond à la question : « Quelle est la fréquence de l'analyse ? »</td><td>Formulaire</td><td>Texte (20)</td></tr><tr><td>DONNEESetDISPONIBLES</td><td>Répond à la question : « La donnée est-elle disponible ? »</td><td>Formulaire</td><td>Texte (3)</td></tr></tbody></table>
### III.15. N_PARAMETRES

La table N_PARAMETRES décrit les différents paramètres analysés.

<table><caption>Tableau 33 : N_PARAMETRES</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_PARAMETRE</td><td>Répond à la question : « La donnée est-elle disponible ? »</td><td></td><td>Texte(20)</td></tr><tr><td>NOM_PARAMETRE</td><td>Nom du paramètre analysé</td><td></td><td>Texte (250)</td></tr><tr><td>DESCRIPTION</td><td>Description du paramètre analysé si nécessaire</td><td></td><td>Texte (250)</td></tr></tbody></table>

### III.16. T_VALIDATION

Cette table renseigne les dates de validation des différents formulaires.

<table><caption>Tableau 34 : T_VALIDATION</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine des données</td><td>Type</td></tr></thead><tbody><tr><td>ID_FORMULAIRE</td><td>Identifiant du formulaire</td><td></td><td>Entier long</td></tr><tr><td>DISTRIBUTION_VALIDATION</td><td>Date de validation du formulaire DISRTIBUTION permettant de renseigner les tables T_FORMULAIRE, T_DISTRIBUTION_INTEGRALEMENT, T_DISTRIBUTION_MELANGE</td><td>Formulaire</td><td>Date (JJ/MM/ANNEE)</td></tr><tr><td>ACTIONS_VALIDATION</td><td>Date de validation du formulaire ACTION permettant de renseigner les tables T_FORMULAIRE, T ACTIONS_DESCRIPTORS, T_AJOUT ACTIONS</td><td>Formulaire</td><td>Date (JJ/MM/ANNEE)</td></tr><tr><td>AUTRES_POLLUTIONS_VALIDATION</td><td>Date de validation du formulaire AUTRES POLLUTIONS permettant de renseigner es tables T_FORMULAIRE, T_AUTRES_POLLUTION_DECSRIPTION</td><td>Formulaire</td><td>Date (JJ/MM/ANNEE)</td></tr><tr><td>ANALYSES_VALIDATION</td><td>Date de validation du formulaire ANALYSES permettant de renseigner es tables T_FORMULAIRE, T_ANALYSE_DESCRIPTION</td><td>Formulaire</td><td>Date (JJ/MM/ANNEE)</td></tr><tr><td>FONCIER_VALIDATION</td><td>Date de validation du formulaire FONCIER POLLUTIONS permettant de renseigner es tables T_FORMULAIRE, T_POSSESSION_terre_DESCRIPTION, T_ACHAT_terre_DESCRIPTION</td><td>Formulaire</td><td>Date (JJ/MM/ANNEE)</td></tr></tbody></table>
# IV. Les données issues de travaux et de base de données de l'Agence de l'Eau Rhin Meuse

Ces données sont accessibles via un serveur FTP. Pour le moment, nous avons deux tables relatives à la qualité de l'eau, une par site et une par BSS.

Ces deux tables reprennent le référentiel des points de surveillance et avec les données alimentant les pages de synthèse nitrates pesticides

## IV.1. T_AERM_BSS_ESO

L'élément de base de cette table est le numéro BSS.

<table><caption>Tableau 35 : T_AERM_BSS_ESO</caption><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine de la donnée</td><td>Type</td></tr></thead><tbody><tr><td>ID_AERM_BSS_ESO</td><td>Incrémentation automatique lors de l'importation des données</td><td></td><td>Entier (20)</td></tr><tr><td>NUMNAT</td><td></td><td>AERM</td><td>Texte (10)</td></tr><tr><td>CODBRGM</td><td>Code BRGM (BSS)</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>CODPLAEA</td><td></td><td>AERM</td><td>Texte (10)</td></tr><tr><td>NATSTAME</td><td>Nature de la station de mesure (exemple : QSOU pour souterraine)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>NOMSTAME</td><td>Nom de la station (exemples : Station qualité eaux souterraines 03417X1011/HY, Socle du massif vosgien à THOLY(LE))</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>CODE_PARAMETRE</td><td>Code du paramètre analysé (exemple : 1340)</td><td>AERM</td><td>Texte (4)</td></tr><tr><td>NOM_PARAMETRE</td><td>Nom du paramètre analysé (exemple : Nitrates)</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>UNITE_PARAMETRE</td><td>Unité du paramètre utilisé (exemple : mg(NO3)/L)</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>CODE_FRACTANALY</td><td>Code de la fraction analysée (exemples: 23, 3)</td><td>AERM</td><td>Texte (4)</td></tr><tr><td>NOM_FRACTANALY</td><td>Nom de la fraction analysée (exemples : Eau brute, Phase aqueuse de l'eau (filtrée, centrifugée...))</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>AN</td><td>Année d'analyse de l'eau (exemple : 2009)</td><td>AERM</td><td>Année<br>Texte (4)</td></tr><tr><td>MOYENNE</td><td>Moyenne des analyses</td><td>AERM</td><td>Réel simple<br>(6 décimale)</td></tr><tr><td>ECART_TYPE</td><td>Ecart type des analyses</td><td>AERM</td><td>Réel simple<br>(6 décimale)</td></tr><tr><td>CODREM</td><td>Code remarque = 10 signifie donnée non quantifiée (c'est le seuil de quanti qui est alors saisi dans les champs moyenne, min max et P90)<br>Code remarque = 1 signifie donnée quantifiée</td><td>AERM</td><td>Texte (2)</td></tr><tr><td>NBNONQUANT</td><td>Nombre d'analyse non quantifiée</td><td>AERM</td><td>Entier (5)</td></tr><tr><td>NB</td><td>Nombre d'analyse quantifiée</td><td>AERM</td><td>Entier (5)</td></tr><tr><td>MEDIANE</td><td>Médiane des analyses</td><td>AERM</td><td>Réel simple<br>(6 décimale)</td></tr><tr><td>PERCENTILE_10</td><td>Percentile 90</td><td>AERM</td><td>Réel simple<br>(6 décimale)</td></tr><tr><td>PERCENTILE_90</td><td>Percentile 90</td><td>AERM</td><td>Réel simple<br>(6 décimale)</td></tr><tr><td>MINI</td><td>Analyse minimum</td><td>AERM</td><td>Réel simple<br>(6 décimale)</td></tr><tr><td>MAXI</td><td>Analyse maximum</td><td>AERM</td><td>Réel simple<br>(6 décimale)</td></tr><tr><td>SEUIL</td><td>Seuil de détection de l'analyse</td><td>AERM</td><td>Réel simple<br>(6 décimale)</td></tr></tbody></table>
## IV.2. T_AERM_SITE_ESO

L'élément de base de cette table est le numéro BSS.

<table><thead><tr><td>Nom du champ</td><td>Description</td><td>Origine de la donnée</td><td>Type</td></tr></thead><tbody><tr><td>ID_AERM_SITE_ESO</td><td>Incrémentation automatique lors de l'importation des données</td><td></td><td>Entier (20)</td></tr><tr><td>NUMSTAME</td><td>Numéro de la station</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>NUMPOICA</td><td>Numéro du point capté</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>NOMSTAME</td><td>Nom de la station (exemples: Station qualité eaux souterraines 03417X1011/HY, Socle du massif vosgien à THOLY(LE))</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>NATSTAME</td><td>Nature de la station de mesure (exemple: QSOU pour souterraine)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>COMSTAME</td><td>Commentaires sur le nom de la station (exemple: remplacé le 01/06/2008 réunion RCO Chlorures MDPA BRGM)</td><td>AERM</td><td>Mémo</td></tr><tr><td>CODPAY</td><td>Code du pays (exemple: FRA)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>NUMINECO</td><td>Numéro INSEE de la commune (exemple: 67300)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>NOMCOM</td><td>Nom de la commune (exemple: Molsheim)</td><td>AERM</td><td>Texte (100)</td></tr><tr><td>OBJQUAGE</td><td>Objectifs de qualités du gestionnaire</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>CODCLADU</td><td></td><td>AERM</td><td>Texte (10)</td></tr><tr><td>NUMNAT</td><td></td><td>AERM</td><td>Texte (10)</td></tr><tr><td>CODINT</td><td></td><td>AERM</td><td>Texte (10)</td></tr><tr><td>CODTERCO</td><td>Code du territoire (exemple: Y002)</td><td>AERM</td><td>Texte (4)</td></tr><tr><td>LIBCODTERCO</td><td>Libellé du territoire (exemple: Rhin versant Rhône)</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>CODSECTR</td><td>Code du secteur (exemple: ME)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>LIBSECTR</td><td>Libellé du secteur (exemple: Meuse)</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>CODDEP</td><td>Code du département (exemple: 88)</td><td>AERM</td><td>Texte (2)</td></tr><tr><td>LIBDEP</td><td>Nom du département (exemple: Vosges)</td><td>AERM</td><td>Texte (100)</td></tr><tr><td>CODREG</td><td>Code de la région (exemple: 42)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>NUMPOIME</td><td>Numéro du point de mesure</td><td>AERM</td><td>Texte (15)</td></tr><tr><td>CODTYPPO</td><td>Code</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>NOMPOIME</td><td>Nom du point de mesure</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>COMPOIME</td><td>Commentaires du point de mesure</td><td>AERM</td><td>Mémo</td></tr><tr><td>CODPOICA</td><td>(exemples: O ou N)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>ALTPOIME</td><td>Altitude du point de mesure (exemple: 205.50)</td><td>AERM</td><td>Réel simple (2 décimale)</td></tr><tr><td>VALPROFO</td><td>Valeur de la profondeur d'investigation (en m) (exemple: 40.00)</td><td>AERM</td><td>Réel simple (2 décimale)</td></tr><tr><td>LIEPRL</td><td>Libellé du prélèvement</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>CODPOIME</td><td>Code</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>CODBRGM</td><td>Code BRGM (BSS) (exemple: 04131X0191)</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>DESIGNAT</td><td>Désignation du code BSS; information complémentaire sur le point d'eau (exemple: P26)</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>ALTITUDE</td><td>Altitude du site (exemple: 146.00)</td><td>AERM</td><td>Réel simple (2 décimales)</td></tr><tr><td>ADRESSE</td><td>Adresse du site (exemple: LA VIEILLE MEUSE SITE DES REJETS DES EFFLUENTS)</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>CODUNIHG</td><td>Code de l'unité hydrogéologique (exemple: 302b)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>LIBUNIHG</td><td>Libellé de l'unité hydrogéologique (exemple: Alluvions)</td><td>AERM</td><td>Texte (250)</td></tr></tbody></table>
<table><caption>Tableau 36 : T_AERM_SITE_ESO</caption><thead><tr><th colspan="4">quaternaires de la Moselle)</th></tr><tr><th>PKH</th><th></th><th>AERM</th><th>Réel simple<br>(2 décimales)</th></tr></thead><tbody><tr><td>DATMISES</td><td>Date de mise en service</td><td>AERM</td><td>Date (JJ/MM/AAAA)</td></tr><tr><td>DATFER</td><td>Date de fermeture</td><td>AERM</td><td>Date (JJ/MM/AAAA)</td></tr><tr><td>SDATFER</td><td></td><td>AERM</td><td>Date (JJ/MM/AAAA)</td></tr><tr><td>VISIBLE_SIE</td><td>Visible sur le Système d'information sur l'eau (exemple : O<br>pour oui)</td><td>AERM</td><td>Texte (5)</td></tr><tr><td>COOX</td><td>Coordonnées X du captage</td><td>AERM</td><td>Réel simple<br>(2 décimales)</td></tr><tr><td>COOY</td><td>Coordonnées Y du captage</td><td>AERM</td><td>Réel simple<br>(2 décimales)</td></tr><tr><td>PROCOO</td><td></td><td>AERM</td><td>Texte (5)</td></tr><tr><td>DATDERMJ</td><td></td><td>AERM</td><td>Date (JJ/MM/AAAA)</td></tr><tr><td>CODMODGE</td><td></td><td>AERM</td><td>Texte (5)</td></tr><tr><td>CODETACA</td><td></td><td>AERM</td><td>Texte (5)</td></tr><tr><td>NATCPG</td><td></td><td>AERM</td><td>Texte (5)</td></tr><tr><td>TYPCPG</td><td></td><td>AERM</td><td>Texte (5)</td></tr><tr><td>NUMCPG</td><td></td><td>AERM</td><td>Texte (15)</td></tr><tr><td>LIBPROCOO</td><td>Libellé du système de coordonnées (exemple : Lambert 93)</td><td>AERM</td><td>Texte (20)</td></tr><tr><td>CODRESME</td><td>Code du réseau de suivi (exemple : 0200000014)</td><td>AERM</td><td>Texte (15)</td></tr><tr><td>NOMRESME</td><td>Nom du réseau de suivi de mesures (exemple : Inventaire de<br>la qualité des eaux souterraines de la région Lorraine)</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>CODEURME</td><td>Code européen de la masse d'eau (exemple : FRCG016)</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>LIBCODEURME</td><td>Libellé EUROP2EN de la masse d'eau (exemple : Alluvions de<br>la Moselle en aval de la confluence avec la Meurthe)</td><td>AERM</td><td>Texte (250)</td></tr><tr><td>CODNATME</td><td>Code national de la masse d'eau (exemple : CG016)</td><td>AERM</td><td>Texte (10)</td></tr><tr><td>TYPPOIME</td><td>Type du suivi réalisé (exemple : Mesures phys-chim-µbio-µp<br>QSOU)</td><td>AERM</td><td>Texte (250)</td></tr></tbody></table>
# Table des Illustrations

## Les tableaux

<table><tr><td>Tableau 1 : T REFERENTIEL AAC</td><td>XIII</td></tr><tr><td>Tableau 2 : T AAC</td><td>XIII</td></tr><tr><td>Tableau 3 : T OCC SOL CLC</td><td>XVI</td></tr><tr><td>Tableau 4 : N NOMENCLATURE CLC NIV1</td><td>XVII</td></tr><tr><td>Tableau 5 : N NOMENCLATURE CLC NIV2</td><td>XVII</td></tr><tr><td>Tableau 6 : N NOMENCLATURE CLC NIV3</td><td>XVII</td></tr><tr><td>Tableau 7 : T CLC CARTE</td><td>XVIII</td></tr><tr><td>Tableau 8 : T OCC SOL RPG</td><td>XVIII</td></tr><tr><td>Tableau 9 : T RPG CARTE</td><td>XIX</td></tr><tr><td>Tableau 10 : T AGRICULTURE RPG</td><td>XIX</td></tr><tr><td>Tableau 11 : T ZONES PROTEGEES</td><td>XX</td></tr><tr><td>Tableau 12 : N NOMENCLATURE ZP*</td><td>XX</td></tr><tr><td>Tableau 13 : T ZP CARTE AAC</td><td>XX</td></tr><tr><td>Tableau 14 : T REFERENTIEL COMMUNE</td><td>XXI</td></tr><tr><td>Tableau 15 : T COMMUNE AAC</td><td>XXI</td></tr><tr><td>Tableau 16 : T_COM_COM</td><td>XXII</td></tr><tr><td>Tableau 17 : T_COM_COM CARTE</td><td>XXII</td></tr><tr><td>Tableau 18 : T_COM_COM CARTE AAC</td><td>XXIII</td></tr><tr><td>Tableau 19 : T CONTACT</td><td>XXVI</td></tr><tr><td>Tableau 20 : T FORMULAIRE</td><td>XXVII</td></tr><tr><td>Tableau 21 : T ACTIONS DESCRIPTION</td><td>XXVIII</td></tr><tr><td>Tableau 22 : N NOMENCLATURE ACTIONS</td><td>XXVIII</td></tr><tr><td>Tableau 23 : T AJOUT ACTIONS</td><td>XXVIII</td></tr><tr><td>Tableau 24 : T SYNDICAT EAU</td><td>XXVIII</td></tr><tr><td>Tableau 25 : T DISTRIBUTION INTEGRALEMENT</td><td>XXIX</td></tr><tr><td>Tableau 26 : T DISTRIBUTION MELANGE</td><td>XXIX</td></tr><tr><td>Tableau 27 : N TRAITEMENT</td><td>XXIX</td></tr><tr><td>Tableau 28 : T POSSESSION TERRE DESCRIPTION</td><td>XXIX</td></tr><tr><td>Tableau 29 : T ACHAT TERRE</td><td>XXX</td></tr><tr><td>Tableau 30 : T AUTRES POLLUTIONS DESCRIPTION</td><td>XXX</td></tr><tr><td>Tableau 31 : N NOMENCLATURE AUTRES POLLUTIONS</td><td>XXX</td></tr><tr><td>Tableau 32 : T ANALYSE DESCRIPTION</td><td>XXX</td></tr><tr><td>Tableau 33 : N PARAMETERS</td><td>XXXI</td></tr><tr><td>Tableau 34 : T VALIDATION</td><td>XXXI</td></tr><tr><td>Tableau 35 : T AERM BSS ESO</td><td>XXXII</td></tr><tr><td>Tableau 36 : T AERM SITE ESO</td><td>XXXIV</td></tr></table>
Les figures

<table><tr><td>Figure 1 : Modèle conceptuel du prototype de la Base de Données DEAUMIN’EAU</td><td>12</td></tr><tr><td>Figure 2 : Représentation simplifiée des tables des données issues de travaux SIG</td><td>XIV</td></tr><tr><td>Figure 3 : Représentation détaillée des tables issues de traitements SIG</td><td>XV</td></tr><tr><td>Figure 4 : Représentation simplifiée des tables renseignées via le formulaire</td><td>XXIV</td></tr><tr><td>Figure 5 : Représentation détaillée des tables en lien avec le formulaire</td><td>XXV</td></tr></table>
# Annexe 5 : Maquette des différents thèmes

## Annexe 5.1 : Maquette des différents thèmes (Distribution de l'eau)

<figure><img src="image_29.png" /></figure>
Annexe 5.2 : Maquette des différents thèmes (autres pollutions)

<figure><img src="image_30.png" /></figure>
# Annexe 5.3 : Maquette des différents thèmes (analyse d'eau)

Accueil

Renseignement du formulaire

Connecté Nom

1 – Distribution de l'eau potable

2 – Autres pollutions

3 – Analyse d'eau

4 – Actions mises en place

5 – Foncier

## Analyse d'eau

Existe-t-il des analyses complémentaires à l'ARS et à l'AERM ? ☐ Oui ☐ Non

Si oui,

<table><thead><tr><th>Quelles sont les structures faisant les analyses ?</th><th>Quelles sont les substances analysées ?</th><th>Quelle est la fréquence des analyses ?</th><th>Les données sont-elles disponibles ?</th><th>Date de début des analyses</th><th>Date de fin des analyses</th></tr></thead><tbody><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

Supprimer la ligne

Ajouter une ligne

Supprimer la ligne

Ajouter une ligne

Transfert des données : ..........

Valider les informations
Annexe 5.4: Maquette des différents thèmes (actions mises en place)

<figure><img src="image_31.png" /></figure>
Annexe 5.5 : Maquette des différents thèmes (foncier)

<figure><img src="image_32.png" /></figure>
<figure><img src="image_33.png" /></figure>

INRA
SCIENCE & IMPACT

<figure><img src="image_34.png" /></figure>

SAD-ASTER-MIRECOURT

MANUEL DE DEVELOPPEMENT AU
PROTOTYPE
DE LA BASE DE DONNEES
DEAUMIN'EAU

DESCRIPTION DE TERRITOIRE (A ENJEUX)
POUR L'ACCOMPAGNEMENT DES ACTEURS ET
LEUR MISE EN RESEAU
SUR LE BASSIN RHIN MEUSE

Version 1.0 – Janvier 2016

Document rédigé par
Yusuf Guner

Dossier suivi par Fabienne Barataud et Amandine Durpoix

INRA UR 055 ASTER (AgroSystèmes - Territoires - Ressources)
662 avenue Louis Buffet F-88500 Mirecourt
03.29.38.55.00
Sommaire

<table><tr><td>I)</td><td>Pré-requis</td><td>XLIV</td></tr><tr><td>II)</td><td>Base de données</td><td>XLV</td></tr><tr><td></td><td>2.1 - Créer une base de données</td><td>XLV</td></tr><tr><td></td><td>2.2 - Ajouter des tables à votre base de données</td><td>XLVI</td></tr><tr><td></td><td>2.3 - Les différentes options pour une table</td><td>XLVII</td></tr><tr><td></td><td>2.4 - Importer/Exporter une table/Base de données</td><td>XLIX</td></tr><tr><td></td><td>2.5 - Ajouter une clé étrangère dans une table</td><td>L</td></tr><tr><td></td><td>2.6 - Concernant les mots de passe</td><td>LI</td></tr><tr><td>III)</td><td>Site web</td><td>LII</td></tr><tr><td></td><td>3.1 - Attribuer une nouvelle page pour un thème précis</td><td>LII</td></tr><tr><td></td><td>3.2 - Créer un fichier avec Eclipse</td><td>LIII</td></tr><tr><td></td><td>3.3 - Balises HTML</td><td>LIV</td></tr><tr><td></td><td>3.3.1 - Commencer une page HTML</td><td>LIV</td></tr><tr><td></td><td>3.3.2 - Insérer un titre en gros</td><td>LV</td></tr><tr><td></td><td>3.3.3 - Formulaire</td><td>LV</td></tr><tr><td>IV)</td><td>Liaison BdD et code PHP</td><td>LVIII</td></tr><tr><td></td><td>4.1 - Connexion à la base de données :</td><td>LVIII</td></tr><tr><td></td><td>4.2 - Manipuler une table :</td><td>LVIII</td></tr><tr><td></td><td>4.3 - Insertion d'élément à la table</td><td>LX</td></tr><tr><td>V)</td><td>Une petite astuce pour Eclipse</td><td>LXII</td></tr></table>
## I) Pré-requis

Avoir installé tous ces logiciels :

- WampServer : www.wampserver.com/

- WampServer est l'outil qui recueille tous les éléments nécessaires pour la programmation en PHP. Il est composé de

- Apache : Serveur permettant d'interpréter le code PHP.

- MySQL : Base de données

- PHP : Les fichiers sources pour la programmation en PHP

- Eclipse PHP : https://eclipse.org/pdt/

- Eclipse est un outil intelligent qui nous permet de programmer le site en PHP. Il est capable de détecter les erreurs de syntaxe (les points-virgules à chaque fin de ligne par exemple), lorsqu'il manque des informations à entrer une fonction.

Pour se rendre dans la base de données, il faut :

- Exécuter WampServer :

<figure><img src="image_35.png" /></figure>

- Attendre que le logo W passe au vert comme ceci :

<figure><img src="image_36.png" /></figure>

- Faire un clic gauche sur le logo W vert et cliquer sur PhpMyAdmin :

<figure><img src="image_37.png" /></figure>

- Une autre solution :

- si le logo W est vert vous pouvez vous rendre avec le navigateur internet en tapant directement :

- localhost/phpmyadmin
## II) Base de données

### 2.1 - Créer une base de données

- Ce que vous voyez :

<figure><img src="image_38.png" /></figure>

o En haut à gauche, il s'agit des différentes bases de données existantes + l'interface de MySQL (à ne pas supprimer !)

o En haut au centre, il s'agit des différentes actions possibles à effectuer avec la base de données.

o A droite, nous avons les différentes versions des serveurs de BD, de PhpMyAdmin, et du serveur web.

- Pour créer une base de données :

o Il suffit de cliquer sur « Nouvelle base de données ».

<figure><img src="image_39.png" /></figure>

o Entrer le nom de la base de données et cliquer sur Créer comme ci-dessous :

o Votre nouvelle base de données est créée !
## 2.2 - Ajouter des tables à votre base de données

- Votre table apparaît à gauche comme suit :

<figure><img src="image_40.png" /></figure>

- Cliquer dessus, ceci apparait :

<figure><img src="image_41.png" /></figure>

- Entrer le nom de la table ;

- Entrer le nombre de variable dans la table ;

- Cliquer sur Exécuter

- 1ère partie :

<figure><img src="image_42.png" /></figure>

- Compléter :

- 1. Le nom de la variable

- 2. Le type de la variable (voir juste en dessous)

- 3. La taille maximale de la variable

- Pour les différents types de variables, voilà à quoi la plupart des structures utilisées correspondent :

- INT : entier ;

- VARCHAR : chaine de caractères ;

- BLOB : fichier binaire ;

- DATE : date ;

- DECIMAL : réel simple.

- BIGINT : entier long

- 2ème partie :

- Compléter :
* L'index (clé primaire, variable unique, ou un index (une contrainte pour clé étrangère))

* Si la variable est Auto Incrément : il s'agit d'une variable qui s'incrément tout seul à chaque insertion de valeurs dans la table. Il est souvent utilisé par les ID (clé primaire)

## 2.3 - Les différentes options pour une table

- Voici les différentes options possibles :

<figure><img src="image_43.png" /></figure>

- En cliquant sur *Afficher*, vous pouvez afficher le contenu de la table ;

- En cliquant sur *Structure*, cela permet de voir les variables de la table :

<figure><img src="image_44.png" /></figure>

* On peut :

* Modifier la structure d'une variable (modifier le(s) champ(s) nécessaire(s))

<figure><img src="image_45.png" /></figure>

* Supprimer une variable

* Ajouter une clé primaire

* Indiquer que la variable est unique

* Et indiquer un index

* On peut aussi cocher les cases à gauche, pour une multi sélection.

- En cliquant sur *Rechercher*, on peut effectuer des recherches approfondies dans la table.

<figure><img src="image_46.png" /></figure>

* Plusieurs opérations sont possibles :
* Tester si une valeur est (dans l'ordre) :

* Egale

* Supérieur

* Supérieur ou égale

* Inférieur

* Inférieur ou égale

* Différent

* Les opérateurs LIKE, NOT LIKE sont des opérateurs d'égalité strictement réservé aux chaines de type texte. Sa particularité est de pouvoir comparer des valeurs à un masque composé de caractères de substitution.

* Les opérateurs IN et NOT IN permettent de déterminer si la valeur d'une expression est égale à l'une des valeurs comprises dans une liste donnée.

* Les opérateurs BETWEEN et NOT BETWEEN permettent de connaître les valeurs comprises en 2 fourchettes de valeurs.

- En cliquant sur **Insérer**, vous pouvez insérer des éléments dans la table, voyons un exemple :

<figure><img src="image_47.png" /></figure>

* Il faut remplir les cases

* Note : si vous vous voulez ajouter plusieurs valeurs dans la même table, il va falloir se rendre en bas comme ci-dessous. Choisir le nombre de ligne à afficher.

<figure><img src="image_48.png" /></figure>

* Attention : Vous ne pouvez pas ajouter plus de 40 lignes dans la table en une seule fois.

* Si vous ne voulez pas ajouter toutes les lignes, il va falloir cocher les cases *Ignorer* et *laisser les champs vides*.
## 2.4 - Importer/Exporter une table/Base de données

- Exporter :

- Veuillez cliquer sur la table ou la BD à exporter ;

- Rendez-vous sur l'onglet Exporter au centre en haut de la page ;

- Sélectionner le format d'exportation et cliquer sur **Exécuter**.

### Exportation des tables depuis la base de données «basededonnee»

**Méthode d'exportation :**

* Rapide - n'afficher qu'un minimum d'options

* Personnalisée - afficher toutes les options possibles

**Format :**

<figure><img src="image_49.png" /></figure>

- Importer :

- Veuillez cliquer sur le nom de la table en premier lieu et ensuite cliquer sur **Importer**;

- Sélectionner le fichier avec un format correct (.SQL, .CSV);

### Importation dans la table «n_nomenclature_actions»

**Fichier à importer :**

Le fichier peut être comprimé (gzip, bzip2, zip) ou non.

Le nom du fichier comprimé doit se terminer par **.[format].[compression]**. Exemple: **.sql.zip**

Parcourir : **Choisissez un fichier** Aucun fichier choisi (Taille maximum: 128Mio)

Jeu de caractères du fichier : **utf-8**

**Importation partielle :**

☑ Permettre l'interruption de l'importation si la limite de temps configurée dans PHP est sur le point d'être atteinte. (Ceci pourrait aider à importer des fichiers volumineux, au détriment du respect des transactions.)

Ignorer ce nombre de requêtes (pour SQL) ou de lignes (autres formats), à partir du début : **0**

**Format :**

<figure><img src="image_50.png" /></figure>

**Options spécifiques au format :**

Mode de compatibilité SQL : **NONE**

☑ Ne pas utiliser AUTO_INCREMENT pour la valeur zéro

**Exécuter**

Cliquez sur Choisissez un fichier
o Veuillez choisir le fichier à importer en cliquant sur Choisissez un fichier

### Importation partielle :

☑ Permettre l'interruption de l'importation si la limite de temps configurée dans PHP est sur le point d'être atteinte. (Ceci pourrait aider à importer des fichiers volumineux, au détriment du respect des transactions.)

Ignorer ce nombre de requêtes (pour SQL) ou de lignes (autres formats), à partir du début :

<figure><img src="image_51.png" /></figure>

### Format :

<figure><img src="image_52.png" /></figure>

Note : si le fichier contient plusieurs tables, elles seront combinées.

### Options spécifiques au format :

☐ Remplacer les données de la table avec le fichier

<figure><img src="image_53.png" /></figure>

Colonnes séparées par :

<figure><img src="image_54.png" /></figure>

Caractère d'échappement :

<figure><img src="image_55.png" /></figure>

Lignes terminées par :

<figure><img src="image_56.png" /></figure>

Nom des colonnes :

<figure><img src="image_57.png" /></figure>

☐ Ne pas arrêter l'importation lors d'une erreur d'énoncé INSERT

<figure><img src="image_58.png" /></figure>

Vérifiez bien que la mention ici soit un point-virgule et non une simple virgule /!\

Exécuter

o Après l'avoir fait, mettez un point-virgule au lieu d'une simple virgule comme indiqué dans la photo ci-dessus.

o Cliquer sur Exécuter

## 2.5 - Ajouter une clé étrangère dans une table

- Rendez-vous dans la table où vous voulez faire votre ajout (cliquer sur Structure)

<figure><img src="image_59.png" /></figure>

- Cocher le(s) clé(s) étrangère(s) de la table

<figure><img src="image_60.png" /></figure>

1. Définir un index sur la variable (cliquer sur Index sur la/les variable(s) concernées)

<figure><img src="image_61.png" /></figure>

Version imprimable

<figure><img src="image_62.png" /></figure>

Vue relationnelle

<figure><img src="image_63.png" /></figure>

Suggérer des optimisations de structure

<figure><img src="image_64.png" /></figure>

Déplacer des colonnes

2. Cocher les cases des variables concernées (il peut y en avoir une ou plusieurs)

3. Cliquer sur Vue Relationnel

o Un index revient à créer une contrainte pour faire la liaison entre deux tables
- Ensuite, ceci apparaît :

<figure><img src="image_65.png" /></figure>

- En premier lieu, choisir la base de données (en général, il s'agit de la même BD)

- Après, choisissez la table

- Choisissez la variable de l'autre table pour effectuer la liaison entre elles

- Ajouter un nom à une contrainte (sur SQLTools [oracle], on désigne une contrainte de clé étrangère par `FK_NomDeLaContrainte` {FK signifiant Foreign Key, soit clé étrangère})

- Vous pouvez des choisir des opérations à effectuer en cas de mise à jour des valeurs ou des suppressions.

- Pour terminer, cliquer sur Sauvegarder.

- Si l'opération s'est bien passée, en retournant dans la vue relationnelle, vous verrez les champs remplies avec le nom de la table concernée et la nom de la variable liée.

## 2.6 – Concernant les mots de passe

Les mots de passes doivent absolument être cryptés. On ne peut pas les laisser en clair parce qu'une intrusion pourrait engendrer un problème de vol d'identité. C'est pourquoi, un générateur de mot de passe a été prévu à cette effet, il est disponible sur ce lien :

http://localhost/mdl.php

- En premier lieu, il faut se rendre sur ce site (ayant le logo WampServer en vert)

- Vous pouvez apercevoir cette page :

<figure><img src="image_66.png" /></figure>

- Entrez mot de passe à hasher et cliquer sur Valider !

- Vous obtenez ceci :

<figure><img src="image_67.png" /></figure>

password : mot de passe

hashed password : $2y$12$wuv70CAZvKsYd2GMKIPm1.9KShZNjtR.hjsg7T3rzy4oI/YzHkEYS

- Il suffit de copier le mot de passe hashé dans l'insertion de la table `T_CONTACT` et dans la variable mot de passe.
### III) Site web

#### 3.1 - Attribuer une nouvelle page pour un thème précis

Cette partie traite sur la manière de créer une nouvelle page avec la réécriture d'URL.

Cette étape est importante parce qu'à la base, le serveur ne comprend uniquement les fichiers PHP. Par exemple : créer un site dédié pour la mention contact, il faudra que la page se voit comme tel sur la barre d'adresse (en local) : localhost/site/contact. Or si nous devions travailler sans la réécriture d'URL, le site serait affiché (en local) : localhost/site/contact.php. L'extension .php nous gêne, ce n'est pas très professionnel.

Pour éviter ceci :

- Cliquer sur Eclipse :

<figure><img src="image_68.png" /></figure>

- Eclipse se charge, ceci s'affiche :

<figure><img src="image_69.png" /></figure>

- Cliquer sur OK, le workspace est l'espace de travail où se situe le projet crée auparavant.

- Ceci s'affiche

<figure><img src="image_70.png" /></figure>

- Cliquer sur le fichier index.php

- Faire un copier de ceci et le coller dans le fichier index.php:

```php
$app->get('/NomDeLaPageSouhaitee', function () use ($control) {
    $control->headerConnecte();
    $control->nav();
    $control->NomDeLaPageSouhaitee();
});
```
Il faut modifier ce qu'il y a en rouge par le nom de la page que vous souhaitez. HeaderConnecte est la barre d'adresse en bleu qui indique le compte connecté et pour nav, il s'agit de la barre de navigation à gauche pour passer d'un formulaire à un autre.

Ensuite rendez-vous sur le dossier app/control et cliquer sur SiteController.

SiteController est le contrôleur principal, il va dicter les rôles pour chaque partie (une partie insertion dans la base de données/exécuter une requête). Le contrôleur va renvoyer l'affichage du site à la vue. Ajouter cette mention dans le fichier SiteController :

```php
public function NomDeLaPageSouhaitee() {
    $this->vue->NomDeLaPageSouhaitee();
}
```

Après avoir fait ceci, rendez-vous dans le dossier app/views et cliquer sur VueSite. Le fichier VueSite sert à afficher tous les éléments du site pour une page. Ajouter cette mention au site web :

```php
public function NomDeLaPageSouhaitee() {
    $this->app->render('NomDeLaPageSouhaitee.php');
}
```

Il faut modifier ce qu'il y a en rouge par le nom de la page que vous souhaitez. La fonction render renvoie au dossier templates. C'est ici que tous les formulaires, la page contact, et les autres se trouvent. Si le site est enregistré dans le dossier formulaire, il faut mettre la mention : formulaires/NomDeLaPageSouhaitee.php dans la fonction render.

<figure><img src="image_71.png" /></figure>

## 3.2 - Créer un fichier avec Eclipse

Pour créer un formulaire, rendez-vous dans le dossier templates/formulaires.
- Faire un clic droit sur le dossier *formulaires* et cliquer sur *New* et *PHP File*

<figure><img src="image_72.png" /></figure>

- Attribuer un nom au fichier et cliquer sur *Finish*.

<figure><img src="image_73.png" /></figure>

## 3.3 - Balises HTML

### 3.3.1 - Commencer une page HTML

Chaque page commence par des balises :

```
#!/\ Chaque balise doit être refermée à la fin
```

`<html>`

`<body>`

`<!— Contenu de la page -->`

` <!-- Voici le moyen pour faire taper un commentaire en HTML (ci-dessus) --> `

`</body>`

`</html>`
### 3.3.2 - Insérer un titre en gros

#### 1) Insérer un titre au centre de la page :

La balise `<center></center>` permet de centrer un texte automatiquement.

Et l'on va ajouter la mention `<h1></h1>`. Cela va ajouter un titre en gros et en gras.

Donc au final on a :

```
<center><h1>Mon titre en gros</h1></center>
```

Voici le résultat : [BASILIC\homebas\yguner\html\ titre.html](#) (appuyer sur Ctrl en cliquant en même temps)

#### 2) On va ajouter de la couleur au titre :

On a juste à remplacer `rgb` par une valeur ou directement le nom d'une couleur (tapé en anglais)

```
<center><h1 style="color: rgb(155, 187, 89)"></h1></center>
```

Voici le résultat : [BASILIC\homebas\yguner\html\ couleur\ titre.html](#) (appuyer sur Ctrl en cliquant en même temps)

#### 3) Souligner et mettre en italique

Il suffit d'ajouter les balises `<b></b>` (signifiant bold, soit gras), `<u></u>` (signifiant underline, soit souligner) et `<i></i>` comme italique

```
<center><h1 style="color: rgb(155, 187, 89)"><b><u><i>Mon titre centré en gras et en couleur</i></u></b></h1></center>
```

Voici le résultat : [BASILIC\homebas\yguner\html\ titre\ souligne.html](#) (appuyer sur Ctrl en cliquant en même temps)

### 3.3.3 – Formulaire

#### 3.3.3.1 – Ajouter un formulaire

D'abord on va créer une div prenant toute la surface restante de la page (il faut en compte la bar de navigation à gauche).

Au début du code, il va falloir intégrer du code PHP parce que c'est la seule manière de rendre le site dynamique ; si l'on devait utiliser uniquement les balises HTML, cela ne nous permettrait pas de créer un site dynamique mais statique. Recopier ce code en tout début de page.

```
<?php
.app = \Slim\Slim::getInstance();
```
$nomDeLaPage = $app->request()->getRootUri() . '/NomDeLaPage';

/*Il s'agit du lien de redirection pour que l'ajout dans la base de donnée s'effectue*/

/* Modifier les mentions nomDeLaPage */

?

<div class="col-md-10">

<form method="post" action="<?php echo $nomDeLaPage;?>">

<!-- (echo signifie afficher) Insérer le code avec la variable $nomDeLaPage (changer le nom de la variable). Lorsque l'utilisateur va valider le formulaire, la page va être redirigée vers une autre pour que l'opération d'insertion dans la base de données s'effectue -->

<!--—insérer le titre de la page ici (partie 1 à 3 précédemment) -->

</form>

</div>

### 3.3.3.2 – Les différents éléments de saisies

- Pour un champ de formulaire :
  <input type="text" name=""/>

Voici le résultat : [BASILIC\homebas\vguner\html\champ_saisie.html](http://BASILIC\homebas\vguner\html\champ_saisie.html) (appuyer sur Ctrl en cliquant en même temps)

### /!\ La mention name est très importante, c'est cela qui va nous permettre de récupérer la valeur et l'intégrer dans la base de données.

- Liste déroulante :

- <select name="choix">

- <option value="choix1">Choix 1</option>

- <option value="choix2">Choix 2</option>

- <option value="choix3">Choix 3</option>

- <option value="choix4">Choix 4</option>

- </select>

On pourra récupérer la valeur choix contenu dans la balise select. La mention value est la valeur qui va être ajouté dans la base de données.

Voici le résultat : [BASILIC\homebas\vguner\html\liste_deroulante.html](http://BASILIC\homebas\vguner\html\liste_deroulante.html) (appuyer sur Ctrl en cliquant en même temps)

- Oui/non
<input type="radio" name=" " " value="oui" />

<input type="radio" name=" " " value="non" />

Voici un exemple : \\BASILIC\homebas\yguner\html\radio_button.html

- Bouton valider :

<center><button type="submit" class="btn btn success.btn LG">Valider</button></center>

Valider

- Mise en page

Il suffit de reprendre les éléments ci-dessus (tableau, champ de saisie).

Ajouter la mention class= «» et ajouter à l'endroit voulu.

Toutes formes de mises en page sont disponibles ici :

https://getbootstrap.com/examples/grid/

Note : il faut retirer le point se trouvant en début.

Exemple : Ajouter un paragraphe complètement à droite

<div class="col-sm-5 .col-md-6">
</div>
<div class="col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0">
<p>Voici du texte HTML</p>
</div>

- Création d'un tableau en HTML

<table class="table table-bordered" style="width: 100%">
  <thead>
    <tr>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>
<th></th>
</tr>
</tbody>
</table>

Voici le résultat : [http://BASILIC\homebas\yguner\html\tableau.html](http://BASILIC\homebas\yguner\html\tableau.html)

Il n'y a pas la ligne qui délimite le tableau, c'est normal ; la ligne est intégré lors de la création dans le projet.

La balise table indique le début du tableau.

La balise thead est la première ligne avec les titres

La balise tr est une ligne, plus il y a de balises tr, plus il y aura de lignes.

La balise th est le contenu d'une case.

## IV) Liaison BdD et code PHP

### 4.1 - Connexion à la base de données :

* Aucun besoin d'y toucher, il est déjà fait, il suffit de le faire une fois pour que tout le projet soit connecté à la BdD.

### 4.2 - Manipuler une table :

Pour manipuler une table, il va falloir modéliser la table en un fichier PHP.

- Se rendre dans le dossier app/model.

- Faire clique-droit sur le dossier model et créer un fichier (cf. Partie 3.2)

- Le nom du fichier est extrêmement important (dans le dossier app):

* Il faut que cela commence par une majuscule

* Pas de `--`, `__`, `.` ou quoique ce soit.

* S'il y a plusieurs mots dans le nom du fichier, mettez une majuscule à chaque début de mot.

* Exemple :

* Pour la table `t_distribution_integralement`

* `=> DistributionIntegralement.php`

* Il faut que le fichier contienne quelques éléments pour pouvoir exécuter une requête SQL.

* Voici corps du fichier :

```php
<?php
namespace src\app\model;
use Illuminate\Database\Eloquent\Model;

//Il faut que le nom du fichier soit identique au nom situé après
// class
class NomDuFichierCrée extends Model
{
```
```php
protected $table = 'table';
//mettre le nom de la table telle qu'elle est dans la BdD
protected $primaryKey = 'clé_primaire';
//mettre une clé primaire
/*!\n On peut mettre une seule variable, il est conseillé de
mettre une variable ID entier long, clé primaire et auto-
incrément */
public $ timestamps = false;
//Ne pas toucher à cette variable

/* Il s'agit d'une fonction permettant de faire la liaison
entre les tables */
/* exemple : la table 'table' possède une variable étant clé
étrangère dans la table tContact */
public function tContact() {
    return $this->hasMany('TContact');
}

/* la table 'table' possède une clé étrangère étant clé
primaire dans la table tContact */
public function tContact() {
    return $this->belongsTo('TContact');
}
}
```

Grâce au fichier PHP crée, les requêtes sont déjà tapées sous forme de fonction. Par exemple :

* All() : afficher tous les éléments de la table

* Where('attribut de la table', 'operation', 'données à trouver')

* Exemple :

* Je cherche l'utilisateur INRA :

* Contact (nom du fichier correspondant à la table tContact);

* Contact::where('structure', 'égé', 'inra')

* La fonction tape manuellement serait : SELECT *
      from tContact where structure='inra';

* La requête va retourner toute la ligne avec les
 attributs correspondant à la recherche.

* WhereIn('nom de la variable', 'recherche concernant la ligne à modifier')->update(['nom de la variable à modifier' => 'valeur à ajouter dans la BdD'])

* Exemple :

* Formulaire::whereIn('ID_AAC',
    '$_SESSION['STRUCTURE']')-
    >update(['DATE CREATION' => '18/01/2016']) ;

* Ici j'exécute la requête qui va modifier la valeur de la
    date de création pour l'ID_AAC=00000. $_SESSION est
    une variable PHP qui permet d'utiliser les entrées pour
    la connexion (l'utilisateur entre le nom de la structure,
le mot de passe et l'ID_AAC => cette variable permet de les sauvegarder et l'utiliser à bon escient comme dans ce cas précis par exemple).

Détail important :

```
#!/\ Afin de respecter l'uniformisation du code, un contrôleur appelé
RequestController est fait pour exécuter les requêtes.
```

Pour appeler le fichier RequestController, il suffit de taper :

```
$controlRequest = new src\app\control\RequestController();
```

Et écrire la fonction qui va avec dans le fichier RequestController, voici un exemple:

```php
public function findUserByStructure($str) {
    $user = Contact::where( 'structure', equals, $str)->get();
    return ($user->toArray());
}
```

Et voici un exemple d'exécution :

```
$users = $controlRequest->findUserByStructure('inra');
```

```
Echo $user[0]['ID_AAC']; /*on affiche l'ID_AAC pour la première ligne retourné ; resultat = 00000*/
```

Pour parcourir toutes les lignes, il suffit de taper :

```php
foreach($users as $user) {
    Echo $user['ID_AAC'];
}
```

## 4.3 - Insertion d'élément à la table

Pour faire ceci un contrôleur a été prévu à cet effet, il s'agit d'InsertionController. De plus, comme les requêtes, nous devons passer par le contrôleur central qui est SiteController.

Pour l'appeler, il suffit d'écrire dans le fichier SiteController.php :

```php
$controlInsert = new src\app\control\InsertionController();

$controlInsert->formDistribution();

//ici on fait l'insertion du formulaire de distribution de l'eau.
```

On utilise le fichier RequestController dans l'index uniquement.

Pour l'ajout, il faut créer (dans le fichier index.php) :

```php
$app->post( '/validDistri', function () use ($control) {
    $control->saisieDistribution();
} );
```
Voici un exemple. Il s'agit d'une page redirigée à la validation du formulaire. A la redirection de la page l'insertion s'effectue. Si cela ne fonctionne pas bien, le framework Slim marquera une erreur. Pour effectuer cette operation il faut copier ce qu'il y a marqué en rouge et le copier en bas de la page index.php mais il faut qu'il soit situé au-dessus de cette ligne :

```php
$app->run();
```

Pour créer une insertion, rendez-vous dans le fichier SiteController.php (situé dans le dossier src\app\control) et taper ces lignes :

```php
public function saisieDistribution() {
    $this->controlInsert->formDistributionEau();
}
```

Il faut remplacer ce qu'il y a en rouge. Par contre, faites attention, cette ligne :

```php
'$this->controlInsert->formDistributionEau();'
```

Sera l'élément qu'il faudra écrire dans le fichier InsertionController.php car la variable $controlInsert renvoie à ce fichier.

Après avoir effectué cette action, rendez-vous sur le fichier InsertionController.php qui se situe dans le même dossier.

Et il faut taper :

Ici je vais l'insertion des syndicats d'eau

```php
public function formDistributionEau() {
    $syndicatEau = new src\app\model\SyndicatEau();
    //On fait appelle à la table concernée
    $syndicatEau->NOM_DE_LA_VARIABLE = '';
    /* on insère un élément que l'on souhaite dans la table
     Il faut préciser le nom de la variable telle qu'elle est dans
     La base de données */
    /*Pour récupérer la valeur entrée par l'utilisateur, il faut
     utiliser la variable PHP $_POST['']
     Et mettre à l'intérieur des guillemets la variable de la
     mention 'name' se trouvant dans la balise input*/
    /* Par exemple : on a un champ se saisie définit comme ceci :
     <input type='text' name='syndicat'>
     Pour récupérer la valeur qui a été saisie, il faudra cette
     variable $_POST['syndicat']*/
    $syndicatEau->save();
    /* la fonction save() permet l'ajout, s'il n'est pas ajouté,
     aucun ajout ne se fera */
}
```
## V) Une petite astuce pour Eclipse

Pour que le code soit indenté, propre, il y a un raccourci clavier sur Eclipse qui permet de le faire automatiquement, il suffit de maintenir `Ctrl+Shift+F`.
# FICHE RAPPORT DESTINEE A LA BIBLIOTHEQUE

(À insérer à la fin du rapport)

## RAPPORT CONFIDENTIEL ET NE DEVANT PAS FIGURER A LA BIBLIOTHEQUE :

<figure><img src="image_74.png" /></figure>

Oui

<figure><img src="image_75.png" /></figure>

Non

## NOM ET PRENOM DE L'ETUDIANT : GUNER Yusuf

## DUT : INFORMATIQUE

<figure><img src="image_76.png" /></figure>

S4

X S4 bis

<figure><img src="image_77.png" /></figure>

Année Spéciale/AETP

## LICENCE PROFESSIONNELLE

<figure><img src="image_78.png" /></figure>

ASRALL

<figure><img src="image_79.png" /></figure>

CISII

## TITRE DU RAPPORT : Création d'un prototype d'une base de données sur les Aires d'Alimentation de Captage

## Nom de l'Entreprise : Institut National de la Recherche Agronomique - ASTER

## Adresse : 662 Avenue Louis Buffet 88500 Mirecourt

## Type d'activité (domaines couverts par l'entreprise) : Agronomie, Agriculture

## Nom du parrain (enseignant IUT) : MARI Jean-François

## Mots-clés (sujets traités) : SGBD ; base de données ; captage d'eau ; web ; PHP ; JavaScript ; js

## Résumé

Créer une base de données multicritères dynamique en utilisant des données relatives à des aires d'alimentation de captage d'eau. Les données utilisées ont trois sources, à savoir des données issues de travaux SIG, des données propres à cette Base de Données et des données à distances.