Spaces:
Sleeping
Sleeping
File size: 7,817 Bytes
d0a3fab fb13ad8 32c3118 d0a3fab d5f9a91 d0a3fab 2f5797b d0a3fab 416bee1 d5f9a91 d0a3fab 416bee1 32c3118 d0a3fab 32c3118 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | # Documentation Picarones — index par rôle
> **Architecture documentaire** : ce projet adopte le modèle
> [Diataxis](https://diataxis.fr/) — quatre quadrants :
> *tutorials* (apprendre), *how-to* (résoudre), *reference*
> (consulter), *explanation* (comprendre). Plus deux dossiers
> institutionnels : *governance* et *operations*.
>
> **Bilingue** : la **langue canonique est le français**. Une
> surface publique réduite est traduite en anglais — README,
> CONTRIBUTING, SECURITY, ACCESSIBILITY, deux tutoriels clés.
> Le reste reste FR. Politique assumée plutôt que bilingue partiel
> brouillé.
---
## Je suis…
### …un chercheur ou archiviste qui veut benchmarker un corpus
Vous voulez exécuter Picarones sur vos documents, lire un rapport,
comprendre les chiffres.
1. Installer : [`how-to/install.md`](how-to/install.md)
2. Premier benchmark : [`tutorials/first-benchmark.md`](tutorials/first-benchmark.md)
3. Lire le rapport produit : [`tutorials/reading-a-report.md`](tutorials/reading-a-report.md)
([EN](tutorials/reading-a-report.en.md))
4. Cas d'école pédagogiques : [`case-studies/`](case-studies/)
5. Glossaire des métriques : [`reference/normalization-profiles.md`](reference/normalization-profiles.md),
[`reference/views.md`](reference/views.md)
### …un opérateur qui doit déployer en environnement institutionnel
Vous installez Picarones sur un NAS BnF, un cluster LoC, un serveur BL.
1. Déploiement institutionnel : [`operations/deployment-institutional.md`](operations/deployment-institutional.md)
2. Conformité RGPD : [`operations/data-retention-rgpd.md`](operations/data-retention-rgpd.md)
3. Runbook incidents : [`operations/runbook.md`](operations/runbook.md)
4. Observabilité (logs, métriques, alerting) : [`operations/observability.md`](operations/observability.md)
5. Process de release : [`operations/release-process.md`](operations/release-process.md)
### …un développeur qui veut contribuer du code
Vous ajoutez un adapter, une vue, une métrique, un détecteur narratif.
1. Vue d'ensemble du projet : [`/CONTRIBUTING.md`](../CONTRIBUTING.md)
([EN](../CONTRIBUTING.en.md))
2. Architecture en cercles : [`explanation/architecture.md`](explanation/architecture.md)
3. Politique modules contribués : [`developer/module-policy.md`](developer/module-policy.md)
4. Étendre un sous-système :
[glossaire](developer/extending-glossary.md) ·
[i18n](developer/extending-i18n.md) ·
[moteur narratif](explanation/narrative-engine.md)
5. Écrire un module pour le banc d'essai : [`tutorials/writing-a-pipeline-module.md`](tutorials/writing-a-pipeline-module.md)
### …un mainteneur ou auditeur de sécurité
Vous évaluez Picarones avant un déploiement, un audit, une revue.
1. Politique de gouvernance : [`/GOVERNANCE.md`](../GOVERNANCE.md)
2. Politique de sécurité : [`/SECURITY.md`](../SECURITY.md)
([EN](../SECURITY.en.md))
3. Threat model STRIDE : [`security/threat-model.md`](security/threat-model.md)
4. API publique stable et politique de versioning : [`reference/api-stable.md`](reference/api-stable.md)
5. Audits historiques : [`archive/2026-audits/`](archive/2026-audits/)
6. État du rewrite et migration : [`archive/2026-migration/rewrite-status-s46.md`](archive/2026-migration/rewrite-status-s46.md)
7. Reproductibilité bit-for-bit : [`reference/reproducibility-snapshots.md`](reference/reproducibility-snapshots.md)
### …un Délégué à la Protection des Données (DPO)
Vous évaluez les implications RGPD avant signature.
1. Politique de rétention RGPD : [`operations/data-retention-rgpd.md`](operations/data-retention-rgpd.md)
2. Modèle d'accord de sous-traitance (DPA) : [`legal/dpa-template.md`](legal/dpa-template.md)
3. Threat model : [`security/threat-model.md`](security/threat-model.md)
4. Liste des sous-traitants potentiels (services cloud) :
`pricing.yaml` + section *Adapters cloud* dans
[`reference/api-stable.md`](reference/api-stable.md)
---
## Index thématique
### Tutorials — j'apprends
| Document | Public | Langue |
|----------|--------|--------|
| [`tutorials/first-benchmark.md`](tutorials/first-benchmark.md) | Chercheur découvrant l'outil | FR |
| [`tutorials/reading-a-report.md`](tutorials/reading-a-report.md) | Chercheur lisant un rapport | FR + EN |
| [`tutorials/writing-a-pipeline-module.md`](tutorials/writing-a-pipeline-module.md) | Développeur tiers | FR |
### How-to — je résous un problème concret
| Document | Cible |
|----------|-------|
| [`how-to/install.md`](how-to/install.md) | Installer en local ou serveur |
| [`how-to/cli-workflows.md`](how-to/cli-workflows.md) | Utiliser la CLI au quotidien |
### Reference — je consulte le contrat
| Document | Sujet |
|----------|-------|
| [`reference/api-stable.md`](reference/api-stable.md) | API Python publique + politique semver |
| [`reference/views.md`](reference/views.md) | Vues d'évaluation (text, alto, search) |
| [`reference/normalization-profiles.md`](reference/normalization-profiles.md) | Profils de normalisation textuelle |
| [`reference/reproducibility-snapshots.md`](reference/reproducibility-snapshots.md) | Reproductibilité bit-for-bit |
### Explanation — je comprends pourquoi
| Document | Sujet |
|----------|-------|
| [`explanation/architecture.md`](explanation/architecture.md) | Architecture en cercles, principes |
| [`explanation/narrative-engine.md`](explanation/narrative-engine.md) | Comment le moteur narratif fonctionne |
### Operations — je déploie et j'opère
| Document | Sujet |
|----------|-------|
| [`operations/deployment-institutional.md`](operations/deployment-institutional.md) | Déploiement institutionnel |
| [`operations/runbook.md`](operations/runbook.md) | Réponse aux incidents |
| [`operations/observability.md`](operations/observability.md) | Logs, métriques, alerting |
| [`operations/data-retention-rgpd.md`](operations/data-retention-rgpd.md) | Conformité RGPD |
| [`operations/release-process.md`](operations/release-process.md) | Cycle de release |
### Governance / security / legal
| Document | Sujet |
|----------|-------|
| [`/GOVERNANCE.md`](../GOVERNANCE.md) | Gouvernance |
| [`/SECURITY.md`](../SECURITY.md) | Sécurité (FR + EN) |
| [`/CODE_OF_CONDUCT.md`](../CODE_OF_CONDUCT.md) | Code de conduite |
| [`operations/accessibility.md`](operations/accessibility.md) | Accessibilité |
| [`security/threat-model.md`](security/threat-model.md) | Threat model STRIDE |
| [`legal/dpa-template.md`](legal/dpa-template.md) | DPA RGPD §28 |
### Archives et historique
| Document | Sujet |
|----------|-------|
| [`/CHANGELOG.md`](../CHANGELOG.md) | Journal des versions actives (depuis `0.9.0`) |
| [`archive/`](archive/) | Documents archivés (audits, migration, roadmap pré-rewrite, changelog historique) |
| [`roadmap/backlog.md`](roadmap/backlog.md) | Backlog vivant |
---
## Conventions
- **Une seule arborescence canonique** (depuis `0.9.0`) :
`domain → formats → evaluation → pipeline → adapters → app → reports → interfaces`.
Les paquets legacy ont été supprimés en mai 2026.
- **Tout chemin `picarones/.../X.py` cité dans la doc doit exister**.
Vérifié par `tests/architecture/test_doc_paths.py` (ratchet
strictement décroissant).
- **Les tableaux générés** (engines, CLI, endpoints) sont régénérés
par `scripts/gen_readme_tables.py` — modifier le code, pas la doc.
Les compteurs en prose (nombre de tests, etc.) utilisent la
formulation approximative `N+ tests` pour absorber la dérive
OS-dépendante ; le chiffre exact vit dans le badge CI.
- **Cohérence FR/EN** : la langue canonique est le français. Une
surface EN réduite est listée dans
`tests/docs/test_translation_parity.py::TRANSLATION_PAIRS` —
toute paire FR/EN doit y figurer.
|