Outils du site

fr:pad

Pad

Pour écrire un texte à plusieurs mains, relire ensemble, voir les corrections quand elles sont faites, les “pad” sont très pratiques. Ce sont des éditeurs de texte, en ligne, collaboratif.

Nous hébergeons un de ces outil, basé sur Etherpad. Il se situe ici : https://pad.khaganat.net.

Vous pouvez aussi utiliser d'autres pads sur la toile, par exemple framapad, piratepad, sync.in, braindead.

Usage d'un pad

Un pad est utile dans la phase “brainstorming” avec une équipe, quand on note tout ce qui nous passe par la tête, ou pour finaliser un texte et corriger les virgules à plusieurs.

Un pad n'est pas utile si on est seul à écrire dessus. Dans ce cas, faites une ébauche d'article sur wiki, qui est aussi un éditeur de texte collaboratif, mais avec une collaboration “en différé”.

Un pad sert à des infos volatiles. En plus simple : c'est du temporaire, pas de l'archivage. Donc archivez ailleurs ! Les wikis sont parfaitement appropriés pour ça, d'autant plus qu'ils ont une fonction de recherche très performante.

Un pad n'est pas un forum ou un chat. Si une phrase ou une formulation demandent à être discutées, discutez-en dans le chat, c'est plus lisible, puis corrigez. Ou corrigez et ne discutez pas ; il y a un historique pour revenir en arrière en cas de souci.

Lorsque le texte est à exporter, ne faites surtout pas un copier-collé ! Cela ajoute des espaces partout. C'est un bug et c'est comme ça… Pour avoir le texte sans espaces en plus, sélectionnez en haut à droite l'option “exporter le texte”, puis choisissez le format (texte brut par exemple).

Le pad de Khaganat et ses fonctionnalités

Fonctionnalités propres à notre pad

Il est possible d'ajouter des fonctionnalités aux pads, via des plugins. Voici ceux qui sont installés chez nous, et les choses utiles à connaître à leur propos :

  • adminpads : permet de lister et de gérer tous les pads sur le serveur. Si vous avez un pad public que vous souhaitez voir complètement disparaître (y compris au niveau de l'historique), contactez un administrateur. Tant qu'il n'y a pas trop de pad, cela peut aussi permettre de retrouver celui qu'on avait oublié.
  • comments_page : pour ajouter des commentaires sur un bout du texte, en surlignant ce dernier. On peut aussi suggérer autre chose. À utiliser avec parcimonie.
  • font_size pour changer la taille de la police.
  • margin pour aligner le texte à gauche, à droite ou au centre.
  • reference : ouvre, dans une colonne à droite, un espace où appeler un second pad. On peut alors sélectionner des bouts de son texte pour les “citer” sur le premier pad, et mettre un lien rapide vers ce pad. Utile pour lier plusieurs pads entre eux. La fenêtre de “reference” s'ouvre à partir des paramètres.
  • themes : modifie le visuel des pads, afin de s'adapter entre autre à certains problèmes de vision (thème très contrasté). Si vous souhaitez un thème particulier, venez nous en parler, nous proposer des accords de couleurs, nous le mettront en place.
  • mypads: permet la gestion des comptes perso, donc des pads privés, ainsi que des groupes y ayant accès. Si vous souhaitez créer un pad que vous seul et les gens que vous choisirez pourrez lire, utilisez cette option.

Page d'accueil des pads, où vous pouvez choisir de vous identifier et ainsi d'avoir des pads privés.

Installer un pad

Le plus simple est de suivre le tutoriel de framapad, très bien fait.

Résumé

Les commandes essentielles sont résumées ici (mises à jour pour Stretch) :

echo 'deb http://http.debian.net/debian stretch-backports main' >> /etc/apt/sources.list
apt update && apt install nodejs git build-essential curl libssl-dev
ln -s /usr/bin/nodejs /usr/bin/node
useradd -mU etherpad
cd /home/etherpad
su -c 'git clone https://github.com/ether/etherpad-lite.git' etherpad
cd /home/etherpad/etherpad-lite/
su -c './bin/installDeps.sh' etherpad

Le paquet “nodejs” est bien présent dans Debian (vlabale pour Jessie et Stretch, mais donne le lien “nodejs” au lieu de “node”, ce qui bloque installDeps.sh. Le lien symbolique permet de régler ça.

Pour Jessie :

apt install npm

Par contre, pas de npm sous stretch ? La solution de contournement serais de faire du pinning puis

apt install npm/unstable

Je déconseille fortement si vous avez autre chose sur le serveur, ce genre de manipulation peut amener de sacré soucis.

Si ça n'a pas déjà été fait, installer un paquet de machins utiles au web :

apt-get install apache2 php php-gd php-imagick php-mysql mariadb-server 

Noter le mot de passe de la base Mysql.

Créer un utilisateur et une base de donnée pour etherpad, noter l'identifiant et le mot de passe, et lui donner les droits sur la base.

mysql -u root -p

CREATE USER "user_etherpad"@"localhost";
SET password FOR "user_etherpad"@"localhost" = password('votre_passe');
CREATE DATABASE bddetherpad;
GRANT ALL ON bddetherpad.* TO "user_etherpad"@"localhost";

Si nécessaire, importez une base dans le cas d'une réinstallation (adaptez USER et BDD) :

mysql -u USER -p -D BDD < BDD.sql

Modifions /home/etherpad/etherpad-lite/settings.json pour lui mettre les bonnes informations.

Les choses à modifier sont notées par A_MODIF :

  // Name your instance!
  "title": "A_MODIF",

//si vous utilisez ssl
  "ssl" : {
            "key"  : "/path-to-your/epl-server.key",
            "cert" : "/path-to-your/epl-server.crt",
            "ca": ["/path-to-your/epl-intermediate-cert1.crt", "/path-to-your/epl-intermediate-cert2.crt"]
          },
//Commenter la base "dirty"
 // "dbType" : "dirty",
  //the database specific settings
//  "dbSettings" : {
//                   "filename" : "var/dirty.db"
 //                },

//Décommentez et personnalisez Mysql
  // An Example of MySQL Configuration
   "dbType" : "mysql",
   "dbSettings" : {
                    "user"    : "A_MODIF",
                    "host"    : "localhost",
                    "password": "A_MODIF",
                    "database": "A_MODIF",
                    "charset" : "utf8mb4"
                  },
   //the default text of a pad
  "defaultPadText" : "Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at http:\/\/etherpad.org\n",

// Langue française (plus bas), c'est mieux.
    "lang": "fr"           

// Pour l'accès à l'administration en ligne ; vous pouvez utiliser un autre nom que "admin"...
  "users": {
    "admin": {
      "password": "A_MODIF",
      "is_admin": true
    },  
  

Lancer etherpad pour un premier aperçu :

su -c 'sh /home/etherpad/etherpad-lite/bin/run.sh' etherpad

Si vous n'avez pas modifié ces valeurs, etherpad est alors accessible à l'adresse monsite:9001 et l'administration à monsite:9001/admin.

Pour ajouter les plugins : aller dans l'interface d'administration et cliquer sur “installer”. J'ai remplacé les plugins de groupes par mypads. Adresse : http://vpstests.khaganat.net:9001/mypads/index.html

Pour les plugins utiles, nous avons ajouté

  • adminpads : Permet de lister les pads via l'interface d'admin web (pratique pour un peu de ménage)
  • comments_page : pour ajouter des commentaires sur les mots.
  • page_view, demandé par le précédent
  • font_size : modifier la taille de la police
  • margin : aligner le texte à gauche, droite, centré
  • mypads : gestion de groupes et de pads privés
  • reference : permet d'appeler un autre pad dans le sien, et d'afficher les deux en même temps
  • themes : propose de changer le thème de fond des pads ; particulièrement utile pour des malvoyants.

Service Etherpad au démarrage

Il manque juste de quoi le lancer automatiquement :

Créez le fichier etherpad-lite.service dans lib/systemd/system/

etherpad-lite
[Unit]
Description=etherpad-lite (real-time collaborative document editing)
After=syslog.target network.target
 
[Service]
Type=simple
User=etherpad
Group=etherpad
ExecStart=/home/etherpad/etherpad-lite/bin/run.sh
 
[Install]
WantedBy=multi-user.target

Puis rendre ce service permis par systemd, le lancer et vérifier que tout va bien :

systemctl enable etherpad-lite
systemctl start etherpad-lite
systemctl status etherpad-lite

Si vous n'avez pas systemd sur votre système, voir ce tutoriel (en anglais).

Attendre un peu… le temps que ça démarre… Et hop, ça devrait être bon !

Proxy

Si vous souhaitez que votre Etherpad soit accessible via une adresse plus élégante que http://monserveur.com:9001, par exemple http://monserveur.com/pad, il faut mettre un proxy en place dans Apache.

Commencer par activer les modules de proxy :

a2enmod proxy proxy_http

Puis ajouter ce genre d'information dans /etc/apache2/sites-availables/000-default.conf :

<VirtualHost *:80>

  ProxyVia On
  ProxyRequests Off
  ProxyPass /pad/ http://localhost:9001/
  ProxyPassReverse /pad/ http://localhost:9001/
  ProxyPreserveHost on
  <Proxy *>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Proxy>

</VirtualHost>

Relancez le service apache :

service apache2 restart

Votre Etherpad devrait être accessible à la bonne adresse !

Mise à jour

service etherpad-lite stop
cd /home/etherpad/etherpad-lite/
su -c 'git pull origin' etherpad
service etherpad-lite start
fr/pad.txt · Dernière modification: 2018/03/02 09:07 par zatalyz