PrimTux, la distribution éducative

Version complète : serveur pour contenus statiques
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Je viens de regarder pour une solution uniforme qui permettrait de délivrer des applications statiques via un serveur (en l'occurence nginx).

1. ajouter un fichier /etc/nginx/sites-enable/primtux.app.conf avec ce contenu (certaines variables ne sont pas arrêtés) :

Code :
server {  
    server_name primtux.app;
    
    listen 127.0.0.11:80;
    listen [fd00::127:11]:80;

    root /var/www/primtux;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

et une entrée dans /etc/hosts :

Code :
127.0.0.11  primtux.app

Avec ce type de config, si on a par exemple une application qui ajoute son arborescence dans /var/www/essai avec un index.html à sa racine, si on tape http://primtux.app/essai dans un navigateur, on aura l'index.html de sélectionné.

L'idée serait de faire un meta-paquet (avec la dépendance à nginx) avec ces 2 fichiers et tous les programmes correspondants qui en dépendrait.
Ensuite, déplacer éventuellement l'arborescence vers /var/www/appli (si c'est trop complexe, on a toujours la possibilité de rajouter un alias)
Enfin, l'executable lancerais notre navigateur par défaut avec l'url mentionné.

Ca devrait résoudre nos soucis (sans forcer un changement de navigateur) au moins pour orthodefi, prammatice et editinteractivesvg.

Qu'en pensez-vous ?
Mais ça demande d'installer nginx avant ctparental et donc un pb d'installation de ctparental ensuite, non?
Moi je suis pour l'instant pour la solution du firefox 91 en appimage qui ouvre les pragmatice et une surveillance de ctparental, en plus on n'a pas les dernières versions, peut-être que ce pb est corrigé, qui sait?
Steph a écrit :Mais ça demande d'installer nginx avant ctparental et donc un pb d'installation de ctparental ensuite, non?

Oui, mais bon : on est jamais maître de l'ordre d'installation des softs et je déteste l'idée de savoir que l'on laisse des bugs de cet ordre en circulation.
J'vais continué à enquêter dessus mais je pense avoir le pourquoi.

Je suppose que tu as suivi ça https://gitlab.com/marsat/CTparental/-/b...ke-deb.txt pour génerer le deb ?
@Philippe, tu as choisi quel option pour la Primtux6 rpi ?


Steph a écrit :Moi je suis pour l'instant pour la solution du firefox 91 en appimage qui ouvre les pragmatice et une surveillance de ctparental, en plus on n'a pas les dernières versions, peut-être que ce pb est corrigé, qui sait?

C'est une solution à court terme pour moi. On va pas rester indéfiniment sur Firefox 91.

Enfin, de toute façon, les primtuxmenu auront besoin d'un serveur (et le mieux est de partir sur nginx) donc il faudra forcément se faire violence un jour ou l'autre.

Si on est capable déjà d'avoir un scénario de test qui permet de reproduire le soucis, rien n'interdit de créer un ticket sur debian-fr (ou autre) et 'être aidé sur la question.
Le problème de lancement des activités pragmatice peut être résolu. Je donne l'exemple pour orthodefi.

Il faut modifier le script de lancement de l'application /usr/bin/orthodefi
A la dernière ligne du script, on a
Code :
/usr/bin/firefox -profile ~/.orthodefi/firefox -new-window file:///usr/share/pragmatice/orthodefi/index.html

Il suffit de remplacer l'adresse du fichier en ajoutant app dans le chemin :
Code :
/usr/bin/firefox -profile ~/.orthodefi/firefox -new-window file:///usr/share/pragmatice/orthodefi/app/index.html

En fait le fichier index.html initial ne fait que contrôler la conformité du navigateur avant de lancer la page index.html du sous-dossier app.

La procédure est la même pour
- Je me présente, script /usr/bin/jemepresente
- pragmalexique, script /usr/bin/pragmalexique

Lectorbus fonctionne correctement sans modification.
mothsart a écrit :@Philippe, tu as choisi quel option pour la Primtux6 rpi ?
Pour la PTx6RPi4 j'avais pris ctparental_debian10_ubuntu19.04_nginx_min_4.44.09-1.0_all.deb
J'avais fait un paquet ctparental avec cette version, placé dans le dépôt primtux pour Ptx6 RPi
J'oubliais : pour mon editinteractivesvg, j'utilise déjà un contournement dont je ne suis pas fier en changeant les prefs de Firefox.
En réalité, le blocage s'effectue dès que l'on utilise des requètes XHR. (ce que je suspecte pour les applis pramatice)
J'ai trouvé pourquoi la page /usr/share/pragmatice/orthodefi/index.html ne fonctionne pas.
C'est parce que les fichiers javascript ne sont pas trouvés.
Si, sur cette page, je copie et colle les liens vers les fichiers javascript de la page /usr/share/pragmatice/orthodefi/app/index.html en corrigeant leur chemin relatif (en ajoutant tout simplement app/ au début de chaque chemin), la page fonctionne.

La page /usr/share/pragmatice/orthodefi/index.html fait une redirection vers la page /usr/share/pragmatice/orthodefi/app/index.html par
document.location.href="app/index.html";
Mais cette redirection ne permet pas de charger les scripts en en-tête de cette nouvelle page.

Le problème est donc plutôt dans la manière dont les navigateurs, ou différentes versions d'un même navigateur, interprètent document.location.href.
Pour pragmatice, j'ai pas réussi à reproduire.

J'ai pas trouvé de version 92 ou 93 de Firefox sur rpi. (appImage et flatpak marche pas sur cet archi).
J'ai testé dans une VM et j'ai pas le soucis : la redirection s'opère bien.

Vous passez par quoi pour avoir la version de Firefox qui pose soucis ?
Le problème avec pragmatice se pose sur la PTX7, donc encore uniquement en version desktop et sur ubuntu xfce !
Euh, j'ai fait le test sur un VM avec PTX7 sous XFCE avec le Firefox par défaut (soit la 90.0.2)
Philippe Dpt35 a écrit :Le problème avec pragmatice se pose sur la PTX7, donc encore uniquement en version desktop et sur ubuntu xfce !
oui et aussi sur primtux6
J'ai fait une lib https://framagit.org/mothsart/lib-nginx-primtux qui peut faire office de base à d'autres softs.
Ca configure grosso-modo nginx et /etc/hosts

Pour mettre ça au point, j'ai consulté le forum debian-fr https://www.debian-fr.org/t/packaging-av...ts/85485/2

Il reste le soucis lié à ctparental. L'auteur a l'air réactif et je fais tenter d'y venir à bout avec.
J'ai oublié de préciser :

Cette lib ne sert à rien seul. Elle doit être utilisé comme dépendance d'un autre paquet.
par exemple, pour https://github.com/mothsART/editInteractiveSVG, ça m'oblige à faire 2 réglages :

Installation des sources dans /var/www/primtux/editInteractiveSVG (l'index.html à la racine) et le lanceur appel "http://primtux.app.local/editInteractiveSVG/"

Le nom de dossier doit correspondre à la fin de l'url.
Il est sans doute possible de mettre un alias dans /var/www/primtux si l'on ne désires pas trop changer l'arborescence de son .deb