Installer do•doc en ligne

Bonjour,

suite à de nombreuses demandes, voici un tutoriel pour vous aider à installer do•doc (ou un autre logiciel libre de l’Atelier des chercheurs comme Les Cahiers du Studio, Plateau ou Millefeuille par exemple. Le premier sujet est un tutoriel maintenu à jour expliquant pas à pas comment procéder pour l’installation en particulier pour do•doc. Les autres outils possèdent leur spécificité mais sont quasiment identiques à installer. Une mention spéciale à Jean-Luc de la DSI de Paris qui a essuyé les plâtres de la première installation à distance , en 2019 :slight_smile:

NOTE IMPORTANTE : si vous souhaitez uniquement mettre en ligne des contenus pour consultation, ce tuto n’est pas le bon. Rendez-vous ici pour les explications (nettement plus simples) : Mettre en ligne des médias et des publications

N’hésitez pas à répondre dans ce sujet si vous rencontrez des soucis ou pour poster des retours d’expérience avec les hébergeurs, par exemple.


:warning: ATTENTION :warning:

Configurer et maintenir un serveur dédié nécessite de réaliser des manipulations techniques assez délicates, comme l’utilisation de lignes de commande. Si vous n’avez jamais ouvert un terminal de commande et géré de serveurs de ce type auparavant nous vous recommandons chaudement de vous familiariser avec tout ça avant de vous y attaquer. Nous ne pourrons être tenus responsables si votre serveur se fait pirater et que les contenus qui s’y trouvent finissent dans la nature.


Installer do•doc sur un hébergement dédié

Le but de ce tutoriel est de créer une instance du logiciel do•doc accessible par le navigateur à tout appareil connecté au web (en particulier ordinateurs, smartphones et tablettes).

Dernière mise à jour le 22/06/2023

Étape 1 : réservez un serveur dédié en ligne

Un serveur de type VPS simple suffit pour un do•doc partagé entre quelques dizaines de personnes.
Par exemple, chez OVH ou gandi, pour 3 à 10 euros par mois vous pouvez réserver une machine virtuelle avec 1 cœur, 2 go de RAM et 20 à 25 go d’espace disque.
En terme de puissance ça devrait bien tourner, mais l’espace disponible est un peu juste. 40 ou 50go sont plus confortables. Compter au minimum 1go de RAM, en-dessous c’est trop juste.
À titre d’exemple et pour ce tutoriel je prends chez OVH un serveur VPS 2018 SSD 1 sous Ubuntu 18.04 à 4 euros par mois.

Étape 2 : s’y connecter

Vous pouvez ensuite vous connecter à votre serveur en utilisant un terminal, en SSH. Plus d’infos à ce sujet : Introduction au SSH - OVHcloud
Je vous recommande chaudement d’ajouter également des clés SSH pour sécuriser votre connexion au serveur : Créer une première instance Public Cloud et s'y connecter - OVHcloud
Pour plus d’informations générales sur les VPS, une dernière référence : Premiers pas avec un VPS - OVHcloud

Récupérez donc l’accès à votre serveur dans le mail signalant son activation : il devrait s’y trouver son adresse IP (au format XX.XX.XX.XX) ainsi qu’un nom d’utilisateur type « root ».

Ouvrez une fenêtre de terminal (appli PowerShell sous Windows, Terminal sous macOS) puis entrez la commande en remplaçant la partie avant le @ par le nom d’utilisateur et celle après le @ avec votre adresse IP. Dans mon cas de figure ça donne :

  • ssh root@51.75.69.173

Un message indique que des mises à jour sont disponibles, vous pouvez les réaliser en lançant successivement les deux lignes suivantes et en acceptant les messages de confirmations qui apparaissent :

  • sudo apt-get update

puis

  • sudo apt upgrade

À cette étape-là ça a du sens de sécuriser votre serveur : créer un autre utilisateur non-root dont les droits sont limités, installer un pare-feu type ufw, etc.
Ce n’est pas le sujet de ce tuto donc je ne détaille pas cette partie là.

Étape 3 : installer les outils nécessaires

Pour faciliter la mise à jour et le déploiement de do•doc, il faut installer git, nvm et python 2.7.

fuseau horaire

Pour bien gérer l’horodatage des médias, il est important de bien régler l’heure utilisée par le serveur.
Consultez la date du serveur :

  • date

Devrait vous afficher en retour quelque chose comme :

  • Mon Apr 19 09:53:46 UTC 2021

Si cette heure ne convient pas, c’est probablement que le fuseau horaire utilisé n’est pas le bon. Pour régler le fuseau horaire pour une utilisation en France :

  • timedatectl set-timezone Europe/Paris

git

Le logiciel git est pré-installé sur les serveurs d’OVH. Il a pour but (notamment) de récupérer le code source des logiciels, de facilement rapatrier les derniers changements, voir de proposer d’autres modifications si vous souhaitez faire du développement.

Pour vérifier sa présence, tapez la commande suivante :

  • git --version

Si celle-ci n’affiche pas un numéro de version, alors il faut installer git :

  • sudo apt-get install git-core

nvm

nvm (pour node version manager) permet d’installer plusieurs versions de node.js et de basculer de l’une à l’autre. Node.js est la plate-forme qui gère l’exécution du code côté serveur, en particulier le stockage des contenus de do•doc.
Pour installer nvm lancez les commandes suivantes dans l’ordre :

  • sudo apt-get install build-essential libssl-dev

  • sudo wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

  • source ~/.bashrc

À cette étape là vous devriez pouvoir envoyer des commandes à nvm. La ligne suivante installe la version 12.18.3 de Node.js :

  • nvm install 12.18.3

Puis pour l’utiliser, et la régler par défaut :

  • nvm use 12.18.3

  • nvm alias default 12.18.3

En tapant la commande nvm ls vous pouvez voir la version de Node.js active sur la première ligne, ainsi que toutes celles actuellement installées sur la machine. Pour plus d’infos sur nvm vous pouvez retrouver un chapitre à ce sujet sur le site de Thomas Parisot : Installer, mettre à jour et développer

Histoire d’être bien sur, vous pouvez taper node -v pour vérifier que Node.js est bien installé et que la version actuelle est bien la 12.18.3.

python

python est nécessaire pour certaines dépendances de do•doc (en particulier sharp) que nous installerons par la suite

  • sudo apt-get install python2.7
  • ln -s /usr/bin/python2.7 /usr/bin/python

Dépendances de Puppeteer

Pour pouvoir exporter en PDF et un image les contenus de la marmite, il faut installer les paquets suivantes :

  • sudo apt-get install libx11-xcb1 libxcomposite1 libxi6 libxext6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libasound2 libpangocairo-1.0-0 libatk1.0-0 libatk-bridge2.0-0 libgtk-3-0

Étape 4 : récupérer et installer do•doc

Pour ces étapes là il faut connaître quelques commandes pour naviguer dans le disque dur de votre serveur avec le terminal. La base, c’est :

  • cd /le-chemin/vers-le-dossier
    pour naviguer vers un dossier précis

  • cd mon-sous-dossier
    pour naviguer vers un sous-dossier du dossier courant

  • cd ../ pour remonter dans le dossier parent

  • ls pour lister tout le contenu du dossier courant

Rendez-vous dans le dossier home de votre serveur en tapant :

  • cd /home

Listez ensuite son contenu pour voir ce qui s’y trouve :

  • ls

Un dossier intitulé ubuntu se trouve sur ce serveur. Nous allons installer do•doc dedans (mais vous pouvez le placer ailleurs si vous préférez).

Nous pouvons rapatrier l’intégralité du code source de do•doc en une fois avec git en tapant :

  • git clone https://github.com/l-atelier-des-chercheurs/dodoc.git

Cela va automatiquement créer un dossier du nom de dodoc dans le dossier courant (ici, le dossier dont le chemin est /home/ubuntu).

Ouvrez ce dossier en tapant :

  • cd dodoc

Il existe de nombreuses versions de do•doc et le code source est par défaut réglé sur la version application (celle que vous pouvez télécharger sur le site de l’Atelier des chercheurs). Il faut donc basculer vers une version spécifiquement adaptée aux contraintes des serveurs dédiés.

Pour changer de version (branche, en langage git) : git checkout nom-de-la-branche. À savoir qu’il y a deux branches possibles :

  • main-node est la dernière version stable du logiciel
  • main-next-node est la dernière version expérimentale, qui contient des modifications peu testées encore.

Il est possible de passer de l’une à l’autre mais cela comporte le risque de ne plus pouvoir accéder à certains contenus (par exemple, une nouvelle recette de la marmite qui ne sera pas présente sur la version stable si vous revenez en arrière). Les versions expérimentales sont en règle général assez stable (nous les utilisons en atelier tout le temps) mais il existe toujours le risque d’un soucis important encore non détecté… Bref, à vous de voir :slight_smile:

Dans notre cas, nous allons installer la branche main-node :

  • git checkout main-node

Git devrait vous répondre ensuite Switched to a new branch 'main-node'

Il nous faut maintenant installer les dépendances de do•doc. Il y en a plusieurs dizaines pour la partie serveur et pour la partie client (la gestion des données et l’interface graphique de do•doc).

Commencez par taper la commande qui indique de récupérer toutes les dépendances de la partie serveur. Cela peut prendre de 2 à 5 minutes en fonction de la puissance et de la vitesse de la connexion internet de votre serveur (et non la votre).

  • npm install

Rendez-vous dans le sous-dossier public et réitérez l’opération :

  • cd public

  • npm install

Puis lancez la création du code JavaScript « client » pour les navigateurs :

  • npm run build

Si vous changez de branche, n’oubliez pas de relancer les 4 étapes précédentes : npm install dans le dossier principal et dans /public, puis npm run build dans le dossier /public.

Revenez maintenant dans le dossier principal de do•doc :

  • cd ../

Étape 5 : exécuter do•doc

Vous devriez pouvoir lancer do•doc avec la commande :

  • npm run debug

Un certain nombre de lignes apparaissent, elles permettent de « débugger » do•doc (pratique pour le développement). Si tout se passe bien la dernière ligne devrait être Server up and running. Go to https://localhost:8080.

Ouvrez votre navigateur web et connectez-vous à votre serveur en tapant https://XX.XX.XX.XX:8080/
(dans mon cas de figure, avec un serveur sur l’IP 51.75.69.173 ça donne https://51.75.69.173:8080/).

Un avertissement vous signale qu’il n’y a pas de certificat (ce qui est obligatoire pour une connexion en HTTPS), mais vous pouvez quand même contourner l’avertissement de votre navigateur et continuer vers le site. Et voilà !

Pour stopper do•doc, appuyez sur les touches Ctrl + C du clavier. À noter que si vous fermez le terminal, cela arrêtera aussi do•doc. La prochaine étape est d’installer un gestionnaire de processus qui s’assurera que do•doc reste lancé même si nous fermons le terminal et la connexion par SSH.

Installer et utiliser pm2

PM2 est un gestionnaire d’application (process manager) écrit entièrement en Node.js. Le code est open source et disponible sur Github et il existe une documentation complète. Il va nous permettre de garantir que notre application continue d’être exécutée après avoir fermé la connexion SSH (plus d’informations sur openclassrooms).

Pour installer pm2 sur votre serveur :

  • npm install pm2 -g

Vous pouvez ensuite créer un processus faisant tourner do•doc en lançant la commande suivante :

  • pm2 start npm --name "dodoc" -- run start

(la commande start tout à la fin de la ligne démarre do•doc en mode normal et pas en mode debug)
L’écran suivant devrait s’afficher :

Quelques commandes de base avec pm2 :

  • arrêter le processus nommé dodoc : pm2 stop dodoc
  • le relancer : pm2 restart dodoc
  • le supprimer de la liste : pm2 delete dodoc
  • lister les processus dans pm2 : pm2 ls
  • lancer automatiquement pm2 au redémarrage du serveur : pm2 startup
  • enregistrer la liste des processus et leur état, pour qu’ils soient restaurés au redémarrage du serveur : pm2 save

En règle général c’est une bonne idée à cette étape de réaliser un pm2 save puis pm2 startup, histoire que pm2 relance dodoc tout seul si le serveur redémarre (suite à un plantage ou à une grosse mise à jour par exemple).

Étape 6 : simplifier l’accès avec un nom de domaine

Nous avons donc un do•doc accessible sur un serveur par le biais d’une adresse IP et d’un port, du type https://51.75.69.173:8080/

Ça n’est pas particulièrement pratique à mémoriser, la prochaine étape est d’associer un nom de domaine (par exemple, dodoc.fr) ou sous-domaine (test.dodoc.fr) à notre webapp. C’est intéressant aussi car nous pouvons associer un certificat SSL à ce nom de domaine, ce qui permettra de ne plus avoir d’avertissement de sécurité à la connexion à do•doc en HTTPS.

Le nom de domaine

Pour commencer, il vous faut réserver un nom de domaine auprès d’un bureau d’enregistrement. Les hébergeurs cités plus haut (Gandi et OVH) proposent tous deux ce service pour une quinzaine d’euros par an (à partir du moment ou le domaine est disponible). Un domaine unique (comme dodoc.fr) vous offre aussi la possibilité de réserver des sous-domaines (test.dodoc.fr, adc.dodoc.fr, etc.) qui peuvent héberger autant de do•doc différents. Chaque do•doc aura son propre contenu, ses propres auteurs, etc.

Une fois le nom de domaine réservé, il vous faut modifier les entrées DNS de votre domaine pour indiquer ce domaine (ou sous-domaine) pointe vers une adresse IP : celle de votre serveur.

Pour cela, on utilise une ENTRÉE A. Concrètement, cela donne :

Ici, test.dodoc.fr est le domaine (ou sous-domaine, c’est pareil) et 104.248.35.94 est l’adresse IP du server vers lequel orienter le visiteur qui vient d’écrire le domaine dans son navigateur.

À noter que cette orientation prendra quelques heures à être active pour tous les visiteurs de votre domaine. Par sécurité, on attendra 24h après la configuration de ces entrées A avant de s’inquièter.

Faire pointer le domaine sur le bon do•doc

Une fois le pointage opérationnel, il faut indiquer à votre serveur que c’est do•doc qui doit récupérer la connexion d’un visiteur sur ce domaine. Le plus simple pour faire cela est d’installer un logiciel intermédiaire qui va associer ce nom de domaine à votre do•doc, qui écoute sur le port 8080 (si vous n’avez pas changé ce paramètre par défaut). En règle général, on utilise Apache ou NGINX pour faire cette association. Dans le tuto ci-dessous nous utiliserons donc NGINX qui est libre et gratuit.

Commencez par installer NGINX :

sudo apt install nginx

Après installation, éditez le fichier de configuration de NGINX. Nous utilisons un petit éditeur de texte dans le terminal pour modifier ce fichier, celui-ci s’appelle nano :

sudo nano /etc/nginx/sites-available/default

Le fichier que vous venez d’ouvrir va contenir toutes les redirections nom de domaineport interne. Il contient déjà quelques instructions et règles, que vous pouvez ignorer.

Descendez tout en bas du fichier et ajoutez, sur de nouvelles lignes, les instructions suivantes après avoir remplacé mon-domaine.fr par votre domaine ou sous-domaine :

server {
  server_name mon-domaine.fr;
  client_max_body_size 100M;
  location / {
    proxy_pass https://localhost:8080;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

À noter : la ligne client_max_body_size permet de définir la taille maximale des médias qui pourront être déposés sur do•doc. Je règle en général la limite à 100mo pour éviter que des fichiers très très lourds (vidéos, notamment) ne se retrouvent sur do•doc, mais vous pouvez aussi omettre ce réglage.

Quittez ensuite nano (Ctrl + X), qui vous demandera si vous souhaitez enregistrer vos modifications (touche Y puis entrée) ou non (touche N puis entrée).

Rechargez NGINX pour qu’il lise à nouveau votre fichier de configuration :

sudo systemctl reload nginx

Avant de vous connecter à votre domaine, nous allons installer le certificat SSL qui permet la navigation en HTTPS (et sans l’avertissement de sécurité pour les visiteurs).

Installer un certificat SSL gratuit

Pour cette installation nous utiliserons le service certbot fournit gracieusement par l’association américaine EFF.

Vous pouvez suivre leur nouveau tuto pour installer Certbot ou utilisez les lignes de commande suivantes (pour Ubuntu 20 et plus récent) :

sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Une fois l’installation terminée, il suffit de lancer certbot en précisant bien que vous utilisez NGINX :

sudo certbot --nginx

Laissez-vous guider par les instructions qui vous sont présentées, et indiquez que vous souhaitez une redirection HTTP vers HTTPS (pour que vos visiteurs qui tapent http://mon-domaine.fr arrivent bien sur https://mon-domaine.fr).

Si vous rencontrez un message d’erreur, c’est probablement que votre entrée A ne s’est pas propagée et que le script de Certbot ne voit pas le pointage du domaine vers l’adresse IP. Le certificat ne peut être délivré que si ce pointage est actif, donc réessayez quelques heures plus tard si ce n’est pas encore le cas :slight_smile:

Et voilà ! Si vous avez suivi scrupuleusement ce tutoriel à la lettre vous devriez avoir votre propre do•doc (ou Les Cahiers du Studio, ou Plateau, etc.) en ligne et opérationnel ! N’hésitez pas à intervenir dans ce sujet si vous avez identifié une erreur ou un bug, ou si vous l’avez utilisé et que tout a bien marché !

Vous trouverez ci-dessous des règlages avancés qui vous permettront :

  • de limiter l’accès avec un mot de passe,
  • de forcer les visiteurs à s’identifier en tant qu’auteur,
  • d’installer plusieurs do•doc sur le même serveur,
  • de sauvegarder et restaurer tous les contenus,
  • de mettre à jour do•doc simplement et sans perte de contenus.

Maintenance, options et améliorations

Mot de passe global

L’accès à votre instance de do•doc se fait donc par une URL dédiée : seuls les gens qui ont reçu l’URL peuvent avoir accès. Cette URL ne sera pas référencée dans les moteurs de recherche (une balise html <meta name="robots" content="noindex"> joue ce rôle là).

Par contre l’adresse de ce do•doc risque de circuler à partir du moment où vous partagez des liens vers des médias qui s’y trouvent. Exemple avec le lien suivant qui permet de consulter un fichier STL : https://dodoc.latelier-des-chercheurs.fr/exemple-de-projet/media/adc-articulations-pieces-vis-courtestltxt?display=standalone. Quelqu’un pourrait avoir l’idée d’extraire le début de l’URL pour voir l’ensemble du do•doc : https://dodoc.latelier-des-chercheurs.fr/

Oui mais, ce do•doc est protégé par un mot de passe ! En cliquant sur le lien, voici ce que vous verrez :

L’accès complet est bloqué : celui-ci ne peut se faire qu’en connaissant le mot de passe associé. Les contenu sont du coup protégés.

Pour ajouter un mot de passe à tout un « dodoc », il faut réaliser une opération assez basique : ajouter un petit fichier texte nommé meta.txt à la racine du dossier qui contient les contenus du dodoc. Ce dossier est nommé par défaut dodoc et placé dans Documents (ou Mes Documents sur Windows). Voir ci-dessous dans la section Changer le port par défaut, l’emplacement du stockage, etc. pour changer l’emplacement de stockage des contenus d’une instance dodoc.

En partant du principe que vous n’avez pas changé les emplacements par défaut, rendez-vous dans ce dossier :

  • cd ~/Documents/dodoc

Nous allons maintenant ajouter (ou modifier, s’il existe déjà) un fichier meta.txt avec l’éditeur de texte nano :

  • nano meta.txt

Ajoutez la ligne suivante dans ce fichier :

  • session_password: hello

Enregistrez le fichier (ctrl + S) puis quittez nano (ctrl + X).

Il faut maintenant redémarrer do•doc pour qu’il prenne en compte ce réglage. Si j’ai appelé mon process dodoc dans pm2, la commande sera :

  • pm2 restart dodoc

Si besoin retournez consulter la section Installer et utiliser pm2.

Et voilà ! À l’ouverture de votre do•doc vous devriez être accueilli par une fenêtre qui oblige à entrer le mot de pase convenu :slight_smile:

Autres options liés au contrôle de l’accès

Il existe deux autres réglages qui permettent de modifier l’accès à do•doc :

  • force_login : oblige les utilisateurs à s’identifier en tant qu’auteur (soit en sélectionnant un compte existant, soit en en créant un nouveau)

  • force_author_password : à la création d’un auteur, le champ « mot de passe » devient obligatoire, ce qui permet de s’assurer que les comptes sont bien tous protégés par des mots de passe.

Associer ces deux options l’une à l’autre permet donc de s’assurer que tous les visiteurs s’identifient avec un compte protégé par mot de passe — ce qui a l’avantage de pouvoir bien identifier qui fait quoi sur le do•doc (les contenus sont associés automatiquement à l’auteur qui les a créés par défaut).

Pour activer l’un de ces options, suivez les instructions de la partie Mot de passe global. Pour activer les deux (ou les trois, si vous comptez appliquer un mot de passe global aussi) séparez bien les options avec ---- comme indiqué ci-dessous (l’ordre de déclaration des options n’a pas d’importance) :

Pensez bien à redémarrer votre do•doc ensuite, car ce fichier meta.txt n’est lu qu’une fois, au lancement :

  • pm2 restart dodoc

Changer le port par défaut, l’emplacement du stockage, etc.

Les règlages les plus couramment modifiés sont stockés dans un fichier nommé settings_base.json (vous pouvez le consulter sur github ici dodoc/settings_base.json at main · l-atelier-des-chercheurs/dodoc · GitHub).

Vous pouvez consulter son contenu avec l’éditeur texte nano en tapant :

nano settings_base.json

Vous pourriez modifier directement les valeurs (par exemple en changeant la valeur associée à contentPath pour dire à dodoc de stocker les contenus ailleurs que dans le dossier « dodoc » qui est réglé par défaut). Mais cela est fortement déconseillé, car lorsque vous mettrez à jour ce dodoc avec git il y a toute les chances pour que ces modifications soient écrasées et annulées.

Pour éviter ce désagrément et modifier malgré tout ces valeurs, réalisez les opérations suivantes :

  1. quittez nano avec les touches Ctrl + X

  2. copiez le fichier nommé settings.example.json en renommant la copie settings.json

cp settings.example.json settings.json

  1. ouvrez la copie

nano settings.json

  1. vous pouvez ici modifier le port utilisé par dodoc, l’emplacement de stockage, ou réécrire n’importe quelle valeur du fichier settings_base.json : celles de settings.json auront toujours la priorité.

Cela est utile par exemple pour gérer plusieurs instances de do•doc en parallèle : chacune doit tourner sur un port différent, et stocker les contenus dans un dossier différent.

Voici un exemple de modifications de ce type :

image

Quittez ensuite nano (Ctrl + X), qui vous demandera si vous souhaitez enregistrer vos modifications (touche Y puis entrée) ou non (touche N puis entrée). Relancez dodoc pour que ces modifications soient prises en compte.

À noter : le champ qui gère le port s’appelle desired_port car ce n’est qu’une préférence : si un autre logiciel occupe déjà ce port, alors do•doc prendra le prochain disponible (par exemple, le 8071 si le 8070 est occupé) et démarrera quand même.

À noter également : do•doc par défaut place les contenus supprimés dans l’interface dans un dossier nommé _bin. Cela permet de récupérer les contenus en cas de fausses manipulation, mais cela veut aussi dire que les contenus supprimés continuent à prendre de l’espace disque, ce qui peut poser problème. Pour changer cela et activer la suppression pure et simple, il faut ajouter le paramètre suivant au fichier settings.json :

"removePermanently": true

(avec une virgule en fin de ligne si ce n’est pas la dernière règle du fichier).

Lancer plusieurs dodoc en parallèle

@sarah a réalisé un tutoriel très complet à retrouver ici : Installer une deuxième instance de do•doc sur un serveur dédié

Sauvegarder les contenus

Les contenus sont stockés dans le dossier Documents de votre utilisateur, par exemple :

cd /home/ubuntu/Documents/dodoc
si vous êtes connecté en tant que ubuntu

cd /root/Documents/dodoc
si vous êtes connecté en SSH en tant que root

Listez ensuite les dossiers, et vous devriez voir une liste de ce type :
image

Pour sauvegarder votre do•doc, il faut rappatrier tous ces dossiers et fichiers. Pour ce faire, je vous recommande de passer par un logiciel de FTP comme FileZilla ou CyberDuck.

Ouvrez FileZilla, et entrez les informations suivantes dans les champs en haut de l’écran :

Hôte =
sftp://104.248.35.94 (en remplaçant l’IP 104.248.35.94 par celle de votre serveur)

Identifiant =
root (ou ubuntu, le même utilisateur que vous utilisez en SSH)

Mot de passe =
votre mot de passe

Cliquez sur Connexion rapide et acceptez si un message vous demande confirmer la connexion.
Vous devriez voir ensuite en bas de l’écran un aperçu du contenu du serveur (à droite) et de votre ordinateur (à gauche). Ouvrez Documents puis glissez-déposez le dossier dodoc (ou tout autre dossier do•doc) à sauvegarder de la droite vers la gauche.

Et voilà !
Pour restaurer, il suffit de faire le processus inverse et de glisser un dossier dodoc sur le serveur, dans Documents.

Mettre à jour et changer de branche

Lors de la sortie d’une nouvelle version de do•doc, il est possible de récupérer tous les changements sans avoir à modifier ni la configuration ni risquer de perdre les contenus en place.

La plupart du temps, mettre à jour se fait en restant sur la même branche (une version de do•doc stable aura probablement intérêt à rester sur une version stable, une version de dev sur une version de dev). Vous pouvez consulter la date de dernière mise à jour de la branche que vous utilisez sur cette page :
https://github.com/l-atelier-des-chercheurs/dodoc/branches

Quoi qu’il en soit, après avoir ouvert votre terminal et navigué vers le dossier qui contient le code source de do•doc, vous pouvez récupérer les dernières modifications avec la commande git suivante :

  • git pull

Trois possibilités ici :

  1. soit c’est tout bon et vous voyez ce genre d’informations du server et cela veut dire que tous les derniers changements de la branche ont bien été récupérés :

  1. soit aucun changement n’a eu lieu depuis la dernière fois et il n’y a rien à rappatrier :

  1. soit il y a un soucis et le git pull n’a pas pu avoir lieu. La plupart du temps, c’est pour la raison suivante :

error: Your local changes to the following files would be overwritten by merge:

Cela signifie que certains fichiers ont été modifiés, soit pendant une manipulation soit pendant l’installation précédente, et il n’est donc pas possible de rappatrier les changements sans potentiellement écraser vos modifications. Si vous êtes certain de ne pas avoir procéder à des changements du code source et que l’erreur indique que c’est le fichier package-lock.json qui a changé alors vous pouvez sans problème revenir à l’état initial de la branche avec

  • git reset --hard

Lancez ensuite git pull, qui devrait maintenant fonctionner correctement.

Après ça, il nous reste quelques étapes pour que la mise à jour soit bien prise en compte.

D’abord, installez les dépendances potentiellement ajoutées par la mise à jour sur la partie « serveur » de do•doc en exécutant :

  • npm install

Ensuite, naviguez vers le dossier public et installez les nouvelles dépendances de la partie « client », ce qui donne :

  • cd public
  • npm install
  • npm run build

Relancez ensuite la tâche dodoc sur pm2 (le code serveur est lu au lancement du programme, donc pour que les modifications soient appliquées il faut le lancer à nouveau) :

  • pm2 restart dodoc

La dernière version de do•doc est maintenant opérationnelle sur votre server !


Changer de branche

Si vous souhaitez changer de branche, cela se fait en lancant la commande :

  • git checkout nom-de-la-branche

suivi d’un

  • git pull

À noter que vous pouvez rencontrer le soucis de error: Your local changes to the following files would be overwritten by merge: et qu’il faudra le résoudre de la manière indiquée ci-dessus.

ATTENTION ! Changer de branche pour aller d’une version stable (branche main-node par exemple) vers une version de développement (main-dev-node) ne posera à priori pas de soucis mais l’inverse n’est pas vrai : certaines fonctionnalités n’existant pas, vous risquez de perdre accès à des contenus.

3 « J'aime »

bonjour
j’ai installé la version serveur, juste une question
la partie « à venir » mot de passe global (dernier chapitre) permettra-t-elle de sécuriser l’accès au site tel qu’il est, car pour le moment, mon dodoc serveur installé est accessible, la seule restriction est si j’attribue un mot de passe au projet, mais quiconque désirant devenir auteur ou lancer un projet peut le faire.
Mon fils propose de vous envoyer un tuto pour " Rattacher un nom de domaine et un certificat" car il l’a fait. J’entends par là qu’il propose son aide pour le tutoriel, hein pas qu’il vuille vous apprendre à le faire lool

Bonjour !

Chouette :slight_smile: Pas de difficulté dans le tuto ?

C’est bien ça. Exemple : https://dodoc.latelier-des-chercheurs.fr/
Pas de mot de passe global, pas d’accès.

Ha mais oui ! Avec grand plaisir :slight_smile: Mettez-le dans une réponse à ce sujet et je peux le copier-coller dans mon post ci-dessus.

coucou non c’est mon fils de 14 ans qui a suivi votre tuto et installé la version serveur sur une de ses VM.
c’était compréhensible et comme il le dit il s’y connait en commande. Bon c’est un « Nerd » et il est passionné par les réseaux et les serveurs, donc il faudrait l’avis d’un plus béotien que lui
Attention quand on fait l’installation en version stable, ça n’envoie pas la dernière version stable de github (dirige vers 8.1.0 si ma mémoire est bonne alors que la version que nous avons installée est la 9.0.3.dev sur laquelle les choix des langues sont plus variés ( même en occitan, j’ai testé mais je n’y pige rien du tout lool)

J’ai choisi la version serveur car la version sur un pc portable et des tablettes était parfois difficile au point de vue de la connexion.
En tout cas, merci de développer de tels produits.

Vivement que ce tuto soit fait (mot de passe global) lool

Haha trop bien ! Bravo à lui :slight_smile:

Eh bien je précise qu’il faut changer de branche, vous avez bien vu ce passage ? git checkout dodoc2-dev-node

Le tuto mot de passe arrive très vite (d’autant plus que c’est très simple).

Et voilà @Petitprof :slight_smile:
Voir la section Mot de passe global pour les instructions !

Merci beaucoup Louis

Avec plaisir :slight_smile:

J’en profite pour te signaler @Petitprof qu’il existe aussi deux nouveaux réglages possibles pour le fichier meta.txt dans lesquel tu as mis le mot de passe global :

  • force_login qui oblige à s’identifier en tant qu’auteur avant d’accéder à do•doc
  • force_author_password qui oblige à associer un mot de passe à un auteur (histoire d’éviter l’usurpation d’identité !)

Il faut éditer le fichier meta.txt comme suit :

force_login: true

----

session_password: test

----

force_author_password: false

----

Sachant que l’ordre n’a pas d’importance.
Je rajouterai ces infos bientôt.

1 « J'aime »

Et bien là, on peut dire que les grands esprits se rencontrent, je venais d’échanger ici avec Victor ( mon fils) sur le sujet en me demandant comment faire et voilà que … l’info tombe.
j’attendrai patiemment que tu ajoutes ça
Merci mille fois

Bonjour Louis
En ces temps de Covid, le serveur dodoc me serait fort utile, pourrais-tu ( si tu as le temps bien entendu) ajouter quelques précisions sur l’identification par auteur avec mot de passe afin que je puisse l’utiliser comme ça.

Prenez soin de vous, toutes et tous, en ces temps troublés

Hello !

j’ai ajouté ça rapidement, section Autres options liés au contrôle de l’accès.

N’hésite pas si ce n’est pas clair :slight_smile:

Au fait, il y a eu beaucoup, beaucoup de changements depuis notre échange il y a 20 jours — curieux d’avoir ton retour ici Journal du développement de do•doc version 9 !
Grosses améliorations côté accès/protection des contenus par auteur et mot de passe, indispensable pour une version en ligne et partagée.

Bonjour, Merci pour ce super travail.
J’ai commencer à utiliser do.doc dans le cadre d’un projet de « Média Citoyen » je tente de continuer l’aventure avec cette version sur serveur. Je me renseigne de mon coté mais ce serait formidable d’avoir une connexion sécurisé.

Bien à vous,

Chouette !
C’est assez simple de récupérer du contenu créé en local et le transférer sur une version « serveur », si besoin je peux faire un tuto là-dessus. :slight_smile:

ah oui super ça m’intéresse :grinning:

pour le certificat j’en suis là mais j’hésite à poursuivre

Pour le certificat, mes notes (avec une configuration serveur sous nginx) :

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx

Puis lancer certbox pour nginx :
sudo certbot --nginx

Puis suivre le menu qui s’affiche.

Sans nginx, j’ai pas fais depuis longtemps mais de tête :

apt install certbot
certbot certonly --webroot -w /home/dodoc/public -d dodoc.latelier-des-chercheurs.fr

(cela dit la page que tu mets en lien a l’air très bien faite !)

j’ai peut-être fait un drôle de truc à l’installation.

j’ai commencer par installer dans home/ubuntu/ la version stable mais la fonction auteur /mdp ne fonctionne pas.
ducoup j’ai installer dans home/dev/ la version dev.

je serais bien tenter d’écrire ça `certbot certonly --webroot -w /home/dev/dodoc/public -d « nom de domaine »
qu’en dites vous ?

La fonctionnalité de mdp sur les auteurs n’est dispo que dans do•doc 9 (donc branche « dev »), c’est normal :slight_smile:
Pour une version en ligne je recommande TRÈS fortement la version dev, plus fiable et robuste pour la gestion des comptes et contenus.

C’est bien :
certbot certonly --webroot -w /home/dodoc/public -d domaine.de.dodoc.com

Il faut au préalable posséder ce nom de domaine ou sous-domaine et l’avoir redirigé vers le serveur qui contient do•doc, mais j’imagine que tu as déjà fais ça ?

j’en suis là do-doc.pixnwave.fr mais j’ai un petit souci de dns…