Améliorons Etherpad/Framapad

Plugin MyPads pour groupes, comptes personnels et pads privés

  • MyPads : développement, point numéro 3

    Cela fait déjà plusieurs semaines que le dernier point concernant MyPads a été écrit. Pour ceux qui ne le sauraient pas encore, MyPads est le plugin Etherpad, et donc Framapad, qui va apporter la gestion des groupes et pads privés pour chaque utilisateur enregistré.

    Ces dernières semaines ont été moins actives que les précédentes. Malgré cela, c'est toujours l'interface client qui a été travaillée avec la réalisation de :

    •     la page de connexion et l'authentification associée ;
    •     la page de souscription de compte ;
    •     la gestion du profil utilisateur.

    À court terme

    Le développement reprendra une activité soutenue dès cette semaine. Les premiers éléments des modules de gestion de groupes et pads seront posés et avant la fin du mois une première version de tests sera proposée pour les personnes intéressées. L'objectif poursuivi est l'obtention d'une version stable dans la première quinzaine du mois de mai. À partir de maintenant, un point hebdomadaire sera réalisé.

  • MyPads : second point sur le développement

    Deux semaines se sont écoulées depuis le premier point sur MyPads, qui est pour rappel le plugin Etherpad, et donc Framapad, qui apportera la gestion des groupes et pads privés par utilisateur.

    L'avancement

    • Comme prévu, les dernières tâches ont été consacrées au début du développement de l'interface Web de MyPads, et plus précisément :
    • la mise en place de l'environnement de développement : browserify, watchify... ;
    • l'emploi d'un serveur HTTP de test autonome afin de fluidifier le travail de test et de relance ;
    • la mise en page générale et sa feuille de style associée, avec prise en compte de différentes tailles d'écrans (responsive) ;
    • la création de modules transversaux : système de notifications, infobulles, validation des saisies....

    Pour ceux que cela intéresse, le code client repose entre autres sur Mithril.JS, Lodash, JSS.

    La suite

    D'ici quelques jours seront avancés les modules pour :

    • l'authentification et la souscription de compte en propre ;
    • la page de profil utilisateur ;
    • les tests fonctionnels pour ces modules.

    Une fois cela réalisé, une version alpha sera proposée, qui emploiera la toute dernière version du code et sera remise à plat chaque jour. Elle sera disponible en anglais et en français.

    Suivront bien entendu le module d'administration et ceux qui seront les plus utiles pour MyPads, à savoir la gestion des groupes et des pads. Notez que vous pouvez toujours suivre les avancées sur notre instance Gitlab, ou sur son miroir Github.

     

    Pour en débattre : http://framablog.org/2015/03/18/mypads-second-point-sur-le-developpement/

  • MyPads : premier point sur le développement

    Cela fait quelques semaines que le développement a redémarré pour MyPads, le plugin Etherpad, et donc Framapad, qui apportera la gestion des groupes et pads privés par utilisateur. Il est donc temps de faire un premier point sur ce qui a été fait et ce qui reste à réaliser.

    L'avancement

    Le développeur a choisi de commencer par le code côté serveur, lequel n'est pas directement visible aux utilisateurs. À ce jour, ont été réalisés :

    • La formalisation de MyPads en tant que plugin Etherpad, installable manuellement.
    • Une partie de la gestion de la configuration du plugin, des utilisateurs, groupes et pads.
    • Une API HTTP-REST publique associée à chacun des modules.
    • L'authentification en propre.

    Il reste côté serveur à améliorer l'API, gérer les permissions selon les utilisateurs, permettre l'envoi de mails par exemple pour la récupération de son mot de passe.

    Ce qui a pris du temps

    Outre la mise en place générale, l'un des points de difficultés pour le développement d'un plugin Etherpad de ce genre est la gestion de la base de données. En effet, Etherpad emploie ueberDB, une bibliothèque NodeJS en partie conçue pour lui, qui transforme plusieurs moteurs de bases de données en simples bases clés-valeurs. Il est important d'utiliser ueberDB afin de maintenir la compatibilité du plugin avec l'ensemble des bases de données supportées par Etherpad.

    Or, ueberDB ne fournit de manière commune que très peu de fonctions : fixer une clé et sa valeur, supprimer cette clé, récupérer la valeur en fonction de la clé ou enfin obtenir une liste de clés selon un préfixe donné. De fait il revient à l'application de gérer les différents types d'objets à stocker, les liens entre ceux-ci et les index... En somme de prendre soin de l'intégrité des données et de la performance générale.

    MyPads, dans cette version préliminaire, c'est en cumulé un peu plus de 10 000 lignes écrites, tests et commentaires inclus.

    La suite

    Le développement du client Web débutera la semaine prochaine. Dès les premiers modules réalisés, une version de test, remise à plat chaque jour, sera proposée. Elle utilisera  la toute dernière version du code et permettra à ceux qui le souhaitent de voir plus concrètement où en est le développement. Un nouveau billet sera rédigé à ce moment-là.

    Cette phase permettra l'amélioration de la partie serveur, dont l'API, et l'implémentation des fonctionnalités encore manquantes.

    PS : pour ceux qui sont intéressés par le code, vous le trouverez sur notre miroir Github, en attendant que notre Gitlab soit à nouveau opérationnel.

  • MyPads : le développement repart

    Le développement du plugin a démarré mi-décembre, dont cette annonce aura été le témoin.

    La feuille de route prévue était basée sur le fait que que le développeur consacrerait environ la moitié de son temps à MyPads et ce, jusqu'à la fin du mois de février.

    Le calendrier est en réalité quelque peu décalé et compressé. Outre les fêtes de fin d'années, le prestataire a préféré en terminer avec ses autres engagements professionnels. Il n'a donc que très peu avancé sur MyPads.

    Il a désormais assuré qu'il se dédierait exclusivement jusqu'à la fin du mois de février au plugin. Des progrès rapides devraient être visibles sur notre espace Gitlab (en maintenance pour le moment), à travers le code source, les tickets et le wiki.

    Si les tests en conditions réelles ne se feront que dans quelques semaines, la date de sortie annoncée n'est pas pour autant remise en cause : le plugin reste prévu pour la fin du mois de février.

  • Vous l'avez fait ! :-)

    Merci !!!


    La campagne MyPads est terminée avec succès, et elle a même dépassé nos attentes, une fois de plus grâce à vous !

    Ces dernières semaines, une cinquantaine de nouveaux contributeurs ont souhaité donner, malgré l'objectif initial déjà atteint.


    Nous voici donc à 12,090€, soit 11 122€ après déduction des frais Ulule. Nous ferons bon usage de cette somme, et répartirons comme prévu les 1 122€ supplémentaires que vous avez décidés de nous confier.


    Dans les semaines qui viennent, nous allons attendre patiemment les dernières réponses à notre cahier des charges, sélectionner le prestataire et lancer la création de MyPads. Nous communiquerons bien évidemment tout au long de sa conception, à la fois sur Ulule, mais aussi sur http://framablog.org. Pour rappel, la livraison du plugin est prévue pour la fin d'année.

    À ceux qui ont choisi des contreparties : nous vous contacterons au début de la phase de conception afin d'obtenir tous les éléments nous permettant de tenir nos engagements et vous serez bien entendu prévenus lorsque vos contreparties seront livrées.


    Merci encore à vous, à tous ceux qui ont participé, directement ou indirectement, et contribué à faire de cette campagne un succès.

    L'équipe Framasoft