Le robot de collecte de Civiceye
Civiceye rend les décisions, les projets et les finances des communes suisses plus faciles à consulter. Les informations viennent des sites officiels des communes, recueillies par un robot qui s'annonce ainsi :
Civiceye/0.1 (+https://www.civiceye.ch/bot/; crawler@civiceye.ch)Ce qu'il consulte
- Les pages publiques des communes qui listent les préavis et les rapports, et les documents qui y sont publiés (PDF). Aucune page protégée, aucun formulaire, aucune connexion.
- Les données géographiques fédérales de geo.admin.ch (cadastre, adresses, noms de lieux), pour situer sur une carte les lieux cités dans les documents.
- La liste des communes de l'Office fédéral de la statistique et les sites officiels des communes inscrits dans Wikidata : une requête à chacune de ces deux interfaces de données ouvertes, les limites des communes publiées par l'OFS sur data.geo.admin.ch et ses statistiques communales sur stats.swiss (population, logements, véhicules…), pour la page Toutes les communes et sa carte.
- La page d'accueil de chaque commune, une seule fois, pour savoir avec quel outil son site est fait et où se trouvent les pages du Conseil : c'est ainsi que Civiceye choisit les communes à ajouter. Les sites d'un même hébergeur sont consultés l'un après l'autre.
Comment il se comporte
- Il respecte le fichier
robots.txtde chaque site, sauf les exceptions décrites ci-dessous. - Il fait une requête à la fois, au plus une par seconde ; au rythme demandé par le
robots.txtdu site s'il en donne un (Crawl-delay) ; et au plus une toutes les 10 secondes pour ce que lerobots.txtinterdit, dans les exceptions décrites ci-dessous. - Chaque document n'est téléchargé qu'une fois et conservé. Les documents déjà connus ne sont vérifiés qu'environ une fois par mois, les documents anciens environ une fois par an, par des requêtes conditionnelles (
If-None-Match,If-Modified-Since) : un document inchangé n'est pas téléchargé à nouveau. Quand une page de la commune change, ses documents sont vérifiés aussitôt. - Les collectes sont lancées à la main, commune par commune.
Exceptions à robots.txt
Les règles écrites pour tous les robots (User-agent: *) ne sont pas suivies dans les cas ci-dessous, chacun pour une raison précise. Même alors, les règles qui nomment Civiceye sont toujours suivies, et le robot s'arrête dès que le serveur refuse une requête (codes 401, 403 ou 429) : il n'insiste pas et ne change jamais la façon dont il s'annonce.
- Orbe (orbe.ch) : le fichier
robots.txtinterdit à tous les robots le dossier/images/, où se trouvent tous les documents officiels. Ces documents sont publics et ne sont pas protégés par le droit d'auteur (art. 5 LDA). Le robot les télécharge comme le ferait une personne : un document à la fois, au plus un toutes les 10 secondes, chaque document une seule fois. Si la commune s'y oppose, il suffit d'écrire à l'adresse ci-dessous ou d'ajouterUser-agent: Civiceye/Disallow: /images/: la collecte s'arrête et les documents collectés sont retirés. - Pohlern (pohlern.ch), Sigriswil (sigriswil.ch), Rheinwald (rheinwald.ch) et Le Locle (lelocle.ch) : leur fichier
robots.txtinterdit tout le site à tous les robots (Le Locle n'admet que les moteurs de recherche). Le robot ne lit que leur page d'accueil, pour savoir avec quoi le site est fait, une seule fois, 10 secondes aprèsrobots.txt. Si la commune s'y oppose, il suffit d'écrire à l'adresse ci-dessous ou d'ajouterUser-agent: Civiceye/Disallow: /: la page d'accueil n'est plus lue et la copie conservée est retirée. - Interfaces de données ouvertes de l'Office fédéral de la statistique (
/api) et de Wikidata (/sparql) : leurrobots.txten écarte les moteurs de recherche, mais elles sont publiées pour être interrogées par des programmes. Une requête à chacune, en respectant leur délai.
Ce que deviennent les documents
Les documents sont archivés tels quels. Leur texte est extrait (avec une reconnaissance de caractères pour les documents scannés) ; des résumés, des montants et des lieux en sont tirés automatiquement, puis publiés sur ce site. Chaque élément indique s'il a été retrouvé mot pour mot dans le document, et chaque page renvoie au document original sur le site de la commune.
Bloquer ou limiter le robot
Pour l'exclure de tout ou partie d'un site, ajoutez au fichier robots.txt :
User-agent: Civiceye
Disallow: /Pour toute question, une demande de correction ou de retrait, ou si le robot pose un problème à votre serveur, écrivez à crawler@civiceye.ch.