Indexer des fichiers bruts (PDF, images) pour identifier leur contenu (modules, pages, type). Produit des fiches source YAML. Keywords - index, indexer, indexation, fiche, source, pdf, identifier, cartographier.
Lit un fichier brut en surface (couverture, table des matieres) sans transcrire le contenu. Produit une fiche de metadonnees YAML qui decrit ce que le fichier contient.
Phase independante — ne s'occupe ni de _meta/, ni de content/.
Le path identifie un element dans le systeme : {programme}/{module} ou {programme}/examens/{slug}.
Exemples :
3eme-math/continuite — module continuite du programme 3eme-math3eme-math/examens/synthese-t3 — examen synthese T3Le path est commun entre _raw/ et _meta/ :
_raw/3eme-math/fondations/continuite/ — transcriptions du module_meta/3eme-math/continuite/ — modele academique du module/index # indexe tous les fichiers non indexes dans fondations/ et enrichissements/
/index Manuel_t1.pdf # indexe un fichier specifique
/index fichier1.pdf fichier2 # indexe plusieurs fichiers
Scanner _raw/{programme}/fondations/ et _raw/{programme}/enrichissements/ pour trouver les fichiers bruts (PDF, images) qui n'ont pas de fiche source correspondante dans _raw/{programme}/sources/.
Pour chaque fichier brut, verifier si une fiche source existe deja :
Glob: _raw/{programme}/sources/*.yaml
Lire chaque fiche, comparer le champ fichier: avec les fichiers bruts trouves.
Si un argument est donne, ne traiter que ce fichier.
Presenter un resume :
Fichiers non indexes :
- fondations/ : Manuel_t1.pdf, Parascolaire_Analyse.pdf
- enrichissements/ : serie-prof-ahmed.pdf
Indexer tout ? (oui / non / choisir)
Pour chaque fichier a indexer :
Extraire les pages cles (couverture + table des matieres) :
pdftoppm -png -r 150 -f 1 -l 5 _raw/{programme}/fondations/{fichier}.pdf _raw/pages/index
pdfinfo _raw/{programme}/fondations/{fichier}.pdf | grep Pages
Lire visuellement les PNG pour identifier :
manuel | corrige | parascolaire | exercices | serie | examenMapper les modules aux slugs existants. Chaque module a un path : {programme}/{slug}.
Ecrire la fiche source dans _raw/{programme}/sources/{slug-fiche}.yaml.
Nettoyer les PNG : rm _raw/pages/index*
Presenter pour chaque fichier indexe :
not-started pour chaque module