Commit cf8b3cd5 authored by Cerdic's avatar Cerdic

documentation

parent 83152714
......@@ -46,8 +46,8 @@ Se rendre sur la page de configuration du plugin `ecrire/?exec=configurer_offlin
* Taille maxi (ko) des medias mises en cache : vous pouvez limiter la taille maximum des medias (image, audio, video) mis en cache pour éviter de remplir le cache de l'utilisateur. Si vous mettez 0 il n'y aura pas de limite (déconseillé)
L'image de fallback `plugins/offline/img/fallback.png` utilisée à la place des images qui ne sont pas en cache quand l'utilisateur est hors-ligne est surchargeable dans votre dossier `squelettes/`
* URL 404 offline : c'est l'URL de la page qu'on présentera aux utilisateurs quand ils demandent une URL qui n'est pas en cache et qu'on n'a pas de réponse du réseau. Par défaut le plugin propose une page `404_offline` construite à partir de la page 404 de votre site, mais vous pouvez la personaliser ou choisir une autre URL.
* Ressources supplémentaires à mettre en cache : Par défaut la home page et l'URL 404 offline du site ainsi que leurs ressources seront mise en cache lors de l'activation.
Si certaines ressources spécifiques manquaient ou si vous voulez mettre en cache d'autres pages par défaut, indiquez les URLs ici
* Ressources supplémentaires à mettre en cache : Par défaut la home page et l'URL 404 offline du site ainsi que leurs ressources seront mise en cache lors de l'activation.<br />
Si certaines ressources spécifiques manquaient ou si vous voulez mettre en cache d'autres pages par défaut, indiquez les URLs ici
......@@ -67,6 +67,43 @@ Mais quand ils seront déconnectés ils continueront à bénéficier de la fonct
De même, pour désactiver la fonctionnalité hors-ligne chez les visiteurs, il ne faut surtout pas désactiver le plugin !
Au lieu de cela il faut choisir le mode "Désinstaller le mode offline chez les visiteurs " et le laisser fonctionner ainsi.
#### URLs des services
Les scripts sont servis via les URLs suivantes :
* `/offline.api.install.js` : script d'installation du service, qui est automatiquement intégré dans le `<head>` des pages publiques si vous choisissez l'activation automatique
* `/offline.api.sw.js` : le service-worker en lui même, avec la configuration et ses fonctions utiles
* `/offline.api.uninstall.js` : le script de desinstallation du service, , qui est automatiquement intégré dans le `<head>` des pages publiques si vous choisissez la désactivation
Dans le navigateur l'espace d'execution du service worker est indépendant de celui de la page.
Ainsi une fonction JS disponible dans la page (et dans la console) ne sera pas disponible pour le service worker. De même les fonctions du service worker sont non accessibles depuis les pages web du site
En mode debug, ces URLs sont servies par `action/api_offline.php` de manière dynamique.
En production le plugin produit des fichiers statiques minifiés dans `local/offline/` qui sont servis de manière statique par Apache via la modification dans votre `.htaccess`
Si vous voulez repasser en mode debug après avoir testé le mode production, il faut supprimer les fichiers statiques pour permettre au script PHP de reprendre la main.
#### Build
Le service worker est uploadé avec une liste d'URL à télécharger pour rendre disponibles certaines pages hors-ligne - a minima la home du site et la page d'erreur 404 offline.
Pour rendre ces pages hors ligne, il faut construire la liste des URLs utilisées par ces pages.
Ce mécanisme nécessite de télécharger chaque page, puis de les parcourir pour détecter les ressources utiles, et de vérifier leur validité
(si une URL invalide ou en 404 est contenue dans la demande de mise en cache, aucune URL du lot n'est mise en cache à l'installation)
Ce build peut nécessiter du temps et n'est donc jamais fait de manière synchrone immédiate.
Il est déclenché en tache de fond lors de l'enregistrement d'une nouvelle configuration [TODO]
Si votre site n'est pas fréquenté ou que vous voulez en disposer immédiatement, vous pouvez lancer la commande via spip-cli :
```
spip offline:build:services
```
#### Utilisation sur un site multidomaines
La prise en compte de multidomaines n'est pas encore vraiment opérationnelle.
Les URLs à télécharger doivent être relatives au domaine consulté, et les éventuelles URLs croisées seront bloquées en l'absence de directives CORS.
## Considérations de performance
Pour optimiser le temps de chargement et revalidation des ressources (CSS, JS), il est préconisé de les minifier et concaténer en un seul fichier au sein de chaque page.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment