Outil

Dam Levels Data, ontologie et serveur MCP

Onze ans de bulletins quotidiens des barrages tunisiens (2014–2025) : un jeu de données ouvert et audité, une ontologie et un serveur MCP en lecture seule.

Actif

Les 36 grands barrages de Tunisie, au 10 octobre

Carte : touches fléchées pour passer d'un barrage à l'autre.

649,3 millions de m³ stockés

27,4 % de la capacité

18 barrages remplis à moins d'un quart

36 barrages publiés ce jour-là · 10 octobre 2025

  • 10 %
  • 25 %
  • 50 %
  • 75 %
  • 100 %
  • capacité inconnue
  • pas de valeur publiée
  • transfert entre barrages
Totaux nationaux, 2014–2025
Total national au 10 octobre de chaque année
AnnéeStock (Mm³)RemplissageBarrages< 25 %
2014 1 178,6 55,8 % 26 8
2015 1 139,3 54,2 % 26 8
2016 659,7 33,0 % 26 16
2017 585,8 28,2 % 30 15
2018 895,6 41,3 % 32 9
2019 1 392,8 61,8 % 33 7
2020 965,8 42,6 % 34 10
2021 669,2 28,7 % 36 23
2022 735,5 31,4 % 36 20
2023 579,0 24,8 % 36 22
2024 501,4 21,2 % 36 24
2025 649,3 27,4 % 36 18

Valeurs par barrage : survolez ou parcourez la carte au clavier. Toutes les données quotidiennes : dossier data/ du dépôt DamLevels-Data (storage.csv, CC BY 4.0)

Stock et remplissage de chaque barrage le 10 octobre de chaque année (dernier bulletin de l'archive : 10 octobre 2025) ; le remplissage utilise la capacité en vigueur à cette date. Le nombre de barrages publiés est passé de 26 (2014) à 36 (2021) : les premiers totaux ne sont pas entièrement comparables. Données : DamLevels-Data (CC BY 4.0), d'après les bulletins de la DGBGTH publiés par l'ONAGRI (LNDPO). Contours : Natural Earth (domaine public).

Qu’est-ce que c’est

DamLevels-Data reconstitue l’état quotidien des 36 grands barrages de la Tunisie à partir des bulletins Situation des barrages que la Direction Générale des Barrages et des Grands Travaux Hydrauliques (DGBGTH) publie par l’intermédiaire de l’Observatoire National de l’Agriculture (ONAGRI) (onagri.nat.tn). Ces bulletins sont publics, mais n’existent que sous forme de PDF de trois pages dont la mise en page a changé au fil des ans. L’archive couvre la période du 2 juillet 2014 au 10 octobre 2025 : 3 985 dates de bulletin, 11 927 pages PDF et 129 390 valeurs quotidiennes de stock, chacune reliée au fichier, à la page, à la colonne et aux caractères imprimés dont elle provient. Le 10 octobre 2025, dernière date de l’archive, les 36 barrages contenaient 649,3 millions de m³, soit 27,4 % de leur capacité, et 18 d’entre eux étaient remplis à moins d’un quart ; le même jour en 2019, les 33 barrages alors publiés contenaient 1 392,8 millions de m³.

Elle est publiée sous forme d’un paquet ouvert — tableaux, provenance, indicateurs de qualité, couches SIG et l’ontologie DamLevels (DLO 0.3) — et d’un serveur MCP en lecture seule, grâce auquel un assistant IA peut répondre aux questions à partir de l’archive. Projet indépendant et non officiel, sans aucune affiliation avec la DGBGTH, l’ONAGRI ou le Ministère de l’Agriculture, ni approbation de leur part.

Du bulletin PDF à l’assistant IA

Le travail suit le modèle cinq étoiles des données ouvertes, d’un document sur le web vers les données liées, et ajoute une étape au-dessus : un serveur MCP que les assistants IA peuvent interroger.

Du bulletin PDF au serveur MCP, en six étapes

  1. Page 1 du bulletin des barrages du 1er février 2020 : un tableau des apports, lâchers et stocks des barrages ; la cellule du stock de Sidi El Barrak est encadrée.

    ★

    Une source publique, enfermée dans un PDF

    3 985 bulletins quotidiens de la DGBGTH, publiés par l'ONAGRI, du 2 juillet 2014 au 10 octobre 2025.

  2. Extrait du même bulletin : colonne des barrages et colonnes « Stocks aux barrages » ; la ligne S. EL BARRAK indique 98,9 % et 283,496, valeur encadrée.

    ★★

    Lu, jamais ressaisi

    Des moteurs déterministes lisent 11 927 pages, sans OCR. Chaque valeur garde son passeport.

  3. ★★★

    Un paquet ouvert et audité

    129 390 valeurs quotidiennes pour 36 barrages, en CSV et Parquet, vérifiées de cinq manières complémentaires.

  4. ★★★★

    Un identifiant pour chaque chose

    Barrages, observations et pages ont des identifiants stables, dans un espace de noms réservé ; la version a un DOI.

  5. ★★★★★

    Des données liées par une ontologie

    84 colonnes imprimées, 33 concepts, 16 règles de temps (DLO 0.3), sur les vocabulaires W3C/OGC SOSA, OWL-Time, QUDT et PROV : chaque valeur sait ce qu'elle mesure, où et pour quel jour.

  6. MCP

    Interrogeable par un assistant IA

    Le serveur MCP répond depuis l'archive, ne comble jamais un trou et cite la page source.

Une même valeur — le stock de Sidi El Barrak imprimé le 1er février 2020 — suit les cinq niveaux du modèle cinq étoiles des données ouvertes, puis devient interrogeable par un assistant IA. Bulletin : DGBGTH, publié par l'ONAGRI (LNDPO). Chiffres issus de la version 1.1.2 du jeu de données.

Comment ça fonctionne

Des moteurs déterministes lisent la couche texte des PDF et les traits des tableaux — sans OCR ni ressaisie — de sorte qu’un même fichier donne toujours les mêmes valeurs. Les noms des barrages, imprimés en français et en arabe avec des graphies variables, sont rattachés à des identifiants stables (dam_id). Les valeurs manquantes restent manquantes : rien n’est interpolé, reporté ni remplacé par zéro. L’ontologie écrit ce que signifie réellement chaque colonne imprimée et le jour qu’elle décrit : les débits imprimés sur le bulletin du jour J portent sur le jour J−1, et l’une des deux colonnes « lâchers du jour » donne en fait les lâchers de l’année précédente.

Le serveur MCP expose dix outils en lecture seule — find_dam, list_dams, get_storage, get_fill, national_storage, compare_years, get_source, get_transfers, describe_variable et dataset_info. Il refuse les dates hors de l’archive et les saisies mal formées par une erreur explicite plutôt que par une réponse vide, utilise la capacité en vigueur à chaque date, marque les transferts de la page 3 comme PROBABLE, renvoie tous les candidats lorsqu’un nom ou un terme est ambigu, et joint à chaque réponse sa couverture, l’attribution de la source et ses réserves.

Cas d’usage

  • Recherche en hydrologie et climat : comparer le stock d’un barrage au même jour calendaire sur onze ans, les jours manquants étant signalés comme manquants.
  • Journalisme : vérifier un chiffre cité dans la presse en remontant au bulletin d’origine, jusqu’à la page, la colonne et les caractères imprimés.
  • Politique publique : suivre la réserve nationale : 649 millions de m³, soit 27 % de la capacité, le 10 octobre 2025, avec 18 barrages sur 36 remplis à moins d’un quart.

Démo — exemple illustratif

Exemple illustratif — réponse réelle capturée le 2026-10-12

Question posée : « Quel était le taux de remplissage de Sidi Salem le 10 octobre 2025, et d’où vient ce chiffre ? »

{
"dam": { "dam_id": "sidisalem", "name_fr": "Sidi Salem" },
"date": "2025-10-10",
"storage_mm3": 137.196,
"capacity": { "status": "KNOWN", "capacity_mm3": 580.35 },
"fill_pct": 23.6, "printed_fill_pct": 23.6,
"source": {
  "source_file": "10-10-2025_1.pdf", "page": "1",
  "printed_text": "137,196",
  "bulletin_url": "https://www.onagri.nat.tn/uploads/barrages/BARRAGES-10-10-2025.pdf"
}
}

Extrait des réponses de get_fill et get_source. Source : bulletin de la DGBGTH du 10 octobre 2025, page 1, publié par l’ONAGRI. Le taux de remplissage utilise la capacité en vigueur ce jour-là et correspond à celui imprimé dans le bulletin. Une question sur une date postérieure au 10 octobre 2025 renvoie OUTSIDE_RECORD : l’archive est close et rien n’est estimé.

Statut et feuille de route

DamLevels-Data est open source et auto-hébergé : le serveur MCP s’exécute comme un processus stdio local à partir d’une copie du dépôt, sans endpoint distant. La version 1.1.2 est archivée sur Zenodo. Le dépôt GitHub est la source unique pour les données, l’installation et le code. Prochaines étapes prévues : enregistrer l’espace de noms de l’ontologie et publier le graphe complet, relier les barrages et les bassins versants à des jeux de données externes, publier la couche climatique des bassins versants (pluie, météorologie, humidité du sol), et résoudre avec l’éditeur les questions ouvertes sur les transferts de la page 3.

Rapport technique

Le rapport technique TD-TR-2026-04 (en anglais) documente chaque étape, du bulletin PDF aux données liées et au serveur MCP, avec ses preuves et ses limites, sous licence CC BY 4.0.

Télécharger le rapport technique (PDF)PDF · en anglais · CC BY 4.0

Version d’archive citable faisant foi : Nasfi, M. H., Boulaares, S., & Gasmi, T. (2026). DamLevels-Data: From PDF Bulletins to Linked, AI-Queryable Open Data on Tunisia’s Large Dams, 2014–2025. Technical report TD-TR-2026-04. tanitdata, Tunis. https://doi.org/10.5281/zenodo.23305079

Données et logiciel (version 1.1.2) : Nasfi, M. H., Boulaares, S., & Gasmi, T. (2026). DamLevels-Data: daily storage of Tunisia’s 36 large dams, 2014–2025. Zenodo. https://doi.org/10.5281/zenodo.23304326

Code source et données : github.com/tanitdata/DamLevels-Data

Cet outil est conçu et maintenu selon le protocole de recherche et d'ingénierie du studio. Notre méthode

FAQ

Qu'est-ce que le Model Context Protocol ?
Le Model Context Protocol est un standard ouvert permettant aux assistants IA d'appeler des outils externes. Le serveur MCP DamLevels est l'un de ces outils : connectez-le à votre client IA (Claude Desktop, Claude Code ou tout client compatible MCP) et interrogez l'archive des barrages tunisiens en français, en anglais ou en arabe.
À qui s'adresse cet outil ?
Aux chercheurs, journalistes, étudiants et institutions qui ont besoin du stock des barrages tunisiens avec sa date et sa source : hydrologues qui comparent les années, journalistes qui vérifient un chiffre, analystes qui suivent la réserve nationale.
Faut-il le serveur MCP pour utiliser les données ?
Non. Les tableaux sont de simples fichiers CSV et Parquet dans le dépôt, documentés par un dictionnaire de données et un descripteur Frictionless ; ils s'ouvrent dans Excel, pandas, R ou QGIS. Le serveur MCP est un moyen supplémentaire de les interroger en langage naturel.
Faut-il un compte ou une clé d'API ?
Non. Le serveur s'exécute localement via stdio et lit les tableaux du dépôt ; aucune clé et aucune connexion réseau au moment des requêtes.
À quelle fréquence les données sont-elles mises à jour ?
Il s'agit d'une archive historique close : du 2 juillet 2014 au 10 octobre 2025. Aucun bulletin ultérieur n'est inclus, et le serveur refuse les dates hors de l'archive au lieu de les estimer.
Les données sont-elles librement réutilisables ?
Les valeurs sources sont celles de la DGBGTH, publiées par l'ONAGRI, et réutilisées sous la Licence Nationale de Données Publiques Ouvertes (LNDPO) avec attribution. Les tableaux, la documentation et l'ontologie du projet sont sous CC BY 4.0 ; les couches SIG des bassins versants, dérivées de FABDEM et MERIT Hydro, sont sous CC BY-NC-SA 4.0 (usage non commercial) ; le code est sous MIT. Il s'agit d'un projet indépendant et non officiel.
Comment les données ont-elles été vérifiées ?
Par cinq contrôles complémentaires, chacun avec son propre dénominateur : la page 1 contre la page 2 (128 995 paires de stock égales sur 128 996), les barrages contre le total national imprimé (3 965 bulletins sur 3 967), les cumuls contre les valeurs quotidiennes, le taux de remplissage imprimé contre le stock et la capacité (84 470 lignes sur 84 471), et un échantillon de 2 392 cellules relues dans les PDF originaux (toutes correctes). Les erreurs de la source elle-même sont documentées, jamais corrigées.
Comment contribuer ?
Le code et les données sont publiés sur GitHub. Ouvrez une issue ou une pull request pour signaler un problème ou proposer une amélioration.

Équipe