Journal Une interface d'administration des pads pour etherpad : Etherpad::Admin !

Posté par  (site web personnel) . Licence CC By‑SA.
23
18
jan.
2013

Vous connaissez sans doute Etherpad, un éditeur de texte collaboratif en temps réel.

C'est pratique, en vogue, et personnellement, je ne peux pas m'en passer, à tel point que je l'ai installé au boulot (mes collègues en sont très contents).
Mais, il y a un point qui pèche : on n'a pas la liste des pads, ce qui peut être gênant si on a oublié de le noter, on ne peut pas les renommer si on s'est planté et on ne peut pas les supprimer, du coup la base de données ne fait que grossir et grossir…

Du coup, j'ai fait une interface pour faire tout ça !

Screenshot

C'est fait en Perl avec l'excellent framework Mojolicious, le Twitter bootstrap pour ne pas m'embêter à faire de la css et Spin.js pour faire un joli tourniquet d'attente si nécessaire et c'est sous licence Apache License v2.0.

Là où c'est sale[1], c'est que je tape sur la base de données sur laquelle se base Etherpad, donc ce n'est pas propre, mais je voulais aller vite. L'utilisation de l'API d'Etherpad viendra sans doute un jour. À part la bdd de dév (dirtydb) d'Etherpad, Etherpad::Admin prend en charge toutes les bases de données d'Etherpad (SQLite, MySQL et PostgreSQL).

C'est relativement bien configurable (renommage ou pas, URL de lecture seule ou pas, suppression ou pas), très simple à installer (y a qu'à lire le README et copier les confs d'exemple fournies) et c'est plutôt léger.

Voici donc Etherpad::Admin, n'hésitez pas à envoyer vos remarques :) Vous trouverez le code au choix sur :

[1] je sais qu'on est trolldi mais ne venez pas me dire que c'est surtout sale parce c'est en Perl. C'est le meilleur langage, faut arrêter d'être jaloux parce qu'on vous demande de faire du Python, ou pire, du Ruby ! ;)

  • # API PHP

    Posté par  (site web personnel) . Évalué à 2.

    Il existe aussi une API PHP permettant de gérer les pads:
    - création
    - suppression
    - partage (gestion des groupes)
    - protection par mot de passe
    - passage du pad en privé (seul le propriétaire peu y accéder)
    - prévisualisation du pad
    - etc.

    https://github.com/TomNomNom/etherpad-lite-client

    Sinon, comme pour toi, depuis que je l'ai installé, il nous est difficile de nous en passer…. à un tel point qu'on me demande maintenant d'installer ethercalc (http://www.ethercalc.org/)! Par contre, je ne suis pas certain que l'API soit aussi accessible que pour etherpad… à suivre!

    Arnaud

    • [^] # Re: API PHP

      Posté par  (site web personnel) . Évalué à 1.

      Je sais mais… PHP quoi ! ;)

      Plus sérieusement, ça m'aurait pris plus de temps de faire un truc en PHP que de faire en Perl avec Mojolicious.

      Enfin, peut-être pas plus de temps, mais j'aurais fait ça comme un gros porc et du coup ça n'aurait pas été maintenable.

      Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

      • [^] # Re: API PHP

        Posté par  . Évalué à 6. Dernière modification le 19 janvier 2013 à 01:55.

        on avait dit qu'on n'était plus trolldi

        • [^] # Re: API PHP

          Posté par  (site web personnel) . Évalué à 2.

          On a toujours le temps pour un troll avec PHP :D

          Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

  • # Mais où et donc or ni car ?

    Posté par  . Évalué à 2.

    Et on trouve où le code ? github ?

  • # Sale

    Posté par  (site web personnel) . Évalué à 2.

    Pourquoi tu considère sale de taper sur la BdD?
    Elle est là pour ça non?

    Enfin je me rends pas compte ça dépend si etherpad a une grosse couche d'abstraction par rapport au stockage BdD mais j'en doute un peu, surtout sur des actions aussi simples que du renommage.

    Est-ce vraiment plus propre de balader des requêtes HTTP «en local» depuis un bout de perl vers un bout de PHP pour modifier deux lignes dans une BdD?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.