docs(reseaux) : les navigateurs TikTok s'arrêtent entre deux publications #1825

Merged
foXaCe merged 7 commits from docs/navigateurs-tiktok-au-repos into main 2026-10-18 09:23:38 +02:00
Owner

Le constat

Les deux navigateurs pilotés du LXC 130 (navigateur pour @minutechatfr, navigateur-crayon pour
@crayondhier) tournaient 24 h/24 pour une tâche de quelques minutes, reseaux@tiktok-web, à 12 h 20.

Mesuré le 2026-10-17, sur trois relevés espacés :

conteneur CPU mémoire
navigateur-crayon 10,3 % en continu 613 Mo
navigateur 1,4 % 675 Mo
les deux -cdp (socat) 0 % ~1 Mo

Soit un demi-cœur et 1,3 Go permanents — pour rien.

Le correctif

Ils sont arrêtés au repos. Le 130 est passé de 1 154 Mo à ~100 Mo utilisés, et son allocation
mémoire de 8 Go à 4 (le reste de l'ancien chiffre était du cache disque, que le noyau libère à la demande).

Le réveil est porté par la tâche qui publie, pas par un minuteur :

pièce rôle
/opt/navigateur/reveiller.sh docker compose start des quatre services, puis attend que le CDP des deux navigateurs réponde
/opt/navigateur/reposer.sh docker compose stop des quatre services (jamais sans argument : les autres services du compose seraient touchés)
reseaux@tiktok-web.service.d/navigateurs.conf ExecStartPre / ExecStopPost

L'IP est relue par docker inspect à chaque fois (elle change d'un démarrage à l'autre : on l'a vu passer de
172.18.0.3 à 172.18.0.2), comme le fait déjà tiktok-web.py.

La session TikTok vit dans le profil du conteneur (/opt/navigateur/config, config-crayon) : elle survit
à l'arrêt. Vérifié au premier réveil : CDP Chrome/154 prêt en une vingtaine de secondes pour les deux comptes.

La note d'exploitation — avec la commande pour publier à la main — est dans _reseaux/COMPTES.md.

## Le constat Les deux navigateurs pilotés du LXC 130 (`navigateur` pour @minutechatfr, `navigateur-crayon` pour @crayondhier) tournaient **24 h/24** pour une tâche de quelques minutes, `reseaux@tiktok-web`, à 12 h 20. Mesuré le 2026-10-17, sur trois relevés espacés : | conteneur | CPU | mémoire | |---|---|---| | `navigateur-crayon` | **10,3 % en continu** | 613 Mo | | `navigateur` | 1,4 % | 675 Mo | | les deux `-cdp` (socat) | 0 % | ~1 Mo | Soit un demi-cœur et 1,3 Go permanents — pour rien. ## Le correctif Ils sont **arrêtés au repos**. Le 130 est passé de 1 154 Mo à **~100 Mo** utilisés, et son allocation mémoire de 8 Go à 4 (le reste de l'ancien chiffre était du cache disque, que le noyau libère à la demande). Le réveil est porté par la tâche qui publie, pas par un minuteur : | pièce | rôle | |---|---| | `/opt/navigateur/reveiller.sh` | `docker compose start` des quatre services, puis attend que le CDP des **deux** navigateurs réponde | | `/opt/navigateur/reposer.sh` | `docker compose stop` des quatre services (jamais sans argument : les autres services du compose seraient touchés) | | `reseaux@tiktok-web.service.d/navigateurs.conf` | `ExecStartPre` / `ExecStopPost` | L'IP est relue par `docker inspect` à chaque fois (elle change d'un démarrage à l'autre : on l'a vu passer de `172.18.0.3` à `172.18.0.2`), comme le fait déjà `tiktok-web.py`. La **session TikTok** vit dans le profil du conteneur (`/opt/navigateur/config`, `config-crayon`) : elle survit à l'arrêt. Vérifié au premier réveil : CDP `Chrome/154` prêt en une vingtaine de secondes pour les deux comptes. La note d'exploitation — avec la commande pour publier à la main — est dans `_reseaux/COMPTES.md`.
docs(reseaux): les navigateurs TikTok s'arrêtent entre deux publications
Some checks failed
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Failing after 2m24s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 3m18s
53ac740705
Deux Chromium tournaient 24 h/24 dans le LXC 130 pour une tâche de quelques minutes par jour : mesuré
le 2026-10-17, 10,3 % de CPU en continu sur `navigateur-crayon`, 1,4 % sur `navigateur`, 1,29 Go de
mémoire. Ils sont désormais arrêtés au repos (le 130 est passé de 1 154 à ~100 Mo utilisés, allocation
mémoire de 8 à 4 Go).

Le réveil est porté par la tâche qui publie : `ExecStartPre`/ExecStopPost` sur
`reseaux@tiktok-web`, via deux scripts sous /opt/navigateur. La session TikTok vit dans le profil du
conteneur, elle survit à l'arrêt. La commande pour publier à la main est écrite dans la note.
Collaborator

fusion-auto : pas de fusion, la CI est rouge (Rust). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la CI est rouge (Rust). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
relance CI (diagnostic executant LXC)
Some checks failed
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Failing after 2m8s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 3m16s
ec729eb4fb
relance CI (cache de compilation purge sur l'executant)
Some checks failed
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Failing after 3m23s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Has been cancelled
7e706f073b
relance CI (fuseau Europe/Paris pose sur l'executant)
Some checks failed
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Failing after 2m40s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 4m11s
2431d08137
Collaborator

fusion-auto : pas de fusion, la CI est rouge (Rust). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la CI est rouge (Rust). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
relance CI (coverage installe sur l'executant)
Some checks failed
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Failing after 5m4s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 8m46s
ab5e8cfc1b
Collaborator

fusion-auto : pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
Merge remote-tracking branch 'forge/main' into doc
Some checks failed
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Failing after 4m32s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 8m55s
fd6a213c80
Collaborator

fusion-auto : pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
foXaCe merged commit ec9b567d18 into main 2026-10-18 09:23:38 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/studio!1825
No description provided.