Journal Marre des applications codées avec un burin !!!

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
sept.
2004
Hello cher journal,

aujourd'hui, je ne te parlerai pas de mes expériences LVS+HA (cf mon précédent journal), je n'ai pas eu le temps d'y bosser...
Néanmoins, je tiens à t"informer d'une journée noire qui s'est déroulé il y a près de 2 semaines. J'ai longuement hésité avant de me confier mais après réflexion, je me suis dit que ça me ferait du bien de me lâcher.
Cette fameuse semaine où j'ai passé une journée à galérer sur des mises à jour d'applications complètement buggées et développées avec un burin (si si, un bon gros burin avec une massette) !

Résumé: 9H, petite réunion du personnel, donc pas trop de monde dans les couloirs, je vais en profiter pour mettre à jour une appli (qui a migré hier) sur deux stations de travail (seulement 2). Je découvre la bête, je sors la doc d'installation qui me paraît assez complète et je prends le CD.

Pour info, il s'agit d'une appli-métier tournant sous l'OS de Redmond codée par un service que je qualifierai de distant par rapport à la boîte dans laquelle j'oeuvre. Je m'attaque au premier poste. Première étape: les vérifications des programmes tiers: déjà, ça commence mal, il y en a un paquet à mettre à jour (je passe les noms pour éviter de me faire gueuler dessus). Bon, on met à jour et comme d'hab, faut rebooter !
Deuxième étape, la préconfig de la mise à jour: faut se taper la création de pas moins de 15 variables d'environnement (déjà, c'est louche et pas même un script de prévu pour ça) !!! En plus de ça, les développeurs n'ont rien trouvé de mieux que de mettre des noms super complexes, histoire d'être sûr qu'on fait des erreurs de saisie. Soit, je créé les variables.
Troisième étape, la mise à jour proprement dite: il y a un équivalent de setup.exe donc je me dis, facile...
... et là, le programme d'installation met 15 minutes avant de se terminer pendant que le disque mouline sans s'arrêter. Tiens, bizarre, je ne vois pas ce qu'il y a de si lourd. On va regarder...
... et là, j'hallucine: je trouve un répertoire avec plus de 150 Mo de binaires (exe et dll (pas les génériques ni les tiers, celles qui ont été codées pour l'appli)) !!! Je me souviens d'un journal trollesque qui m'avait marqué avec un dev C++ windowsien en puissance qui avait généré un binaire de 100 Mo et ça avait fait jaser un max de gens sur Linuxfr. J'ai trouvé mieux ! Honnêtement, sur une version de production (donc, normalement testée, un minimum débuggée et sans trop de commentaires inclus), ça fait super tâche ! D'où le concept du développement au burin ! Certes, je n'ai pas codé l'appli néanmoins, je sais à peut près tout ce qu'elle fait et franchement, je peux recoder tout ça dans moins d'un Mo de PHP/XUL/JS. Il s'agit d'une appli métier simple qui ne fait que gérer des dossiers: pas de calculs alambiqués (des sommes et des multiplications simples), une interface austère sans fioritures et surtout un nombre d'écrans de saisie super limité (je dirais une 30aine maxi). Honnêtement, je ne vois pas ce qu'ils foutent dedans.
Mais la cerise sur le gateau, c'est que cette application est censée être à 50% en client web ! C'est à dire que la moitié de l'IHM est hébergée ailleurs (avec une procédure de sécurité de folie: identifiant unique de l'utilisateur, mot de passe personnalisé et carte RSA dont le code change toutes les 30 secondes: en creusant un peu, j'ai découvert qu'en fait une partie des informations sensibles sont hébergées en local dans une BD MS Access sur un de mes serveurs , ya !!!). Donc, le reste (les 150Mo) gère uniquement la partie locale (je connais pas beaucoup d'applis où l'IHM est à la fois locale et en client léger).

Bon, vous me direz, on s'en fout, le principal c'est que ça marche ! Sauf que ça bugge !!
Au cours de la mise à jour, les deux users reviennent de la réunion et je leur demande de tester le premier poste: la partie client léger (normal) n'a aucun problème mais la partie locale ne se lance pas !!! Yes, bien joué !
Résultat, avant d'appeler le support technique et par fierté aussi, je refait la manip en détail en faisant gaffe à tout et en relisant la doc. Rien n'y fait, ça fait déjà près de 2H30 que je suis dessus... Je me souviens avoir beaucoup moins galéré avec l'installation d'un serveur en LFS !!! Au final , je remarque que la doc fait mention de recommendations pour le navigateur web. Pour info, nous sommes tous sous Mozilla 1.6 et ça se passe très bien.
Vu le dev de folie de cette appli, je me résigne à tester une installation d'IE6 juste pour voir. Et , après 30 minutes de réinstallation, l'appli se met enfin à fonctionner. Victoire, j'ai mis 3H ! Je relis la doc en détails et, dans une note de bas de page il est indiqué qu'IE6 est disponible gratuitement sur le site de Microsoft ! Chez moi, ça n'a jamais signifié qu'il fallait l'installer (surtout que le reste de la doc est assez précise sur les "requirements").

Voilà comment on perd un temps précieux avec une bande de bras cassés, capable de faire poser une alarme SRA4 en laissant les clefs sur le contact d'une tondeuse à gazon équipée de l'air conditionné, des ailerons jaunes fluos, des bas de caisses chromés, du satellite et d'un générateur de bruit rose avec un smallblock chevy qui tourne avec 15 carbus quadruple corps...

Ca m'a tellement gavé que je me suis dit qu'il fallait que j'en parle à mon psy de chez linuxfr...

Le reste de la journée, ben finalement, j'en parle pas, c'est la même histoire mais avec une appli en client lourd (mais bien lourd) sur un serveur saturé de chez saturé (là, il y a environ 75 Mo de binaires mais l'appli est très complexe) avec une BD pas modélisée en relationnel (en fait pas modélisée du tout: à chaque nouvelle année, il faut créer une nouvelle BD)...

C'est clair que, parler de migration de MS Windows à Linux avec des boulets pareils aux pieds relève plus de mission impossible que d'un claquement de doigts.
Messieurs les décideurs, à vot' bon coeur !!!
  • # On en reste sans voix

    Posté par  . Évalué à 3.

    Alors là, sincères condoléances pour tes heures perdues.
    C'est une appli codée sur mesure pour ta boite ? J'imagine que 97% des 150 Mo doit etre en fait un framework proprio qu'utilise les développeurs pour coder n'importe quelle appli, autrement dit du bruit, du bazar, du chaos, du rien, ah si de l'espace disque. Mais c'est pas grave, qu'est-ce que 150 Mo aujourd'hui ?
    Sympa, tu m'as communiqué un peu de ta nervosité là. Si seulement ça pouvait t'en soulager... mais meme pas chuis sur.
  • # Mouarf :))

    Posté par  . Évalué à 0.

    et tu t'es empressé de les engueulé en fasse sur leur conception de la sécurité ? et du développement par ailleur ?

    Ca serait pas fait en Windev le truc par hazard ?

    Dam
    • [^] # Re: Mouarf :))

      Posté par  . Évalué à 0.

      c'est vrai qu'as voir la taille de l'installable il m'est tout de suite venu a l'esprit : ca pu le Windev
      • [^] # Re: Mouarf :))

        Posté par  . Évalué à 2.

        bof pour avoir deja pas mal touché à windev et fait de gros programmes avec, j'avais deja eu des binaires de 5mo car il doit embarquer ses propres libs, mais j'ai jamais eu un tel bordel, alors je pense plutot que le probleme se situe entre la chaise et le clavier.
        • [^] # Re: Mouarf :))

          Posté par  (site web personnel) . Évalué à 2.

          Pour avoir vu et utilisé windev/webdev et powerbuilder cet été, je pense plutôt a powerbuilder!

          En tout cas la version 7 (oui je sais la dernière c'est la 10, ils doivent mettre à jour bientôt...) c'est quand même bien le merdier et j'ai l'impression qu'il y a pas mal de bugs ou du moins de comportements inatendus... Enfin tout ça pour dire que sur mon poste (certe antédéluviens) l'appli, plutôt grosse, ramait comme pas possible et la taille des executables etait plus que conséquente...

          De plus comme PB peut faire plus ou moins du web avec des activex(d'ou le IE...), ça a l'air de bien coller à la situation...
  • # Ha... ces développeurs ... chefs de projets ...

    Posté par  . Évalué à 9.

    Des fois, je suis comme toi, j'ai envie de crier ma rage au monde ...

    Et parce que c'est toujours un exutoire un peu facile mais ô combien jouissif, je vais m'y mettre aussi à dire du mal des autres ... (parce que c'est bien connu, c'est toujours de la fÔte des autres).

    Tout d'abord, je ne suis pas sûr que les programmes mal codés(tm) soit réservés au monde Windows(tm).

    Ensuite, j'ai connu ...
  • des développeurs qui faisaient enfler inconsidérément les binaires (je ne parle pas de l'oubli des symboles de débuggage, mais du fait qu'ils étaient très probablement payés à la ligne de code)
  • des chefs de projets (et surtout de leurs supérieurs hiérarchiques) dont je doute toujours aujourd'hui de leur (minable) compétence (mot qui ne mérite même pas la forme plurielle) et qui pressent les développeurs, les obligent à pondre du code en 10 mn chrono (du vécu) et les poussent à copier-coller du code à tout va (ce que l'on finit toujours par regretter). Je conseille la lecture de http://french.joelonsoftware.com/Articles/TheJoelTest.html(...) et notamment du paragraphe 5. Corrigez-vous vos bugs avant d'écrire du nouveau code ?, c'est trop drôle)
  • des chefs de projets (encore eux) et des développeurs (mais si mais si) qui refusent par peur/imbécilité (pour les permiers) ou par paresse/stupidité (pour les seconds) de refaire du code.
  • des développeurs qui n'ont pas envie d'évoluer ...
  • et ces p**ain de commerciaux ... (je vais m'arrêter là, sinon j'y passe la nuit)

  • Je crois que j'en ai déjà trop dit, y'en a qui vont finir par me reconnaître, à moins qu'ils y en aient vraiment beaucoup qui aient déjà vécu cela.
  • # Commentaire supprimé

    Posté par  . Évalué à 7.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à 4.

      Ce commentaire a été supprimé par l’équipe de modération.

  • Suivre le flux des commentaires

    Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.