Origine du projet
Text2LPC est une application web destinée à convertir du texte français en clés de LPC (langue parlée complétée), un système visuel qui rend la parole accessible aux personnes sourdes et malentendantes en combinant la lecture labiale avec des positions de la main près du visage.
💡 Qu'est-ce que la LPC ?
La langue parlée complétée (LPC) associe des positions de la main à proximité du visage aux mouvements des lèvres. Chaque syllabe est codée par une combinaison main-bouche qui lève toute ambiguïté de la lecture labiale seule. C'est un outil essentiel pour l'éducation et la communication des enfants sourds.
Le projet a été conçu pour soutenir la Fondation A Capella, active en Suisse romande dans l'accompagnement des personnes sourdes et malentendantes. L'outil permet aux professionnels et familles de transformer une phrase en une séquence d'images LPC exploitable dans un contexte éducatif.
Première implémentation chez Antistatique
Text2LPC a été initialement développé par Steven Avelino, dans le cadre de son travail de fin d'études, lors d'un stage au sein de l'agence Antistatique à Lausanne. Sous mandat de la Fondation A Capella, cette première version a posé les fondations techniques de l'application.
2019 — Conception
Travail de fin d'études
Steven Avelino développe la première version fonctionnelle de Text2LPC au sein d'Antistatique, en utilisant Laravel 5.8, Vue.js et une intégration Python pour la conversion phonétique.
2019 — Déploiement
Mise en production initiale
L'application est déployée et rendue accessible à la Fondation A Capella. La pile technique comprend PHP 7.3, Laravel 5.8, Vue.js 2, Bootstrap 4 et un backend Python/Phonemizer pour la conversion texte-phonèmes.
Fin 2019 — Livraison
Fin du mandat
Le stage et le mandat Antistatique se terminent. L'application est fonctionnelle mais aucune maintenance continue n'est prévue.
Architecture de la première version
// Pile technique originale (2019)
; Backend
PHP 7.3.1
Laravel 5.8
MariaDB 10.1
; Frontend
Vue.js 2.5.17
Bootstrap 4.0.0
jQuery 3.2
; Conversion phonétique
Python 3.5+
Phonemizer 1.0.1 ← espeak-ng 1.49.2 backend
; Déploiement
Capistrano Ruby-based deployment
Période sans maintenance
Après décembre 2019, l'application n'a plus été maintenue. Aucune mise à jour de sécurité, aucune correction de bug, aucune évolution fonctionnelle n'a été réalisée pendant plus de quatre ans.
⚠ Conséquences de l'abandon
L'obsolescence progressive de la pile technique — versions de PHP, de Laravel et des dépendances Python — a rendu l'application de plus en plus difficile à exploiter de manière fiable et sécurisée. Les vulnérabilités connues de Laravel 5.8 et PHP 7.3 (tous deux en fin de vie) représentaient un risque croissant.
Cette situation a posé des limites à l'exploitation de Text2LPC alors même que l'outil répond à un besoin toujours bien présent pour la communauté LPC et les activités de la Fondation A Capella.
- ✗PHP 7.3 — fin de support sécurité depuis décembre 2021
- ✗Laravel 5.8 — fin de support depuis janvier 2020
- ✗Dépendances npm — vulnérabilités connues non corrigées
- ✗Environnement serveur — configuration de déploiement obsolète
Reprise par d-side solutions Sàrl
Afin de redonner une seconde vie à l'application, d-side solutions Sàrl a repris le projet sous un nouveau dépôt, avec l'objectif explicite de l'actualiser technologiquement et de le rendre à nouveau utilisable par la Fondation A Capella.
Ce travail de reprise a inclus notamment :
- ✓Mise à jour des technologies sous-jacentes — migration de PHP, Laravel et de l'ensemble des dépendances vers des versions maintenues.
- ✓Modernisation de l'environnement de développement — conteneurisation Docker pour garantir la reproductibilité.
- ✓Adaptation aux standards actuels — stabilité, sécurité et maintenabilité à long terme.
- ✓Enrichissement du modèle de données — ajout de tables pour les positions et les bouches, support multi-bibliothèques.
- ✓Maintien de la suite de tests — tests PHPUnit fonctionnels et unitaires vérifiés et adaptés.
Détails techniques de la modernisation
Migration du backend
// Migration de la pile technique
Chaîne de conversion texte → LPC
Le cœur de l'application repose sur une chaîne de traitement en plusieurs étapes qui transforme du texte français en images LPC exploitables :
// Pipeline de conversion
saisie utilisateur
Python / Phonemizer
Laravel / LPCService
clé + position + bouche
// Intégration Python ↔ PHP
// Laravel appelle Python via Symfony Process
$process = new Process(['python3', 'phonemize.py', $text]);
// Phonemizer (espeak-ng backend) retourne les phonèmes
"bonjour" → "b ɔ̃ ʒ u ʁ"
// LPCService combine consonnes + voyelles en clés
"b+ɔ̃" → clé 1, position 3
Architecture applicative
// Architecture Laravel MVC
; Services métier
LPCService ← encodage texte → clés LPC
PhonemeService ← interface Python/Phonemizer
; Modèles de données
Library → Keys, Positions, Mouths
User → Libraries (publiques / privées)
; Fonctionnalités
Auth ← OAuth2 (a-capella.ch) + standard
PDF ← DomPDF pour impression des fiches
Images ← Intervention Image, upload public/privé
Tests
La suite de tests PHPUnit couvre les aspects critiques de la conversion LPC :
- ✓EncodeLPCTest — 8 cas de tests fonctionnels validant la chaîne complète texte → LPC
- ✓TransformTest — validation des transformations phonétiques
- ✓GetPositionNameTest / GetKeyNameTest — correspondance clé ↔ position
- ✓ConsonantVowelTest — gestion des paires consonne-voyelle et cas limites Unicode
Environnement de développement
// Docker Compose — 2 services
acapella-web:
# PHP 8.2 + Apache + Python 3 + Node.js
ports: 8181:80
acapella-db:
# MariaDB 10.1
ports: 9999:3306
# Commandes Makefile
make setup ← installation complète
make build ← construction des conteneurs
make up ← démarrage
make test ← exécution PHPUnit
Valeur du travail réalisé
L'ensemble du parcours — conception initiale en travail de fin d'études, réalisation en stage chez Antistatique, puis modernisation par d-side solutions Sàrl — a permis de transformer une idée pédagogique en un outil concret, durablement exploitable par la Fondation A Capella.
Ce travail collectif assure à la fondation un instrument numérique adapté à la pratique de la LPC, pouvant continuer à évoluer et à être intégré dans ses activités de soutien et de formation.
En résumé
Text2LPC illustre comment un projet issu du monde académique peut être pérennisé grâce à une reprise technique rigoureuse. La migration de PHP 7.3 / Laravel 5.8 vers PHP 8.2 / Laravel 10, la conteneurisation Docker et le maintien d'une suite de tests garantissent à la Fondation A Capella un outil fiable et évolutif.
L'application continue de servir sa mission première : rendre la langue parlée complétée accessible au plus grand nombre, au service de l'inclusion des personnes sourdes et malentendantes.
Vous avez un projet web vieillissant qui mérite une seconde vie ? Contactez-nous.
Luc Demierre
Fondateur & Consultant IT — d-side solutions Sàrl, Fribourg
Spécialisé en architecture IT, sécurité des systèmes et intégration e-commerce pour les PME suisses. Fondateur de d-side solutions Sàrl depuis 2022.