L'ombre projetée de la réalité en informatique

L'ombre projetée de la réalité en informatique (le 14/08/2012)

Le propre d'un bon polar ou d'une bonne histoire à rebondissements est de faire démarrer l'histoire dans une voie sans issue ou de présenter la situation d'une façon biaisée : ainsi, les postulats de base sont faux, on échafaude un raisonnement et/ou une compréhension dessus, et quand arrive l'éclairage qui nous manque, subitement, tout devient plus clair.

Pour prendre un exemple simple, on pense que Rogue est le méchant dans le premier tome d'Harry Potter (à l'école des Sorciers), car on le voit prononcer des formules magiques alors que Harry est en difficulté sur son balai. Il parait logique d'en déduire qu'il est la cause des soucis qui arrivent au jeune sorcier. Alors qu'à la fin du premier tome, on se rend compte qu'il essayait en fait de l'aider et que les soucis étaient causés par un autre.

Même si c'est un peu différent, on retrouve cette idée dans l'Allégorie de la caverne de Platon : l'homme ne voit que l'ombre projetée de la réalité et échafaude un raisonnement basé sur sur cette ombre et non sur la réalité.

Allégorie de la caverne de Platon

En informatique et sur les sites Web, quand on parle de bugs, c'est souvent la même chose. Je m'explique.

Quand on me signale un bug non trivial, je prends ma casquette de Sherlock Holmes, et je ré-échafaude un raisonnement logique qui m'amène à comprendre comment ce problème est arrivé. Mon raisonnement est basé sur des postulats : si tel champ est rempli, alors il est à l'étape 4, si tel truc est renseigné dans la base, alors il s'est passé telle chose, etc.

Et souvent, le problème vient totalement d'ailleurs : en fait, on s'aperçoit qu'une entrée dans la base de données a été affichée dans l'administration du site alors qu'elle n'aurait pas dû l'être, du coup, on s'est retrouvé dans un cas considéré impossible, et évidemment, le système n'est pas prévu pour ! En résulte un e-mail vide, une entrée qui a fait déconner une autre partie, etc.

Et bien sûr, les informations que j'ai à ma disposition sont les ombres projetées de la réalité : cet e-mail vide, le problème généré ailleurs, etc. Donc, je vais essayer de comprendre comment c'est arrivé, et la plupart du temps, il est difficile de partir de la fin. Des fois, on va même patcher à tort une partie alors qu'une autre est en cause.

Et bien évidemment, personne ne va m'indiquer qu'en fait, une entrée a été validée à tort, ce qui a généré un souci ailleurs. Sinon, ce serait trop facile.

Donc, quand un informaticien vous dit : « je n'arrive pas à reproduire le bug », ou « cela ne devrait pas arriver », ce n'est pas par fainéantise ou je-m'en-foutisme, c'est qu'à partir des ombres que vous lui envoyez, il manque d'informations pour comprendre ce qu'il s'est passé. C'est pour cela qu'il est important de préciser l'environnement, comment on est arrivé là, le navigateur, etc.

Pensez-y la prochaine fois que vous soumettrez un bug !

Permalien :

Flux RSS des commentaires de ce billet : https://www.nicolas-hoffmann.net/rss/commentaires.php?id_news=1492

3 commentaires

Posté par Darathor le 14/08/2012 à 12:56:15
Ah le nombre de tickets qui passent par la case "Je n'arrive pas à reproduire votre problème en faisant les manipulations [...]. Pourriez-vous préciser un scénario permettant d'y parvenir ?" avant de pouvoir poursuivre leur traitement...

Quand ça vient de non-informaticiens ça passe : on se dit qu'ils n'ont pas la compréhension suffisante de ce qu'est la correction de bugs et ne conçoivent donc pas forcément que dire juste "Quand je vais dans le module XYZ, ça marche pas !" n'est pas suffisant.

C'est plus difficile à prendre de manière détendue quand ce sont des gens qui travaillent dans le web depuis longtemps voire des développeurs qui font des remontées à peine plus détaillées...

Mais c'est vrai que j'avais pas pensé à prendre l’Allégorie de la caverne pour illustrer le problème ^^
Posté par Fabrice le 14/08/2012 à 13:29:14
C'est en général à ce moment là que je parle de bugs poilus, qui évoluent dans le temps, qui mutent. Qui nous font nous arracher les cheveux, et où l'on cherche tout azimuts pour trouver une idée de piste à explorer... sans jamais savoir si on est sur la bonne voie.
Cf : http://web-quality.over-blog.com/article-83554192.html
Posté par HTeuMeuLeu le 15/08/2012 à 9:39:54
Très bon article !

Un cas courant que je rencontre qui illustre bien ce problème, ce sont les chefs de projet qui m'envoient une capture d'écran d'un problème recadrée uniquement sur la partie de la page où le problème apparaît. Ça part d'une bonne intention, mais c'est particulièrement gênant car ça m'empêche de comprendre ce qui se passe réellement. Avec une capture d'écran complète, je suis capable de déterminer l'OS de test, le navigateur, la version de navigateur (a peu près), et tout autre phénomène extérieur pouvant jouer un rôle dans l'apparition du bug. J'ai déjà eu plusieurs fois des remontées de bugs qui provenaient en fait de la présence d'un plugin dans le navigateur (Skype, AdBlock, ou Flash).

Ajouter un commentaire









L'option « Se souvenir de mes informations » utilise un cookie, elle ne sera pas effective si vous les avez désactivés.

Les balises HTML ne seront pas interprétées, il est donc inutile d'en mettre. Par contre, les sauts de lignes de votre commentaire seront pris en compte, ne mettez donc pas de <br />, le site s'en chargera. Bien sûr, un commentaire vide ne sera pas ajouté !

L'auteur (autrement dit moi) n'est pas responsable des éventuelles fautes d'orthographe dans les commentaires.
Tout propos raciste et/ou insultant sera supprimé sans préavis. Les commentaires hors de propos destinés à faire de la pub pour des sites seront également supprimés sans ménagement.

Je vous prie de me pardonner, j'ai énormément de mal à lire le "langage" SMS, il n'est donc pas du tout interdit de s'abstenir de l'utiliser. Qui plus est, vous avez sûrement un clavier digne de ce nom et pas celui d'un téléphone portable. Ne vous gênez pas pour utiliser l'option "Prévisualiser" si vous voulez vous relire avant de poster, je vous en remercie d'avance !

Cet article a été écrit par Nicolas Hoffmann.

Ce site est la propriété de Nicolas Hoffmann.
Tous droits réservés, les textes du blog sont publiés sous licence CC BY-NC-SA.