Do•doc version 10 : finalisation, présentation

Je crois que notre expert raspberry @julien a des scripts pour démarrer l’appli au lancement :slight_smile:

Je suis carrément intéressé par un script de lancement aussi : la version serveur (d’il y a 10 jours) sur Raspberry Pi5 marche très bien, il ne manque qu’une mise à jour et le script de lancement pour en faire une belle dodocbox ! :grinning:

1 « J'aime »

Bonjour,
Alors j’avais bien une astuce pour démarrer le wifi en borne et lancer dodoc automatiquement… mais c’était sur la version 9 en Appimage.

Donc l’idée est bien de garder la même chose avec la V10 :
J’allume le raspberry, le wifi est en mode borne, dodoc 10 version serveur (sans electron) se lance automatiquement et on peut l’utiliser sans aucune manip ni besoin d’un écran…

Il faut juste trouver le moyen de faire ça proprement.
Je recherche du côté de ce que propose Nicolas Martignoni sur la Moodlebox qui est une référence sur Raspberry.

Pour l’installation :
Je viens de mettre la doc à jour avec la version de node que @louis utilise maintenant.
https://dodoc10.reseau-canope.fr/+creation-de-ressources-pour-la-formation/dodoc-raspberry-pi/publications/installation-dodoc-serveur?display=slides

La production d’une image à installer directement comme la Moodlebox devrait simplifier tout ça.

Edit :
D’après ce que j’ai pu lire dans différents forums, on peut passer par « cron »
sudo crontab -e

Il faudrait ajouter cette ligne pour lancer dodoc10 en serveur au démarrage en utilisant « cron » :
@reboot cd dodoc10 && npm run start

Hello !

De retour au sujet de dodoc 10, avec la suppression des éléments d’interface qui nécessitent internet.
Voir le ticket suivant pour plus de détail : Soucis hors ligne sl- · Issue #944 · l-atelier-des-chercheurs/dodoc · GitHub

Du coup les installations hors ligne devraient être 100% fonctionnelles maintenant (à l’exception des fonds de carte pour publication carto, des intégrations de page web/vidéos dans une publication, et du flux distant (qui ne marche plus et a été désactivé en attendant plus tard). Comme pour la v9 en somme mais nettement plus optimisé :

  • sur la v9, le fichier principal transféré au moment du chargement de dodoc (hors contenus, donc) pesait 3,4mo et 850ko une fois compressé/transféré

  • sur la v10, le fichier principal fait 1,41mo et 375ko compressé/transféré (et le travail de ce matin a fait gagné 120ko).

C’est propre, je suis content :slight_smile:

1 « J'aime »

Sobriété numérique jusque dans les détails :wink:

J’ajoute dans le texte par défaut sur l’accueil les informations de connexion au compte admin, en attendant mieux :

image

@heron1306 @julien

Retours bienvenus, comme d’habitude !

2 « J'aime »

Nouvelle organisation du repo dodoc et de ses branches pour plus de clarté (je mettrai à jour Installer do•doc en ligne avec ce infos).

Listes des nouvelles branches, ancien nom et nouveau nom :

  • la branche principale dodoc2-master est renommée dodoc9-legacy
  • la branche dodoc2-next devient la branche principale et renommée main (convention habituelle)
  • la branche dodoc2-next-node devient main-node

Autres changements mineurs :

  • dodoc2-node devient dodoc9-node-legacy
  • dodoc2-dev devient dodoc9-dev-legacy

Toutes les branches qui restent et dont le nom démarre par dodoc2 sont obsolètes, toujours accessibles mais plus mis à jour et uniquement utiles à des fins de consultation/archivage.

À terme, voici la stratégie :

main accueille le code « stabilisé » de la version en cours (v10 en ce moment) sous electron (appli à installer)
main-node idem mais sans electron, version serveur

main-dev modification mineurs de la version en cours, en vue d’être testé avant d’être rappatrié sur main (par exemple test d’un correctif de bug)
main-dev-node idem sans electron

next accueille le code pour la prochaine version majeure (par exemple, 10.1 ou 11)
next-node ibid

Voilà pour les explications ! J’espère que cette stratégie vous conviendra :slight_smile: (je met ces infos dans le readme, en page d’accueil du repo github).
Il y a un nouveau pli à prendre, c’est certain. Si vous avez déjà cloné le repo dodoc en local, je vous recommande fortement de le refaire de 0 dans un nouveau dossier, en transposant vos réglages (fichier settings.json) si vous en avez, les repo locaux n’aime pas le renommage de branche.

J’ajoute que les branches seront toutes sur node 20 et electron 29 (jusqu’à une mise à jour prochaine).
Donc si vous avez installé en mode développeur les versions précédantes (branche dodoc2-next ou dodoc2-next-node), vous devez installer la bonne version de node et l’utiliser.

nvm install

nvm use

Devrait vous indiquer Now using node v20.9.0

Voici des versions appli de la v10, en mode bêta donc :

Les fichiers sont aussi sur github si ces liens ne fonctionnent pas : Release do•doc 10 · l-atelier-des-chercheurs/dodoc · GitHub

Merci Julien pour l’aide à la génération des apps ! Ça prends pas mal de temps, donc je pense que la prochaine sortie c’est la bonne. Il reste quelques tickets à résoudre mais c’est assez mineur.

EDIT : cette version n’inclue pas le changement de nom de dossier évoqué ici : Installer do•doc en ligne - #75 par louis
ça sera pour la prochaine :slight_smile:

Bonsoir @louis , juste un petit rappelle stp. Je peux installer la version v20.9.0 pour la V10 et continuer sur la V9 en V16.13.0 sur le même serveur ?

Bonjour !

Tout d’un coup ça me vient : on a pas prévu les traductions !
On passe d’une v9 comportant un version française, anglaise, allemande, néerlandais, et occitane à une v10 qui ne comporte que le français et l’anglais

J’ai fais un commit pour réunir les traductions dans les fichiers dédiés fr.js et en.js situés ici : dodoc/client/src/adc-core/lang at main · l-atelier-des-chercheurs/dodoc · GitHub

C’est beaucoup de boulot : il y avait 659 traductions à fournir dans la v9, il y en a 836 maintenant et assez peu communes.

Pour gagner du temps, je pourrai récupérer avec des scripts celles qui sont toujours présentes et avoir une base, et éventuellement continuer en utilisant un traducteur automatique sur celles qui manquent – puis en invitant les utilisateurs qui maîtrisent la langue à relire/corriger tout ce qui doit l’être lors de la prochaine bêta.

Qu’en pensez-vous ?

Pas mieux … je ne pourrais pas contribuer à la traduction :grimacing:

Bonjour,
Je suis sur la branche dodoc2-next-node. Je cherche à passer sur main-node.
J’ai donc réalisé un git checkout main-node. Mais lorsque je lance npm run start j’obtiends une erreur.

Je suis sur raspberry pi 4 en mode serveur.

Voici un l’erreur :

> dodoc@10.0.9-dev start
> node .

INDEX / didn’t find override settings
SOCKETS • Sockets module initialized
App is node
Starting = dodoc
Node = 20.9.0
Init module with debug = false and verbose = false
Not logging to a file
MAIN2 • setupApp – ——— Starting app version 10.0.9-dev
! MAIN2 • {}
/home/admin/dodocgit/dodoc10/core2/cache.js:19
      _lru_cache = new LRUCache(options);
                   ^

TypeError: LRUCache is not a constructor
    at Object.init (/home/admin/dodocgit/dodoc10/core2/cache.js:19:20)
    at setupApp (/home/admin/dodocgit/dodoc10/core2/main2.js:98:53)
    at module.exports (/home/admin/dodocgit/dodoc10/core2/main2.js:48:9)
    at Object.<anonymous> (/home/admin/dodocgit/dodoc10/index.js:23:1)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
    at node:internal/main/run_main_module:23:47

Node.js v20.9.0

Sinon, existe t-il un moyen de passer en mode application sans perdre les données et tutoriels déjà créé avec la version serveur ?

Merci pour votre aide. En attendant je repasse sur la branche initial et je n’ai rien perdu :wink:

Guillaume

J’ai bien tenté de relancer les installations de npm, nvm et de java…

Sans rentrer dans les détails, cela indique que les dépendances situés dans le sous-dossier node_modules ne correspondent pas à celles attendus – deux possibilités : npm install n’a pas été lancé depuis git checkout, ou alors il a été lancé mais il n’a pas bien identifié que les dépendances requises avaient monté de version.

Bref :

  • rm -rf node_modules (ou suppression à la main de ce dossier)
  • npm install

Et ça devrait être bon :slight_smile:

Merci Louis,
J’ai essayé plusieurs fois. J’avoue j’ai cru que le npm install était bloqué alors je l’ai interompu.
J’ai cru avoir tout perdu. La branche originale ne fonctionnait plus. J’ai réussis à la récupérer.

npm install fonctionne sur la branche dodoc2-next-node mais pas sur main-node.

voilà ce que j’ai lorsque je lance l’installation sur main node :

npm ERR! code EBADENGINE
npm ERR! engine Unsupported engine
npm ERR! engine Not compatible with your version of node/npm: dodoc@10.0.9-dev
npm ERR! notsup Not compatible with your version of node/npm: dodoc@10.0.9-dev
npm ERR! notsup Required: {"node":"20.9.0","npm":"*"}
npm ERR! notsup Actual:   {"npm":"8.5.0","node":"v16.14.2"}

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/admin/.npm/_logs/2024-04-17T14_58_38_986Z-debug-0.log

Si je comprend bien la raspberry n’est pas compatible ?

Merci

Guillaume

Pas du tout !
Le message dit Not compatible with your version of node
Et en-dessous il t’indique la version de node requise, et celle que tu fais tourner (Actual).

Visiblement tu es sur la 16.14.2 au moment ou tu as lancé cette commande. As-tu bien lancé nvm use ? Pour lui dire d’utiliser la version de node qu’il faut ?

Merci !
non je n’avais pas lancé nvm use !
Puis j’ai relancé l’installation.
Mais j’obtiens ça :

> dodoc@10.0.9-dev start
> node .

INDEX / didn’t find override settings
node:internal/modules/cjs/loader:1051
  throw err;
  ^

Error: Cannot find module 'fs-extra'
Require stack:
- /home/admin/dodocgit/dodoc10/core2/main2.js
- /home/admin/dodocgit/dodoc10/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
    at Module._load (node:internal/modules/cjs/loader:901:27)
    at Module.require (node:internal/modules/cjs/loader:1115:19)
    at require (node:internal/modules/helpers:130:18)
    at Object.<anonymous> (/home/admin/dodocgit/dodoc10/core2/main2.js:2:12)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Module.require (node:internal/modules/cjs/loader:1115:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/admin/dodocgit/dodoc10/core2/main2.js',
    '/home/admin/dodocgit/dodoc10/index.js'
  ]
}

Node.js v20.9.0

Est ce que je dois installer fs-extra ? ìnstall fs-extra`

Merci

Guillaume

nvm use
rm -rf node_modules
npm install

Et normalement c’est bon. Si ça marche toujours pas post ici, ce sujet est vraiment destiné à finaliser la v10 plutôt :slight_smile: Installer do•doc en ligne - #87 par louis

1 « J'aime »

Bonjour @heron1306
Tu peux aussi regarder la documentation sur Raspberry, je l’ai mise à jour la semaine dernière, normalement ça devrait fonctionner.

2 « J'aime »