À propos du projet
Etherpad est un éditeur de documents collaboratif temps réel conçu pour les documents où la paternité et l'historique comptent. Il est maintenu depuis 2009 par une petite équipe de bénévoles et publié sous licence Apache v2.
Capacités principales décrites dans le README :
- Édition collaborative en temps réel avec chaque frappe attribuée à son auteur et couleurs d'auteur affichées en ligne.
- Historique complet des révisions conservé, avec un curseur temporel pour parcourir l'historique d'un document caractère par caractère.
- Export complet des données intégré, afin que l'historique du document reste accessible à l'opérateur.
- Fonctionnement auto-hébergé : le projet indique qu'il n'y a pas de télémétrie ni de ventes incitatives, et que les fonctionnalités d'IA sont facultatives via des plugins pointant vers un modèle choisi par l'opérateur. Un document PRIVACY.md décrit les deux appels réseau désactivables effectués par le code d'Etherpad.
- Évolutivité : le projet renvoie à une page de test de charge indiquant la prise en charge de milliers d'éditeurs simultanés par pad.
- Internationalisation : traduit en 105 langues, principalement via TranslateWiki.
- Extensibilité : un cadre de plugins avec des centaines de plugins disponibles sur un site dédié, installables depuis l'interface d'administration web ou la ligne de commande.
- Intégration : une API HTTP pour gérer les pads, utilisateurs et groupes, avec des définitions OpenAPI exposées à /api/openapi.json, ainsi qu'un plugin jQuery pour intégrer des pads dans des sites web.
Options d'installation couvertes dans le README :
- Installateurs en une ligne pour macOS/Linux/WSL (shell) et Windows (PowerShell), qui clonent le dépôt, installent les dépendances et construisent le frontend. Node.js >= 24 et git sont requis. Une variable d'environnement peut être définie pour installer et démarrer en une seule étape.
- Exemple Docker Compose utilisant l'image officielle publiée sur Docker Hub et GitHub Container Registry, avec un service PostgreSQL, des volumes persistants pour les plugins et les données var, et des variables d'environnement pour le mot de passe administrateur, la connexion à la base de données et d'autres paramètres.
- Étapes manuelles : installer pnpm, cloner le dépôt, exécuter pnpm i, pnpm run build:etherpad, puis pnpm run prod, et visiter localhost:9001.
Configuration et administration :
- Les paramètres se trouvent dans settings.json, avec prise en charge de fichiers de paramètres alternatifs, d'écrasement des identifiants, de fichiers de clé API et de clé de session, et de substitution de variables d'environnement utilisant la syntaxe ${ENV_VAR} ou ${ENV_VAR:valeur_par_défaut}.
- Les paramètres peuvent également être modifiés via l'interface web /admin.
- Le README conseille d'utiliser une base de données dédiée comme MySQL ou PostgreSQL en production, notant que le pilote dirtyDB est destiné uniquement aux tests ou au développement.
- Pour l'authentification, il recommande de stocker des hachages plutôt que des mots de passe en clair, et renvoie au plugin ep_hash_auth.
- Les plugins suggérés pour l'authentification OpenID Connect incluent ep_openid_connect, ep_guest, ep_user_displayname et ep_stable_authorid.
- Un ensemble de plugins suggérés pour des fonctionnalités d'édition plus riches inclut ep_align, ep_comments_page, ep_embedded_hyperlinks2, ep_font_color, ep_headings2, ep_markdown et ep_webrtc.
- Les variantes de peau peuvent être explorées via une URL skinvariantsbuilder.
Développement et état du projet :
- Débogage via bin/debugRun.sh et un script de démarrage rapide bin/fastRun.sh qui ignore les mises à jour de dépendances.
- La bibliothèque Easysync sous-tendant le comportement temps réel est documentée dans un PDF du dépôt.
- Des directives pour les contributeurs sont fournies dans CONTRIBUTING.md.
- Le README indique que le projet recherche activement des mainteneurs ayant de l'expérience en Node.js, systèmes temps réel ou outils de collaboration institutionnelle.
- Les badges CI couvrent la qualité du code (CodeQL), les tests backend, la charge simulée, la limitation de débit, Docker, et les tests frontend/admin.
Les utilisateurs déclarés incluent la Wikimedia Foundation, des institutions du secteur public dans l'UE, des universités et écoles, des projets de civic-tech et de démocratie délibérative, des salles de rédaction, et de nombreuses instances auto-hébergées. Une instance publique est disponible pour essayer le logiciel.
Les canaux de support sont les issues GitHub, un serveur Discord et des contacts par courriel pour la divulgation responsable de vulnérabilités.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.