Outils pour utilisateurs

Outils du site


slvpartage:trivabbleyunohost

Preuve de concept fonctionnelle https://slvtv.fr/scrabble

trivabble https://trivabble.1s.fr/ + yunohost

https://linuxfr.org/news/trivabble-continue-a-evoluer

le fonctionnement de trivabble est simple :

côté client du javascript : trivabble.js qui discute avec le serveur en sse ou en websocket

côté serveur un script nodejs ( javascript serveurs ) : trivabble-server.js qui écoute sur le port 3000

en service http/s : un apache ou un nginx

ce qui manque : un paquet yunohost

page git pour l'intégration initiale :

https://github.com/artlog/trivabble_ynh

Comment créer un paquet yunohost ?

https://yunohost.org/#/docs

Tout reste à faire ;-)

https://yunohost.org/#/packaging_apps

Contenu

Un paquet YunoHost est composé :

  d’un manifest.json
  d’un dossier scripts, composé de six scripts Shell install, remove, upgrade, backup, change_url et restore
  de dossiers optionnels, contenant les sources ou de la conf
  d’un fichier LICENSE contenant la licence du paquet
  d’une page de présentation du paquet contenu dans un fichier README.md

https://github.com/YunoHost/example_ynh

LICENSE Affero General Public License (AGPL)

environnement de développement

https://github.com/yunohost/ynh-dev

utilisation de LXC , difficulté : le certificat est soit autosigné soit letsencrypt, il faudrait une solution manuelle pour avoir une autorité de certification privée pour le dev. https://yunohost.org/#/certificate_custom

utilisation des scripts du ldap serveur interne pour créer un ca privé et un certificat pour ynh.dev

fail2ban yunohost … un peu agressif pour le ssh…

projet source à intégrer :

git clone https://gitlab.com/raphj/trivabble.git

ça ne marche pas (tm)

trivabble@ynh:/var/www/trivabble$ nodejs --version
v4.8.2

le nodejs fourni en standard dans la distro est très ancien… trop. adapté pour utiliser la version 10

le point d'entrée de l'url de l'api serveur n'est pas confiugrable :

créé un dépôt fils gitlab https://gitlab.com/artlog/trivabble pour ajouter cette possiblité

ça marchotte

les droits /var/www/trivabble ne sont pas corrects ? ( root:root ) la sauvegarde des parties ne peut pas avoir lieu

le déploiement initial utilise directement git, il devrait utiliser les script de mise en prod

mettre à jour les demandes d'inclusion

qu'est-ce qui me bloque ?

Connaître la procédure canonique correcte pour

  • obtenir le 'paquet' source destiné à la prod depuis gitlab ( pour l'instant on utilise git clone directement )

échanges sur le canal irc de #yunohost sur freenode chat.freenode.net ⇒ sous gitlab une archive est créé pour chacun des tags :

https://gitlab.com/raphj/trivabble/-/archive/prod-v20200517.2/trivabble-prod-v20200517.2.zip

ou tar.gz :

https://gitlab.com/raphj/trivabble/-/archive/prod-v20200517.2/trivabble-prod-v20200517.2.tar.gz

utilisation de app.src

Comment tester une application yunhost de dev sans passer par github ?

j'ai installé un yunohost de dev mais je ne sais pas comment pointer sur autre chose que github pour obtenir le paquet…

La réponse : il faut le faire en ligne de commande en fournissant le répertoire de l'application.

retour à la documentation : https://yunohost.org/#/packaging_apps_start

utiliser ssh entre le guest et le host.

cloner le git dans un repertoire de yunohost ( ici trivabble_ynh )

puis l'installer en ligne de commande :

admin@ynh:~$ sudo yunohost app install $(pwd)/trivabble_ynh --debug

il s'en suit une mise en garde, bon il faut bien se lancer à l'eau à un moment …

sur mon environement source git ( qui n'est pas yunohost mais mon pc de dev ) je fais les modifs dans une branche dédiée au dev, c'est celle là que je checkout et pull sous yunohost dev.

puisque je créé un commit pour chaque petite adaptation même non fonctionnel, à la fin d'un itération qui fonctionnne j'ai envie de créer un seul commit qui oublie les commits faux : une utilisation avancée de git rebase ( avec squash ).

https://stackoverflow.com/questions/5721566/combining-multiple-commits-into-one-prior-to-push

Comment tester l'upgrade ?

Il faut partir d'une version A pour aller à une version B.

fournir d'abord la fonction de backup…

est-ce que le bacup est censé copier l'application source elle même ? ( elle conserve les scripts de l'application yunohost d'installation )

⇒ il me semble que oui, donc copie de l'integralité du repertoire /var/wwww/$app

A FINIR

Mise à jour de l'environnement de dev

En utilisant l'interface d'admin, la mise à jour de l'environnement de dev rend l'interface d'admin inutilisable… il n'est donc peut être pas recommander de procéder ainsi, ou bien il y a des choses à synchroniser…

En fait le problème est juste que le dernier build marqué ok de yunohost sur debian unstable est cassé.

dans l'environnmeent de dev on peut rebuilder depuis yunohost-admin : ./ynh-dev use-git yunohost-admin

slvpartage/trivabbleyunohost.txt · Dernière modification : 2020/07/07 19:31 de cyberyunohost