chore: outils preview, mesure, design system et Dockerfile
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
||||
#!/bin/sh
|
||||
# preview.sh — wrapper hôte GrosseBertha · Chantier C2
|
||||
# Usage : ./preview.sh <chemin/vers/deck.pptx> [dpi]
|
||||
# Convertit le deck en PNG par slide via le conteneur sliding-preview.
|
||||
# Sortie : <dossier du pptx>/<nom>_previews/ (slide-NN.png + index.html)
|
||||
#
|
||||
# Prérequis : image construite (cd docker/preview && docker build -t
|
||||
# sliding-preview .) et droits docker pour l'utilisateur (voir notes C2).
|
||||
#
|
||||
# Env optionnels :
|
||||
# FONTS_DIR — dossier des TTF PR (défaut ./assets/fonts s'il existe)
|
||||
# DOCKER_BIN — binaire docker (défaut docker)
|
||||
# PREVIEW_MEM — limite RAM du conteneur (défaut 1200m — DS218 2 Go)
|
||||
|
||||
PPTX="$1"
|
||||
DPI="${2:-110}"
|
||||
DOCKER_BIN="${DOCKER_BIN:-docker}"
|
||||
PREVIEW_MEM="${PREVIEW_MEM:-1200m}"
|
||||
|
||||
# Docker exige root sur ce NAS : s'auto-élever si besoin (C2)
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
exec sudo "$0" "$@"
|
||||
fi
|
||||
|
||||
if [ -z "$PPTX" ]; then
|
||||
echo "usage: preview.sh <deck.pptx> [dpi]" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "$PPTX" ]; then
|
||||
echo "preview: fichier introuvable: $PPTX" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Chemins absolus (le dossier du pptx est monté sur /work)
|
||||
WORK=$(cd "$(dirname "$PPTX")" && pwd)
|
||||
NAME=$(basename "$PPTX")
|
||||
|
||||
# Polices PR : défaut ./assets/fonts relatif au dossier de ce script
|
||||
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|
||||
if [ -z "$FONTS_DIR" ] && [ -d "$SCRIPT_DIR/assets/fonts" ]; then
|
||||
FONTS_DIR="$SCRIPT_DIR/assets/fonts"
|
||||
fi
|
||||
|
||||
FONT_MOUNT=""
|
||||
if [ -n "$FONTS_DIR" ] && [ -d "$FONTS_DIR" ]; then
|
||||
FONT_MOUNT="-v $FONTS_DIR:/fonts:ro"
|
||||
fi
|
||||
|
||||
exec "$DOCKER_BIN" run --rm \
|
||||
--memory "$PREVIEW_MEM" --memory-swap "$PREVIEW_MEM" \
|
||||
-v "$WORK:/work" \
|
||||
$FONT_MOUNT \
|
||||
sliding-preview "/work/$NAME" "$DPI"
|
||||
Reference in New Issue
Block a user