Questions sur myPads/etherpad

Bonjour à tous,
Tout d’abord je suis désolé si je ne suis pas au bon endroit pour cela, je ne sais pas réellement où poser mes questions concernant etherpad+myPads.
J’aurais besoin de retours d’expérience des habitués, en voici mes questions:

  • sur une instance en production combien pouvons nous avoir d’utilisateurs en simultané avec un bon serveur ? (au moins 4 vcpu + 8Go de ram), ayant une très grosse population potentielle (25 000) comment procéderiez vous ?
  • est-il possible de gérer du load-balancing / fail-over et si oui comment ça marche avec etherpad ? Je n’ai pas réussi à trouver de documentations/retours/exemples sur le sujet. Et j’avoue avoir un gros doute sur cette partie.
  • sur quelle version d’etherpad iriez vous pour fonctionner avec myPads ? j’ai testé la version 1.7.x puis 1.8.0 mais le changement de branche via GIT ne semble pas être une bonne pratique pour mettre à jour rapidement une version, il semble y avoir des caches persistant dont je ne trouve pas les chemins ! Est-ce plus fonctionnel via Docker ?

De façon plus fonctionnelle (sachant que je suis derrière un proxy http apache qui gère le https) :

  • comment faire pour autoriser la création de pads qu’à des outils tels que MyPads et Moodle par exemple, sachant que via MyPads les utilisateurs passent par une authentification CAS ? je n’arrive pas à trouver une configuration fonctionnelle sur la version 1.8.0.
  • À moins de devoir passer à nginx comment faire pour configurer via apache sur une location plutôt qu’un domaine ? je préférerais éviter nginx vu qu’on fonctionne depuis longtemps avec apache, à moins que HAproxy fasse l’affaire ? En suivant les documentations je n’ai pas réussi à faire fonctionner correctement ainsi, il doit y avoir quelques subtilités.

Merci par avance pour votre aide.

PS: si vous avez des évolutions à faire sur MyPads + auth CAS n’hésitez pas à me demander je peux participer, d’ailleurs j’ai déjà fait une modeste contribution, j’ai l’avantage de travailler dans un contexte où l’on déploie autant que possible de l’Open Source, et où l’on reverse/mets à disposition nos développements aux communautés.

Bien à vous !

Salut ! Je suis incapable de t’aider, mais je peux te remercier pour ton intérêt. :+1:

1 Like

sur une instance en production combien pouvons nous avoir d’utilisateurs en simultané avec un bon serveur ? (au moins 4 vcpu + 8Go de ram)

Aucune idée, nous n’avons pas de statistiques sur les personnes connectées en même temps.

est-il possible de gérer du load-balancing / fail-over et si oui comment ça marche avec etherpad ?

Non. Déjà, Etherpad, ça m’étonnerait que ça fonctionne, mais en plus Mypads se crée un cache en mémoire au démarrage et le manipule, le modifie au cours du temps. Donc en imaginant deux serveurs Etherpad/Mypads qui utiliseraient la même base de données, les deux Mypads n’auraient, au fil du temps, pas les mêmes informations dans leur cache mémoire et ça causerait vite de gros soucis. Et je pense que ce serait exactement la même chose avec Etherpad.

sur quelle version d’etherpad iriez vous pour fonctionner avec myPads ?

Pour l’instant, on est sur la 1.7.5. Nous avons récemment mis à jour MyPads pour assurer la compatibilité avec Etherpad 1.8 mais nous n’avons pas encore mis à jour nos instances.

mais le changement de branche via GIT ne semble pas être une bonne pratique pour mettre à jour rapidement une version

Pourtant, c’est ce qu’on utilise sans souci :

git fetch origin
git checkout -b 1.8.0 1.8.0
systemctl restart etherpad.service

Est-ce plus fonctionnel via Docker ?

Aucune idée, je hais Docker et je l’utilise le moins possible.

comment faire pour autoriser la création de pads qu’à des outils tels que MyPads et Moodle par exemple, sachant que via MyPads les utilisateurs passent par une authentification CAS ?

Je ne comprends pas très bien la question. Pour éviter que des utilisateurs puissent créer des pads, il suffit d’aller dans les réglages de Mypads. Pour pouvoir créer des pads via Moodle après ça, il faudra un truc qui utilise l’API d’Etherpad, mais je ne connais pas Moodle, et les pads créés ne seront sans doute pas utilisables car pas portés à la connaissance de Mypads, ce qui fait qu’il en interdira sans aucun doute l’accès.

À moins de devoir passer à nginx comment faire pour configurer via apache sur une location plutôt qu’un domaine ? j

Faut demander ça aux gens d’Etherpad. Nous, nous n’utilisons que du Nginx pour les Etherpad (et de façon générale aussi).

Merci pour ces éléments de réponses.
Je vais compléter ce point donc:

comment faire pour autoriser la création de pads qu’à des outils tels que MyPads et Moodle par exemple, sachant que via MyPads les utilisateurs passent par une authentification CAS ?

Je ne comprends pas très bien la question. Pour éviter que des utilisateurs puissent créer des pads, il suffit d’aller dans les réglages de Mypads. Pour pouvoir créer des pads via Moodle après ça, il faudra un truc qui utilise l’API d’Etherpad, mais je ne connais pas Moodle, et les pads créés ne seront sans doute pas utilisables car pas portés à la connaissance de Mypads, ce qui fait qu’il en interdira sans aucun doute l’accès.

En fait quand on configure MyPads avec l’auth CAS, cela ne bloque pas l’accès direct à l’interface native d’etherpad et on peut créer des pads en mode anonyme, mon but étant d’interdire le mode anonyme et que la création/grestion ne se passe que par MyPads. J’ai essayé plusieurs paramétrages dans etherpads mais à partir du moment que j’interdis l’accès aux utilisateurs sans session via MyPads je peux créer des pads mais je ne suis pas autorisé à aller dessus.
Je me demande si ce problème n’est pas un problème de cache, donc où puis-je trouver les fichiers de cache générés ?

À un moment j’ai réussi à faire fonctionner mais je n’arrive plus à le reproduire. Je pense que je vais revenir sur la version 1.7.5, c’était sans doute celle-ci où cela fonctionnait.

Autrement pour info pour le mode cluster il y aurait des travaux en cours de contributeurs, l’idée étant d’arrêter d’utiliser le uberDB, ou des caches locaux et de passer à des caches partagés via memcached, redis, etc… cf issue: https://github.com/ether/etherpad-lite/issues/3335

Je me demande si ce problème n’est pas un problème de cache, donc où puis-je trouver les fichiers de cache générés ?

Aucune idée, mais je commencerais personnellement par redémarrer Etherpad. Ça devrait suffire, le cache de Mypads étant uniquement en mémoire :thinking:

J’ai déjà essayé à plusieurs reprises et même après chaque changement de conf ça ne changeait rien, j’ai d’autres tests en cours mais je pense sérieusement revenir à la version 1.7.5 d’etherpad.

J’aurais une dernière question sur mypads. Peut-on utiliser l’auth CAS et à côté effectuer des recherches LDAP pour rechercher des utilisateurs avec qui partager les pads ? Voir filtrer les droits de création/édition des pads ?

Non, ce n’est pas possible :

  1. les modules d’authentification sont exclusifs l’un de l’autre
  2. il n’y a pas de recherche d’utilisateurs avec qui partager les pads : on ne peut que mettre les pseudos/adresses mails des gens dont on connait ces informations et qui sont déjà inscrits sur la plateforme (c’est à dire déjà logués au moins une fois, que ce soit via CAS, LDAP ou l’authentification interne)

Si on se décide serait-ce une contribution intéressante à votre avis ? J’entends par pouvoir ajouter des utilisateurs n’étant pas déjà connecté au service via une recherche sur un backend configurable dont LDAP par exemple.

Bonjour,

À mon avis une première marche serait de permettre l’invitation d’utilisateurs non inscrits par email, avec gestion d’une liste d’attente directement au sein de MyPads. Il faudrait pour cela générer un jeton, valable un temps donné, qui permettrait à la personne de choisir son mot de passe pour la création de son compte.

Le même mécanisme pourrait ensuite être appliqué avec d’autres fournisseurs que le seul email, comme en effet un annuaire LDAP.

De mon point de vue ce serait une contribution intéressante, d’autant plus que cela fait partie de la liste des choses à améliorer depuis longtemps.

Bonjour,
@fabien: je verrais cela en fonction de ce que je peux faire plus dans un second temps. Pour le moment j’adapte les choses simpels.

Autrement j’aurais une questions, selon vous comment serait il possible d’intégrer des css et javascripts externe (ou modules) dans la page sans avoir à faire un fork de mypads ?

Merci.

Dans l’interface d’admin de MyPads (lien en bas de la page de login de MyPads), il y a un bloc HTML pour <head> qui permet d’ajouter des appels à des scripts et des feuilles de style externe.

Ah ok super merci, c’était prévu en fait :smiley: Je vais regarder ça alors !