À retenir
- C'est l'aptitude à encaisser les erreurs sans provoquer de panne majeure.
- Un système robuste privilégie la continuité de service au crash immédiat.
- Elle repose sur une gestion rigoureuse des cas limites et des données imprévues.
La robustesse est la capacité d'un logiciel ou d'un système informatique à rester stable et opérationnel, même lorsqu'il est confronté à des situations anormales ou imprévues. C'est un peu comme un smartphone qui continuerait de fonctionner sans bugger même si vous appuyiez sur tous les boutons en même temps ou si vous tentiez d'ouvrir un fichier corrompu.
Étymologie
Le mot provient du latin robustus, qui signifie « solide comme le chêne ». En informatique, cette notion de force physique a évolué pour désigner la solidité logique : un programme est robuste s'il ne s'écroule pas au moindre grain de sable dans l'engrenage.
Exemples d'usage
- Un formulaire d'inscription qui affiche une alerte polie au lieu de planter lorsqu'on saisit des lettres dans le champ « Code Postal ».
- Un serveur de base de données qui parvient à sauvegarder les informations en cours malgré une micro-coupure de courant.
- Une application de navigation GPS qui recalcule l'itinéraire au lieu de se fermer quand elle perd le signal satellite.
Cas d'usage
La robustesse est un critère majeur dans le développement de logiciels industriels, médicaux ou bancaires, où une simple erreur ne doit jamais paralyser l'ensemble du système. Elle intervient aussi en cybersécurité pour s'assurer qu'un pirate ne puisse pas faire planter un serveur en lui envoyant des données malformées.
Bonnes pratiques
Pour améliorer la robustesse, les développeurs utilisent la programmation défensive : ils vérifient systématiquement les données saisies par l'utilisateur, utilisent des mécanismes de gestion d'exceptions (try-catch) et effectuent des tests de résistance (stress tests) pour voir jusqu'où le système peut tenir avant de céder.
Synonymes
Antonymes
Conseil
Pour débuter, apprenez à ne jamais faire confiance aux données qui viennent de l'extérieur (utilisateur, réseau). Partez du principe que si quelque chose peut mal se passer, cela arrivera, et prévoyez une issue de secours dans votre code.
Questions fréquentes
Robustesse et fiabilité, est-ce la même chose ?
Pas tout à fait. La fiabilité est la capacité à fonctionner sans panne dans des conditions normales, alors que la robustesse est la capacité à résister à des conditions anormales.
Comment savoir si mon code est robuste ?
En lui soumettant des données absurdes, incomplètes ou trop volumineuses et en observant s'il les rejette proprement sans s'arrêter.