Sur chaque feuille de partie, il y a toujours quelques coups particulièrement ardus à déchiffrer : l'encre du stylo a sauté, le joueur était pris par le manque de temps, ou deux caractères se sont superposés. La question essentielle n'est pas de savoir si le système de reconnaissance voit juste dès le premier coup d'œil, mais ce qui se passe quand il hésite.
Nous avons consacré nos récents développements à ce problème précis. Les améliorations apportées se regroupent en trois axes majeurs : analyser l'encre avec plus de subtilité, intercepter les erreurs que le simple contrôle des règles ne peut pas voir, et vous poser des questions beaucoup plus pertinentes sur les doutes restants. Précisons-le d'emblée : aucune de ces fonctions ne modifie votre partie dans votre dos sans votre accord explicite.
Toutes les erreurs ne se valent pas
Pour résoudre le problème, il faut distinguer trois défaillances qui produisent pourtant le même résultat erroné dans un fichier PGN :
- Une graphie illisible. Le moteur a bien délimité le tracé, mais a attribué le mauvais caractère.
- Une notation non conventionnelle. Le moteur a lu le texte fidèlement, mais le joueur a employé une graphie non conforme à la notation algébrique standard, rejetée d'office comme invalide.
- Une fausse lecture légale. Le coup se lit sans accroc, s'exécute légalement sur l'échiquier, mais ne correspond absolument pas à ce qui a été joué sur le plateau réel.
Chacune de ces situations réclame un traitement spécifique. Le contrôle classique de légalité ne traitait autrefois que les deux premières, et de manière imparfaite.
Toutes les confusions visuelles ne sont pas équivalentes
Le système de reconnaissance compare le tracé lu aux coups théoriquement envisageables. Auparavant, cet algorithme de distance traitait chaque différence de caractère de façon identique : confondre un 1 avec un 7 coûtait exactement la même pénalité que confondre un 1 avec un 9 — alors que la première confusion est fréquente en écriture manuscrite et la seconde quasiment inexistante.
Cette comparaison est désormais graduée. Les paires de caractères que la main humaine mélange régulièrement — 1/7, a/g, c/e, k/r, 0/O — ne se voient attribuer qu'une fraction de pénalité graphique ; une divergence que personne ne commet reçoit une pénalité entière. Lorsque deux coups candidats sont au coude-à-coude par rapport au tracé d'encre, celui qui correspond à une maladresse d'écriture plausible l'emporte naturellement.
Un cas d'usage récurrent a justifié une règle dédiée : les joueurs omettent constamment le signe de capture lorsqu'ils sont pressés par la pendule, écrivant par exemple Bf3 au lieu de Bxf3. L'ancien algorithme pénalisait cette omission deux fois : une fois pour le caractère manquant, et une seconde fois pour l'absence de capture. Cette double sanction reléguait souvent le véritable coup derrière un déplacement passif vers une case voisine. Désormais, l'omission d'un x, d'un + ou d'un # n'entraîne qu'une pénalité minime, car elle ne véhicule pratiquement aucune information sur la case de destination visée.
La notation que les joueurs utilisent dans la vraie vie
La notation algébrique standard est celle qu'impose le manuel de l'arbitre FIDE. Ce n'est malheureusement pas toujours celle qui atterrit sur le papier, notamment de la part de compétiteurs formés il y a plusieurs décennies ou dans des fédérations aux traditions singulières. ScanChess sait aujourd'hui interpréter ces variantes sur l'échiquier au lieu de les rejeter brutalement :
| Notation manuscrite | Signification exacte |
|---|---|
Pe4, Pxd5, Pe8=Q |
Déplacement de pion préfixé de la lettre P |
e2-e4, Ng1-f3, Bc1xf4, Ng1f3 |
Notation algébrique complète (avec ou sans tiret) |
BxN, NxBc4 |
Mention de la pièce capturée au lieu de sa case d'arrivée |
cd, cxd, cd5, c:d |
Prise de pion désignée sous la forme « colonne prend colonne » |
Les numéros de coups, les mentions annexes comme ch, e.p. et les symboles d'appréciation sont d'abord nettoyés, tout comme les différents glyphes employés pour désigner une prise (deux-points, croix, etc.). Si la formulation résultante ne correspond qu'à un seul coup légal sur l'échiquier, elle est admise avec un haut indice de confiance. Si elle est compatible avec plusieurs coups — par exemple un BxN alors que deux cavaliers adverses peuvent être capturés —, elle est intégrée avec un faible indice de confiance, laissant le reste de la partie lever l'ambiguïté.
Légal selon les règles, mais absurde sur l'échiquier
C'est l'erreur la plus insidieuse qui passait autrefois à travers les mailles du filet. Un coup mal lu s'avère bien souvent parfaitement légal sur le plan formel : Nf3 interprété en Nf5 peut s'exécuter sans enfreindre les règles ; le fichier PGN s'exporte sans broncher, mais la partie est fausse.
Un signal fort permet pourtant de détecter l'anomalie, issu de la logique même du jeu d'échecs : après une mauvaise transcription, les pièces se mettent à agir d'une façon qu'aucun être humain ne reproduirait en compétition. Une dame reste posée sur une case où un pion peut la cueillir gratuitement, et le pion ne la prend pas. Une tour reste en prise évidente pendant trois coups d'affilée sans qu'aucun des deux joueurs n'y touche.
ScanChess effectue désormais une évaluation statique des échanges à chaque demi-coup sur l'échiquier réel, en se posant une question simple : l'un des camps s'est-il vu offrir une pièce nette sans la capturer ? Deux garde-fous évitent les fausses alertes :
- Le joueur en échec n'a pas le choix. S'il est contraint de parer un échec au roi, ignorer une pièce adverse sans défense est une obligation réglementaire, non une absurdité.
- Un sacrifice délibéré cesse d'être en prise dès qu'il est accepté ou décliné. Une pièce n'est signalée comme oubliée que si elle demeure prenable un coup complet plus tard — preuve que l'offre persistait, que l'adversaire avait tout loisir de s'en emparer, et qu'il n'en a rien fait.
Une série d'absurdités consécutives sur une même pièce est automatiquement rattachée au demi-coup originel : une tour qui reste en prise six demi-coups durant ne déclenche qu'une seule alerte, et non six. Deux moments sont alors mis en évidence : le coup qui a placé la pièce en danger, et le coup qui a continué sans la prendre. Aucun des deux coups n'est modifié automatiquement. Vous recevez un repère orange avec la justification tactique, et vous restez seul juge de la correction.
Des questions plus précises, et moins nombreuses
L'étape de relecture consistait autrefois à renvoyer les coups incertains sous forme de question ouverte : « Voici ce que nous avons lu, que vouliez-vous écrire ? ». Ce procédé favorisait des saisies de coups qui ne correspondaient ni au tracé sur le papier, ni aux règles de la position.
L'interrogation est désormais fermée. Face à un coup douteux, ScanChess extrait l'ensemble des coups légaux de la position (généralement entre trente et quarante) et évalue chacun d'eux par rapport aux hypothèses de l'OCR. L'interface vous soumet une liste restreinte de coups classés par pertinence, à la fois parfaitement légaux à cet instant et très proches du tracé d'encre réel : la vérification se transforme en un simple choix multiple.
Deux principes garantissent l'intégrité de cette aide : toute réponse ne figurant pas dans la liste des coups légaux est rejetée, et si l'ensemble des choix validés finit par bloquer le déroulement ultérieur de la partie, ils sont révoqués en bloc pour éviter de laisser une partie bancale.
Quand les deux joueurs ont noté la partie
Lors d'un match officiel, deux adversaires ont couché la même suite de coups sur le papier. Cela représente deux lectures indépendantes d'un même affrontement, et chaque convergence ou divergence constitue une précieuse information.
ScanChess est désormais capable de fusionner les deux feuilles de match. Les flux de coups sont alignés chronologiquement plutôt qu'imbriqués aveuglément : une ligne sautée par l'un des joueurs décale simplement la correspondance d'un cran au lieu de transformer chaque coup suivant en un conflit insoluble. Dès que les deux notations concordent, l'indice de confiance augmente de moitié — deux écritures distinctes s'accordant sur un Nf3 apportent une certitude bien plus robuste qu'une lecture isolée. En cas de désaccord, l'indice diminue et les deux propositions sont conservées pour votre arbitrage, avec la mention de la feuille d'origine de chacune.
Ce qui n'a délibérément pas changé
La correction automatique reste formellement désactivée. Le scan affiche fidèlement ce qui a été déchiffré ; là où les règles du jeu bloquent, le coup fautif est isolé ; là où subsiste une ambiguïté, elle est surlignée et expliquée. Toutes ces évolutions rendent les alertes plus pertinentes et la relecture plus rapide. Aucune d'elles ne retouchera jamais votre partie à votre insu, car une feuille « corrigée » en douce est bien plus préjudiciable qu'une feuille dont on connaît les points de contrôle.
La meilleure garantie demeure une photo bien nette — notre liste de conseils photo ne prend que trente secondes et surpasse tous les algorithmes existants. Mais lorsque l'encre est véritablement ambiguë, numériser une feuille de partie vous rend un service plus transparent : le système vous indique le coup qui pose doute, la raison de son hésitation et les alternatives que l'échiquier autorise.

