Cela consiste simplement à exposer sur le web 3 types de fichiers properties (contenant une liste de clés/valeurs) :
1 fichier properties pour décrire le chaton (modèle);
1 fichier properties par service (modèles);
1 fichier properties de metrics par service (modèle).
Les deux premiers fichiers sont à faire à la main. Le troisième peut être généré par export ou par une moulinette d’analyse fournie et qu’il faut faire tourner 1 ou 2 fois par jour.
## Dossier accessible pour les metrics
Il faut un dossier ou les fichiers soient accessibles, comme Yunohost a des configuration `.well_know` pour tous ces noms de domaines dans `/var/www/.well_know` avec un dossier `autoconfig`, un dossier `/var/www/.well_know/www.linux07.fr/chatonsinfos/` a été créé.
Puis on a ajouté un fichier de configuration `/etc/nginx/conf.d/www.linux07.d/chatonsinfos.conf` avec ces paramètres
```
location ^~ '/.well-known/chatonsinfos/' {
alias /var/www/.well-known/www.linux07.fr/chatonsinfos/;
}
```
Le nom de domaine `www.linux07.fr` est une une redirection vers `linux07.fr`, il est redirigé par l'application Redirect et sa configuration nginx est donnée par le fichier `/etc/nginx/conf.d/www.linux07.d/rediredt.conf`
```
location / {
return 302 https://linux07.fr$request_uri;
}
```
On a vérifié si en ajoutant un fichier dans ce dossier il était accessible (en tapant tout le chemin du fichier).
C'est dans ce dossier que vont être créés les fichiers `metrics.properties` qui vont pouvoir être lus...
## organisation.properties
Le fichier organisation.properties est déclaré sur le git après un PR : [https://framagit.org/chatons/chatonsinfos/-/blob/master/StatoolInfos/chatons.properties#L138](https://framagit.org/chatons/chatonsinfos/-/blob/master/StatoolInfos/chatons.properties#L138)
Depuis ce fichier sont délarés les différents fichiers `service-nom_du_service-properties`
## Ajout de statoolsinfos
Installation de statoolsinfos, voir [https://forge.devinsy.fr/devinsy/statoolinfos/src/branch/master/README.md#install](https://forge.devinsy.fr/devinsy/statoolinfos/src/branch/master/README.md#install)
`apt-get install openjdk-11-jre-headless`
Créer les dossiers `/srv/statoolinfos/conf`, `/srv/statoolinfos/tmp` et `/srv/statoolsinfos/bin`
Télécharger la dernière release : [https://forge.devinsy.fr/devinsy/statoolinfos/releases](https://forge.devinsy.fr/devinsy/statoolinfos/releases) dans le dossier `/srv/statoolinfos/tmp`
Dézipper le package et and déplacer les fichiers `statoolinfos.jar` and `statoolinfo.sh` dans le dossier `/srv/statoolinfos/bin/`
On fait un lien symbolique du fichier `statoolinfos.sh`
```
cd /srv/statoolsinfos/bin/
ln -s statoolinfos.sh statoolinfos
```
Aussi un lien symbolique `well-know` pour que le dossier accessible `.well_know/www.rodinux.fr/chatonsinfos/` soit visible pour nous depuis `/srv/statoolinfos`
## Corrections bugs php pour l'application Libreto
Sinon, on a constaté beaucoup de lignes d'erreurs dans les logs de libreto avec `LINE IS NOT MATCHING`. On a changé la ligne 466 dans le fichier **/etc/php/7.4/fpm/php.ini** en rajoutant `& ~E_NOTICE` au bout da ligne 466.
J'essaie aussi de voir après avoir lu les logs d'ignorer un erreur recurrente de php
```
LINE IS NOT MATCHING [ in /var/www/libreto/libreto/pad.php on line 148" while reading response header from upstream, client: 89.234.140.172, server: libreto.linux07.fr, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.4-fpm-libreto.sock:", host: "libreto.linux07.fr"]
```
La ligne 148 en question de **/var/www/libreto/libreto/pad.php**
`$txt = file_get_contents($this->url('txt'));`
est dans cette portion de fonction
```
public function txt() {
146 if (!$this->url('txt')) { return; }
147
148 $txt = file_get_contents($this->url('txt'));
149 return $txt;
150 }
```
En cherchant, j'essaie d'ignorer l'erreur avec un `@`