Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:pad [2016/02/17 19:50] – [Installer un pad] zatalyzfr:pad [2023/07/13 14:06] (Version actuelle) – ["Old package-lock.json"] zatalyz
Ligne 3: Ligne 3:
 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.  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 [[http://etherpad.org/|Etherpad]]. Il se situe ici : [[https://khaganat.net/pad]].+Nous hébergeons un de ces outil, basé sur [[http://etherpad.org/|Etherpad]]. Il se situe ici : [[https://pad.khaganat.net]].
  
 Vous pouvez aussi utiliser d'autres pads sur la toile, par exemple [[http://framapad.org/|framapad]], [[http://piratepad.net/front-page/|piratepad]], [[http://sync.in/|sync.in]], [[http://ether.braindead.fr/|braindead]]. Vous pouvez aussi utiliser d'autres pads sur la toile, par exemple [[http://framapad.org/|framapad]], [[http://piratepad.net/front-page/|piratepad]], [[http://sync.in/|sync.in]], [[http://ether.braindead.fr/|braindead]].
Ligne 29: Ligne 29:
   * [[https://www.npmjs.com/package/ep_reference|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.   * [[https://www.npmjs.com/package/ep_reference|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.
   * [[https://www.npmjs.com/package/ep_themes|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.    * [[https://www.npmjs.com/package/ep_themes|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. 
-  * [[https://www.npmjs.com/package/ep_user_pad|user_pad]] et [[https://www.npmjs.com/package/ep_user_pad_frontend|user_pad_frontend]] : 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. +  * [[https://framablog.org/2015/10/06/mypads-lalternative-de-framasoft-a-google-docs/|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. 
  
 {{ :fr:pad_group.jpg |Page d'accueil des pads, où vous pouvez choisir de vous identifier et ainsi d'avoir des pads privés.}} {{ :fr:pad_group.jpg |Page d'accueil des pads, où vous pouvez choisir de vous identifier et ainsi d'avoir des pads privés.}}
  
-===== Installer un pad =====+ 
 +===== Sysadmin : gérer un service de pad ===== 
 +==== Installer un pad ====
 Le plus simple est de suivre le [[http://framacloud.org/cultiver-son-jardin/installation-detherpad/|tutoriel de framapad]], très bien fait.  Le plus simple est de suivre le [[http://framacloud.org/cultiver-son-jardin/installation-detherpad/|tutoriel de framapad]], très bien fait. 
 +
 +=== Résumé ===
 +
 +Les commandes essentielles sont résumées ici (mises à jour pour Stretch) :
 +<code>
 +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
 +</code>
 +
 +<WRAP center round tip 60%>
 +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 [[https://wiki.debian.org/AptPreferences|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.
 +</WRAP>
 +
 +Si ça n'a pas déjà été fait, installer un paquet de machins utiles au web :
 +<code>apt-get install apache2 php php-gd php-imagick php-mysql mariadb-server </code>
 +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. 
 +<code>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";
 +</code>
 +
 +
 +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 :
 +
 +<code>  // 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
 +    },  
 +  </code>
 +
 +
 +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.
 +
 +=== Installer Libreoffice pour plus d'export/import ===
 +La documentation d'etherpad indique qu'installer Etherpad ou Abiword permet de gérer l'import/export en divers format. En effet, une fois installé, vous pourrez exporter en .doc, .odf, .pdf. C'est pratique quand on veut garder trace de ses pads.
 +
 +Mais la doc officielle vous fait installer beaucoup trop de trucs pour un serveur. Vous n'avez pas besoin de la majorité des choses !
 +
 +Donc, la commande suivante va vous épargner de la place :
 +  sudo apt install --no-install-recommends libreoffice-writer
 +
 +Ici, de façon surprenante, Libreoffice-writer embarque moins de paquets qu'Abiword. Moins de paquets = moins de risque de bug lors des mises à jour.
 +
 +Ensuite vérifiez que c'est bien installé au bon endroit :
 +  wich soffice
 +
 +Puis changez la valeur ''"soffice" : null,'' dans le fichier ''settings.json'' par le chemin du binaire :
 +  "soffice" : "/usr/bin/soffice",
 +=== Service Etherpad au démarrage ===
  
 Il manque juste de quoi le lancer automatiquement : Il manque juste de quoi le lancer automatiquement :
  
-Créez le fichier //etherpad-lite.service// dans ''/etc/systemd/system/''+Créez le fichier //etherpad-lite.service// dans ''lib/systemd/system/''  
 + 
  
 <file txt etherpad-lite> <file txt etherpad-lite>
Ligne 64: Ligne 189:
 Attendre un peu... le temps que ça démarre... Et hop, ça devrait être bon !  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.  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. 
Ligne 94: Ligne 220:
 Votre Etherpad devrait être accessible à la bonne adresse ! Votre Etherpad devrait être accessible à la bonne adresse !
  
-Pour les plugins utilesnous avons ajouté  +==== Mise à jour ==== 
-  * adminpads : Permet de lister les pads via l'interface d'admin web (pratique pour un peu de ménage+<code> 
-  * comments_page pour ajouter des commentaires sur les mots+service etherpad-lite stop 
-  * page_view, demandé par le précédent +cd /home/etherpad/etherpad-lite/ 
-  * font_size modifier la taille de la police +su -c 'git pull origin' etherpad 
-  * margin aligner le texte à gauchedroite, centré +service etherpad-lite start 
-  * mypads : gestion de groupes et de pads privés +</code> 
-  * reference : permet d'appeler un autre pad dans le sienet 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.+Si etherpad ne se relance pas bienil faut aller dans le dossier et relancer ''run.sh''. 
 + 
 +<code> 
 +cd /home/etherpad/etherpad-lite/ 
 +su etherpad 
 +./bin/run.sh 
 +</code> 
 + 
 +Cela va mettre à jour le bazar. 
 + 
 +==== Astuce diverses ==== 
 +=== Extraire la liste des pads directement depuis la base de données === 
 + 
 +Il faut chercher le mot de passe dans le fichier de conf du pad : 
 +<code> 
 +grep \"password\": /home/etherpad/etherpad-lite/settings.json 
 +</code> 
 +Ensuite, on extrait la liste des pads (attention, ça peut durer un petit moment, de l'ordre de la minute). 
 + 
 +Version mysql (datée, à vérifier) : 
 +<code> 
 +mysql -u etherpad -h localhost -Bqe 'select `key` from etherpad.store' -p | awk -F: '$1 ~ /pad/ {print $2}' | sort -u > listepad.txt 
 +</code> 
 + 
 +Version postgresql 
 +<code>psql -U etherpad etherpad_prod -h localhost -F $'\t' -P pager=off -c "select key from store" | awk -F: '$1 ~ /pad/ {print $2}' | sort -u > listepad.txt</code> 
 + 
 +  * ''-U etherpad etherpad_prod'' le nom d'utilisateur puis celui de la base de donnée 
 +  * ''-h localhost'' : à faire sur le serveur doncc'est local ! 
 + 
 +=== Exporter une liste de pad === 
 + 
 +Si vous voulez exporter une liste de pad dont on a le nom, c'est presque facile. 
 + 
 +Créez un fichier (''listepad.txt'' par exemple) où chaque ligne est le nom d'un pad 
 +<code txt listepad.txt>pad1 
 +pad2 
 +pad3</code> 
 + 
 +Puis lancez dans un terminal la commande suivante((Ce qui veut dire que vous avez un terminal bash et wget. Sinon, ça va être difficile.)) : 
 + 
 +  for i in $(cat listepad.txt); do wget "https://pad.khaganat.net/p/$i/export/html" -O "$i.html"; done 
 + 
 +Évidement, remplacez l'adresse du pad si ce n'est pas le notre... 
 + 
 +Vous aurez une liste de fichier htmlautant que de pad. 
 + 
 +=== "Old package-lock.json" === 
 +<WRAP center round important 60%> 
 +Attention, la manip a tout planté sur l'instance. À revoir... 
 +</WRAP> 
 + 
 +Les mises à jour ne corrigent pas tout, il y a des vieux restes qui trainent... Si les logs ont cette erreur, primo ce n'est pas très grave, secundo ça se corrige quand même. Faites quand même un snapshot avant de toucher à ça.  
 + 
 +L'erreur dans les logs  
 +  npm WARN old lockfile The package-lock.json file was created with an old version of npm 
 + 
 +Par contre... Attention, cette manip vide la liste des plugins ! 
 + 
 +Dans le dossier etherpad, descendez dans ''src'' puis jouez avec npm. 
 +<code>cd src 
 +npm audit fix 
 +npm install 
 +npm audit fix 
 +cd ../ 
 +npm audit fix 
 +</code> 
 + 
 +Et si ça ne va toujours pas, un ''npm audit fix --force'' devrait régler l'affaire, mais avec un peu de chance, pas besoin.  
 + 
 +==== Plugins, infos ==== 
 +=== Deleted_pad === 
 +Si les pads détruits l'ont été "trop tôt", en réalité ils sont exportés en html dans ''home/etherpad/etherpad-lite/deleted_pads''. Pour bien faire il faudrait délester un peu ce dossier de temps en temps j'ai un vague souvenir que ça se paramètreMais entre nous ça ne prends pas de ressources, sous cette forme... 
  
 {{tag>outils collaboratif }} {{tag>outils collaboratif }}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/pad.1455735055.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact