• # Pourquoi et comment

    Posté par . En réponse au journal L'homme orchestre, partie 1 : les casquettes. Évalué à 5.

    J’ai dû apprendre mettre en valeur mon code, car un code, ça fait des choses, point. Tout le monde se fiche de savoir comment.

    Tout le monde n'est pas de cet avis :-)

    La première chose que je regarde lorsque j'aborde un logiciel : (exemple : PIWIK)
    1. ça sert à quoi globalement ? (exemple : ça permet d'analyser les visites d'un site web pour améliorer le SEO, les ventes d'un site marchand, etc)
    2. quelles sont les caractéristiques principales ? (modèle commercial ? Je vais obtenir quelles informations ? Ou en est-on sur la roadmap ? Ça s'interface avec d'autre chose en entrée et/ou en sortie ?)

    Déjà pour avoir ces informations basiques, c'est souvent bien galère. Il est très fréquent de tomber sur un site prétendant héberger un super logiciel... sans même expliquer à quoi il sert. À la place on a un blog qui indique que la dernière version est la 5.0.4.10a et qu'on abandonne la bibliothèque truc.
    Pour savoir si c'est prêt pour la production c'est généralement impossible sans tester, car le site n'indique que des choses merveilleuses (et Google n'indique rien car le logiciel est relativement inconnu. C'est un bon indice mais il y a des exceptions dans les deux sens). Et bien entendu la grande majorité des logiciels inconnus se vautrent lamentablement dès que tu touches à un bouton.

    La seconde chose que je regarde :
    1. ça fonctionne sur quels principes ? (Ça récupère les logs comment ? Ça les stocke quelque part ou ça les relit à chaque fois ? Ça utilise d'autres sources d'informations ?)
    2. quelle est l'architecture générale ? (client lourd/léger ? Client/serveur ? CLI/GUI ?)
    3. quels sont les pré-requis ? (logiciel autonome ? Il faut une base de données ? C'est tellement compliqué qu'il vaut mieux trouver une machine virtuelle toute faite pour tester ? Java ?)

    Alors là c'est juste la cata : on ne trouve quasi jamais l'information.
    Un peu comme si tu te pointes dans une concession automobile et que tu n'as droit qu'aux publicités télévisées. Aucun moyen de savoir quel est le carburant (diesel/essence/électrique ?), aucun moyen de connaître l'équipement. Tu ne peux même pas voir le véhicule en vrai pour « ressentir » les dimensions et le reste, tu n'as accès qu'à ce que tu vois sur la pub.