Projet:Communes de France/Mise à jour automatique des données démographiques/Projet

Pour les impatients, voir Commune test.

Rappel : la page de discussion est ouverte à toutes les intervention (constructives, évidemment).

Le projet modifier

Ce projet a pour objectif de faciliter l'insertion de tableaux ou graphiques sur les articles concernant les communes de France. Un modèle wiki simple d'emploi doit permettre d'insérer un tableau un graphique sans avoir à se soucier d'entrer des données.

Il s'agit donc d'éviter les saisies manuelles qui sont fastidieuses et sources d'erreur.

Le domaine concerné est le suivant :

  • les articles sur les 36 000 communes de France ;
  • les données démographiques de base.

(Ce domaine peut-être appelé à évoluer.)

Le projet s'articule en deux phases : 1. l'importation des données dans des pages de WP ; 2. l'utilisation de ces données dans les articles.

L'importation des données modifier

Interroger depuis Wikipédia des bases de données externes nécessiterait la programmation d'une extension spécifique qui devrait être mise en production par la fondation Wikimédia. Si ce choix n'est pas à exlcure à l'avenir, il a été décidé d'importer les données dans Wikipédia.

Ces données sont issues de bases de données accessibles au public. Elles doivent être importées sous Wikipédia par un bot.

Aspect légal modifier

Ce paragraphe reproduit en partie les informations obtenues sur WP:Legifer. Voir Wikipédia:Legifer/octobre 2011#Utilisation_massive_et_automatisée_de_données_INSEE.

Voici l'analyse de la situation par Biem (d · c) :

« les données de l'INSEE et de Cassini accessibles en ligne proviennent de toute évidence d'une base de données, régies (en France) par les articles L341-1 à L343-7 du code de la propriété intellectuelle. Comme ces articles sont la transcription en droit national d'accords internationaux (GATT, Cycle d'Uruguay) la législation sera sensiblement la même quel que soit le pays civilisé.

  • La loi est que « Le producteur de bases de données a le droit d'interdire : 1° L'extraction, par transfert permanent ou temporaire de la totalité ou d'une partie qualitativement ou quantitativement substantielle du contenu d'une base de données sur un autre support, par tout moyen et sous toute forme que ce soit ; [...] » (Article L342-1 CPI). Donc, si l'INSEE ou Cassini décident d'interdire une telle reproduction, ils en ont le droit, et il faut le respecter.
  • Ce que la loi dit aussi, c'est que « Lorsqu'une base de données est mise à la disposition du public par le titulaire des droits, celui-ci ne peut interdire : 1° L'extraction ou la réutilisation d'une partie non substantielle, appréciée de façon qualitative ou quantitative, du contenu de la base, par la personne qui y a licitement accès [...]  » (Article L342-3 CPI). »

La suggestion de Biem est la suivante :

« :* Dans un premier temps, charger les données sur une petite fraction de la base INSEE - les communes commençant par la même lettre, pour avoir un échantillon sur toutes les tailles (ou n'importe quoi d'équivalent). C'est légal, même en cas d'interdiction manifestée de recopie, c'est la loi, donc pas de problème. Mettre en forme ces données avec le modèle qui va bien, et rappeler dans le tableau résultant (via le modèle) que ces données sont issues du site de l'INSEE, avec le lien correspondant (et des mentions flatteuses pour faire plaisir si nécessaire, histoire de bien montrer qu'on est de bonne volonté ^_^).

  • A ce stade, envoyer un mèl à l'INSEE pour leur signaler la chose, et leur demander s'ils ont des observations ou des suggestions ; et s'ils ne voient pas de problème à ce que l'intégralité de leur base soit ainsi téléchargée, ainsi que d'éventuelles mises à jour régulières, et surtout s'ils sont d'accord d'envoyer un mèl de confirmation à OTRS.
  • Une fois que le mèl OTRS a été reçu, autorisant la recopie massive et les mises à jour ultérieure, il ne peut plus y avoir de problème juridique tant que l'autorisation n'est pas révoquée (ce qui reste toujours possible, mais est en pratique très improbable).
  • S'ils ne répondent pas, la recopie massive est théoriquement légale, mais juridiquement reste un peu risquée - je suggère dans ce cas de mettre dans le modèle que l'INSEE n'interdit pas la recopie de ses données, avec lien sur une copie d'archive de leur page de "mentions légales" ; s'ils protestent ce sera l'occasion de discuter et de mettre à plat la situation. »

Cette suggestion, qui vaut pour l'INSEE, peut également être valable pour Cassini.

Aspects techniques modifier

Un bot insère les données récupérées depuis les bases dans des sous-pages de l'espace "Modèle".

Les pages de données modifier

Le choix d'utiliser des sous-pages a été fait afin de ne pas polluer l'espace "Modèle". Leur nommage répond à la convention suivante :

Modèle:Données/<Nom de la page concernée>/<nature des données>.

Par exemple, pour des données concernant l'évolution de la population d'Antony, le stockage se fera dans la page Modèle:Données/Antony/évolution population.

Ce système de nommage est suffisamment souple pour gérer plusieurs types de données pour un article et pour s'appliquer à d'autres domaines que les communes de France.

Le format de stockage modifier

Les données sont stockées dans un modèle selon la technique suivante : le modèle prend en argument le paramètre souhaité et renvoie la valeur de ce paramètre.

Techniquement, il s'agit d'un #switch sur l'argument qui est comparé à chaque paramètre de la manière suivante :

{{#switch:{{{1|}}}
|param1=valeur1
...
|#default=}}

Les données à insérer modifier

Les données requises pour les tableaux et les graphiques sur l'évolution de la population :

  • nom : le nom de la commune (utile lorsqu'il y a parenthèses d'homonymie) ;
  • ann : la nième année ;
  • popn : la population de la nième année ;
  • max : la population maximum (pour le graphique) ;
  • nombre : le nombre de couples année/population utilisés ;
  • sourcei (i variant de 1 à 3) : les sources des données ;

La construction des pages de données modifier

Ces pages sont construites par un programme PHP soàus forme de chaînes de caractères, puis introduites à la volée par le bot.

L'utilisation des données modifier

Le principe est de laisser le contributeur se concentrer sur la rédaction de l'article. Il doit suffire d'insérer un modèle pour que le tableau ou graphique apparaissent automatiquement.

Les modèles à insérer sont :

Aspects techniques modifier

Le choix a été fait de découpler l'utilisation des données en deux étapes : la première consiste à utiliser un modèle existant ou à développer un modèle qui prend l'ensemble des données en argument ; la seconde consiste à créer un modèle enveloppe qui appelle le modèle précédent en lui transmettant les données issues des pages de données. C'est ce modèle enveloppe qui doit être utilisé dans l'article.

Par exemple, dans le cas du modèle {{Tableau population commune}}, il est fait appel au modèle préexistant {{Démographie}} (préalablement mis à jour et adapté aux besoins du projet). Le modèle {{Tableau population commune}} transmet au modèle {{Démographie}} les données de la sous-page Modèle:Données/<nom commune>/évolution population. Lorsque ce modèle est inséré dans la page d'une commune, la sous-page adéquate est appelée et le tableau construit dynamiquement.

Liens internes modifier

Les contributeurs :

La page de discussion est ouverte.