Marre de l’anarchie Windowsienne (partie 2)


Flattr this

Salux !

Toujours pas de tar donc. On veut ma peau aujourd’hui. De retour dans le terminal Windows (beuh), j’essaie de compresser ce qui me passe par la main ; sauf que tar cjf me retourne une erreur. La commande serait inconnue. Merde alors, j’ai du zapper un truc… Je retourne sur Linux (Yakuake soit loué) et j’essaie… tar cjf bidule chouette oui c’est bon. Ok ça devient chelou. Cinq minutes de Google plus tard, j’apprends que tar ne permet pas la compression bunzip sur Windows, il faut « bsdtar ». Tellement que ça me saoule, je ne prends même plus le temps de regarder ni pourquoi ni comment. Je télécharges, j’extrais, terminal, bsdtar.exe –version ça marche ! J’essaie la compression, bsdtar.exe archive.tar.bz2 fichiersalacon fonctionne du tonnerre. Je modifie l’application pour spécifier le bon exécutable et apparemment, enfin, ça marche.

Je préviens mes collègues et je leur fournis un joli .zip qui contient l’application. Testons donc, premier lancement sur leur machine : OpenSSL manquant et plus aucun affichage des symboles au format SVG. Je ne vous explique pas le dégoût profond que je commence à développer pour cet OS. Pour OpenSSL, le problème est vite réglé : il lui manquait certaines DLL (POUR CHANGER !!!!). Pour les SVG, je ne vous détaille pas le parcours, mais c’était du genre « faut prendre le contenu du dossier A qui est dans B mais pas A dans C ».

Voilà ! C’est fini, le logiciel fonctionne enfin sur Windows ! Gros soupir de soulagement au sein de l’équipe.

De retour sur Linux, j’explique à mes collègues les problèmes que l’on aura avec la version Windows ; notamment le fait d’intégrer les programmes tiers dans le processus de mise à jour – j’en profite pour leur citer la faille de la libpng qui a contraint une flopée de logiciels à fournir une màj sur Windows, alors que sur Linux le patch a été appliqué sans effets de bord. Et là, comme pour me narguer, j’ai le gestionnaire de mises à jour d’Ubuntu qui me saute à la figure, m’alertant qu’une mise à jour de sécurité importante est disponible pour OpenSSL. Ça, c’est de la coïncidence.

J’ai commencé à aborder un sujet fâcheux : les mises à jour. Et oui, pour ceux qui ne le sauraient pas, les mises à jour sur Windows, c’est À LA MAIN. C’est pas comme si RPM avait été inventé en 1995 non ! J’ai pas trouvé la date d’apparition des premiers dépôts, en tous cas je les ai toujours connus sur Linux (je n’ai commencé qu’en 2005 mais bon). Bref, pour en revenir à Windows, chaque logiciel doit embarquer sa procédure de mise à jour. Il va falloir donc en écrire une (c’est cool !), puisque le logiciel a quelques spécificités techniques (que je ne déballerai pas ici). Je ne vous explique pas la perte de temps.

Conclusion

Il est temps de faire le bilan, et peut-être aussi de modérer mon propos. Difficile de culpabiliser Microsoft, puisqu’à aucun moment je n’ai utilisé une de ses libs. D’ailleurs, il serait aisé de penser que la faute revient pour beaucoup à gnuwin32, qui aurait mal packagé ses applications. Malheureusement, ce n’est pas aussi simple.

Tout d’abord, quel a été mon problème ? La réponse est simple : en bon libriste, je n’avais pas envie de réinventer la roue carrée (mon client me paie pour ça c’est bien connu) et je me suis dit « Tu veux une somme MD5 ? Prends un logiciel qui sait le faire ». Je m’en suis mordu les doigts. Pourquoi ? Parce que Windows, contrairement à Linux, ne permet aucunement de gérer les dépendances tierces. Là est le formidable avantage des dépôts : je précise que j’ai besoin d’OpenSSL, il va me le chercher, me le télécharge, me l’installe et le met à jour pour moi. Elle est pas belle la vie ?

On retrouve une sale pratique qu’ont les développeurs Java : lorsqu’ils ont besoin d’une bibliothèque, ils vont inclure le JAR à l’application. Et si la bibliothèque en question est mise à jour ? Alors là, silence gêné. Timidement, peut-être qu’on me répondra que ça représente une perte de temps alors qu’en l’état actuel, tant que ça marche

Il est surtout difficile d’en vouloir à gnuwin32, premièrement pour leur patience et leur courage (franchement, mon appli, à côté de la leur, c’était du gâteau à porter sur Windows), ensuite parce qu’ils ont voulu reprendre le concept des dépôts en séparant l’application des bibliothèques tierces.

Mais je sens que ça va partir dans un débat d’idées sans fin. Revenons à notre réalité de développeurs et essayons de résumer clairement la situation.

Clairement, porter l’application sur Windows a été un gouffre en terme de temps, et donc en terme d’argent, tout ça pour patcher le retard pachydermique de Windows sur le terrain du déploiement d’applications.

PS: j’omets sciemment de parler de WSUS, ce qui serait hors propos puisque ce dernier, malgré ses qualités, ne s’applique qu’aux réseaux d’entreprises. Un particulier ne pourrait pas utiliser cette technologie pour mettre à jour Firefox ou autre.

Tagué , , , , , , , , , , , , , ,

Une réflexion sur “Marre de l’anarchie Windowsienne (partie 2)

  1. Marion dit :

    Je valide, c’est une VDM.
    Blague.
    J’attend que ma petite appli Android veuille bien se compiler (elle en met du temps la chipie!) , et du coup je viens jeter un oeil ici. Quelle rage dans cet article dis donc. Allez , vivement dans un peu plus d’une heure 30 qu’on puisse discuter de tout ça autour d’une tasse de Nesquick dans notre canapé .

Les commentaires sont fermés.