J’ai un bug, qu’est-ce que je peux faire
Transcript of J’ai un bug, qu’est-ce que je peux faire
![Page 1: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/1.jpg)
1
J’ai un bug,qu’est-ce que je peux faire ?
Samuel Thibault
7 Mars 2017
![Page 2: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/2.jpg)
2
Qu’est-ce qu’un bug ?
![Page 3: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/3.jpg)
3
Qu’est-ce qu’un bug ?
● Un comportement erroné dû à une situation imprévue
● Erreur
● Situation
![Page 4: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/4.jpg)
4
Qu’est-ce qu’un bug ?
● Un comportement erroné dû à une situation imprévue
● Erreur– Le programmeur a mal fait son boulot, il n’a pas pensé à
tout● Situation
– Le logiciel s’est retrouvé dans une situation particulière à laquelle le programmeur n’avait pas pensé
![Page 5: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/5.jpg)
5
Qu’est-ce qu’un bug ?
![Page 6: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/6.jpg)
6
Qu’est-ce qu’un bug ?
![Page 7: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/7.jpg)
7
Qu’est-ce qu’un bug ?
![Page 8: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/8.jpg)
8
Qu’est-ce qu’un bug ?
![Page 9: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/9.jpg)
9
Qu’est-ce qu’un bug ?
![Page 10: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/10.jpg)
10
Qu’est-ce qu’un bug ?
![Page 11: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/11.jpg)
11
Qu’est-ce qu’un bug ?
1
2 3
4
![Page 12: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/12.jpg)
12
Qu’est-ce qu’un bug ?
1
23
4
![Page 13: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/13.jpg)
13
Qu’est-ce qu’un bug ?
● Programme pour 4● Tirer la timbale 4 de l’emplacement 1● Tirer la timbale 1 de l’emplacement 4● Pousser la timbale 4 à l’emplacement 4● Pousser la timbale 1 à l’emplacement 1● Tirer la timbale 3 de l’emplacement 2● Tirer la timbale 2 de l’emplacement 3● Pousser la timbale 3 à l’emplacement 3● Pousser la timbale 2 à l’emplacement 2
![Page 14: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/14.jpg)
14
Qu’est-ce qu’un bug ?
● Programme pour N● Tirer la timbale N de l’emplacement 1● Tirer la timbale 1 de l’emplacement N● Pousser la timbale N à l’emplacement N● Pousser la timbale 1 à l’emplacement 1● Tirer la timbale N-1 de l’emplacement 2● Tirer la timbale 2 de l’emplacement N-1● Pousser la timbale N-1 à l’emplacement N-1● Pousser la timbale 2 à l’emplacement 2● ...
![Page 15: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/15.jpg)
15
Qu’est-ce qu’un bug ?
● Programme pour N● Pour i entre 0 et N-1
– Tirer la timbale N-i de l’emplacement i+1– Tirer la timbale i+1 de l’emplacement N-i– Pousser la timbale N-i à l’emplacement N-i– Pousser la timbale i+1 à l’emplacement i+1
![Page 16: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/16.jpg)
16
Qu’est-ce qu’un bug ?
● Programme pour N● Pour i entre 0 et N-1
– Tirer la timbale N-i de l’emplacement i+1– Tirer la timbale i+1 de l’emplacement N-i– Pousser la timbale N-i à l’emplacement N-i– Pousser la timbale i+1 à l’emplacement i+1
● Et paf le bug!– Pour N=4
● On échange 4 et 1● On échange 3 et 2● On échange 2 et 3● On échange 1 et 4
![Page 17: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/17.jpg)
17
Qu’est-ce qu’un bug ?
● Programme pour N● Pour i entre 0 et (N-1)/2
– Tirer la timbale N-i de l’emplacement i+1– Tirer la timbale i+1 de l’emplacement N-i– Pousser la timbale N-i à l’emplacement N-i– Pousser la timbale i+1 à l’emplacement i+1
![Page 18: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/18.jpg)
18
Qu’est-ce qu’un bug ?
● Un client me dit● “Il fait bien ce qu’il faut, mais au moment où il a fini,
il tire une timbale, puis devient fou !”
● Comprends pas, testé pourtant !
![Page 19: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/19.jpg)
19
Qu’est-ce qu’un bug ?
![Page 20: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/20.jpg)
20
Qu’est-ce qu’un bug ?
![Page 21: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/21.jpg)
21
Qu’est-ce qu’un bug ?
![Page 22: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/22.jpg)
22
Qu’est-ce qu’un bug ?
● Programme● Pour I entre 0 et (N-1)/2
– Tirer la timbale N-i de l’emplacement i+1– Tirer la timbale i+1 de l’emplacement N-i– Pousser la timbale N-i à l’emplacement N-i– Pousser la timbale i+1 à l’emplacement i+1
● Ici N=5 !– (N-1)/2 = 2, le robot fait 3 tours !
![Page 23: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/23.jpg)
23
Qu’est-ce qu’un bug ?
● Ici N=5 !● On n’avait testé que pour N=2, 4, 6● N=5 est une situation inhabituelle, imprévue
● Ce n’est pas une faute !
![Page 24: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/24.jpg)
24
Mythe : « mauvaise manip »
« J’ai fait une mauvaise manip »● Cela n’existe pas
● En général un bug● Au pire, une mécompréhension
– Sélectionner tout le texte, puis « suppr »
Il n’est pas censé y avoir de comportement « interdit » pour l’utilisateur● Robustesse du logiciel
![Page 25: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/25.jpg)
25
Mythe : « c’est juste moi »
« Nan mais c’est moi, je ne sais pas y faire avec les ordis »● Oui et non
● Utilisation particulière de l’ordi● Matériel particulier● Combinaison particulière de logiciels● D’autre aussi l’auront !
– Faire corriger !
![Page 26: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/26.jpg)
26
Quoi faire ?
![Page 27: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/27.jpg)
27
Débugguer !
Résoudre un bug = résoudre une énigme
Comme un détective● Enquêter● Émettre des hypothèses● Invalider des hypothèses● Rassembler les résultats● Résoudre le problème
![Page 28: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/28.jpg)
28
Débugguer !
Enquêter● À quel moment précis se produit le bug ?
● Quelle action a-t-on faite juste avant ?
● Est-ce que ça le fait tout le temps ?● Même après avoir redémarré l’ordi ?
● Est-ce que ça le fait dans tous les cas ?● Avec n’importe quel document ?● Quelles que soient les actions faites avant ?
● Est-ce que ça l’a toujours fait ?● Quelles versions du logiciel posent problème ?
– Essayer la dernière version
![Page 29: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/29.jpg)
29
Débugguer !
Enquêter● Donne des indices sur ce qui déclenche le bug
● La situation particulière● Ce qu’il faut éviter de faire en attendant qu’il soit
corrigé● Ce qu’il faut chercher sur Internet pour trouver des
solutions de contournement● Quoi dire dans un forum pour trouver de l’aide● Ce qu’il faut faire pour reproduire le bug
![Page 30: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/30.jpg)
30
Chercher sur Internet
● Nom du logiciel● Les éléments de la situation particulière● Message d’erreur éventuel
● Mettre des guillemets: “error truc machin”
● Utiliser le vocabulaire approprié● Avec de la chance
● Forum avec solution● Rapport de bug avec solution
● Essayer en Anglais aussi
![Page 31: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/31.jpg)
31
Un rapport de bug !
![Page 32: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/32.jpg)
32
Un rapport de bug
Un des intérêts du logiciel libre● Contact fort avec les développeurs !● En profiter !
![Page 33: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/33.jpg)
33
Un rapport de bug
Quoi mettre dedans ?● Le contexte● L’action qu’on a faite● Le résultat obtenu● Le résultat attendu
● Les indices de l’enquête
![Page 34: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/34.jpg)
34
Un rapport de bug
Contexte et action● Assez d’information pour pouvoir reproduire le
bug● Idéal, le développeur se débrouille ensuite
● Ne rien négliger● Déterminer en quoi la situation est particulière !
● Mieux vaut trop d’information que pas assez● Pénible d’avoir à tirer les vers du nez
![Page 35: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/35.jpg)
35
Un rapport de bug
Le résultat obtenu● Être précis !
● Le diable est dans les détails● Pensez aux enquêtes de Sherlock Holmes & co
● Message d’erreur● Précieux !● Pas fait pour être compris, c’est normal !● Tout mettre
– “fatal error” c’est pas suffisant :)– “Docteur, j’ai mal”
![Page 36: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/36.jpg)
36
Un rapport de bug
Le résultat attendu● Très important aussi !
● Notamment si ce n’est pas un bug– Enfin, du coup, bug de documentation
● Ou alors fonctionalité manquante
![Page 37: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/37.jpg)
37
Un rapport de bug
Discussion avec le développeur● Comme si vous appeliez un médecin au
téléphone…● Il ne voit pas votre écran● Rien n’est évident pour lui
● Essayer ce qu’il vous demande● Tout ce qu’il vous demande
● Fournira éventuellement solution de contournement● Ne pas s’en contenter !
![Page 38: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/38.jpg)
38
Un rapport de bug
Discussion avec le développeur● Apprendre à appliquer un patch et recompiler● Apprendre à installer les packages debug et
obtenir une backtrace
![Page 39: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/39.jpg)
39
Un rapport de bug
Discussion avec le développeur● Pas évident● Technique● En anglais● Communautés comme GIROLL peut faire
intermédiaire
![Page 40: J’ai un bug, qu’est-ce que je peux faire](https://reader035.fdocument.pub/reader035/viewer/2022062400/62aa88889a375c55d83d511a/html5/thumbnails/40.jpg)
40
Conclusion
Résoudre un bug● Enquête = 90% du travail
● Très difficile sans être devant l’ordi● Un utilisateur peut en faire une grande partie
● Logiciel libre● Fort contact entre développeurs et utilisateurs
– En profiter !