Demande #6572
Mis à jour par Frédéric Henry il y a 4 jours
Ceci est une requête de fusion du dépôt "fhenry2/bd-chapril":https://forge.april.org/fhenry2/bd-chapril vers le dépôt "gee/bd-chapril":https://forge.april.org/gee/bd-chapril entre les branches <code>main</code>. Une branche <code>legacy</code> est à envisager pour garder une trace de la plus ancienne version.
h1. Problèmes
h2. Erreur de cache
Une obsolescence d’une partie du code m’a motivé à mettre à niveau la gestion du cache dans l’application. Cette obsolescence concerne la suppression d’une ancienne API Web ApplicationCache[1] dédiée au cache.
Le symptôme est une erreur via la console JS lors du démarrage du site https://bd.chapril.org/ : <code>TypeError: webappCache is undefined</code>. L’origine est le caractère indéfini de <code class=javascript>window.applicationCache</code> dans le fichier <code>bdchapril.js</code> responsable du cache[2].
h2. Licence et droits de copie manquants
Quels sont les droits sur ce code ? Si c’est bien un logiciel libre mieux vaut préciser explicitement par une licence. Les différentes dépendances peuvent aussi octroyer des droits distincts.
h1. Solutions
h2. _Service Worker_ pour le cache
Pour gérer à part le cache et permettre l’accès à l’application même en cas de déconnexion je propose un _Service Worker[3]_. Ce dernier est un fichier <code>sw.js</code> en charge du cache via un fil de processus[4] annexe.
h2. Licence libre
Pour plus de clarté je propose la GNU GPLv3 comme licence tout en citant les droits des autres applications intégrées dans <code>COPYRIGHT.md</code>.
h2. Contribution
Pour faciliter la contribution au projet je propose deux outils pour développer l’application :
* Lite Server, un serveur local installé via Node, d’où la présence de <code>package.json</code> ;
* Static Web Server, un serveur alternatif léger, d’où la présence du répertoire <code>sws/</code>.
h2. Divers
Quelques ajouts en plus :
* Une _favicon_ ;
* Un manifeste ;
* Des répertoires pour trier les fichiers.
fn1. Trace de l’API : https://web.dev/articles/appcache-beginner?hl=en
fn2. Fichier de cache : https://forge.april.org/gee/bd-chapril/src/commit/ec57a621088dfe9a4324eb71f5fa220c4b5e0ca2/bdchapril.js
fn3. _Service Workers_ : https://developer.mozilla.org/fr/docs/Web/API/Service_Worker_API/Using_Service_Workers
fn4. Nommé couramment _thread_.