From 16e0f3bd78663a72b4d5b3797b21e69f333aff72 Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:50:39 +0100 Subject: [PATCH] docs(licence): essai F, la deuxieme couche tient la premiere sautee MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit API interrogee en direct, sans passer par l'ecran : licence active /ping repond pong, licence retiree toutes les routes tombent en 404, y compris POST /register ; /index.html reste servi. Notes les deux pieges qui faussaient le resultat — config.txt lu depuis le dossier courant, et le oui retenu par un processus que fermer la fenetre ne quitte pas — et une observation : le 404 de la 2e couche porte la page d'Indy, distincte du 404 JSON d'une route inexistante, ce qui revele les routes existantes. Co-Authored-By: Claude Opus 5 --- LICENCE-TESTS.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/LICENCE-TESTS.md b/LICENCE-TESTS.md index 2897d8f..2569a22 100644 --- a/LICENCE-TESTS.md +++ b/LICENCE-TESTS.md @@ -161,6 +161,45 @@ Deux observations de la campagne, gardées parce qu'elles se reproduiront : --- +## F. La deuxieme couche, la premiere sautee — 2026-09-16 + +Ne rien rapiecer : **ignorer l'ecran completement** et interroger l'API en +direct, comme quelqu'un qui aurait saute la 1re couche. Meme requete, licence +active puis retiree. + +**Preparation** : `config.txt` a cote de l'exe avec `port=8799`, +`require_token=false`, `require_process_check=false`. Les deux derniers sont +indispensables — sinon le jeton ou le controle de processus repondent 404 +AVANT la 2e couche, et l'essai ne prouve rien. **A supprimer ensuite.** + +**Deux pieges rencontres, qui fausseraient le resultat :** + +- **`config.txt` est lu depuis le dossier courant.** Lancer l'exe d'ailleurs le + prive de sa config : jeton et controle actifs, 404 partout, faux positif. + Lancer avec le dossier de l'exe comme dossier de travail. +- **La 2e couche retient un « oui » pour la vie du processus.** Fermer la + fenetre ne quitte pas (elle part dans la zone de notification) : relance = + reveil de l'ancien processus, qui repond encore `pong`. Quitter par le menu + de l'icone, verifier qu'aucune instance ne tourne, puis relancer. + +**Resultat** : + +| Requete | Licence active | Licence retiree | +|---|---|---| +| `GET /ping` | 200 `pong` | **404** | +| `GET /entries`, `/settings`, `/folders` | — | **404** | +| `POST /register` | — | **404** — impossible de se creer un compte | +| `GET /index.html` | 200 | **200** — l'ecran d'activation reste servi | +| `GET /nexiste-pas` | 404 JSON | 404 JSON | + +**Observation** : le refus de la 2e couche n'a pas un corps vide — Indy remplace +un `ContentText` vide par sa page `404 Not Found`. Il se distingue donc d'une +route inexistante (`{"error":"Not found"}`), ce qui **revele quelles routes +existent**. Sans consequence en production (jeton et controle de processus +actifs), mais contraire au principe du verrouillage. + +--- + ## Ce qu'aucun de ces essais ne prouve À dire clairement, pour ne pas se croire protégé de ce qu'on ne l'est pas :