Sous-titrer une vidéo à la main, phrase par phrase, avec un minutage précis, prend facilement trois à quatre fois la durée de la vidéo elle-même. Pour une agence qui produit des vidéos de présentation pour plusieurs clients par mois — tutoriels produit, témoignages, présentations institutionnelles — ce temps devient vite un goulot d’étranglement. Depuis l’arrivée d’outils de transcription automatique par IA suffisamment fiables, la méthode a changé : générer un premier jet automatique, puis corriger de façon ciblée, plutôt que tout transcrire à la main.
Ce billet décrit la recette concrète mise en place pour ce flux de travail : le problème rencontré, le script utilisé pour préparer et corriger les fichiers, et les variantes possibles selon le type de vidéo. La comparaison plus large entre transcription automatique et sous-titrage entièrement manuel, du point de vue de la fiabilité RGAA, fait l’objet d’un article séparé qui suit celui-ci.
Le problème : un flux qui ne passait pas à l’échelle
Avec un sous-titrage entièrement manuel, produire les fichiers .vtt pour une vidéo de dix minutes prenait facilement quarante-cinq minutes de travail dédié, minutage compris. Sur un mois où l’agence livrait une quinzaine de vidéos pour différents clients, ce temps devenait difficile à absorber sans recruter une personne dédiée à cette seule tâche. L’objectif n’était pas de supprimer la relecture humaine — indispensable pour la fiabilité RGAA — mais de la recentrer sur la correction plutôt que sur la transcription complète depuis une feuille blanche.
Le snippet : un script de préparation et de correction assistée
Le flux retenu utilise un moteur de reconnaissance vocale pour générer un premier fichier .vtt horodaté, puis un script PHP exécuté en ligne de commande via WP-CLI qui repère les mots suspects (noms propres du client, jargon métier) à partir d’un lexique maintenu à jour, pour les signaler à la relecture plutôt que les laisser passer silencieusement.

<?php
/**
* Commande WP-CLI : wp soustitres verifier chemin/vers/fichier.vtt
* Signale les mots du lexique métier mal transcrits par comparaison
* phonétique approximative, pour orienter la relecture humaine.
*/
class Commande_Soustitres {
private array $lexique = [
'WooCommerce', 'Gutenberg', 'RGAA', 'theme.json', 'Menuiserie Dupont',
];
public function verifier( array $args ) {
$chemin = $args[0];
$contenu = file_get_contents( $chemin );
$lignes = explode( "\n", $contenu );
foreach ( $lignes as $numero => $ligne ) {
foreach ( $this->lexique as $terme ) {
if ( $this->ressemble_sans_correspondre( $ligne, $terme ) ) {
WP_CLI::log( "Ligne {$numero} : vérifier « {$terme} » -> {$ligne}" );
}
}
}
}
private function ressemble_sans_correspondre( string $ligne, string $terme ): bool {
return stripos( $ligne, $terme ) === false
&& similar_text( strtolower( $ligne ), strtolower( $terme ) ) > strlen( $terme ) * 0.5;
}
}
WP_CLI::add_command( 'soustitres verifier', [ new Commande_Soustitres(), 'verifier' ] );
Ce script ne corrige rien automatiquement : il oriente la relecture humaine vers les lignes les plus susceptibles de contenir une erreur, ce qui réduit fortement le temps passé à relire l’intégralité du fichier ligne par ligne à l’aveugle.
Où l’IA se trompe le plus souvent
- Noms propres : noms de clients, de produits ou de personnes, presque systématiquement mal transcrits s’ils ne figurent pas dans un dictionnaire courant.
- Jargon métier WordPress : « Gutenberg » devient parfois « guttenberg » ou « gutembert », « WooCommerce » se scinde en deux mots, « theme.json » perd son point.
- Ponctuation et découpage des phrases : la transcription automatique place rarement la ponctuation de façon à faciliter la lecture des sous-titres, ce qui demande un réajustement du minutage et des coupures de ligne.
- Homophones : les erreurs les plus insidieuses, car elles produisent une phrase grammaticalement correcte mais fausse sur le fond, invisibles à une relecture rapide.
Variantes selon le type de vidéo
Pour une vidéo institutionnelle au script écrit à l’avance, la variante la plus efficace consiste à fournir le texte du script au moteur de transcription en complément de l’audio, ce qui améliore nettement la reconnaissance des noms propres. Pour un témoignage client non scripté, cette option n’existe pas : le lexique métier décrit plus haut devient alors le principal filet de sécurité, complété par une relecture intégrale plus longue, car le débit de parole naturel introduit davantage d’hésitations et de reformulations que la transcription automatique gère mal.
En résumé
La génération de sous-titres par IA change l’échelle de temps disponible pour une agence, à condition de ne jamais la traiter comme un résultat final. Le script présenté ici ne remplace pas la relecture humaine : il la concentre sur les points où l’IA se trompe le plus systématiquement, ce qui permet de tenir un volume de production que le sous-titrage entièrement manuel ne permettait pas à effectif constant.