Installation de MyPads sur Debian 8

closeCet article a été publié il y a 5 ans 3 mois 15 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

logo_mypadsVendre du MyPads ?

Allons droit au but, si je me lance dans cette installation c’est dans l’idée d’évaluer la faisabilité de proposer un service payant basé sur ce logiciel. Pour l’instant, j’en suis aux premières expérimentations. De nombreuses questions sont encore en suspens tant sur le plan technique que commercial.

Comment facturer ce service ? Une facturation au compte utilisateur impliquerait d’interdire les pads publics, sinon comment comptabiliser les utilisateurs 🙂 ?

Le nombre de pads créés pourrait être un autre critère, mais là aussi ce n’est pas évident si l’on permet des pads publics. Il me semble que c’est plus le nombre d’utilisateurs qui génère la charge machine  que le nombre de pads créé. Un pad public utilisé par 200 personnes ce ne doit pas être rien en terme de charge.

Reste la solution, et c’est peut-être la plus simple, de mettre à disposition des instances dédiées avec des ressources allouées. Ce sont elles qui limiteront de fait les capacités d’usage de MyPads. L’avantage est de ne pas avoir à se soucier du nombre d’utilisateurs. En effet, il peut y avoir des utilisateurs ponctuels, réguliers, etc. De plus l’ouverture de pads publics redevient envisageable.

J’ouvrirais probablement une bêta avec des comptes ou instances gratuites pour voir un peu le comportement en charge de l’engin. En attendant, je vais déjà l’utiliser dans le cadre de mes prestations ou de projets en lien avec la formation.

Reste à savoir s’il y a un marché pour ce type d’offre… Face aux Google Apps ou à Office 365 dont les fonctionnalités sont bien plus avancées, j’ai quelques doutes… Mais il y a peut-être une micro-niche dans le domaine de l’éducation ou de la formation.

Mais commençons par le début : la mise en place. Je procède à un installation dans un serveur virtuel sous Proxmox 3 et une machine virtuelle OpenVZ équipé d’une Debian 8.

Installer Etherpad

C’est la première étape, MyPads a été développé comme un module complémentaire du logiciel libre Etherpad. Framasoft a déjà pensé à nous et met à disposition un tutoriel pour l’installation d’Etherpad. Si je prends, je donne, allez voir sur la page mécènes, vous y trouverez ma société 🙂 . Je suggère fortement à toutes les entreprises qui utilisent Mypads sur leurs serveurs d’en faire autant.

Etherpad est basé sur NodeJS. Ce dernier est disponible dans les dépôts de Debian 8 ce qui n’est pas le cas pour la version 7. Il vous faudra procéder comme expliqué sur le tutoriel de Framasoft dans ce dernier cas. Donc pour NodeJS :

apt-get install nodejs

et pour Node Package Manager :

apt-get install npm

Toujours rien de bien difficile. Continuons de suivre le tutoriel en créant un utilisateur dédié à Etherpad et en installant git et tout ce qu’il faut pour compiler.

Enfin, voici le moment venu de cloner le dépôt d’Etherpad sur la machine. A ce stade, il vous faudra également ajouter la commande curl

apt-get install curl

et créer le lien symbolique node pointant vers nodejs

ln -s /usr/bin/nodejs /usr/bin/node

Vous pourrez alors lancer le script d’installation. Effectuez la configuration comme indiqué sur le tutoriel et installer Mongodb. A noter qu’il n’est plus utile d’indiquer « sessionKey » dans le fichier json. La valeur est désormais générée automatiquement.

apt-get install mongodb

Appliquez les modifications de configuration du tutoriel. Si vous n’avez pas fait d’erreur, la console va vous afficher :

Ensure that all dependencies are up to date...  If this is the first time you have run Etherpad please be patient.
npm WARN package.json async-stacktrace@0.0.2 No repository field.
npm WARN package.json channels@0.0.4 No repository field.
npm WARN package.json tinycon@0.0.1 No repository field.
Ensure jQuery is downloaded and up to date...
Clearing minified cache...
Ensure custom css/js files are created...
Started Etherpad...
[2016-02-27 20:59:07.483] [INFO] console - Installed plugins: 
[2016-02-27 20:59:07.496] [INFO] console - Report bugs at https://github.com/ether/etherpad-lite/issues
[2016-02-27 20:59:07.497] [INFO] console - Your Etherpad version is 1.5.7 (d880527)
[2016-02-27 20:59:07.578] [INFO] console - You can access your Etherpad instance at http://0.0.0.0:9001/
[2016-02-27 20:59:07.578] [INFO] console - The plugin admin page is at http://0.0.0.0:9001/admin/plugins

Well done 🙂
Sélection_207

Il vous faudra encore installer un proxy web pour rediriger selon vos besoins un nom de domaine sur votre installation. Dans mon cas ce dernier existe déjà, il m’a suffi de déclarer mon nouveau sous-domaine et le faire pointer vers la bonne machine virtuelle.

Dans les éléments de configuration d’Etherpad, j’ai changé la langue par défaut positionné à « en-gb » par ‘fr » dans le fichier /home/etherpad/etherpad-lite/settings.json aux environs de la ligne 73.

Autres détails, j’utilise pour l’instant l’utilitaire screen pour lancer Etherpad et bénéficier d’une vue sur la console. Ce n’est probablement pas la solution finale que j’adopterais, mais pour l’instant elle me permet de voir ce qui se passe côté serveur simplement.

Ajoutons MyPads

Là, cela devient enfantin, puisqu’il suffit de se rendre sur la page d’administration sous l’url http://example.com/admin/plugins et de faire une recherche sur Mypads. Cliquez ensuite sur « Install ». Vous n’avez plus qu’à vous rendre sur votre url http://example.com/mypads.

Pour accéder à la page d’administration de MyPads, il vous faut utiliser l’utilisateur que vous avez configuré dans le fichier /home/etherpad/etherpad-lite/settings.json.

Dans zone de recherche saisissez mypads et cliquez sur Install. A ce stade, j’ai également ajouté les plug-ins suivants :

  • adminpads : pour gérer tous les pads qui ont été créés sur l’instance et faire le ménage facilement ;
  • sync_status: pour voir un petit message et se rassurer sur la bonne sauvegarde de ses modifications ;

Quand je compare mes pads à ceux du Framapad, je me dis qu’il doit me manquer encore quelques plug-ins. Si un admin de Framasoft passe par là et peut laisser la liste des plug-ins en commentaires, cela serait sympa 🙂

Il me faut personnaliser la page d’accueil et limiter ou au moins contrôler les possibilités de création de comptes. Je n’ai pas retrouvé l’information sur qui avait développé au final MyPads. Là encore, laissez l’information en commentaire, j’aimerais bien le contacter pour chiffrer les évolutions qui me sont nécessaires pour pouvoir proposer une offre de services pour MyPads.

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

10 réponses

  1. Bonob0h dit :

    « Moi client Michu » : heuuu mais ça sert a quoi de payer pour un tel machin alors que je paye déjà ma licence crosoft ou que j’ai un compte gmail avec des outils mieux foutus ? Si c’était avec du libre office je dis pas, mais LOL, c’est pas en place alors qu’annoncé depuis 3 ans ! Ah oui je veux du libre ! Alors pour le moment je dirais que je regarderais plutôt du coté de OnlyOffice. Bon sinon j’ai quand même une autre remarque à faire : tous les bouzin que j’ai testé en ligne ont un gros problème La latence ! Perso j’aimerai un Libre Office en « vrai logiciel » et qui permet le collaboratif avec ou sans serveur au milieu, même si un version complètement en ligne pourrait m’être utile ponctuellement ou pour mes collaboration avec des pignouf qui sont encore sur Office de Microsoft et que j’ai pas envie d’utiliser. En conclusion : quels dommages que Framamachin et autre librotruc fassent chacun de leur coté au lieu de prendre le meilleurs pour une suite efficace et efficiente … J’en rêve mais y a pas de LCL du libre 😉

  2. JosephK dit :

    > Quand je compare mes pads à ceux du Framapad, je me dis qu’il doit me manquer encore quelques plug-ins. Si un admin de Framasoft passe par là et peut laisser la liste des plug-ins en commentaires, cela serait sympa

    http://framacloud.org/cultiver-son-jardin/installation-detherpad/#comment-31912

  3. @JosephK . Bon ok je perd 1000 points de Karma pour question de boulet…. Merci !

  4. @Bonob0h
    >heuuu mais ça sert a quoi de payer pour un tel machin alors que je paye déjà ma licence crosoft ou que j’ai un compte gmail avec des outils mieux foutus ?
    Ben pour ceux qui paye pas de licence Crosoft ou qui ne veulent pas utiliser les services de Google 🙂
    J’ai dit marché de niche dans l’article…

    Pour OnlyOffice, c’est en cours. J’ai le contrat de partenariat dans la boite mail 🙂
    Reste que le truc en ligne et sans latence, ben quand tout le monde aura de la fibre avec des ping à 10ms, ça sera réglé… C’est pas pour demain…
    Sinon tu connais Dotriver aussi 😉

  5. Bonob0h dit :

    @Philippe … c’est plus une niche mais une coquille d’escargot nain comme marché 😉
    Ben oui j’imagine bien quand tu aura la fibre qui te passe à 20 m sous le nez depuis un moment ;))))

    @Tatiana d’Only Office … a quand la prise en compte native de l’ODT ? c’est quand même mieux que microsoft 😉
    Au fait Tatiana … pas de nouvelle de mon mail sur le projet de Fond de Dotation du Libre …

  6. Framasky dit :

    @Bonob0h : « En conclusion : quels dommages que Framamachin et autre librotruc fassent chacun de leur coté au lieu de prendre le meilleurs pour une suite efficace et efficiente … J’en rêve mais y a pas de LCL du libre »

    Bah euh, on ne fait pas un truc de notre côté : on prend justement le meilleur du libre (à l’heure où on a fait notre choix) et on essaye de l’améliorer au besoin. Le plugin mypads fait justement partie de ces améliorations dont on ne cessait de nous demander quand elle serait disponible. Si on avait du attendre LibreOffice OnLine, on attendrait encore.

    En ce qui concerne MongoDB : il nous arrive fréquemment (environ une à deux fois par semaine) d’avoir des enregistrements manquants. Etherpad stocke un « snapshot » des pads (le texte actuel du pad, plus des méta-données, dont le numéro de la dernière « révision » (c’est un terme d’Etherpad, ce sont en quelque sorte des diffs) du pad), ainsi que toutes les révisions de tous les pads. Et souvent, le numéro de la dernière révision correspond à une révision qui n’est pas enregistrée. Il nous suffit de bidouiller le n° de la dernière révision dans les méta-données du snapshot pour réparer, mais ce n’est clairement pas un comportement acceptable.

    D’où notre volonté de passer à une base de donnée qui garantira mieux la cohérence des données. On aurait pu penser à MySQL, mais c’est de MySQL dont nous nous sommes débarrassés en passant à MongoDB : les performances étaient loin d’être là pour notre trafic élevé (et MongoDB nous a clairement fait du bien au niveau des performances). Bref, PostgreSQL est notre nouveau choix de base de données : robustesse et performances.

    Un autre truc à propos des pertes de MongoDB : en faisant mon script de migration des données de MongoDB vers PostgreSQL, j’ai trouvé un enregistrement… sans clé ! Les données d’Etherpad sont sur deux colonnes d’une seule table (store) : key et value (enfin, key et val pour MongoDB). J’avais donc uniquement la colonne val. Sur une instance d’Etherpad de test qui ne sert quasiment pas. Bref, pas très fiable, vraiment pas assez à mon goût.

  7. @Framasky : reste à savoir si ces incohérences sont causé par la base de données ou Etherpad ou autre chose. Pas forcément rassurant pour monter une offre pro…

  8. Framasky dit :

    MongoDB a la réputation de perdre des enregistrements, sans compter qu’il n’est pas tout à fait complètement intégré à ueberDB (l’ORM d’etherpad) : il faut encore installer « mongo » (le connecteur nodejs vers MongoDB) à la main alors que ce n’est pas le cas avec les nombreuses autres bdd supportées.

    Bah, de toute façon, je pourrais te dire ça d’ici quelques semaines, quand j’aurais migré les pads qui débloquent (mensuel et bimestriel).

    Par contre, il va sans doute falloir que je mette en place pgbouncer (un pool de connexions postgresql) sur la bécane parce que ça risque de bourriner :p

  9. Charles dit :

    Bonjour,

    Personnellement, après 2 ans de retour d’expérience de mes clients sur de l’office 365, j’entends par là l’usage de Onedrive/Sharepoint + les outils en ligne de Word et Excel. Les outils en ligne reste pour l’instant les parents pauvres en terme de fonctionnalité. La force de Office 365 : mon Word/excel version « lourd » (entendre par là installé sur mon poste en local) sont en mesure de travailler sur un fichier directement dans le Cloud.
    Pas de perte de fonctionnalité, pas de perte de donnée (j’ai bien mon bouton enregistrer).

    Pour ma part, ce qu’il faut : un plugin pour OpenOffice/libreOffice/etc… pour travailler directement sur un doc dans le cloud, pas en webdav mais un vrai plugin de travail : je fait ouvrir et je vois l’arborescence de mon stockage cloud (Owncloud par exemple), je travaille sur mon fichier sans me soucier de la microcoupure. le fichier est locké en écriture pour les autres users et quand j’ai fini il repart dans le cloud.

    Secure
    Au top des fonctionnalités
    Peu ou pas dépendant du tuyau.

    Charles

  1. 14 mars 2016

    […] Pour peut-être proposer des services d'hébergement d'instances MyPads, compte-rend d'installation de ce logiciel libre développé grâce à un crowdfundig mené par  […]