Les 401 Grafana venaient de mon extraction, pas du serveur

J'avais ecrit dans le commit 686c2ba que le GRAFANA_ADMIN_PASSWORD du .env
n'etait pas celui en service, et que Grafana n'appliquait la variable qu'a la
creation du compte admin. C'est faux, et le proprietaire l'a signale : c'est
bien le mot de passe de sa session.

La valeur est entre guillemets dans le fichier — 18 caracteres bruts pour un
mot de passe de 16 — et mon extraction les transmettait a curl. Une fois les
guillemets encadrants retires, l'API repond du premier coup, et elle confirme
que le panneau du bilan renvoie desormais une ligne de valeurs typees number.

La procedure d'interrogation d'un panneau par /api/ds/query est consignee : le
verificateur de tableaux execute la requete en direct sur la base, ce qui masque
precisement ce genre d'ecart entre ce que rend la base et ce que recoit le
panneau.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
Tallagrand Thierry
2026-09-08 00:09:07 +02:00
parent 41fa2c9b3b
commit af1eb58d1e

View File

@@ -5554,3 +5554,42 @@ Meme lecon que le 04/09 (colonne « Excedent » integralement nulle, 19/19 verte
---
*Document mis a jour le : 07/09/2026 — tableau « La journee », report de la derniere valeur (et non de la moyenne) dans les trois constructeurs de requetes*
### Acces a l'API Grafana — la cause des 401 etait mon extraction
⚠️ **Rectification.** J'avais conclu, et ecrit dans le message du commit
`686c2ba`, que le `GRAFANA_ADMIN_PASSWORD` du `.env` « n'est pas celui en
service » et que Grafana n'appliquait la variable qu'a la creation du compte.
**C'est faux.** Le proprietaire a verifie : c'est bien le mot de passe de sa
session.
La valeur est **entre guillemets** dans `deploy/historisation/.env` (18
caracteres bruts pour un mot de passe de 16). Mon extraction les transmettait
tels quels a `curl`, d'ou le 401. Retirer les guillemets encadrants suffit :
```sh
V=$(sudo sed -n 's/^GRAFANA_ADMIN_PASSWORD=//p' .env | tr -d '\r\n')
PW=$(printf '%s' "$V" | sed -e 's/^"//' -e 's/"$//')
```
L'API repond alors du premier coup. Interroger un panneau se fait par
`/api/ds/query` depuis l'interieur du conteneur `evcs-grafana` :
```sh
sudo /usr/local/bin/docker cp charge.json evcs-grafana:/tmp/pl.json
sudo /usr/local/bin/docker exec evcs-grafana curl -s -u "admin:$PW" \
-H "Content-Type: application/json" -X POST --data @/tmp/pl.json \
http://localhost:3000/api/ds/query
```
Le corps est `{"from": <ms>, "to": <ms>, "queries": [<la target du panneau>]}`.
C'est le seul moyen de voir ce que le SERVEUR renvoie au panneau — le
vérificateur de tableaux, lui, ne fait qu'executer la requete en direct sur la
base, ce qui masque exactement ce genre d'ecart.
⚠️ Le fichier `.env` est en 600 et ignore par git (`.gitignore` ligne 19) : il
n'est jamais parti dans le depot.
---
*Document mis a jour le : 08/09/2026 — acces API Grafana retabli, rectification sur la cause des 401*