Rechercher dans la documentation

Rechercher dans la documentation

Ingérez votre propre norme

Ajoutez une norme pour laquelle vous disposez d'une licence à votre espace de travail Stratta privé, depuis l'agent que vous utilisez déjà.

Stratta ne fournit pas une bibliothèque partagée de normes. À la place, vous apportez les normes pour lesquelles votre organisation dispose d'une licence et vous les ingérez dans votre espace de travail privé. L'ingestion s'exécute depuis votre propre agent à l'aide des outils ingest_* : votre abonnement, votre PDF, votre espace de travail.

La licence relève de votre responsabilité. N'ingérez que les normes pour lesquelles votre organisation détient une licence valide. Les normes SIA et les Eurocodes sont protégés par le droit d'auteur. Consultez les Conditions.

Comment ça marche

L'ingestion se fait en deux passes. Une pré-passe Python (ingest-prepass.py, bâtie sur PyMuPDF) lit le PDF de façon déterministe : la table des matières depuis les signets ou les titres numérotés, le texte de chaque section entre deux titres, et un rendu pleine page de chaque page qui porte une figure. Puis votre agent valide l'arbre, rédige un court résumé par section, lit les formules et les tableaux complexes visuellement (l'extraction automatique les abîme), déclare les renvois, et écrit le tout dans votre espace par les outils ingest_*. ingest_publish mesure ce qui est réellement entré et refuse un document creux.

La procédure est servie à l'agent sous la forme du skill ingest-norm : en ressource MCP (stratta://skills/ingest-norm) sur le connecteur distant, et dans le paquet npm sur le serveur local. Vous n'exécutez jamais les outils à la main.

Prérequis

  • Un agent qui a une machine. La pré-passe lit le PDF sur un disque : cela fonctionne depuis Claude Code, Codex, Cursor, VS Code ou Gemini CLI, par le connecteur distant comme par le serveur local. Claude sur le web et ChatGPT ne peuvent pas ingérer : rien n'y tourne sur une machine à vous.
  • Python 3.10 ou plus récent avec PyMuPDF : python -m pip install --user pymupdf.
  • Le rôle propriétaire ou admin dans l'organisation. Un membre lit, il n'ingère pas.
  • Le PDF de la norme sur cette machine. Un PDF scanné sans couche texte passe d'abord par un OCR (ocrmypdf) : la pré-passe lit du texte, pas des pixels.

Ingérer une norme

Depuis votre agent, dans un dossier où le PDF est accessible, demandez :

Ingère la norme C:\normes\SIA_263_2013.pdf dans mon espace Stratta.

L'agent charge le skill ingest-norm, télécharge le script de pré-passe s'il n'est pas sur le disque (https://stratta.ch/ingest-prepass.py), l'exécute, puis parcourt le workflow ci-dessous. Une norme complète prend un certain temps : l'agent relit chaque chapitre qu'il publie.

Le workflow d'ingestion

Voici ce que fait le skill, étape par étape. Comprendre le déroulement vous aide à examiner le résultat.

  1. Vérifier l'existence d'une copie

    ingest_status { code } indique si la norme existe déjà dans votre espace de travail, et sa couverture. Pour ré-ingérer, l'ancienne copie est d'abord supprimée avec ingest_delete.

  2. Lancer la pré-passe

    Le script écrit un manifeste JSON : l'arbre avec un id stable, un chemin lisible (4.2.1, Annexe B.1) et une plage de pages par nœud, le texte brut de chaque section, et un PNG par page qui porte une figure. Les annexes sont conservées : elles contiennent les valeurs numériques.

  3. Valider et résumer

    L'agent confronte l'arbre au PDF (un titre pris pour une ligne de tableau, un chapitre qui a avalé le suivant), agrège les paragraphes triviaux, et rédige un résumé spécifique par section qui nomme les valeurs et formules clés.

  4. Créer le document

    ingest_create_document { code, year, title, language, totalPages } renvoie un documentId utilisé par chaque appel suivant.

  5. Insérer les sections par lots

    ingest_create_sections insère l'arbre en masse (30 à 50 sections par appel) et renvoie une table de correspondance entre chaque id de nœud et son id de section stocké.

  6. Enrichir chaque section

    ingest_attach_formula (LaTeX, lu sur l'image de la page), ingest_attach_table (en-têtes + lignes) et ingest_attach_cross_ref (liens vers d'autres normes) ajoutent le contenu technique.

  7. Téléverser les figures

    ingest_upload_figure stocke chaque page rendue (PNG, JPEG ou WebP, jusqu'à 8 Mo) et la lie à sa section.

  8. Normaliser les renvois

    ingest_normalize_cross_refs analyse le texte à la recherche de références à d'autres normes (SIA, SN EN, EN, ISO, DIN) et reconstruit l'index des renvois.

  9. Publier

    ingest_publish note le document (texte par page, pages sous un chapitre, feuilles vides, formules et tableaux) et le rend interrogeable. Sous 30/100 il refuse en donnant les raisons ; force: true publie quand même, une fois que vous avez confirmé.

Consultez la référence des outils d'ingestion pour chaque paramètre.

La qualité compte

La précision des futures citations dépend de l'ingestion :

  • Les chemins et les plages de pages doivent être corrects : ils sont la citation.
  • Les résumés déterminent la façon dont l'agent navigue dans l'arbre, ils doivent donc être spécifiques (mentionner les formules ou valeurs clés).
  • Le contenu doit rester fidèle à la source : jamais inventé.

Après l'ingestion, la page Normes de votre espace affiche la couverture de chaque norme (full, partial, sparse). Vérifiez par sondage quelques sections en posant à votre agent des questions dont vous connaissez déjà la réponse, et confirmez que les citations tombent sur les bonnes pages.

Prochaines étapes