Le Principe de robustesse

Dans le domaine des proto­coles de commu­ni­ca­tion, le Principe de robus­tesse veut qu’un nœud d’un réseau (par exemple un serveur sur Internet) soit tolé­rant quand il décide d’ac­cepter ou non un message plus ou moins bien formé, et qu’il soit plus rigou­reux sur la qualité des messages qu’il envoie. Le prin­cipe voit son origine dans les débats autour de l’im­por­tance qu’il faut donner à une norme de commu­ni­ca­tion : la stra­tégie opti­male pour la robus­tesse du réseau, ce serait de suivre la norme de près en output mais beau­coup moins en input.

Par la suite (RFC 1122, § 1.2.2), il été a inter­prété de manière plus large comme un prin­cipe de prévoyance :

Software should be written to deal with every concei­vable error.

C’est-à-dire : rendez votre programme robuste en le conce­vant de telle sorte à qu’il fonc­tionne avec les plus inputs les plus variés.

La rhéto­rique dispose d’un couple de règles très simi­laire : les prin­cipes d’hon­nê­teté intel­lec­tuelle et de charité. Le premier revient à dire qu’il faut faci­liter le travail de compré­hen­sion de l’in­ter­lo­cu­teur, le second qu’il faut inter­préter ses propos de la manière la plus avan­ta­geuse possible. (Note : c’est une vision à minima. L’honnêteté intel­lec­tuelle ne se limite pas à un souci de clarté. De manière plus dras­tique, ces prin­cipes rappellent qu’il faut veiller à avoir un langage et des valeurs de discus­sion communs.)

Il y a un troi­sième domaine où ce prin­cipe peut s’ap­pli­quer : les IHM. La mani­pu­la­tion d’un programme peut être vue comme un dialogue : l’uti­li­sa­teur demande quelque chose et le système répond qu’il a bien effectué (ou non) la tâche, tout ceci via le language de l’in­ter­face. La méta­phore a notam­ment été déve­loppée par Hutchins dès 1987 (article en lien ici – PDF pour­rave mais réflexion passion­nante), qui en note aussi les limites : elle suppose qu’il y a une média­tion de type symbo­lique entre l’homme et la machine, avec toute la complexité et l’ambiguïté que cela implique.

Pourtant, cette méta­phore de la conver­sion s’ap­plique encore à bien des cas, par exemple la complé­tion d’un formu­laire : j’entre une date et le programme me répond si elle a bien été comprise. Une bonne inter­face est tolé­rante dans les formats possibles qu’elle admet en entrée et rigou­reuse (cohé­rente) à chaque fois qu’elle doit affi­cher une date en sortie.

Le prin­cipe de robus­tesse sur Wikipedia

Articles liés

Attention, commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.