feat: docs Sphinx pipeline + lien dashboard header

This commit is contained in:
Flag
2026-04-23 21:17:49 +00:00
parent 1bbb6c8e6d
commit 91b25f0aae
90 changed files with 9557 additions and 5 deletions

162
docs/_build/html/_sources/data.rst.txt vendored Normal file
View File

@@ -0,0 +1,162 @@
Données — Stockage et budget disque
=====================================
Où sont stockées les données
------------------------------
.. list-table::
:header-rows: 1
:widths: 30 20 50
* - Type de donnée
- Emplacement
- Remarques
* - MP4 bruts GoPro
- z620 ``/mnt/portablessd``
- Ne quittent jamais z620. Jamais copiés sur workers.
* - Frames JPEG
- Worker ``/cosma-qc-frames/job_{id}/frame_*.jpg``
- Conservés pour reprise sur crash. Supprimables après validation du stitch.
* - PLY par job
- Worker ``/cosma-qc-frames/job_{id}/reconstruction.ply``
- Entrée du stitch per_auv.
* - PLY stitch par AUV
- Worker ``/cosma-qc-frames/stitch_{N}.ply``
- Fusion des segments d'un AUV.
* - PLY stitch global
- Worker ``/cosma-qc-frames/stitch_global.ply``
- Nuage de points final toute mission.
* - GLB (export web)
- Worker ``/cosma-qc-frames/job_{id}/reconstruction.glb``
- Généré à la demande. 5M points, ~76 MB.
Budget disque observé
----------------------
.. list-table::
:header-rows: 1
:widths: 40 30 30
* - Type
- Taille typique
- Base de calcul
* - Frames JPEG par job
- ~11 GB
- job 45 min à 2 fps, 1920x1080
* - PLY par job (reconstruction)
- 2 5 GB
- dépend de la densité de la scène
* - GLB par job (export web)
- ~76 MB
- 5M points (job_21 observé)
* - PLY stitch AUV
- variable
- somme des PLY segments
* - PLY global
- variable
- somme de tous les AUV
Pour un AUV avec 4 jobs de 45 min chacun :
- Frames : 4 x 11 GB = **~44 GB** (supprimables après validation)
- PLY jobs : 4 x 3.5 GB = **~14 GB**
- PLY stitch AUV : **~6-10 GB**
Politique de nettoyage
------------------------
Frames JPEG
^^^^^^^^^^^
Les frames sont conservées uniquement pour permettre la reprise sur crash.
Une fois le stitch per_auv validé visuellement, **les frames peuvent être supprimées**.
.. code-block:: bash
# Supprimer les frames d'un job (conserver le PLY !)
rm -rf /cosma-qc-frames/job_ID/frame_*.jpg
rm -f /cosma-qc-frames/job_ID/.video_*.done
# Vérifier que le PLY est intact avant suppression
ls -lh /cosma-qc-frames/job_ID/reconstruction.ply
PLY intermédiaires
^^^^^^^^^^^^^^^^^^
Les PLY par job peuvent être supprimés après que le stitch per_auv est validé
et sauvegardé hors-ligne.
.. code-block:: bash
# Conserver uniquement le stitch, supprimer les PLY jobs
rm /cosma-qc-frames/job_ID/reconstruction.ply
Vérification espace disque
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: bash
# Espace total workers
ssh floppyrj45@192.168.0.84 "df -h /cosma-qc-frames"
ssh floppyrj45@192.168.0.87 "df -h /cosma-qc-frames"
# Taille par job
du -sh /cosma-qc-frames/job_*/
# Top consommateurs
du -sh /cosma-qc-frames/* | sort -rh | head -20
Export GLB
-----------
Le GLB est une version allégée du nuage de points pour visualisation web.
Génération via l'API dashboard :
.. code-block:: bash
curl -X POST http://192.168.0.82:3849/jobs/ID/export_glb
Génération manuelle sur le worker :
.. code-block:: python
import trimesh, numpy as np
pc = trimesh.load('/cosma-qc-frames/job_ID/reconstruction.ply')
idx = np.random.choice(len(pc.vertices), 5_000_000, replace=False)
sub = trimesh.PointCloud(pc.vertices[idx], colors=pc.colors[idx])
sub.export('/cosma-qc-frames/job_ID/reconstruction.glb')
Téléchargement :
.. code-block:: bash
# Lancer le serveur HTTP sur le worker
ssh floppyrj45@192.168.0.84 \
"python3 -m http.server 8300 --directory /cosma-qc-frames"
# Télécharger depuis PC
wget http://192.168.0.84:8300/job_ID/reconstruction.glb
Reprise sur crash — marqueurs .done
-------------------------------------
Chaque MP4 extrait avec succès génère un fichier marqueur :
.. code-block:: text
/cosma-qc-frames/job_ID/.video_0.done
/cosma-qc-frames/job_ID/.video_1.done
...
En cas de crash, la reprise saute automatiquement les vidéos déjà traitées.
Pour forcer une ré-extraction complète :
.. code-block:: bash
rm /cosma-qc-frames/job_ID/.video_*.done