File size: 3,501 Bytes
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
# Premier benchmark Picarones

Ce tutoriel guide un nouvel utilisateur — chercheur, archiviste,
conservateur — à travers son **premier benchmark OCR** complet, de
l'installation jusqu'à la lecture du rapport produit. Comptez 15
minutes pour la première fois, 2 minutes une fois familier.

> **Pré-requis** : Python 3.11+ et `pip`. Sur Linux, le binaire
> `tesseract` est nécessaire pour le moteur OCR par défaut
> (`apt-get install tesseract-ocr tesseract-ocr-fra` sur Debian/Ubuntu).

---

## 1. Installation

```bash
pip install -e ".[dev,web]"
```

L'extra `dev` apporte la suite de tests, `web` apporte l'interface
FastAPI (utile dès la deuxième session). Pour une installation
minimale en production, voir [`how-to/install.md`](../how-to/install.md).

Vérifiez :

```bash
picarones info
picarones engines
```

Si `picarones engines` liste au moins `tesseract`, vous êtes prêt.

---

## 2. Générer un rapport de démonstration

Le mode `demo` produit un rapport HTML synthétique sans aucun moteur
installé. C'est le moyen le plus rapide de voir ce que Picarones
produit.

```bash
picarones demo --output rapport_demo.html
```

Ouvrez `rapport_demo.html` dans un navigateur. Vous obtenez un
rapport complet avec :

- agrégat CER/WER global ;
- diff caractère à caractère sur les documents ;
- diagramme CD (Critical Difference) si plus de 2 moteurs ;
- moteur narratif qui résume les faits saillants en prose.

Voir [`reading-a-report.md`](reading-a-report.md) pour la lecture
détaillée.

---

## 3. Benchmark sur un vrai corpus

Préparez un dossier `mon_corpus/` qui contient :

```
mon_corpus/
├── doc1.jpg
├── doc1.gt.txt          # transcription de référence
├── doc2.jpg
└── doc2.gt.txt
```

Le format des transcriptions de référence est documenté dans
[`reference/normalization-profiles.md`](../reference/normalization-profiles.md).

Lancez le benchmark :

```bash
picarones run \
  --corpus mon_corpus/ \
  --engines tesseract \
  --output rapport.html \
  --json rapport.json
```

`rapport.html` contient le rendu visuel ; `rapport.json` contient
l'agrégat machine-lisible (utile pour CI ou comparaisons
longitudinales — voir
[`reference/reproducibility-snapshots.md`](../reference/reproducibility-snapshots.md)).

---

## 4. Comparer plusieurs moteurs

```bash
picarones run \
  --corpus mon_corpus/ \
  --engines tesseract,pero_ocr,mistral_ocr \
  --output comparaison.html
```

Le rapport affiche désormais :

- une ligne par moteur avec CER moyen + IC95 ;
- le diagramme CD (qui domine statistiquement qui) ;
- les diffs côte à côte ;
- les coûts (si moteurs cloud).

Le moteur narratif énonce les écarts significatifs, ne désigne
jamais un « gagnant ».

---

## 5. Interface web (optionnelle)

```bash
picarones serve --port 7860
```

Ouvre `http://localhost:7860`. L'interface permet d'upload un ZIP
de corpus et de lancer un benchmark interactif. Pour le déploiement
institutionnel, voir
[`operations/deployment-institutional.md`](../operations/deployment-institutional.md).

---

## Étapes suivantes

- Comprendre les métriques :
  [`reference/views.md`](../reference/views.md),
  [`reference/normalization-profiles.md`](../reference/normalization-profiles.md)
- Lire un rapport en détail :
  [`reading-a-report.md`](reading-a-report.md)
- Écrire un module pour la pipeline :
  [`writing-a-pipeline-module.md`](writing-a-pipeline-module.md)
- Étudier des cas d'usage :
  [`case-studies/`](../case-studies/)