From 9525ed3953022686a893ecfce08680e79eae1027 Mon Sep 17 00:00:00 2001 From: Yvv Date: Sat, 28 Feb 2026 15:32:38 +0100 Subject: [PATCH] =?UTF-8?q?Bouton=20PDF=20par=20chapitre,=20badges=20morce?= =?UTF-8?q?aux=20am=C3=A9lior=C3=A9s,=20PDF=20configurable=20admin,=20git?= =?UTF-8?q?=20sync=20admin=E2=86=92prod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Bouton PDF blanc par chapitre avec numéro de page (ChapterHeader) - Badges morceaux plus visibles (bordure, poids, hover) dans ChapterHeader et SongBadges - PDF viewer : page cible + panneau signets ouverts par défaut (BookPdfReader) - Config YAML : pdfFile dans book, chapterPages pour le mapping chapitre→page - Admin book : section PDF du livre avec chemin éditable et sauvegarde - Git sync automatique : chaque sauvegarde admin commit+push en prod (ADMIN_GIT_SYNC=true) - Docker : git installé en prod, volumes pour .git/site/content/public Co-Authored-By: Claude Opus 4.6 --- app/components/book/BookPdfReader.vue | 13 +++- app/components/book/ChapterHeader.vue | 69 ++++++++++++++++- app/components/song/SongBadges.vue | 2 +- app/composables/useBookData.ts | 14 +++- app/pages/admin/book/index.vue | 80 ++++++++++++++++++++ app/types/book.ts | 7 ++ docker/Dockerfile | 2 +- docker/docker-compose.yml | 7 ++ server/api/admin/chapters/[slug].delete.ts | 1 + server/api/admin/chapters/[slug].put.ts | 1 + server/api/admin/chapters/index.post.ts | 1 + server/api/admin/chapters/index.put.ts | 2 + server/api/admin/content/config.put.ts | 1 + server/api/admin/content/pages/[name].put.ts | 1 + server/api/admin/content/site.put.ts | 1 + server/api/admin/media/[...path].delete.ts | 1 + server/api/admin/media/upload.post.ts | 4 + server/api/admin/messages/[id].delete.ts | 1 + server/api/admin/messages/[id].put.ts | 1 + server/utils/gitSync.ts | 44 +++++++++++ site/bookplayer.config.yml | 24 ++++++ 21 files changed, 271 insertions(+), 6 deletions(-) create mode 100644 server/utils/gitSync.ts diff --git a/app/components/book/BookPdfReader.vue b/app/components/book/BookPdfReader.vue index 9d27847..646a527 100644 --- a/app/components/book/BookPdfReader.vue +++ b/app/components/book/BookPdfReader.vue @@ -22,6 +22,7 @@