Etherpad
EtherPad est un éditeur de texte collaboratif en temps réel. Il permet par défaut à un maximum de seize personnes de partager un texte en cours d'élaboration. Les contributions de chacun apparaissent immédiatement sur l'écran de tous les participants et sont signalées par des couleurs différentes. Une fenêtre de messagerie instantanée est également disponible. À l'utilisation, le système ne requiert aucune installation, ni aucune inscription, il suffit d'avoir une connexion internet et un navigateur web. Sur cette page, vous constaterez que vous n'installerez non pas Etherpad mais Etherpad Lite, il s'agit du même logiciel mais réécrit en JavaScript qui lui permet d’être beaucoup mieux optimisé.
Pré-requis
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
Installation
Il faut installer quelques paquets dans un premier temps, qu'utilisera Etherpad Lite lors de son installation dans un second temps.
Installer les paquets dépendants
Pour Ubuntu Trusty (14.04)
Pour Ubuntu Precise (12.04)
Le paquet Nodejs disponible dans les dépôts officiels n'est pas compatible avec Etherpad Lite, il faut installer une version plus récente. Pour y parvenir, suivez cette procédure. Les paquets Nodejs et Npm fusionnent en un seul.
Installer Etherpad Lite
Ouvrez le terminal, et allez dans le répertoire /opt
cd /opt
Chargez y un clone du logiciel Etherpad Lite à l'aide de Git :
sudo git clone 'git://github.com/ether/etherpad-lite.git'
Ceci fait, allez dans le répertoire /opt/etherpad-lite/bin :
cd etherpad-lite/bin
Puis lancez l'installation d'Etherpad Lite à l'aide d'un script adapté :
sudo ./installDeps.sh
.
Mise en service
Démarrage
- Il est possible de lancer Eterpad Lite en exécutant simplement ce script shell :
sudo /opt/etherpad-lite/bin/run.sh --root
- Où en tant que service si vous comptez l'utiliser régulièrement :
Créez le fichier /etc/init.d/etherpad-lite (avec les droits d'administrations), et insérez y ceci :
#!/bin/sh ### BEGIN INIT INFO # Provides: etherpad-lite # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts etherpad lite # Description: starts etherpad lite using start-stop-daemon ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin" LOGFILE="/var/log/etherpad-lite/etherpad-lite.log" EPLITE_DIR="/opt/etherpad-lite" EPLITE_BIN="bin/run.sh" USER="root" GROUP="root" DESC="Etherpad Lite" NAME="etherpad-lite" set -e . /lib/lsb/init-functions start() { echo "Starting $DESC... " start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec "$EPLITE_DIR/$EPLITE_BIN" -- $LOGFILE || true echo "done" } # Nous avons besoin de cette fonction pour assurer la totalité du processus lorsqu'il sera tué killtree() { local _pid=$1 local _sig=${2-TERM} for _child in $(ps -o pid --no-headers --ppid ${_pid}); do killtree ${_child} ${_sig} done kill -${_sig} ${_pid} } stop() { echo "Stopping $DESC... " while test -d /proc/$(cat /var/run/$NAME.pid); do killtree $(cat /var/run/$NAME.pid) 15 sleep 0.5 done rm /var/run/$NAME.pid echo "done" } status() { status_of_proc -p /var/run/$NAME.pid "" "etherpad-lite" && exit 0 || exit $? } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "Usage: $NAME {start|stop|restart|status}" >&2 exit 1 ;; esac exit 0
Donnez les droits d’exécution au fichier précédemment créé :
sudo chmod +x /etc/init.d/etherpad-lite
Démarrez Etherpad Lite en tant que service :
sudo /etc/init.d/etherpad-lite start
Démarrage automatique
Il est possible d'automatiser le démarrage d'Etherpad Lite lors de l'ouverture de session ou du démarrage de l'ordinateur. Il faudra au préalable créer le fichier /etc/init.d/etherpad-lite et lui donné les droits d’exécution comme expliqué ci dessus.
- Vous pouvez consulter ce tutoriel pour y parvenir.
- Sinon, une solution universelle et assez rapide qui fonctionne avec Ubuntu et ses dérivés en ligne de commandes, commencez par installer un logiciel pour configurer system V :
sudo apt-get install sysv-rc-conf
Démarrez le logiciel :
sudo sysv-rc-conf
Cochez y les cases de la ligne etherpad-lite de 2 à 5 avec la touche espace, puis quittez avec la touche q. Je vous conseil de ne toucher à rien d'autre si vous n’êtes pas familier avec la gestion des services au démarrage.
Base de données
Par défaut, Etherpad-lite est déjà équipé de sa propre base de données, Dirty. Elle est fonctionnelle mais est plutôt destiné à tester, pour la production il est préférable de migrer sur une base de données plus performante (Mysql, Postgresql, …) .
Fichier de configuration
Vous devez dans un premier temps modifier le fichier de configuration d'Etherpad Lite. Ouvrez le fichier /opt/etherpad-lite/settings.json.
// An Example of MySQL Configuration "dbType" : "mysql", "dbSettings" : { "user" : "ether", "host" : "localhost", "password": "motdepasse", "database": "etherpad-lite" },
- Bien entendu remplacez "mysql" par "postgres" si vous comptez utiliser PostgreSQL et motdepasse par un mot de passe.
- Concernant (uniquement) Mysql, vous devrez commenter bind-address, ou remplacer "localhost" par "127.0.0.1".
- Vous pouvez aussi personnaliser les autres informations, mais pensez à les appliquer également sur les commandes ci dessous.
Vous constaterez également la présence de symboles tels que /* et */ , ils servent à commenter (ignorer) des partie du fichier de configuration. Pensez bien à dé-commenter la partie concernant Mysql, et commenter la partie Dirty.
Ce qui donne :
/* //The Type of the database. You can choose between dirty, postgres, sqlite and mysql //You shouldn't use "dirty" for for anything else than testing or development // "dbType" : "dirty", //the database specific settings //"dbSettings" : { "filename" : "var/dirty.db" }, */ // An Example of MySQL Configuration "dbType" : "mysql", "dbSettings" : { "user" : "ether", "host" : "localhost", "password": "motdepasse", "database": "etherpad-lite" },
Mysql
Suite à son installation et sa configuration (voir cette page Mysql), mettons les mains dans la base de données Mysql, pour commencer nous allons nous y connecter avec le compte principal, en principe root :
sudo mysql -u root -p
Puis nous allons créer la base de données etherpad-lite :
create database `etherpad-lite`;
Créer l'utilisateur ether et remplacez motdepasse par celui que vous voulez :
grant all privileges on `etherpad-lite`.* to 'ether'@'localhost' identified by 'motdepasse';
Quittez Mysql :
exit
Redémarrez Etherpad Lite pour qu'il prenne en compte les modifications :
sudo /etc/init.d/etherpad-lite restart
Puis coupez le :
sudo /etc/init.d/etherpad-lite stop
Reconnectez vous sur Mysql avec votre compte principal, puis modifiez les caractères de la base de données etherpad-lite, et la table store qui a été créé automatiquement :
ALTER DATABASE `etherpad-lite` CHARACTER SET utf8 COLLATE utf8_bin;
USE `etherpad-lite`;
ALTER TABLE `store` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
PostgreSQL
Vous devrez installer en plus de PostgreSQL une librairie lui permettant d’être compatible avec Javascript : Installez le paquet node-pg
Connectez vous sur l'utilisateur par défaut :
sudo -i -u postgres
Créez l'utilisateur ether, et rentrer le mot de passe deux fois :
createuser -P ether
Créez lui la base de données etherpad-lite :
createdb -O ether etherpad-lite
Et quittez postgres :
exit
Pour terminer
Si vous avez reproduit convenablement l'une de ces méthodes, Etherpad Lite devrait être fonctionnel avec la nouvelle base de données en effectuant cette commande :
sudo /etc/init.d/etherpad-lite restart
Si ce n'est pas le cas, consultez la page Mysql ou PostgreSQL et n’hésitez pas à demander de l'aide sur le forum, il est vrai que les bases de données sont difficiles à maîtriser pour un néophyte.
Utilisation
Après avoir exécuté Etherpad Lite, lancez votre navigateur internet, puis …
En local
Si vous utilisez votre navigateur sur la machine hébergeant Etherpad Lite, allez tout simplement sur http://localhost:9001
Depuis Internet
Si vous comptez vouloir y accéder depuis un autre ordinateur via Internet, alors il faudra veuillez que votre pare-feu et/ou votre routeur ne bloquent pas les connexion sur le port 9001. L'adresse ressemblera à ceci :
Pour un serveur (avancé)
Dans ce cas, il est préférable de consulter directement la documentation du projet Etherpad proposant des solutions de proxy inverse et d'hébergement virtuel [en].
Désinstallation
Pour supprimer cette application, supprimez les paquets dépendants installés. Effacez le dossier etherpad-lite créé dans le dossier /opt. Pensez aussi à annuler le démarrage automatique d'Etherpad Lite. Si vous désirez aussi effacer tous les contenus créés, vous devrez supprimer les tables dédiées sur votre base de données.