Octomode

De Design numérique
Aller à : navigation, rechercher

OCTOMODE

Octomode, développé par Varia, permet depuis une écriture collaborative via des pads en markdown de générer des fichiers en html et pdf. Lien vers le git du projet : https://git.vvvvvvaria.org/varia/octomode

Installation d'Octomode

L'installation est un peu laborieuse. Le Readme affiché sur le git est différent du fichier d'installation contenu dans le dossier octomode une fois téléchargé. Ce wiki est un mélange des deux.

Cloner le code sur sa machine

  • Il est conseillé de cloner octomode dans un dossier root car il faut rentrer à un moment donné la clé de l'api de l'etherpad (mieux de ne pas partager en public)

Pour cela, il faut se placer à la racine puis aller dans le dossier serveur

$ cd /srv/

puis se placer en super utilisateur·ice

$ sudo su

et cloner le code

# git clone https://git.vvvvvvaria.org/varia/octomode.git

<!> Il faut déjà avoir git sur sa machine

Créer un·e utilisateur·ice octomode

L'idée est de pouvoir restreindre l'accès de ce·tte utilisateur·ice au reste du serveur.

# useradd --system --no-create-home --shell=/sbin/nologin octomode

Donner l'accès d'écriture et de lecture et de propriété au dossier /srv/octomode à l'utilisateur·ice otctomode :

# chown -R octomode:octomode /srv/octomode
# chmod -R u+rw /srv/octomode

Installer les dépendances si elles ne sont pas déjà installées

Pour fonctionner, octomode a besoin de python3 et de pandoc (logiciel de convertisseur de documents). Si ils ne sont pas installés :

$ sudo apt install python3-venv pandoc

Installer les autres dépendances

Ces dépendances vont permettre d'utiliser un "environnement virtuel" (venv) -> Un environnement virtuel est un outil qui permet de séparer les dépendances requises par différents projets en créant pour eux des environnements virtuels python isolés. Pour cela, se placer dans le dossier octomode

# cd /srv/octomode

Puis

# cd /srv/octomode

Tu peux maintenant construire l'environnement avec la commande :

make setup

Enfin, il faut changer les droits de propriété des dépendances installées (pour les accorder à l'utilisateur·ice octomode) :

# chown -R octomode:octomode .venv

Et maintenant, Etherpad

Octomode fonctionne avec une instance Etherpad. Pour cela on peut en installer une sur sa machine (c'est mieux d'en installer une sur un serveur). Je te conseille d'ouvrir un autre terminal, pour garder celui d'octomode ouvert et te simplifier la suite.

Installer Etherpad

Voici le readme d'etherpad : https://github.com/ether/etherpad-lite#installation

Installer Nodejs ou s'assurer qu'il est à jour

D'abord assures-toi d'avoir une version de Node supérieure ou égale à 12.17.0 (c'est en gras car si ce n'est pas le cas ça ne peut pas fonctionner et que ça m'a pris un peu trop de temps que voir que ça venait juste d'un problème de mise à jour). Aufait, Nodejs est un environnement javascript. Pour vérifier la version de node :

node -v

Pour l'installer :

sudo apt install nodejs

Pour mettre à jour node sous Linux : vider le cache de NPM (= Node Package Manager)

$ sudo npm cache clean -f

Installer n qui est le gestionnaire de version de node

sudo npm install -g n

Ensuite installer la dernière version de node :

sudo n stable

Rappel : les commandes commençent par sudo (superUser Do) car on est dans la racine

Cloner etherpad

Choisis un dossier dans lequel cloner etherpad puis :

git clone --branch master https://github.com/ether/etherpad-lite.git

Lance etherpad

Positionnne toi dans le dossier etherpad :

 cd etherpad-lite

Puis lance :

src/bin/run.sh

et ouvre l'adresse http://127.0.0.1:9001 dans ton navigateur (firefox c'est mieux pour octomode) Tadam, normalement tu peux créer un nouveau pad.

Configurer l'environnement d'octomode

Reviens sur le terminal de l'installation d'octomode. Pour fonctionner, octomode a besoin :

  • d'un port qui est par défaut 5001
  • de l'url pour aller chercher le pad
  • de l'api du pad
  • et de la clé de l'api

Les données par défaut étant celles de varia, il faut les reconfigurer avec celles de ton instance.

Rentrer l'url du pad

Comme l'adresse de l'instance est http://127.0.0.1:9001 par défaut :

export OCTOMODE_PAD_URL=http://127.0.0.1:9001/p

Rentrer l'api de l'url

export OCTOMODE_PAD_API_URL=http://127.0.0.1:9001/api/1.2.14

Obtenir la clé de l'api

Pour obtenir la clé de l'api, il faut être dans le dossier etherpad-lite -> d'où l'utilité de garder deux terminaux ouverts

 cd etherpad-lite

et ouvrir le fichier APIKEY.txt

cat APIKEY.txt

Ensuite, copier la série de chiffres contenue dans le fichier texte puis retourne dans le terminal où tu lances octomode et :

export OCTOMODE_PAD_API_KEY=collelaclé

Lancer octomode

Maintenant il n'y a plus qu'à lancer l'application :

make run

Elle s'ouvre au port 5001 -> http://localhost:5001


Désolée pour les fautes