Aujourd'hui, TP d'aérodynamique supersonique, avec un programme qui calcule ce qui se passe autour d'une aile d'avion.
Celui-ci n'est utilisable que sur le serveur de l'école, on s'y crée donc un compte, avec un programme qui fait aussi office de client X.Org pour nous permettre d'utiliser Gnome 2, et les programmes graphiques dont nous auront besoin.
Après cette formalité, l'énoncé demande de copier des fichiers dans notre répertoire personnel. Ces fichiers se trouvent dans le répertoire
/home d'un enseignant, sur lequel nous avons tous les droits (d'ailleurs, tout le monde a tous les droits sur
/home).
Ce serveur a une sécurité à toute épreuve... PEBKAC.
Il y a quelques années, en regardant des produits exposés dans un magasin informatique, j'entends l'un des vendeurs dire à un autre :
« J'ai dû rédiger un document en anglais, mais j'ai galéré... parce que les clavier AZERTY n'ont pas les mêmes touches que les claviers QWERTY. Du coup, je me perdais dans les touches en écrivant ! ». PEBKAC.
Sur un forum d'entraide informatique, un utilisateur ne parvenait pas à retirer le style appliqué à une portion de texte sous Word. Il ouvre un nouveau sujet et demande de l'aide.
La première réponse lui conseille d'ouvrir le bloc-notes, d'y couper/coller la portion de texte en question, puis de tout couper/coller à nouveau dans Word. PEBKAC.
Sur la page Web du collège où travaille ma mère, l'accès administrateur est ouvert à tous les membres du personnel enseignant et administratif, c'est à dire qu'ils sont les seuls à connaître la procédure (sur papier) permettant d'ouvrir la bonne page Web, qui est au final une adresse IP (sans URL, donc) et qui ne demande pas de mot de passe.
J'avoue, une page Web sans URL, impossible de la trouver...
Mais ce n'est pas tout : comme il est impossible de taper une adresse IP dans la barre d'adresse (oui, c'est de l'ironie), sur le portail Web public du collège, il y a un lien invisible de 5x5 pixels en plein milieu d'une image, qui permet d'accéder directement à la page d'administration (c'est ce que la procédure papier dit de faire).
Ainsi, il suffit à n'importe qui d'afficher le code source de la page pour obtenir le lien, qui en plus est illustré d'un commentaire HTML plutôt explicite. PEBKAC.
Fin des années 90, un « informaticien » vient installer un graveur CD externe SCSI sur le PC de boulot de ma mère.
Il branche une carte SCSI dans le PC, et insère le CD de pilotes dans le lecteur de l'unité centrale. Mais il ne parvient pas à installer le pilote de la carte.
Il se justifie donc par cette phrase : « On ne peut pas installer la carte, ils ont dû oublier de graver le pilote... ». PEBKAC.
En me loguant en ligne de commande, une petit message m'annonce qu'il y a plus de 400 mises à jour disponibles, dont plus d'une centaine concernent la sécurité. Bon, soit. Installons ces mises à jour...
Premier essai, interruption pour cause de problème de connexion. Deuxième essai, tout semble bien se passer, les données sont téléchargées, mais la mise à jour ne va pas plus loin. Troisième essai, même résultat.
Je commence à m'énerver, lorsqu'un doute me saisit... J'affiche la dernière commande.
Ah, effectivement...
apt-get upgrade fonctionnera peut-être mieux ici que
apt-get update. PEBKAC.
Quand j'étais en école d'ingénieurs, un de mes amis (qui depuis a abandonné le cursus pour se lancer dans des études de commerce, où il se débrouille bien mieux, d'ailleurs) était persuadé que les ordinateurs de l'école sous Mandriva ne « l'aimaient pas ».
Il justifiait ses dires : quand il écrivait du code en C et qu'il le compilait sur son PC sous Windows, le programme fonctionnait. Mais quand il prenait le même fichier source et qu'il le compilait à l'école, le programme lançait des erreurs « d'exécution ».
À la rigueur, s'il avait utilisé « windows.h », j'aurais bien été d'accord sur des erreurs de compilation... Mais des erreurs d'exécution ? Je ne sais pas quel était son programme, mais je ne vois pas comment cela pouvait arriver, d'autant que ce que les professeurs demandaient à l'école n'était pas très compliqué.
Il s'agissait soit de mauvaise foi, soit de... PEBKAC.
Lorsque je suivais mes études, un ami avait codé un petit programme en C qui faisait des calculs de codage de canal, sur un nombre très important de données. Pour analyser les résultats, il enregistrait le tout dans un fichier texte, qui devait atteindre les 500 Mo (ce qui est déjà un premier problème).
Pas de chance, il avait une erreur dans son code : en plus d'appeler
fclose(filePointer); avec le pointeur vers le fichier, il appelait
free(filePointer);.
En faisant ses tests sur une petite base, le runtime n'appréciait déjà pas du tout, et mettait des messages d'alerte à répétition. Cependant, comme les données étaient bien écrites dans le fichier texte, il n'en tenait pas compte (second problème).
Mais au moment où il est passé sur la grosse base, ce n'est pas son programme qui a planté, mais le serveur de calcul qui exécutait le programme.
Au final, une demi-journée a été nécessaire pour faire repartir le serveur. PEBKAC.
J'ai tendance à considérer qu'en langage C et dans les langages dérivés, il ne faut pas utiliser l'instruction « goto », sauf peut-être dans des contextes très particuliers, et encore.
Quoi qu'il en soit, un jour, je suis tombé sur le projet universitaire en C d'un stagiaire. Le début, classique, consistait en un menu dans la console avec un chiffre à entrer pour sélectionner l'action. Pour une raison quelconque, mon stagiaire avait décidé de ne pas entrer un chiffre comme choix, mais une lettre, et une lettre majuscule ou minuscule devait représenter le même choix.
Le
main contenait donc un
switch géant, du style :
switch (choix)
{
case 'a' :
// action a
goto default;
case 'A' :
goto case 'a';
default :
break;
}
Et apparemment, c'était son professeur qui lui avait indiqué « la meilleure manière de gérer son menu ». PEBKAC.
Sur le forum d'un jeu vidéo (en corrigeant les fautes), sur un sujet traitant du « akage » de comptes (cela annonce déjà la couleur), nous pouvions lire :
« Il est très simple pour quelqu'un de hacker le compte d'un joueur. Ils utilisent un premier logiciel dans lequel ils rentrent le pseudonyme du joueur et son serveur de jeu, et obtiennent alors l'identifiant associé. Puis, avec un second logiciel, ils téléchargent le mot de passe associé au compte. C'est très simple, vous n'avez qu'à essayer ». PEBKAC.