Developpez.com

Le Club des Développeurs et IT Pro

Quelle est la plus grosse erreur de programmation que vous ayez jamais commise ?

Partagez vos expériences

Le 2009-10-28 23:54:44, par Katleen Erna, Expert éminent sénior
Quelle est la plus grosse erreur de programmation que vous ayez jamais commise ?

Tout le monde fait des erreurs. C'est humain, ça arrive et c'est le plus souvent involontaire. Les conséquences peuvent malheureusement en être parfois plutôt importantes.

Le nez dans vos lignes de code, quelles bourdes informatiques avez-vous laissées passer ? Quelles mauvaises manipulations vous est-il déjà arrivé de commettre, bien trop absorbé que vous êtiez pas les entrailles de votre machine ?

Mon ami Olivier me racontait hier comment il s'était trompé en codant un script en bash sous Linux lorsqu'il était encore en formation, ce qui avait détruit la racine du système et provoqué chez lui un grand fou rire (heureusement, son professeur fut clément du fait de ses bons résultats habituels).

D'autres anecdotes me viennent en tête, comme celle de ce jeune programmateur américain qui, pour son premier "job", devait développer un soft de rencontres en ligne pour son université (à l'occasion de la Saint Valentin de 1983). Mais il avait oublié de spécifier le facteur "genre" comme plus important que les autres. Résultat, les joueurs de l'équipe de foot se retrouvaient "marriés" entre eux, ce qui en amusa certain, tout en en énervant d'autres. L'erreur fut rapidement réparée. mais eu de grosses répercussions sur la communauté étudiante.

Quels grands moments de solitude avez-vous vécus ?

- Vous est-il par exemple déjà arrivé de lancer par erreur une commande Drop Database lors d'une présentation en public sur les vulnérabilités d'une page web exploitable par injection SQL ? (quelle fut la tête du client ?)

- Propagé un virus sur le web à l'insu de votre plein gré (par quelques malheureuses fuites de vos expériences secrètes) ?

- Remis à zéro tous les mots de passe de votre entreprise ?

- Renommé par erreur tous les logins des employés de votre entreprise par celui de votre ennemi de toujours : "Michel" ? Ou "Dudule007" ?

- Mis par inadvertance en ligne l'un de vos tests maisons lors d'un travail de création de site Internet, avec des images assez trash ou des textes incongrus (par exemple, une jolie paire de seins ou une blague sur la taille de l'engin du patron de l'entreprise dont vous refaites le site) ?

- Rencontré des bugs du type :

int counter = 0;
while(counter < 10); {
// do stuff (or, not, really)
counter ++;
}
Allez, dites nous tout, quels soucis techniques et autres bugs avez-vous déjà rencontrés ou provoqués ? Le meilleur (ou pire, c'est selon) sera publié dans ce post après délibérations du jury (c'est à dire, selon vos avis et commentaires sur les anecdotes de vos voisins). C'est à vous !
  Discussion forum
138 commentaires
  • Braillane
    Membre actif
    Je développais un soft pour une pointeuse d'horaires et sur ma base de test une fois je venais d'importer la base de prod et j'ai oublié de changer les adresses mails. Résultat, tout les employés, y compris ceux a l'autre bout de la france, on reçu un mail disant qu'il n'avait fait aucune heure ce mois ci...
    La seconde qui suivait, l'administration était envahi de coup de fil...
  • calagan99
    Modérateur
    Envoyé par Ecva233
    A l'époque les notions de recette et de qualif n'était que fadaises et billevesées, donc généralement t'assurais le rôle de développeur, qualificateur, recetteur ...
    Ah, parce que ce n'est plus vrai ?
  • Uther
    Expert éminent sénior
    Envoyé par hegros
    Euh cette procédure ne fait rien du tout...
    Relis attentivement la procédure de titeeee, et tu verras, qu'elle ne fait rien du tout non plus.
  • tchize_
    Expert éminent sénior
    Mise à jour vers la version X+1 du dev sur le serveur de prob après moultes test. Application de gestion de dossiers RH. Après un mois de fonctionnement de X+1, on nous signale des dates incorrectes dans un dossier. Attention faut suivre la cause:

    champ de date, timezone GMT+1 dans le HTML
    récupération en java sous la forme d'un objet Date ayant les heures à 00:00
    envoi vers oracle via driver et un appel à setTimestamp (jour+heure, faut suivre)
    arrivée sur le serveur oracle avec un valeur ajustée à la locale du serveur: J-1 23:00
    Stockage dans une colone DB de type date, oracle zape la partie "heure", non stockée
    Récupération de oracle: J-1 00:00
    Transfert vers notre application: J-1 01:00
    Affichage: J-1 (on supprime la partie heure)
    On sauve, J-1 00:00 on recommence avec J-2, J-3, etc :p

    conclusion: tous les dossiers édités au cours du dernier mois ont eu tous leur champ de dates (naissance, contrat, formations, indemnités etc) reculé de autant de jour qu'il n'y avait eu de "save" dans l'application. Impossible d'appliquer un backup au bout d'un mois.... Je vous laisse imaginer la tête des RHs
  • Marc3001
    Membre éprouvé
    C'était ma première mission de dev. J'effectue ma première tâche de développement en 10 jours. Tout fonctionne bien sur les plateformes de test, je suis content.

    Plusieurs semaines plus tard on teste la livraison proprement sur notre plateforme de test et là on se rend compte que je n'avais pas commité mes changements dans la gestion de conf et du coup toutes mes modifs n'étaient pas intégrées à la livraison.
    Histoire de rajouter un peu à la boulette j'avais fait le ménage sur mon PC 3 jours avant le test d'install et j'avais supprimé mes sources en local.

    En gros on avait perdu tout le taff que j'avais fait pendant ces 10 jours.

    Résultat, j'ai dû recoder la fonctionnalité à l'arrache en 4 jours et retester super vite pour avoir le temps de l'embarquer dans la livraison.
  • tchize_
    Expert éminent sénior
    C'est pour ça que les version test doivent toujours être construites à partir du repository central
  • Amethyste
    Nouveau membre du Club
    une appli web dont j'étais supposé faire un audit de sécurité

    et je découvre à ma grande surprise que dans l'aide en ligne le développeur avait placé une page "utilitaire" avec les mots de passe des comptes root des serveurs où l'appli était installée.

    Tous encore actifs

    Evidement la page était en prod accessible à qui voulait.

    D'un autre côté qui lit la doc....
  • scheu
    Membre expérimenté
    2 de mes citations préférées :

    Il y a deux types d'informaticiens : ce qui ont déjà fait une connerie et ceux qui vont bientôt en faire une ...
    99% des problèmes informatiques se situent entre la chaise et le clavier ...
    A méditer ...
  • clavier12AZQSWX
    Membre éclairé
    rm -rf (mais sur un mauvais répertoire)


    ps : il faudrait inventer le smiley des ptits oiseaux qui passent au dessus d'une tête en laissant des ptits points (comme dans nicky larson) pour montrer ma honte et humiliation de ce bug/mauvaise manip...
  • Médinoc
    Expert éminent sénior
    Pour le coup du delete, j'ai eu un truc plus bizarre avec les boutons "transformer en commentaire" de SQL Server Management Studio 2005:

    Si tu mets une requête en commentaire, elle sera sélectionnée ainsi:
    Code SQL :
    1
    2
    --delete from une_table 
    --where unChamp = uneCondition
    Vous noterez que le premier "--" n'est pas sélectionné... (ce n'est pas le cas dans 2008) et moi, j'ai ensuite pressé F5 pour exécuter le reste du script, sans dé-sélectionner avant.