• [^] # Re: 64 bits ?

    Posté par (site web personnel) . En réponse à la dépêche Firefox 4 est sorti. Évalué à 3.

    C'est pas très solide comme argumentation pour m'expliquer que j'ai tort de dire que je vis dans un monde qui n'existe pas.

    Je vis dans un monde tout à fait réel. Le fait que tu retrouves le mêmes arguments que Zenitram dans mon post ne viennent pas du fait qu'il m'a embrigadé le cerveau ou autres trucs débiles. C'est juste que nous avons tous les deux été confrontés à la même expérience, et en avons tirés les mêmes conclusions.

    <ma vie> Il se trouve que je développe un logiciel qui fonctionne sous Windows et sous Linux. Il est écrit en Python + PyQt. C'est un logiciel très modeste, j'ai 200 utilisateurs, dont à peu près 199 sous Windows et 1 sous Linux. Et encore, je ne sais même pas si il est encore là. Pour prendre en charge la distribution de mon logiciel sous Windows, j'ai investi environ une semaine de mon temps de dev (comprendre 15 minutes de trajet aller-retour dans le train à programmer, 5 fois dans la semaine soit environ 2h30). Au final, j'ai un script automatisé de packaging, qui génère un installeur qui fonctionne à coup de Suivant-Suivant-Suivant, qui supporte toutes les versions de Windows. Il détecte aussi les mises à jour via deux canaux suivant que tu choisissent les versions beta ou uniquement officielles.

    Mes utilisateurs semblent répartis entre un bon paquet d'informaticiens, un bon paquets d'utilisateurs à l'aise sous Windows mais sans compétence spéciale, et un petit paquet de neuneus de l'informatique (terme que j'utiliserai ici affectivement plutôt que péjorativement). 2/5 de mes utilisateurs ont choisi d'utiliser la version beta et parmi ceux-ci, il s'en trouve des neuneus. Ce sont d'ailleurs eux qui m'ont signalé quelques petits détails qui faisaient que mon soft était "mal léché" ainsi que quelques gros bugs. Toutes les améliorations que j'ai faites pour faciliter la vie des neuneus (comme la notification des mises à jour automatisée) ont d'ailleurs fait augmenter ma base d'utilisateurs dans toutes les catégories.

    Donc, pour en revenir au sujet, je constate que des utilisateurs qui ne sauraient pas su tout utiliser un tar en mode graphique (ou un zip d'ailleurs) sont tout à fait capables, d'une part d'installer un soft en version beta sous Windows, avec son lot de bug, et d'autre part, de me reporter des bugs utiles. Cette frange d'utilisateurs, même si ils ont installé linux, ne seront pas beta-testeurs de Firefox parce qu'ils ne sont pas capables de l'installer. Et c'est une perte réelle pour Firefox.

    L'autre point qui me chiffonne dans mon expérience, c'est la difficulté de distribuer un soft sous Linux. Il y avait une super initiative qui n'a malheureusement pas duré, qui s'appelait Klik. En dehors de ça, c'est vraiment la galère.

    Partons du principe que je suis prêt à investir le double du temps en packaging que ce que j'ai investi pour Windows, pour gérer Linux, c'est à dire à peu près 5 heures. Voire même 10 heures. J'ai un utilisateur sous Debian stable, un autre potentiel sous Ubuntu, et un pote qui testerai pour moi sous gentoo.

    Je suis face aux questions suivantes :

    1. mon programme est en python. Dois-je faire un installeur maison, qui fonctionne avec un sudo et qui copie un script dans /usr/local/bin ? Quid des dépendances PyQt et version de Python minimale ?

    2. je peux aussi le packager en "binaire" avec pyinstaller, mais où ranger tout ça dans la distrib ? Et ça fait pas très classe d'avoir des binaires pour du python, non ?

    3. dois-je vraiment installer 3 distributions pour tester que mon soft fonctionne ?

    4. lors d'une mise à jour de mon soft, comment faciliter la réinstallation ?

    5. dois-je plutôt suivre la longue route du packaging et apprendre à packager pour debian, Ubuntu (j'ose imaginer que c'est un peu la même chose) et gentoo, donc découvrir deux outils différents de packaging. Et je dois aussi fournir de la doc à mes utilisateurs sur comment gérer l'installation car on est plus dans le suivant-click-suivant-click-terminer, ce qui signifie en gros investissement de ma part en terme de doc.

    6. un autre problème que je maîtrise pas (car je connais pas debian ni apt), c'est ces histoires de dépots. Dois-je faire du lobbying pour que mon soft soit inclus dans un dépot officiel, ou puis-je fournir un paquet dans un coin et lors du téléchargement, l'outil approprié proposera à l'utilisateur d'installer mon soft avec les droits qu'il faut ?

    En attendant, j'ai fait simple mais pas satisfaisant : je considère mes utilisateurs linux comme des power users. Je distribue un zip et il y a la liste des dépendances et versions dans le README. Ils auront qu'à cliquer sur le script python principal pour qu'il lance mon soft. Et pour le téléchargement des mises à jour, ils iront se brosser, il n'ont que les notifications des mises à jour.

    Mais quel dommage, je suis sûr qu'avec des outils plus conviviaux pour les développeurs comme pour les utilisateurs, je pourrai voir ma base d'utilisateurs de Linux grossir de 200% voir 300%. </ma vie>

    Maitenant, je me demande qui vit dans un monde imaginaire ? Toi, moi ? Dans ton monde, même les neuneus sous Linux arrivent à installer mon soft, et seuls les power user sous Windows arrivent à installer la version beta, et packager un soft sous linux pour les distributions majeures prend moins de temps que sous Windows.