SesaParcours est l’évolution de modulaire de j3p (au sens module javascript, appelé aussi es module
ou esm
, avec import/export, ≠ de commonJs ou cjs qui sont des modules à base de require/module.exports).
Remarque jQuery : On reste en 2.x car mathquill passe pas en 3.x, pb notamment avec $().andSelf()
Dans toute la doc on utilise pnpm
à la place de npm
(plus économe en espace disque mais surtout beaucoup plus rapide), mais vous pouvez retirer le "p" pour revenir au npm classique (installé d’office avec nodeJs).
Pour installer pnpm
c'est npm install -g pnpm
(suivant votre config il faudra peut-être lancer cette commande en
admin)
La première fois
git clone git@forge.apps.education.fr:sesamath/sesaparcours.git
(ATTENTION à bien prendre cette commande en cliquant sur le bouton cloner sur gitlab, et pas l’url en https, sinon vous devrez saisir login/pass à chaque push)pnpm i
Ensuite, pour mettre à jour le dépôt git pull
, et si le package.json a changé faut refaire un pnpm i
(dans le
doute vous pouvez le faire à chaque fois, c'est très rapide si rien n’a changé).
Pour tester le code en local, lancer pnpm start
puis aller consulter http://localhost:8081/
, qui propose la même chose que l’ancien j3p.html avec le test de
http://localhost:8081/#section=cm2exN4_22
pour sections/primaire/cahiercm2/sectioncm2exN4_22.jshttp://localhost:8081/#rid=sesabibli/32476
, les baseId possibles sont sesabibli ou sesacommun ou sesabiblidev ou sesacommundevhttp://localhost:8081/#graphe=[[1,%22751%22,[{%22pe%22:%22sans%20condition%22,%22nn%22:%22fin%22,%22conclusion%22:%22fin%22}]],[2,%22fin%22,[]]]
Par exemple, pour reproduire localement ce que l’on a sur https://bibliotheque.sesamath.(dev|net)/public/voir/xxx :
pnpm start
Vous pouvez aussi faire un pnpm run build:mod
puis aller tester docroot/index.html, par ex depuis webstorm (faire un run sur ce html). Le build:mod ne build que la version module, inutile de compiler la version es5 pour du test en local.
Le code est dans un dépôt git, cf https://wiki.sesamath.net/doku.php?id=public:dev:git:scenarios#cas_courantresolution_d_un_bug_ou_ajout_de_fonctionnalite_avec_framagit_gitlab_github pour la marche à suivre (et package.json pour l'adresse du dépôt).
Cf wiki
Elle est sur https://j3p.sesamath.net/doc/ ou https://j3p.sesamath.net/tsdoc/ pour la partie concernant le moteur v2 en typescript (pas encore pu fusionner les deux)
Pour la générer c'est pnpm run doc
, et vous pouvez ensuite la consulter localement (après un pnpm start) sur http://localhost:8081/doc/index.html ou http://localhost:8081/tsdoc/index.html
Vous devez retrouver votre ip sur le réseau local, souvent de la forme 192.168.1.x (pour les box courantes des FAI), et ensuite lancer HOST=192.168.1.x pnpm start
, ça vous permettra de tester depuis une tablette connectée sur le même wifi que votre PC avec du http://192.168.1.x/#section=…
ou http://192.168.1.x/#rid=…
Vous pouvez également utuiliser la variable d’environnement PORT=xxx pour mettre un autre port que le 8081
On se retrouve parfois avec une erreur Failed to fetch dynamically imported module:…
assez incompréhensible (le module existe bien, et ça fonctionnait 2 min plus tôt), stopper vite
, vider node_modules/.vite
et relancer vite règle le pb…