Développement19 juillet 2026· via DEV Community

Quand l'échec logiciel n'est pas une option : concevoir pour les cliniques rurales du Nige

Quand l'échec logiciel n'est pas une option : concevoir pour les cliniques rurales du Nige

Image : DEV Community

Un projet de fin d'études ne devrait pas ressembler à un système de survie pour un hôpital. Pourtant, c'est ce qui s'est produit quand un étudiant de l'Université de Port Harcourt est passé de la salle de classe aux cliniques de l'État du Delta, où des patients parcourent des heures pour se heurter à des portes closes ou à des rendez-vous perdus. Le système d'information sanitaire et de prise de rendez-vous du Delta devait fonctionner en 2G, résister aux coupures de courant et continuer à opérer alors qu'une seule erreur pouvait signifier un diagnostic manqué. Sept mois de documentation, une centaine de pages de justifications et trois bugs si précis qu'ils semblaient personnels ont enseigné une leçon difficile : la simple correction technique ne suffit pas quand le coût de l'échec se mesure en heures de trajet.

Du projet étudiant à l'épreuve du réel

Avant même d'écrire la première ligne de code, le système devait survivre à l'examen des superviseurs, des chefs de département et des examinateurs externes, qui exigeaient des preuves qu'il résolvait un vrai problème pour de vraies personnes. La pile technique — React, Node, Laravel, MySQL sur AWS avec Docker — n'était qu'un début. Les canaux de communication devaient couvrir les SMS, l'API WhatsApp Business et l'USDD, car smartphones et internet fiable sont des privilèges dans certaines zones de l'État du Delta. Chaque canal ajoutait un cas limite supplémentaire : retards de buffering, surcoûts des opérateurs, pertes de signal. Le système n'était pas conçu pour une démo ; il l'était pour les téléphones Android à 2 Go de RAM des cliniques, qui s'allument et s'éteignent au rythme des coupures de courant.

L'océan, rien que l'océan

La première faille est apparue dans une fonctionnalité conçue pour éviter aux patients de deviner à quelle clinique se rendre : une carte affichant les établissements à proximité via GPS. En développement, chaque clinique était correctement épinglée sur la terre ferme. En conditions réelles, l'une d'elles a dérivé au large des côtes ghanéennes. Les coordonnées latitude et longitude dans la base de données étaient des valeurs DECIMAL(10,7) valides — MySQL n'avait rien signalé — mais elles avaient été saisies manuellement à partir de feuilles de référence imprimées par le personnel des cliniques. Un simple transposition a transformé « 4.812345 » en « -4.812345 », propulsant la clinique au milieu de l'océan. La correction n'a pas consisté en un correctif de code ; elle a nécessité un changement de processus — des règles de validation, des menus déroulants pour les coordonnées connues et une boucle de retour permettant au personnel de signaler les anomalies en temps réel.

Pourquoi cela compte

Les systèmes de santé ruraux font rarement la une des journaux, sauf quand ils échouent, et quand c'est le cas, le coût se mesure en rendez-vous manqués et en soins retardés. Ce projet démontre que concevoir pour des environnements contraints exige plus qu'un code robuste — il faut anticiper les erreurs humaines, les infrastructures fragiles et la réalité vécue par des utilisateurs qui n'ont aucun plan B. La leçon n'est pas que les bugs sont inévitables ; c'est que les bonnes contraintes vous obligent à concevoir pour l'échec bien avant le lancement.


Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur DEV Community →

← Retour à l'accueil