Commit Graph
569 Commits
Author SHA1 Message Date
Michael a512084f1b fixing sql conrole 2026-01-22 16:10:54 +01:00
Michael 8434e7a5a4 fix réél publication 2026-01-22 16:02:45 +01:00
Michael dc60a12cd3 ffmpeg fix 2026-01-22 15:56:17 +01:00
Michael 951606076e fix new_reel.tsx 2026-01-22 15:38:57 +01:00
Michael 19d0c333ac fix dockerfile 2026-01-22 15:34:45 +01:00
Michael 9ffd92f6bf add TTS voice 2026-01-22 15:28:00 +01:00
Michael 44928c61b8 fix ffmpeg 2026-01-22 15:18:59 +01:00
Michael ba81447d10 fix authentification 2026-01-22 14:41:03 +01:00
Michael 366fa2f15f feat: Add mobile adaptation for Reels/History and fix FFmpeg service architecture 2026-01-22 13:53:55 +01:00
Michael 1050f351c2 main.py fix 2026-01-22 13:47:22 +01:00
Michael 430187cbad feat: Implement a FastAPI-based FFmpeg service for video processing, including API key authentication, video/audio input handling, text overlay, and audio mixing. 2026-01-22 13:11:24 +01:00
Michael e29048d374 feat: Introduce a dedicated FFmpeg microservice for video processing, integrated into the Docker Compose setup. 2026-01-22 13:06:00 +01:00
Michael 8fde238369 chore: Update server CSP configuration 2026-01-22 12:58:03 +01:00
Michael f2cdd0a71c feat: implement new reel creation page with video, music, text, and publishing workflow. 2026-01-22 12:53:36 +01:00
Michael 973bf5186c feat: Replace Jamendo with FreeSound API for Reel music 2026-01-22 12:31:30 +01:00
Michael c6ecb195ef fix: Add empty state message for music step when Jamendo not configured 2026-01-22 12:17:50 +01:00
Michael 4903aa5555 fix: Improve Reel text generation and add FFmpeg settings - Fix generate-text to use productInfo as ProductInfo object - Add FFmpeg API configuration section in Settings page - Add /api/ffmpeg/config GET/POST routes 2026-01-22 12:07:58 +01:00
Michael c2c2fef62f fix: Configure Jamendo service at startup with demo client ID 2026-01-22 12:01:39 +01:00
Michael 3d494d4056 feat: Add Facebook Reels with music and text overlay - Add ffmpeg.ts service for Docker FFmpeg API integration - Add jamendo.ts service for royalty-free music search - Add publishReel methods to facebook.ts - Add reels API routes (music search, AI text generation, create/preview) - Add new-reel.tsx frontend with 4-step workflow - Add 'reel' type to postTypeEnum - Update navigation with Nouveau Reel link 2026-01-22 11:57:27 +01:00
Michael 7b39b34afb fix(analytics): auto-heal token status on successful sync 2026-01-21 16:19:58 +01:00
Michael c37a56b366 fix: reset token status on update and suppress metric errors 2026-01-21 16:14:08 +01:00
Michael 566782fa82 chore(debug): add verbose logging for analytics token validation 2026-01-21 16:09:21 +01:00
Michael ad22aea55e fix(analytics): handle expired tokens gracefully to prevent 500 errors 2026-01-21 16:03:30 +01:00
Michael 1f76a72100 docs: Update task.md with recent fixes 2026-01-20 14:42:26 +01:00
Michael 1bdbbfaa88 fix(server): Unify encryption logic in TokenManager to match storage service 2026-01-20 14:40:01 +01:00
Michael 54033ed6ed fix(server): Auto-expire invalid Facebook tokens on sync failure 2026-01-20 14:37:08 +01:00
Michael 8c911f0fb1 fix(analytics): Improve error handling and partial extraction 2026-01-20 14:35:45 +01:00
Michael f8db96084b feat(i18n): Translate analytics to French 2026-01-20 14:27:17 +01:00
Michael 4c06e5951d feat(db): Add automated safe migration on startup 2026-01-20 14:03:58 +01:00
Michael 60e89cb2bf fix(deploy): Remove blocking auto-migration from docker-compose 2026-01-20 14:00:51 +01:00
Michael e7e9a2fb1b fix(build): Resolve circular dependencies and type errors 2026-01-20 13:56:45 +01:00
Michael f8ddb44e38 feat(analytics): Implement Analytics Dashboard and Token Management 2026-01-20 13:49:24 +01:00
Michael b38f082d6e fix: télécharger l'image avant traitement Sharp pour les stories avec texte 2026-01-20 11:34:59 +01:00
Michael 4f8bab176a fix: génération automatique de la clé de chiffrement au lancement Docker 2026-01-20 11:10:22 +01:00
Michael 4b779838b3 Fix: Pre-process Facebook story images with sharp to correct EXIF orientation 2026-01-14 09:34:42 +01:00
Michael 509e36a05e fix: auto-rotate images based on EXIF orientation for Facebook stories 2026-01-12 13:50:28 +01:00
Michael 6c299b954a fix: auto-rotate images based on EXIF data 2026-01-07 20:51:56 +01:00
Michael 55c2bfdeb7 fix: add trust proxy for nginx reverse proxy support 2026-01-07 15:02:40 +01:00
Michael 633875e8ec feat(security): implement security fixes - Add AES-256-GCM encryption for Facebook/Instagram tokens - Add helmet for HTTP security headers - Add rate limiting (5 login attempts, 100 req/15min) - Add file upload validation (50MB max, MIME type whitelist) - Secure SQL console endpoint (disabled in production) - Enforce SESSION_SECRET in production 2026-01-07 14:57:36 +01:00
LogiFlow c3660f811b Merge pull request #107 from R0m1k3/dev
Dev
2025-12-30 13:07:40 +01:00
Michael 65b2e39af2 Resolve merge conflict in emojiRenderer.ts 2025-12-30 13:07:08 +01:00
Michael ba618bfe79 feat: Introduce EmojiRenderer service for canvas, enabling text rendering with Twemoji emojis, caching, and wrapping. 2025-12-30 13:03:11 +01:00
Michael 6b88b3ad02 fix: downgrade canvas dependency from ^3.2.0 to ^2.11.2 2025-12-23 11:30:21 +01:00
Michael 4e209ac367 feat: implement client-side emoji parsing for display and server-side emoji rendering to canvas. 2025-12-23 11:18:07 +01:00
Michael 6be8bbf628 feat: add script to reproduce emoji rendering to a PNG image file. 2025-12-04 14:27:48 +01:00
LogiFlow 6a8bbd5e2f Merge pull request #106 from R0m1k3/claude/analyze-codebase-01XdqnCRHEvL9VWeHDNGVPkA
Claude/analyze codebase 01 xdqn crh ev l9 v we hdngv pk a
2025-11-29 13:32:41 +01:00
Claude 3cc72fb80d chore: Ajouter dépendance @twemoji/api pour support emojis 2025-11-29 12:27:13 +00:00
Claude 88d5a56b01 fix: Utiliser cache local pour les emojis dans les stories Facebook
Problème: Les emojis s'affichaient comme des codes hexadécimaux (01F, 4E2, ABC)
dans les stories Facebook car le serveur ne pouvait pas télécharger les images
depuis les CDN externes (jsDelivr, Twemoji).

Solution: Système de cache local à 3 niveaux
1. **Cache mémoire**: Les emojis déjà chargés restent en RAM
2. **Cache disque**: Les emojis téléchargés sont sauvegardés dans server/assets/emoji/
3. **Téléchargement à la demande**: Si un emoji n'existe pas localement, il est téléchargé une seule fois puis réutilisé

Avantages:
- ✅ Les emojis ne sont téléchargés qu'une seule fois
- ✅ Temps de chargement ultra-rapide après le premier téléchargement
- ✅ Fonctionne même si le CDN est temporairement indisponible
- ✅ Pas besoin de pré-télécharger tous les emojis (3000+ fichiers)
- ✅ Les emojis utilisés fréquemment sont mis en cache

Les emojis devraient maintenant s'afficher correctement comme de vraies
images colorées dans les stories Facebook, pas comme des codes hexadécimaux !
2025-11-29 12:26:06 +00:00
LogiFlow 54725c7088 Merge pull request #105 from R0m1k3/claude/analyze-codebase-01XdqnCRHEvL9VWeHDNGVPkA
feat: Ajouter versions mobiles complètes pour toutes les pages
2025-11-29 12:01:44 +01:00
Claude ad97da0f50 feat: Ajouter versions mobiles complètes pour toutes les pages
Implémentation d'un système responsive robuste avec détection automatique
du type d'appareil et switch transparent entre versions desktop et mobile.

## Nouvelles fonctionnalités

### 1. Hook de détection mobile (useIsMobile)
- Détection via media query (max-width: 768px)
- Validation supplémentaire via user agent
- Support des changements dynamiques de taille d'écran
- Hook useDeviceType pour détection granulaire (mobile/tablet/desktop)

### 2. Composant ResponsiveRoute
- Switch automatique entre versions desktop/mobile
- Lazy loading des composants pour performances optimales
- Factory function createResponsiveRoute pour création facile
- Suspense avec fallback de chargement

### 3. Pages mobiles optimisées (10 pages)
**Pages créées :**
- dashboard.tsx - Tableau de bord
- new-post.tsx - Création de posts (interface tactile optimisée)
- calendar.tsx - Calendrier
- media.tsx - Bibliothèque de médias
- image-editor.tsx - Éditeur d'images
- pages.tsx - Gestion des pages sociales
- ai.tsx - Assistant IA (admin)
- settings.tsx - Paramètres (admin)
- users-admin.tsx - Gestion utilisateurs (admin)
- sql.tsx - Administration SQL (admin)

**Optimisations mobiles appliquées :**
- Layout en colonne unique (au lieu de multi-colonnes)
- Boutons tactiles : min-height 44-52px (Apple guidelines)
- Grilles adaptées (2 colonnes au lieu de 3 pour médias)
- Navigation simplifiée avec menu hamburger
- Dialogs en plein écran (95vw sur mobile)
- Tables converties en cards empilées
- Boutons d'action en colonne au lieu de ligne
- Padding et espacement optimisés pour petits écrans
- Typographie réduite (text-2xl au lieu de 3xl)
- Touch-manipulation sur zones interactives
- Bottom fixed buttons pour actions principales
- Inputs full-width avec min-height 48px

### 4. Routing automatique
- App.tsx modifié pour utiliser createResponsiveRoute
- Détection transparente du device
- Lazy loading de toutes les routes
- Aucun changement d'URL entre versions

## Performances

- Code splitting automatique (lazy loading)
- Seule la version nécessaire est chargée
- Cache des composants chargés
- Réduction de la taille du bundle initial

## Tests à effectuer

1. Rétrécir la fenêtre du navigateur < 768px
2. Utiliser les DevTools mobile
3. Tester sur un vrai appareil mobile
4. Vérifier que toutes les fonctionnalités marchent

Les utilisateurs bénéficient maintenant d'une expérience optimale sur mobile !
2025-11-29 10:59:41 +00:00