Qualité de code et fiabilité

Les sujets de cette catégorie concernent le développement du logiciel MedshakeEHR.
Avatar de l’utilisateur
QuentinL
Messages : 5
Inscription : 06 oct. 2020, 17:01

Qualité de code et fiabilité

Message non lu par QuentinL »

Bonjour,

La semaine dernière, j'ai forké la base de Medshake pour pouvoir lancer une analyse SonarQube sur le projet.
Les résultats sont disponibles ici : https://sonarcloud.io/dashboard?id=QLai ... keEHR-base
Ce qui me gêne un peu, c'est la quantité de mauvaises pratiques,
ainsi que la maigre vérification des requêtes SQL et accès sur machine fait avec des données provenant d'utilisateur.

Si on tiens compte du temps qu'il faut passer selon SQ pour corriger ne serait ce que pour les code smells, il y en a bien pour 55 jours.
Je suis le seul que ça gêne ? J'ai l'impression que ça serait bien de s'atteller dessus (moi le premier)...
Avatar de l’utilisateur
Bertrand
Messages : 177
Inscription : 21 juil. 2020, 18:08
Localisation : Dans le grand bain
Contact :

Re: Qualité de code et fiabilité

Message non lu par Bertrand »

J'aurais pas du lire ce message alors que je suis à la bourre déjà : il y a un moment lancer sonarQube et s’arrêter au sommaire ce n'est pas possible.
J'ai épluché les résultats sonarQube et corrigé tous les vrais problèmes identifiés.
Ce qui me gêne un peu, c'est la quantité de mauvaises pratiques,
ainsi que la maigre vérification des requêtes SQL et accès sur machine fait avec des données provenant d'utilisateur.
Des exemples ? Parce que là encore, déclarer un truc comme ça sans pointer de vrais problèmes n'est vraiment VRAIMENT pas la meilleure façon d’entrer dans un projet dont on veut profiter, même si on n'est que le stagiaire ...

B.

MedShakeEHR : Le Logiciel Médical Modulaire Libre
http://www.medshake.app/

MedShake : communauté médicale bien fraîche (et un peu secouée) !
https://www.medshake.net/

Avatar de l’utilisateur
Bertrand Bouteiller
Messages : 4
Inscription : 06 oct. 2020, 17:10

Re: Qualité de code et fiabilité

Message non lu par Bertrand Bouteiller »

Bon, j'ai vu ces deux messages ce WE mais je prends seulement maintenant le temps d'y répondre. Je dois dire que je suis attristé par le ton des échanges. Pour autant, je suis convaincu de l'intérêt de discuter du fond, donc je vais tenter de redonner un peu de contexte et de faire de la "désescalade", en espérant que cela aide à discuter sereinement et avancer.

C'est moi qui ai lancé Quentin sur le sujet de l'audit du code. Comme je n'y connais rien, il m'a proposé des audits automatisés de type SonarQube. En voyant le résumé, je me suis dit qu'aborder le sujet serait sensible, et c'est pour ça que j'avais tenté d'en parler d'abord en direct, par mail. Comme cette tentative n'a pas été couronnée de succès, j'ai demandé à Quentin de lancer la discussion ici.

Pour autant, mea culpa, je n'ai pas vu le message de Quentin avant qu'il soit publié : si ça avait été le cas on l'aurait revu ensemble pour le tourner différemment. Je connais Quentin et je sais qu'il n'avait pas l'intention de blesser, mais je trouve que son message était pour le moins maladroit, donc en tant que responsable du "stagiaire", désolé. J'ai aussi trouvé que la réponse était condescendante sur la forme vis-à-vis du statut de "stagiaire" et j'aimerais qu'on évite ce genre de choses à l'avenir, mais encore une fois je veux bien comprendre que le message initial ait suscité une réaction vive, et ce qui m'intéresse maintenant est surtout la discussion de fond, en bonne intelligence.

Je vous laisse donc à nouveau la main pour discuter des problèmes, avec l'espoir que vous tomberez d'accord sur ceux qui sont "vrais" et ceux qui sont "faux". J'espère aussi que cette discussion pourra d'une part éclairer les futures personnes qui comme nous sont tentées de se lancer avec Medshake et veulent se faire d'abord une idée de la qualité du code (ce qui me semble légitime), et d'autre part initier une discussion communautaire sur les endroits où focaliser les efforts (sachant notamment que de notre côté on a en ligne de mire les problématiques de labellisation, même si je sais que ces problématiques ne sont pas à l'agenda de tout le monde).
Avatar de l’utilisateur
QuentinL
Messages : 5
Inscription : 06 oct. 2020, 17:01

Re: Qualité de code et fiabilité

Message non lu par QuentinL »

Mea Maxima Culpa pour la façon dont j'ai abordé le sujet qui était très brute et agressive. Je tiens à m'excuser Bertrand si mon post a été perçu comme une attaque, ce qui n'est absolument pas mon intention.
J'ai un background différent avec mon cursus, et j'ai une approche pour un projet déjà existant qui correspond à ce background et à ce que je fais.
Cela n'excuse pas de mon message, mais cela permet de comprendre pourquoi j'ai voulu orienter la conversation sur ce sujet.

Je considère qu'un projet Open Source (OS) mérite d'être maintenu, et avec une certaine clarté / lisibilité / code quality. Ca passe par l'attribution d'un organisme d'automatisation de test, d'une Intégration et d'un Développement Continu (CI/CD),
et du nettoyage si nécéssaire du code (mort, non clair, dupliqué, etc.). C'est en plus en rapport avec le sujet de mon projet de fin d'études (artofcode.eu), qui est un analyseur statique de code, donc c'est un sujet que je porte d'autant plus dans mon coeur.

Ce que je relève donc, c'est que SonarQube soulève 3000+ "code smells", du code qui sera donc difficile à maintenir, pas clair, rébarbatif ou mort.
Bien que cela n'impacte pas le fonctionnement de Medshake, c'est en arrière-plan que cela devient compliqué: un nouveau-venu qui prend le temps d'assimiler le code métier d'un projet OS perd du temps et aura des difficultés si une classe contient une vaste quantité de méthodes et de propriétés, qu'il y a des comportements qui se répètent, ou qu'il y a du code qui, finalement, ne sera jamais exploité. Et c'est même tarif pour une personne qui participe à maintenir ce même code métier: c'est arrivé à tout le monde de revenir sur du code métier vieux de 3 ans, et de plus comprendre pourquoi une méthode ou fonction a tel comportement.

Ca me gène, mais pas dans le sens "je suis choqué", plus dans le sens ou si nous, en tant que communauté, nous nous y attaquons pas maintenant, et bien la dette technique n'en sera que plus grande. J'ai beau être un stagiaire et avoir ma todolist, j'ai aussi un intérêt personnel derrière: j'ai envie de contribuer, j'ai un grand intérêt pour l'écosystème Open Source, et j'ai déjà pu contribuer par le passé (exercism par exemple: https://exercism.io/team/mentors?page=7).
Donc bien que je sois rattaché à une entreprise, cela ne m'empêche pas de prendre à coeur ce que je souhaite faire pour le bien d'un projet et d'une communauté, même si cela est temporaire !

J'admet ne pas être encore rentré dans le détail de toute l'analyse, il y a forcément des fausses alertes (il y en a toujours), je ne sais pas exactement quel est le ratio, mais cela nous donne des pistes pour optimiser et améliorer le code métier existant, et je suis prêt à m'investir et à y passer du temps dessus pour différencier le vrai du faux !

Guillaume
Messages : 14
Inscription : 24 oct. 2020, 16:29

Re: Qualité de code et fiabilité

Message non lu par Guillaume »

Hello

Pas forcément prévu de m'inscrire initialement mais en lisant ces quelques messages… en tout franchise je ne connais strictement rien en code, je suis simple utilisateur de medshake ehr depuis presque un an.

Peut être que pour les non utilisateurs, tout cela est flou mais côté utilisateur les seuls "soucis" qui ont pu être rencontrés (et majoritairement en configuration) sont liés à l'intégration et fonctionnement service tiers… (et avec un peu de temps et l'aide de Bertrand tout fonctionne). Le logiciel en tant que tel tourne nickel et je n'ai jamais eu de soucis technique avec la base. Je comprends vos histoires de code propre etc… mais bon côté utilisateur on voit juste le résultat final, fonctionnalités etc… honnêtement la labellisation (et je suppose que l'idée derrière c'est les labels MSP / forfait structure) à titre perso, c'est vraiment mais vraiment secondaire par rapport au gain de temps que m'apporte medshake dans mon flux de travail.

Bref, du côté fonctionnement je n'ai rien à reprocher à medshake contrairement à bons nombres de logiciels fournis en standard avec les principaux OS desktop et mobile. Je ne sais pas si le code est "propre" ou de "qualité" mais en tout cas derrière l'écran je n'ai jamais rencontré de problème d'utilisation.

Avatar de l’utilisateur
Bertrand Bouteiller
Messages : 4
Inscription : 06 oct. 2020, 17:10

Re: Qualité de code et fiabilité

Message non lu par Bertrand Bouteiller »

Merci beaucoup Guillaume pour ce retour.

Je serais vraiment intéressé d'avoir davantage d'avis d'utilisateurs de Medshake, et que ces retours soient un peu plus précis / structurés que ce que l'on peut trouver par exemple sur Buzz Médecin, afin de comprendre ce qui a motivé les choix de chacun.e pour une bascule vers Medshake : fonctionnalités différentiantes ? Interface plus conviviale ? Envie de soutenir le logiciel libre ? Envie de reprendre le contrôle de ses données ? Considérations financières ? Expériences douloureuses avec des éditeurs ? Envie de mieux faire entendre sa voix dans les futurs développements ? Et je suis également preneur des avis des un.e.s et des autres sur les aspects labellisation, forfait structure, etc.

Je pense que ces discussions pourraient intéresser la communauté au sens large, et avoir leur place soit dans un topic à part, soit dans le topic des présentations : à rediscuter avec les admins - et au passage, merci Indielog pour votre présentation ! En tout cas je me dis qu'on pourrait faire un "pilote" avec votre retour Guillaume : seriez-vous OK pour préciser un peu votre expérience ?

Cela étant dit, je reste également convaincu de la nécessité de discuter de ce qui se passe "sous le capot", précisément car c'est (entre autres) ça qui permet d'avoir les avantages cités ci-dessus pour les utilisateurs, de pouvoir faire participer davantage de monde au développement, et in fine de garantir la pérennité du projet. Donc j'ai toujours hâte de lire les retours des gens qui ont mis les mains dans le cambouis par rapport aux remarques et questions de Quentin ! :smiley:

Guillaume
Messages : 14
Inscription : 24 oct. 2020, 16:29

Re: Qualité de code et fiabilité

Message non lu par Guillaume »

Buzz médecin ça n'a aucun intérêt. Personne ne compare les logiciels médicaux car c'est de toute façon quasi impossible, il y en a très peu qui sont transparents et vous affichent ne serait ce que leur interface utilisateur. Par ailleurs, pour des raisons logiques de BDD, une fois un choix fait, c'est rare de changer de logiciel donc très peu de comparaisons/Tests de ces derniers.

Me concernant, déjà la présentation du logiciel était transparente, les éléments d'interface étaient visibles, possibilité de tester le logiciel en virtualisation. Le stockage local des données oui +++ le libre ± je suis pas un inconditionnel du logiciel libre mais le principe d'avoir un logiciel libre médical, bien foutu, qu'on puisse progressivement et collectivement améliorer et proposer "gratuitement" aux confrères me plaisait bien.

Ce qui a principalement motivé mon choix, c'est que je suis spécialiste avec une activité un peu spécifique et qu'avec Bertrand on a pu personnaliser medshake pour cela: formulaires dédiés + dropbox pour rapatrier quasi automatiquement mes CR dans medshake et les envoyer dans la foulée aux correspondants.

Par ailleurs, c'est un choix fait consciemment, je sais que le logiciel ne coche pas les cases pour l'HAS et que je ne peux pas prétendre au forfait strucutre avec (vaste blague par ailleurs) mais par rapport au gain de temps et d'efficacité que m'apporte son utilisation, c'est plus que secondaire.

Répondre