Amélioration de la visibilité des plugins et développements locaux

Amélioration de la visibilité des plugins et développements locaux

par Luiggi Sansonetti,
Nombre de réponses : 21
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Titulaires du Moodle Course Creator Certificate Avatar Traducteurs

Bonjour

Discussion d'origine au cas où clin d’œil
https://moodle.org/mod/forum/discuss.php?d=427678


*** Ceux qui me connaissent savent que je vais râler mais pour le bien commun sourire ***

Encore une fois, il y a via https://recitfad.ca/moodledocs/ des éléments qui me semblent importants à mettre en lumière car ce service propose des plugins qui me semblent être pertinents pour l'ensemble des Moodleurs que nous sommes !

Encore une fois, je me répète (j'aime). Il y a de par le monde, et même sans aller trop loin, ici dans les établissements FR des petites mains qui œuvrent pour améliorer les instances locales, à leur échelle, suivant leurs besoins.

Très souvent, à travers les MoodleMoot, des échanges, des groupes projets, on s'aperçoit que ce que l'un fait, l'autre l'a déjà fait...

Dommage de perdre autant de savoir faire et de temps.

Voilà donc un nouvel exemple de ce qui manque encore un peu, cette possibilité de savoir ce qui est fait et de disponible pour ne pas tout refaire (juste à modifier, parfois, ça peut suffire pour une ré-exploitation locale).

En tout cas, des plugins qui mériteraient d'être portés dans la base officielle.

*** Fin de ce moment d'incitation à plus de mutualisation et de visibilité (reconnaissance et valorisation à suivre) ***

Moyenne des évaluations  -
En réponse à Luiggi Sansonetti

Re: Amélioration de la visibilité des plugins et développements locaux

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Pour continuer sur ton "coup de gueule" (parce que moi aussi j'aime bien râler 😋), si la base de plugins officielle permettait de promouvoir un plugin "En l'état" et donc potentiellement risqué, parce qu'on a pas toujours le temps de faire propre, de maintenir, de documenter convenablement,… Bref, annoncer l'existence d'un (bout de) plugin "à prendre ou à laisser" permettrait de donner cette visibilité que tu déplores, et moi aussi.

L'effet de bord, parce que rien n'est parfait, c'est que des utilisateurs de Moodle, déjà peu sensibilisés à la délicatesse des choix de plugins, pourraient se ruer sur des « planches pourries ». Un bon gros macaron (parce que j'aime les macarons ! 🥮) genre "Tête de mort" ou "Gyrophare" pourrait alerter sur les dangers potentiels. 
Quelque chose comme ça :

Qu'est-ce que vous en dites ?

À bientôt,
Patrick
Moyenne des évaluations Super cool ! (2)
En réponse à Patrick Lemaire

Re: Amélioration de la visibilité des plugins et développements locaux

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Patrick,

Comme Luiggi et toi, je regrette ces manques de partage, qui pourraient profiter à toute la communauté.

A minima, il est possible d'accéder à la liste des plugins en attente d'approbation clin d’œil

Mais ça ne permet pas d'accéder facilement à toutes les informations du plugin, ni de l'installer directement...

Séverin

Moyenne des évaluations Super cool ! (2)
En réponse à Séverin Terrier

Re: Amélioration de la visibilité des plugins et développements locaux

par Luiggi Sansonetti,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Titulaires du Moodle Course Creator Certificate Avatar Traducteurs
Il faudrait surtout arrêter de me donner des idées de mutualisation/centralisation à (très) grande échelle aussi...
🤣🤯💯

Je vais scinder cette discussion car je sens qu'elle va apporter son lot de bonnes idées.
(juste me donner le temps de formaliser déjà ce qui me vient tout de suite...)
En réponse à Patrick Lemaire

Re: Amélioration de la visibilité des plugins et développements locaux

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Je trouve également dommage les occasions manquées de mutualisation.

Cependant, au vu des problèmes que provoque déjà actuellement une mauvaise utilisation de la base des plugins (p.ex. installation d'un plugin sans consulter les prérequis), je pense que c'est une fausse bonne idée de partager des plugins non finalisés dans la base officielle. Tous les gyrophares du monde n'y feront rien (désolé pour mon pessimismeréalisme).

Dans un tel cas, l'occasion manquée n'est AMHA pas dans la non-mutualisation, mais dans la non-finition du plugin ou le manque de volonté du développeur de s'adapter à des normes de programmation, parfois simplement parce qu'il ne les connaît pas. Et c'est cette question qu'il faut (aussi) prendre en compte.

Nicolas

Moyenne des évaluations Super cool ! (2)
En réponse à Nicolas Martignoni

Re: Amélioration de la visibilité des plugins et développements locaux

par Luiggi Sansonetti,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Titulaires du Moodle Course Creator Certificate Avatar Traducteurs
OUI et NON
(bien que je ne sois pas normand !)

Il y a plusieurs paramètres à prendre en compte à mon avis.

Pour moi, il y aurait bien un problème de mutualisation AVANT un problème de finalisation.

On va partir du micro pour arriver au macro en listant les process (du moins, ce que je comprends depuis mes observations).


1. Besoin local

Tout commence dans un service où une instance Moodle doit répondre à un besoin particulier.
Faute de trouver un plugin existant, une personne ayant connaissance du code développe un plugin ou quelque chose qui permet de répondre à son besoin, suivant son contexte.

C'est la naissance d'un plugin, d'un webservice, d'un patch...


2. Besoin partagé

De bouche à oreille, via des groupes de travail, des messages dans la communauté, des courriels ou appels téléphonique, ou via des MoodleMoot, quelqu'un répond à une demande en disant "j'ai fait ça, tiens", ou "regarde ce que j'ai fait, et vois si ça peut t'aider".

Ce partage, cet échange de code (restons neutre) se fait en envoyant le fichier ou le lien vers le zip ou dépôt du 1er contributeur.

Pour moi, cette 1ère étape serait primordiale pour savoir qui (a) fait quoi qui pourrait éviter à une autre personne de réinventer la roue.


3. Plugin documenté

Lorsque ces échanges sont en place, il est souvent vu que les 2 personnes collaborent à améliorer leur code pour qu'il soit plus clair à comprendre, plus facile à modifier suivant le contexte de réutilisation.

Pour moi, cette 2ème étape serait indispensable pour améliorer la description des contextes de création/développement/modification du plugin à toute fin d'amélioration par d'autres.
Cela pourrait également résoudre en partie la problématique du développeur qui quitte le service et qui laisse le "bébé" sur place...


4. Plugin aux normes

Le besoin grandissant, la demande se faisant plus forte au sein des communautés de pratiques, et pour pérenniser le développement, il faut en effet normaliser le code pour proposer ce plugin dans la base officielle.

Ici, il faut que les personnes respectent les normes attendues par Moodle HQ pour que tout se passe bien.

Pour moi, cette 3ème étape est importante pour donner une visibilité plutôt Mondiale au développement en passant par cette phase de "plugin en attente d'approbation".


5. Plugin disponible dans la base officielle

Ici, nous touchons au but. Une fois le plugin approuvé, il est listé dans la base officielle des plugins.
Une nouvelle vie lui appartient désormais entre les multiples usages, téléchargements, retours, demandes...


6. Plugin intégrant le core

Ici, nous touchons au sein Graal. Il faut avoir en tête qu'il y a plusieurs chemins :
  • l'impasse --> le plugin restera plugin disponible depuis la base
  • le contributif --> en passant par la Moodle Users Association, en passant par les votes depuis le tracker, il est possible qu'un plugin tiers (ou patch...) devienne un plugin core
  • le coup de coeur --> au vue de son indispensable intérêt pour la communauté mondiale, il est rapidement intégré


En résumé :


Là où je me pencherai avant tout, c'est ce passage entre le local et le partagé.

C'est ici qu'il y a, pour moi, déjà un manque de visibilité.

Car un besoin local, peut avoir été comblé ailleurs. Mais si on ne le sait pas...

Si on pouvait déjà centraliser, non pas les codes qui impliquerait un github commun à tous, mais au moins un lien vers le code et un descriptif documenté (soit dans le code, soit par un document associé), on pourrait voir/savoir ce qui est disponible et pour quels usages.

Ce serait comme un sas intermédiaire, avant la possible soumissions pour approbation.

Évidemment, tous les développements locaux n'ont pas la vocation à devenir plugins officiels.
Il y a tellement de spécificités souvent dans les besoins que seul un établissement de même structure, avec un même annuaire, avec des mêmes procédures de webservices pourraient vraiment en avoir besoin.

Mais ça entrerait déjà dans un process de partage et mutualisation à mon sens.


Et, pour finir, ma vue du process de "celui qui a besoin" :

  1. j'ai un besoin spécifique
  2. je regarde dans la base des plugins s'il existe quelque chose
  3. SINON je regarde dans les plugins en attente d'approbation
  4. SINON je regarde dans la base des plugins interétablissements mutualisés
  5. SINON j'appelle un ami

Je me trompe peut-être de vision (je ne suis pas développeur, mais je fais développer sourire)

Mais je pense qu'il y a des choses à faire pour remonter les informations.
En réponse à Luiggi Sansonetti

Re: Amélioration de la visibilité des plugins et développements locaux

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles

Merci pour cette analyse

Je soumets quelques idées pour faire avancer , aider, basé sur mon expérience de développeur

Besoins partagés : Il faudrait bénéficier de canaux d'échanges pour communiquer sur les travaux en cours et favoriser d'éventuelles collaborations Canaux qui peuvent être de différentes sortes : forum, messagerie instantanée

Concernant les points 3 et 4 j'aurais tendance à penser que quand on code sur de l'open source il faut respecter le framework et les règles en vigueur sur le projet j'essaye depuis mes débuts dans le développement Moodle de procéder de cette façon et ceci même pour les développements locaux Cela permet, en respectant déjà le framework de bénéficier au minimum de mises à jour coeur moodle simplifiées En enrichissant avec le codestyling et tests unitaires et fonctionnels ont fait un pas de plus vers la collaboration interne mais aussi externe: le code est plus lisible, d'autres peuvent le relire, l'enrichir et en passant les tests on a la garantie qu'il fonctionne toujours

Mais pas toujours facile d'avoir une bonne idée et d'avoir le temps ou les moyens techniques de le faire en suivant tout cela; d'où cette idée d'avoir une visibilité sur les plugins "en l'état" avec un système genre participe_ou_reprend_un_plugin.com

Ta vue process est effectivement intéressante

le point 4 me concernant plus particulièrement la tendance actuelle dans le milieu universitaire est de produire des plugins ayant reçu l'aprobation moodle.org En effet cette approbation est un gage de qualité pour ceux qui installent des plugins Coté producteur/développeur la qualité provient de la relecture et des conseils très enrichissant que fournissent en retours les "gardiens des plugins"/QA testeurs Je n'ai jamais autant appris que depuis que je soumet des plugins pour approbation Il m'est arrivé dans d'autres cas de suivre/lire une approbation pour un plugin qui pourrait être installé chez nous et la lecture des rapports a déjà joué dans la non acceptation d'un plugin. Mais encore une fois on a pas toujours les moyens, le temps de produire un plugin qui pourrait recevoir une approbation donc ton point 4 pourrait se transformer en je regarde dans l'agora participe_ou_reprend_un_plugin.com

Moyenne des évaluations Super cool ! (2)
En réponse à Céline Perves

Re: Amélioration de la visibilité des plugins et développements locaux

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles

Bonjour, décidément ce point 4 "SINON je regarde dans la base des plugins interétablissements mutualisés" a du potentiel Cette notion de sous communauté avec laquelle on partage des plugins pourrait aller plus loin soumettre des plugins à la communauté inter-établissement permettant un retour d'expérience/une code review et autre suggestions Et ainsi permettre à certains plugins, après corrections/évolutions, d'intégrer le lot des plugins approuvé moodle.org

Moyenne des évaluations Super cool ! (1)
En réponse à Luiggi Sansonetti

Re: Amélioration de la visibilité des plugins et développements locaux

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Est-ce qu'on ne pourrait pas avoir un "circuit court" (et pas l'inverse 🤡) avec une (activité) base de données ?

Il existe des plugins qui ont connu un développement en partant d'une "simple bonne idée". Celle-ci a rencontré un public motivé et, parmi eux, des dév. qui ont poussé le projet à son terme.
Évitons juste de partir d'une « bourse aux idées » parce que ça va rapidement devenir n'importe quoi. Il faut au moins avoir un "embryon" pour partager !

Personnellement, je n'ai pas une formation de dév. mais il m'arrive de produire des "choses". Par manque de temps, et très probablement de compétences, j'arrive à un résultat qui correspond aux besoins exprimés (si j'ai suffisamment de temps) mais ce n'est pas "propre". Il manque des tests unitaires (pliiiiz, un tuto !!! 😇) et bien d'autres choses.
Pourtant, nombre de ses plugins-démoulés-trop-chauds pourraient aboutir à de VRAIS plugins.
Combien de discussions aux Moot se sont soldées par "Ah mince, j'ai fait la même chose de mon côté" ?!

Comme le dit Céline, prendre de « bonnes habitudes » se révèle un gain de temps et d'efficacité mais encore faut-il investir un minimum de temps … que l'on a pas toujours.
Moyenne des évaluations Super cool ! (2)
En réponse à Patrick Lemaire

Re: Amélioration de la visibilité des plugins et développements locaux

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles

+1 pour la bdd Tests unitaires et fonctionnels... Hélas peu de documentation

En réponse à Luiggi Sansonetti

Re: Amélioration de la visibilité des plugins et développements locaux

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Juste au cas où ... il est possible de télécharger l'ensemble des plugins produits par https://recitfad.ca/ dans une (grosse) archive ZIP.

https://recitfad.ca/moodledocs/ cliquer sur Téléchargement

Il faut s'inscrire, en donnant une adresse mail. C'est sur https://docs.google.com/ etc.

Il faut probablement avoir un "compte Google".

Si j'ai bien compris la doc. il faut installer---dans l'ordre---tous les plugins pour que l'ensemble fonctionne. Je le ferai sur mon Moodle local ... lorsque j'aurai le temps.

Moyenne des évaluations Cool (1)
En réponse à Joseph Rézeau

Re: Amélioration de la visibilité des plugins et développements locaux

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour,
Cette discussion me confirme qu'à mon petit niveau je continuerai à n'installer dans Moodle que des plugins issus de la liste officielle.
Bien que parfois ils semblent continuer à bien fonctionner même après obsolescence.
Seule exception: J'ai installé un Quickmail issu de GitHub ...
Daniel
En réponse à Joseph Rézeau

Re: Amélioration de la visibilité des plugins et développements locaux

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles

Ayant cliqué sur le lien j'en profites pour faire une suggestion Lors du téléchargement il est proposé d'être informé des mises à jours Il n'y a à priori, sauf erreur de ma part, aucune chose de genre sur moodle.org et c'est bien dommage

Nous avons récemment expérimenté chez nous un gros soucis lié à un plugin qui avait besoin d'une mise à jour pour fonctionner correctement car communiquant avec une application tierce Si nous avions pu être au courant qu'une telle mise à jour était disponibles nous aurions évité des soucis

Idem dans l'autre sens, lorsque je publie une nouvelle version de plugin sur moodle.org pour prise en charge d'un bug je suis toujours frustrée de ne pas pouvoir en faire part les personnes qui ont installé le plugin

Il est toujours possible de suivre les dépots git associés mais pas vraiment le même chose

Moyenne des évaluations Super cool ! (1)
En réponse à Céline Perves

Re: Amélioration de la visibilité des plugins et développements locaux

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour Céline,

Je me permet de préciser que Moodle permet (depuis des années) de notifier automatiquement les administrateurs de plateforme utilisant des plugins qui sont dans la base de plugins, et pour lesquels une nouvelle version vient de sortir.

Il faut simplement l'avoir activé (c'est le cas par défaut) depuis "Administration du site > Serveur > Notifications de mises à jour" sourire

Et on peut choisir d'être notifié uniquement pour les versions déclarées stable, ou "candidate" (voire alpha ou beta) clin d’œil

Séverin
Moyenne des évaluations Très cool (1)
En réponse à Séverin Terrier

Re: Amélioration de la visibilité des plugins et développements locaux

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

En effet, les plugins installés depuis la base officielle des plugins de Moodle déclenchent une notification sur votre site Moodle lorsqu'ils sont mis à jour par leur développeur sur cette même base.

C'est justement parce que les plugins de https://recitfad.ca/ ne figurent pas dans cette base que leur développeur propose de vous proposer d'être informé des mises à jour.clin d’œil

CQFD

En réponse à Séverin Terrier

Re: Amélioration de la visibilité des plugins et développements locaux

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles

Merci beaucoup, je n'avais trouvé ce lien

En réponse à Céline Perves

Re: Amélioration de la visibilité des plugins et développements locaux

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles

j'aurais plus aimé quelque chose côté moodle.org, un peu comme quand on suit un ticket ou une discussion je ne suis en effet pas l'administrateur des plate-formes de mon établissement

En réponse à Luiggi Sansonetti

Re: Amélioration de la visibilité des plugins et développements locaux

par Benjamin Seclier,
Avatar Développeurs de plugins
Bonjour à tous,
J'apporte ma contribution à ce sujet de mon point de vue d'administrateur système.

Je pense qu'il est bien plus important de faire (re)connaitre et discuter les personnes compétentes en développement moodle plutôt que de promouvoir les bouts de code qui traînent ici et là.
Chez nous, nous essayons de limiter au maximum l'usage des plugins tiers. Les conditions nécessaire à l'adoption d'un plugin sur notre plateforme sont les suivantes (liste non exhaustive) :
- la fonctionnalité doit avoir été demandée par plusieurs enseignants
- le plugin doit être un plugin officiel, installé dans un maximum d'endroits et doit avoir déjà quelques mois/années d'ancienneté

Je comprends ton discours Luiggi, mais personnellement, jamais je n'installerai sur mon serveur un plugin développé dans un coin par un collègue d'un autre établissement. C'est peut-être un peu cliché, mais je me dis que si le développeur n'a pas fait l'effort de coder tel que le framework l'exige, rien ne garanti un code propre, capable d'encaisser la charge et les mises à jour régulières.
Ce point de vue est celui d'un administrateur d'une grosse infra, il est probable que les administrateurs de plus petites plateformes auront un discours différent.

Quand au fait de reprendre du code laissé par d'autres pour l'embellir et le proposer à moodle.org, c'est parfois plus chronophage que de tout recoder from scratch. Il faut se mettre dans la tête de l'ancien développeur pour comprendre son algo, reprendre beaucoup de code pour y intégrer des éléments indispensables, utiliser des fonction intégrées à moodle au lieu des fonctions un peu "perso", etc.

En bref, comme je l'avais dit lors du précédent moodlemoot, il me semble plus intéressant d'offrir à des développeurs un outil de discussion plus convivial qu'un forum (genre un outil de chat direct, c'est ce que j'ai fait pour les adminsys sur le rocketchat esup : https://rocket.esup-portail.org/channel/adminsys_moodle). Cela permettrait d'avoir toujours des gens sous la main, soit pour discuter de manière informelle, soit pour poser des questions précises pendant qu'on est en train de développer du code, soit pour prévoir des visios de temps en temps avec ceux qui le souhaitent.

Mon post est un peu brouillon et sans précaution oratoire, désolé sourire
Moyenne des évaluations Super cool ! (1)
En réponse à Benjamin Seclier

Re: Amélioration de la visibilité des plugins et développements locaux

par Luiggi Sansonetti,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Titulaires du Moodle Course Creator Certificate Avatar Traducteurs

Bonjour Benjamin

Pas de soucis pour ce côté brouillon et spontané, c'est compréhensible donc tout va bien clin d’œil

Je te comprends aussi très bien et tes explications/détails/arguments sont totalement légitimes aussi.

Oui il faut échanger sur ces sujets qui sont importants à tous niveaux
Un forum n'est peut-être pas idéal, mais permet de garder traces malgré tout (la preuve, tu y viens grand sourire)
Mais on trouvera bien un moyen de coordonner nos forces vives.

C'est aussi ce que soulèvent Nicolas et Céline quant à la propreté du code initial. S'il est déjà "Moodle Ready" c'est plus facile.

Si maintenant cette idée de "pot commun" existe et peut motiver les prochains développements à être "Moodle Ready", ce serait déjà une bonne chose.

En réponse à Luiggi Sansonetti

Re: Amélioration de la visibilité des plugins et développements locaux

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour,
A mon petit niveau d'utilisateur, je n'utilise quasiment QUE des plugins tiers de la liste officielle de Moodle.org. Sauf très rare exception et quand je suis sûr de l'auteur.
Mais comme mes clients (que je forme par ailleurs) ont besoin de faire moultes expérimentations dans leur "bac à sable", je suis obligé de leur offrir tout un panel de plugins tiers très utiles. Car leurs besoins sont variés.