Archivage, complétion et publication documentaire
Ce projet vise à centraliser plusieurs années de notes de cours, de documentation technique et de travaux personnels aujourd'hui répartis entre différents supports.
Les documents sont rédigés ou convertis en Markdown, versionnés dans Gitea, puis transformés et publiés dans DokuWiki. Le pipeline conserve une source documentaire simple, portable et durable, tout en automatisant les opérations répétitives de classement, de complétion, de normalisation et de publication.
L'objectif n'est pas de remplacer l'écriture personnelle par un modèle de langage, mais de disposer d'une chaîne capable de reprendre des contenus hétérogènes, de les structurer et de les rendre consultables depuis une interface unique.
Objectifs du projet
La priorité est donnée à la pérennité des formats, à la simplicité d'exploitation et à la possibilité de reprendre manuellement chaque étape.
- Centraliser les notes accumulées pendant les études.
- Conserver les documents sources en Markdown.
- Versionner chaque modification dans Gitea.
- Compléter automatiquement les métadonnées et certaines sections.
- Convertir les documents vers le format attendu par DokuWiki.
- Indexer les pièces jointes stockées dans Seafile.
- Limiter l'exposition de données personnelles ou sensibles aux modèles externes.
- Conserver une trace des transformations réalisées.
Architecture générale
Gitea constitue la source de vérité pour les contenus textuels. DokuWiki sert d'interface de consultation et de navigation. Seafile conserve les documents binaires et les pièces jointes qui ne doivent pas être intégrés directement au dépôt Git.
| Sources | PDF, DOCX, notes, Markdown et pièces jointes. |
|---|---|
| Importation | Extraction du texte et conservation du document original comme source. |
| Normalisation | Markdown homogène, noms compatibles, liens corrigés et structure lisible. |
| Métadonnées | Bloc YAML, classification, statut, destination et visibilité. |
| Caviardage | Filtrage local des informations sensibles avant appel externe. |
| Complétion | Propositions LLM pour résumé, introduction, mots-clés et sections incomplètes. |
| Validation | Diff, journal de traitement et intégration dans Gitea après revue. |
| Publication | Conversion DokuWiki, indexation et consultation depuis une interface unique. |
Organisation des documents
Chaque document repose sur un fichier Markdown accompagné d'un bloc YAML. Ces métadonnées classent les contenus sans dépendre uniquement de leur emplacement dans l'arborescence.
---
title: "Sécurisation des systèmes Linux"
language: "fr"
type: "course"
status: "reviewed"
academic_year: "2026-2027"
module: "INF4305"
topics:
- linux
- hardening
- ssh
- nftables
sources:
- type: pdf
location: seafile://courses/inf4305/support-01.pdf
visibility: private
created_at: 2026-07-14
updated_at: 2026-07-26
---
- Générer automatiquement les espaces de noms DokuWiki.
- Construire les index par année, matière ou sujet.
- Distinguer les notes brutes des documents validés.
- Suivre la langue, l'état de complétion et les fichiers sources.
- Appliquer des règles différentes selon la sensibilité du contenu.
Le schéma reste volontairement limité afin d'éviter de transformer chaque note en formulaire administratif.
Chaîne de traitement
- Importation depuis Markdown, PDF, Word, PowerPoint, notebooks, exports pédagogiques, dépôts Git et pièces jointes Seafile.
- Normalisation déterministe des titres, sections, listes, blocs de code, liens, métadonnées et noms de fichiers.
- Classification du type documentaire, de la matière, du projet, des mots-clés, du statut et de la destination DokuWiki.
- Caviardage local des noms, emails, identifiants, adresses IP, noms d'hôtes, chemins locaux, secrets et données confidentielles.
- Complétion assistée pour les opérations nécessitant une compréhension du contenu : résumé, introduction, reformulation, traduction ou liens entre documents.
- Validation dans une branche ou un espace temporaire avec document initial, document transformé, diff, modèle utilisé, erreurs et alertes.
- Conversion Markdown vers DokuWiki avec post-traitement pour les titres, tableaux, liens, images, pièces jointes et espaces de noms.
- Publication idempotente via CI/CD Gitea selon le statut du document.
Gestion des pièces jointes avec Seafile
Les documents volumineux ou binaires restent dans Seafile : PDF, présentations, feuilles de calcul, archives, images originales, captures, jeux de données et documents bureautiques.
Le Markdown contient une référence stable vers la pièce jointe. Lors de la publication, cette référence peut devenir un lien Seafile, une pièce jointe DokuWiki, une copie locale contrôlée ou une simple référence documentaire.
Affichage dans DokuWiki
DokuWiki constitue la couche de consultation du patrimoine documentaire. La recherche permet de retrouver les contenus sans connaître leur emplacement exact dans Gitea ou Seafile.
| Études | Licence informatique, cycle ingénieur, année 4, année 5 |
|---|---|
| Projets | Cybersécurité, infrastructure, data, IoT |
| Documentation | Linux, Windows, réseau, développement, intelligence artificielle |
| Archives | Documents obsolètes, historiques ou conservés pour référence. |
Traçabilité et intégrité
Chaque exécution doit générer un journal minimal : identifiant du document, hash source, transformations réalisées, modèle utilisé, version du prompt, hash du résultat, état de validation et destination de publication.
Pour les documents nécessitant une conservation plus stricte, le pipeline pourra ajouter signature, horodatage, copie WORM, manifeste d'intégrité et vérification périodique des empreintes.
Principes de conception
- Markdown reste le format source principal.
- Gitea est la source de vérité textuelle.
- DokuWiki est une vue publiée, pas le lieu principal d'édition.
- Seafile conserve les pièces jointes.
- Les traitements déterministes précèdent les appels LLM.
- Les données sensibles sont filtrées avant tout traitement externe.
- Chaque transformation importante reste traçable.
- Les documents sources ne sont jamais écrasés silencieusement.
État du projet
Le périmètre fonctionnel et l'architecture générale sont définis. La première version doit rester volontairement simple : dépôt Markdown, transformation déterministe, publication DokuWiki et gestion explicite des pièces jointes.
- Stabiliser le schéma YAML.
- Définir l'arborescence Gitea.
- Finaliser la conversion Markdown vers DokuWiki.
- Gérer les liens Seafile.
- Implémenter le caviardage.
- Orchestrer les appels LLM.
- Générer les index et les journaux d'intégrité.