Modèle de données ================= ![Modèle de données](images/models.png "Modèle de données") La partie métier du programme est découpée en deux modules : - `commorganization` : regroupant les données concernant les structures interrogées ; - `commcrawler` : regroupant les données concernant les sessions d'indexation. commorganization ---------------- Ce module est centré sur le modèle `Organisation`. À celui-ci est rattaché un `Type d'organisation` (exemple : Commune, Université, Média, etc.) et éventuellement une `Zone`. La `Zone` est à entendre comme entité géographique, les `Types de zone` reprennent de fait certains types d'organisation (Commune, EPCI) mais ce découpage permet de regrouper les organisations qui partagent une même zone géographique. Chaque `Organisation` est associée à une ou plusieurs `Cibles`. Ces `Cibles` sont les adresses Internet qui seront effectivement parcourues. Une même `Organisation` peut donc avoir plusieurs adresses associées. commcrawler ----------- Ce module permet de stocker les éléments collectés lors des `Sessions d'indexation`. Une `Session d'indexation` est associées à plusieurs `Cibles`. Ainsi il est possible de lancer des `Sessions d'indexation` en ne prenant en compte qu'un sous-ensemble des `Cibles` définies. À chaque `Session d'indexation` sont aussi associés des `Résultats d'indexation`. Cette table reprend le décompte des éléments qui nous intéressent pour chaque `Cible` ainsi que tous les `Liens` rencontrés. Cette collecte exhaustive de `Liens` rencontrés permet a posteriori d'établir les éventuelles `Relations` entre les structures mais permet aussi éventuellement d'identifier des nouvelles structures à intégrer à l'étude. La table `Domaine exclu` est à remplir avec les domaines "parking" et domaines des hébergeurs pour identifier rapidement les sites aux domaines non renouvellés (ils sont alors considérés comme hors ligne).