Developpez.com

Le Club des Développeurs et IT Pro

Le site officiel des plug-ins jQuery vidé par accident

La dernière sauvegarde remonte à l'année passée, repartir à zéro sur GitHub

Le 2011-12-09 14:09:15, par Idelways, Expert éminent sénior
On ne le répétera jamais assez : des sauvegardes automatisées, fréquentes, par plus d'un moyen et sur plus d'un support.

... Surtout si vous êtes jQuery !

Un mélodrame occupe la communauté du framework JavaScript le plus populaire à cause d'une bourde que l'équipe tente de voir du bon côté : en profiter pour repartir à neuf et rénover ses processus assimilés à un éléphant blanc !

La base de données du site officiel des plug-ins jQuery a été accidentellement et (presque) entièrement vidée lors d'une opération de maintenance visant à supprimer le spam qui envahissait le site.

Probablement causée par cet étourdissement si caractéristique qui mène à des clauses de requêtes DELETE manquantes ou pas assez spécifiques. En production.
Quel développeur ou DBA n’a pas vécu cela ?

Le hic est que la plus récente sauvegarde est vieille d'une année : « je me suis retrouvé complètement horrifié quand les résultats de l'opération ont rapporté qu'il restait 10 % - chaque plug-in restant dans la base de données a été purgé », témoigne et s'explique Adam J. Sontag, membre des équipes jQuery, mainteneur du site et accessoirement en lice pour la palme d’or de la bourde de l’année.

Il se dit ouvert à tous les mails de haine et les Tweets de remontrances, « si ça peut aider » !

Le mal étant fait, irrécupérable manifestement, jQuery adopte une nouvelle infrastructure pour les plug-ins, centrée sur la forge logicielle GitHub.

Les développeurs, souhaitant proposer des plug-ins par la voie du catalogue officiel, doivent respecter deux règles :

Utiliser GitHub pour versionner le plug-in et créer au moins un tag avec un numéro de version sémantique (suivant l'initiative semver).
En second lieu : y inclure un fichier package.json en guise de manifeste. Ce dernier fixera les dépendances (version de jQuery, autres plug-ins, fichiers statiques nécessaires...), les licences, il recensera les contributeurs et d'autres paramètres. Le tout de manière structurée propice à l’automatisation.

Un nouveau site, fondé sur PHP, WordPress et un zeste de Node.JS est en cours de développement. Le site des plug-ins est actuellement indisponible.



Cette histoire nous apprend que GitHub, en plus de son attrait certain pour les développeurs, peut aussi servir comme une excellente alternative aux sauvegardes des bases de données des plus grands projets open source !

Source : blog de jQuery : ce qu'il s'est passé

Et vous ?

Utilisez-vous le catalogue officiel des plug-ins de jQuery ?
Que pensez-vous de ce qui est arrivé ?
Et de la nouvelle infrastructure proposée pour les plug-ins ?

Avez-vous déjà fait des bourdes pareilles ? Dans quelles circonstances et quelles ont été les conséquences ?
  Discussion forum
32 commentaires
  • zeyr2mejetrem
    Membre chevronné
    Je crois que ça mérite un ...
    EPIC FAIL !!!
  • acesyde
    Membre éclairé
    C'est un mal pour un bien.

    C'était tellement le bazar sur la page des plugins que ça ne peut faire de mal, même si c'est due à une bourde de l'équipe de maintenance.

    Après des sauvegardes ce n'est pas négligeable vu le travail accompli sur une année.
  • JeitEmgie
    Expert confirmé
    Envoyé par Idelways

    Que pensez-vous de ce qui est arrivé ?
    que l'on peut généraliser la phrase de Clémenceau…
    Code :
    "La ${TargetActivity} ! C'est une chose trop ${QualityValue} pour la confier à des ${TargetActivityProfessional}."
  • Charvalos
    Membre éprouvé
    Envoyé par Idelways

    Utilisez-vous le catalogue officiel des plug-ins de jQuery ?
    Oui, quand j'en ai besoin. Y'a pas a dire mais JQuery, c'est quand même vachement utile pour s'éviter de longues heures de codage pour faire un truc en JS quand avec JQuery, il faut 2 lignes

    Envoyé par Idelways

    Que pensez-vous de ce qui est arrivé ?
    Bien fait pour eux, cela leur apprendra à faire des sauvegardes régulières non mais !

    Envoyé par Idelways

    Et de la nouvelle infrastructure proposée pour les plug-ins ?
    J'attends de voir.
  • Nithril
    Membre régulier
    [Troll]
    De la part de développeurs JS on ne pouvait surement pas attendre mieux...
    [/Troll]

    Mais au demeurant le passage à GitHub va grandement faciliter le social coding si les développeurs jouent correctement le jeu
  • stardeath
    Expert confirmé
    ça me rappelle l'histoire d'un mmo japonais récemment éradiqué de la scène à cause du même genre de bourde, j'ai vraiment du mal à comprendre comment des trucs comme ça sont possibles avec toutes les mises en garde qu'on voit en permanence.
  • xelab
    Membre expérimenté
    Envoyé par stardeath
    ça me rappelle l'histoire d'un mmo japonais récemment éradiqué de la scène à cause du même genre de bourde, j'ai vraiment du mal à comprendre comment des trucs comme ça sont possibles avec toutes les mises en garde qu'on voit en permanence.
    Des scripts automatiques qui font les sauvegardes et qui pour une raison ou une autre ne tournent plus ou mal, ça arrive. J'ai déjà vu une entreprise se rendre compte par hasard que sa compta n'avait pas été sauvegardée depuis 3 années à cause d'un script défaillant...
    Bon des fois, il n'y a même pas de scripts...
  • grunk
    Modérateur
    En production.
    Quels développeur ou DBA n’ont pas vécu cela ?
    Toujours un vrai bonheur de se rendre compte qu'il manque la clause "WHERE" quand on vient de cliquer sur "Etes vous vraiment vraiment sûr d'executer cette requête" ?

    Envoyé par stardeath
    j'ai vraiment du mal à comprendre comment des trucs comme ça sont possibles avec toutes les mises en garde qu'on voit en permanence.
    Ca arrive qu'aux autres jamais à soit , c'est bien connu

    Et de la nouvelle infrastructure proposée pour les plug-ins ?
    J'utilise GIT uniquement pour récupérer des sources (svn en tant que développeur). Et sur GitHub le gros avantage c'est que l'on à pas besoin d'installer quelconque client. Suffit de télécharger le zip généré automatiquement et ça c'est top. Sans comtper le fait de pouvoir forker les projets facilement pour ceux qui le souhaiterons.
    Donc ça risque d'être sympa... en espérant que Github fait des sauvegardes
  • Euh?!? Il serait intelligent de faire en sorte que l'utilitaire qui execute le script soit transactionnel et que le commit soit manuel (et pas dans le script sinon ca sert pas à grand chose ).
    Comme ca, on execute, on regarde le nombre de lignes modifiées et on commite si et seulement si ca à l'air satisfaisant...
  • Excellion
    Membre averti
    Ca ne m'étonne pas outre-mesure.

    La plupart des DBA n'en sont pas. Quand ce ne sont pas des développeurs, qui se retrouvent à devoir apprendre sur le tas la maitrise d'un logiciel qu'ils n'ont peu ou même jamais vu, ce sont des administrateurs réseau qui n'en savent pas plus et laissent souvent les configs par défaut.

    La dernière sauvegarde date de quoi... La période de tests? C'est souvent le cas.

    Le problème est aussi, la place que tiennent les sauvegardes sur les disques durs. Beaucoup voient cela comme de l'espace gaspillé. On m'a bien sorti : "vos sauvegardes, vous ne vous en servez pas tout le temps...". Vu comme ça, c'est sur... Bref, un cas d'école...