secubox-openwrt/package/secubox/secubox-app-metabolizer/README.fr.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
Add complete French (fr) and Chinese (zh) translations for all documentation:

- Root files: README, CHANGELOG, SECURITY, BETA-RELEASE
- docs/: All 16 core documentation files
- DOCS/: All 19 deep-dive documents including embedded/ and archive/
- package/secubox/: All 123+ package READMEs
- Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/

Total: 346 translation files created

Each file includes language switcher links for easy navigation between
English, French, and Chinese versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 10:00:18 +01:00

6.9 KiB

Metabolizer Blog Pipeline

Languages: English | Francais | 中文

Un pipeline CMS complet integrant Gitea, Streamlit et HexoJS pour SecuBox OpenWrt.

┌─────────────────────────────────────────────────────────────────────────┐
│                      PIPELINE METABOLIZER                                │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐               │
│  │   GITEA      │───►│  STREAMLIT   │───►│   HEXOJS     │───► PORTAL   │
│  │   Stockage   │    │   App CMS    │    │   Generateur │    (statique)│
│  └──────────────┘    └──────────────┘    └──────────────┘               │
│        │                    │                    │                       │
│   Clone depuis          Editer posts        clean →                      │
│   URL GitHub            + medias          generate →                     │
│                                            publish                       │
└─────────────────────────────────────────────────────────────────────────┘

Fonctionnalites

  • Integration Gitea - Mirrorer des repos GitHub, stocker le contenu du blog localement
  • CMS Streamlit - Editeur markdown web avec apercu en direct
  • Generateur HexoJS - Generation de site statique avec theme cyberpunk
  • Automatisation par webhook - Reconstruction automatique sur git push
  • Acces Portal - Blog statique servi sur /blog/

Installation

opkg install secubox-app-metabolizer
metabolizerctl install

Dependances

  • secubox-app-gitea - Serveur de depots Git
  • secubox-app-streamlit - Serveur d'applications Streamlit
  • secubox-app-hexojs - Generateur de site statique
  • rsync - Synchronisation de fichiers
  • git - Controle de version

Demarrage rapide

1. Installer le pipeline

metabolizerctl install

Cela va :

  • Creer le repo blog-content dans Gitea
  • Deployer l'application CMS sur Streamlit
  • Configurer les webhooks pour la reconstruction automatique

2. Mirrorer depuis GitHub (optionnel)

metabolizerctl mirror https://github.com/user/my-blog.git

3. Acceder au CMS

Ouvrez http://<ip-routeur>:8501 dans votre navigateur.

4. Voir votre blog

Naviguez vers http://<ip-routeur>/blog/

Commandes

Commande Description
metabolizerctl install Configurer les repos, webhooks, deployer le CMS
metabolizerctl uninstall Supprimer la configuration metabolizer
metabolizerctl status Afficher le statut du pipeline (JSON)
metabolizerctl mirror <url> Cloner un repo GitHub vers Gitea
metabolizerctl sync Tirer les dernieres modifications de tous les repos
metabolizerctl build Executer Hexo clean → generate → publish
metabolizerctl publish Copier le site statique vers le portal
metabolizerctl cms deploy Deployer l'application CMS sur Streamlit
metabolizerctl cms update Tirer et redemarrer le CMS

Pages CMS

Editeur (/pages/1_editor.py)

Editeur markdown a deux colonnes avec :

  • Apercu en direct
  • Editeur YAML front matter (titre, date, categories, tags)
  • Enregistrer comme brouillon ou publier directement
  • Declencher le build Hexo depuis l'interface

Articles (/pages/2_posts.py)

Gerer votre contenu :

  • Voir les articles publies et les brouillons
  • Editer, supprimer, publier/depublier
  • Synchroniser depuis Git
  • Reconstruire le blog

Medias (/pages/3_media.py)

Bibliotheque de medias :

  • Upload d'images par glisser-deposer
  • Vue galerie avec miniatures
  • Copier le code markdown pour l'integration
  • Synchronisation automatique vers le blog

Parametres (/pages/4_settings.py)

Controles du pipeline :

  • Statut des services (Gitea, Streamlit, HexoJS)
  • Operations Git (pull, status, mirror)
  • Pipeline de build (clean, generate, publish)
  • Configuration du portal

Configuration

Configuration UCI dans /etc/config/metabolizer :

config metabolizer 'main'
    option enabled '1'
    option gitea_url 'http://127.0.0.1:3000'
    option webhook_port '8088'

config content 'content'
    option repo_name 'blog-content'
    option repo_path '/srv/metabolizer/content'

config hexo 'hexo'
    option source_path '/srv/hexojs/site/source/_posts'
    option public_path '/srv/hexojs/site/public'
    option portal_path '/www/blog'
    option auto_publish '1'

config portal 'portal'
    option enabled '1'
    option url_path '/blog'

Flux de donnees

1. L'auteur ecrit un article dans le CMS Streamlit
         │
         ▼
2. Le CMS commit + push vers Gitea
         │
         ▼
3. Le webhook Gitea declenche metabolizer-webhook
         │
         ▼
4. Le webhook execute : sync → build → publish
         │
         ├─► git pull du repo de contenu
         ├─► rsync des posts vers la source Hexo
         ├─► hexoctl clean
         ├─► hexoctl generate
         └─► rsync public/ vers /www/blog/
                  │
                  ▼
5. Blog accessible sur http://routeur/blog/

Structure des repertoires

/srv/metabolizer/
├── content/              # Repo git du contenu du blog
│   ├── _posts/          # Fichiers markdown publies
│   ├── _drafts/         # Brouillons
│   └── images/          # Fichiers medias

/srv/hexojs/site/
├── source/_posts/       # Source Hexo (synchronisee depuis content)
└── public/              # Site statique genere

/www/blog/               # Fichiers statiques du portal (publies)

Integration webhook

L'ecouteur webhook fonctionne sur le port 8088 (configurable) et gere :

  • Push du repo de contenu → Sync + Build + Publish
  • Push du repo CMS → Mettre a jour l'application Streamlit

URL du webhook : http://<ip-routeur>:8088/webhook

Depannage

Verifier le statut des services

metabolizerctl status

Voir les logs

logread | grep metabolizer

Reconstruction manuelle

metabolizerctl sync
metabolizerctl build

Reinitialiser le pipeline

metabolizerctl uninstall
metabolizerctl install

Licence

MIT License - CyberMind Studio