10 juillet 2026
- Nous avons fait passer la quantité de documents officiels JSONL convertis avec le Markdown → JSONL Converter de 1180 à 1230.
- Le pipeline de traduction multilingue a été plus retardé que prévu, ce qui montre qu’il peut falloir beaucoup de temps pour atteindre la stabilisation.
- Nous avons testé le pipeline de synchronisation des documents multilingues dans un dépôt privé, et les critères que nous avons établis sont les suivants.
Critères de structure des documents :
- Le document coréen sert de document de référence.
- Les documents multilingues sont placés sous la forme
docs/<lang>/…. - Les sous‑chemins qui se trouvaient directement sous
docs/sont considérés comme des documents de référence coréens et sont déplacés sousdocs/ko/.... - Les codes de langue utilisent les codes standards tels que
ja,zh,pt-BRet non des codes arbitraires commejpouch. - Le
README.mdà la racine reste le document racine. - Les traductions du README sont également traitées à partir de la racine.
- Les modifications du
README.mdne doivent pas être propagées à tort comme des modifications de fichiers dansdocs/. - Les dossiers de langue existants comme
docs/en,docs/jane doivent pas être imbriqués commedocs/ko/en. - Lors des tests de fichiers compressés, seuls le
READMEet le dossierdocssont extraits et pris en compte.
Critères pour les liens et les chemins :
- Les liens dans le README et dans les docs sont adaptés à la langue cible. Par exemple, le lien
docs/ko/...du README coréen devientdocs/en/...dans le README anglais. - Les chemins relatifs entre les documents internes sont également adaptés à la langue cible.
- Les chemins d’images, les liens de sous‑répertoires et les chemins relatifs ne doivent pas se casser pendant la traduction ou la synchronisation.
- Les liens de langue du README doivent être présentés de façon à ce que l’utilisateur ait l’impression de passer ou de basculer vers le document de la langue correspondante.
Critères de synchronisation automatique :
- Lorsqu’un fichier est ajouté dans
docs/ko, un fichier correspondant est créé dans chaque autre langue. - Lorsqu’un fichier est supprimé dans
docs/ko, le fichier correspondant est également supprimé dans les autres langues. - Lorsqu’un fichier spécifique de
docs/koest modifié, seules les versions correspondantes dans les autres langues sont marquées pour régénération. - On ne traduit pas tout le projet à chaque exécution.
- Les langues/fichiers déjà traduits avec succès ne sont pas retraduits.
- En cas d’échec, les livrables déjà réussis ne sont pas supprimés.
- Seuls les fichiers en échec sont retirés et recréés lors de la prochaine exécution.
- Les dossiers de langue déjà à jour, détectés par comparaison du nombre de fichiers ou d’un simple fichier de version, sont ignorés.
- Le fichier de version utilise une forme simple comme
v1ou un numéro, plutôt qu’un JSON ou un hash complexe.
Critères de traitement de la traduction :
- La traduction est testée avec l’API réelle.
- Aucun traitement « mock » de succès n’est utilisé.
- La taille des chunks est déterminée en fonction des limites officielles de contexte et de sortie du modèle.
- Il est plus important de tronquer la sortie de traduction pour qu’elle ne dépasse pas
max_tokensque de respecter la taille d’entrée. - Chaque chunk est vérifié immédiatement après traduction.
- Les zones qui échouent lors de la vérification immédiate sont placées dans une file d’attente.
- Les zones en échec sont découpées davantage (augmentation de la profondeur) avant d’être retraduites et revérifiées.
- On évite une architecture où l’on ne vérifie qu’une seule fois à la fin après avoir recombiné tous les chunks.
Critères de vérification :
- S’assurer qu’aucun texte coréen ne subsiste dans le résultat traduit.
- Vérifier que les espaces n’ont pas disparu.
- Vérifier que la structure Markdown est conservée.
- Vérifier que les fences de code, les liens, les images et les en‑têtes sont préservés.
- Pour les langues comme le chinois, dont la longueur diminue, on ne se base pas uniquement sur la comparaison de longueur.
- Lire le livrable final pour s’assurer qu’il n’y a pas d’anomalies par rapport à l’original.
Critères des journaux d’échec :
- Identifier les causes d’échec telles que
HTTP 429,504,RemoteDisconnected,finish_reason=lengthou réponses vides. - Consigner dans le journal les en‑têtes de réponse, le corps de réponse, le temps écoulé, le nom du modèle, la taille d’entrée et la consommation de tokens.
- Un seul échec ne doit pas interrompre tout le pipeline ni faire disparaître les livrables.
- En cas d’échecs répétés, analyser d’abord la cause.
Critères d’utilisation de l’API NVIDIA :
- Le pipeline de traduction est testé avec l’API NVIDIA.
gpt-oss-120baccepte un contexte d’entrée allant jusqu’à 128 k, mais la politique NVIDIA limite la sortie à environ 4096 tokens.- Même si l’on peut fournir de gros blocs d’entrée, la limite de sortie peut tronquer la traduction ; le critère réel est donc la restriction de sortie à 4096 tokens.
- On tente jusqu’à 40 appels par minute, avec une politique d’attente/re‑essai en cas d’erreur.
Critères de codage en dur :
- On utilise des règles structurelles comme
docs/<lang>, des marqueurs, des expressions régulières pour les liens et le parsing des fences de code. - Aucun mot ne doit être remplacé ou supprimé arbitrairement.
example.comne doit pas être supprimé arbitrairement.- On n’enregistre pas chaque fichier de documentation individuellement via son chemin.
- On ne force pas la substitution de tournures ou de mots spécifiques.
Critères opérationnels :
- On examine à la fois les GitHub Actions et les runners auto‑hébergés macOS.
- Même sur macOS, le flux se termine par un commit/push automatique.
- On rend le suivi de progression visible comme dans GitHub Actions.
- Les logs doivent indiquer quels langages/fichiers/chunks sont en cours de traitement.
- Le nom de branche, l’URL du run, la cause de l’échec et le pourcentage d’avancement doivent être clairement consignés.
En dehors de la traduction, nous avons découvert un document intéressant récemment.
Nous avons consulté Pollinations APIDOCS.md.
Même sans clé API, on peut appeler l’API avec
curlet obtenir une réponse texte ; la génération d’images semble également possible.Cela pourrait permettre d’expérimenter légèrement sans craindre de facturation.
Nous avons d’abord développé quelque chose d’amusant avec cela, et nous prévoyons de le publier plus tard après l’avoir davantage testé.
Nous avons réorganisé la structure des slots JSONL de séparation de version du Qwen Validation Debugger :
docs_chunksconstitue la base de l’explication du code, donc on conserve des slots distincts pour le code Godot 3 et le code Godot 4.- Au lieu de créer séparément
api_mappingetlabel_prototypespour Godot 3 et Godot 4, on les regroupe dans un même JSONL servant de base de conversion3 → 4. - Les valeurs attendues pour la validation du JSONL de conversion
3 → 4sont : « Oui » pour le code Godot 3 et « Non » pour le code Godot 4. - Les valeurs attendues pour le JSONL de conversion neutre sont : « Non » tant pour le code Godot 3 que pour le code Godot 4.
Rétrospective : docs/retrospectives/2026-07-10.md