Ressources et médias (images, vidéos, MinIO)
Les images, vidéos et autres binaires de la documentation peuvent être externalisés dans un bucket MinIO (S3-compatible) déjà déployé, pour alléger le dépôt et permettre des fichiers volumineux.
Principe
- En markdown, vous référencez les ressources par un chemin relatif :
assets/images/...,assets/videos/.... - Si une URL de base (MinIO) est configurée au build, le site généré pointe automatiquement vers le bucket au lieu du site statique.
- Sans URL de base, les ressources peuvent rester locales (dossier
docs/.../assets/dans le dépôt).
Structure recommandée dans MinIO
Organisation suggérée dans le bucket (ex. admin-docs ou sysgardes-docs) :
bucket/
└── assets/
├── images/ # Captures d'écran, schémas, icônes
│ ├── fr/ # (optionnel) par langue
│ └── en/
├── videos/ # Tutoriels vidéo, démonstrations
└── pdf/ # Fichiers PDF joints
- Chemin unique :
assets/images/capture-planning.png(partagé fr/en) ou par langue :assets/images/fr/planning.png,assets/images/en/planning.png.
Référencer une ressource dans le markdown
Avec URL de base configurée (MinIO)
Utilisez le chemin relatif assets/... :

Lors du build, le plugin remplace automatiquement par l’URL complète du bucket (ex. https://minio.example.com/bucket/admin-docs/assets/images/capture-planning.png).
Vidéos
[Voir la démo](assets/videos/demo-planning.mp4)
Ou en HTML si besoin (lecteur vidéo) :
<video controls src="assets/videos/demo-planning.mp4" width="640"></video>
Sans MinIO (ressources locales)
Placez les fichiers dans le dépôt, par exemple :
docs/fr/guide/assets/images/etdocs/en/guide/assets/images/
Puis référencez par rapport au dossier assets/ au même niveau que la page, ou utilisez un chemin relatif au fichier .md. Sans assets_base_url, les liens assets/... restent relatifs au site (il faut alors que les fichiers soient copiés dans le build ; voir ci‑dessous).
Configuration de l’URL de base (MinIO)
Dans mkdocs.yml
extra:
assets_base_url: 'https://minio.votredomaine.bf/bucket/admin-docs'
(Remplacez par l’URL réelle du bucket, sans slash final.)
Au build (CI / Docker)
- Variable d’environnement : le plugin lit
ASSETS_BASE_URL. Exemple :
export ASSETS_BASE_URL=https://minio.example.com/bucket/admin-docs
mkdocs build
- Docker : transmettre l’argument au build :
docker build --build-arg ASSETS_BASE_URL=https://minio.example.com/bucket/admin-docs -f guide-docs/Dockerfile -t admin-docs .
Upload des fichiers vers MinIO
Client MinIO (mc)
- Configurer l’alias (une fois) :
mc alias set myminio https://minio.example.com ACCESS_KEY SECRET_KEY
- Créer le bucket si besoin, puis envoyer les fichiers :
mc mb myminio/admin-docs --ignore-existing
mc cp --recursive guide-docs/local-assets/ myminio/admin-docs/assets/
Politique d’accès
- Pour un site docs public : policy en lecture publique sur le préfixe
assets/(GetObject). - Pour un accès restreint : laisser le bucket privé et servir les médias via un reverse‑proxy ou une URL signée (à configurer côté infra).
Récapitulatif
| Élément | Détail |
|---|---|
| Où stocker | Bucket MinIO (ex. admin-docs), préfixe assets/. |
| En markdown |  ou ](assets/videos/nom.mp4). |
| Build | extra.assets_base_url dans mkdocs.yml ou ASSETS_BASE_URL à l’exécution. |
| Upload | mc cp, interface MinIO ou script CI. |
Voir aussi : Déploiement et authentification (Keycloak) pour la mise en ligne du site.