Supercharged Presentation Generator
Un outil ultra-performant pour générer des présentations PowerPoint à partir de données CSV. Fait par Alexandre Enouf (Lead Dev BirdPerson Team) avec ❤️
OnePagerGenerator permet d'automatiser la création de rapports "One Pager" à grande échelle. Que vous ayez 10 ou 1000 présentations à générer, l'outil utilise un moteur Rust ultra-rapide pour traiter vos données et remplir vos templates PowerPoint en un clin d'œil.
- Multi-langues Automatique : Détecte automatiquement les langues disponibles dans vos templates (FR, EN, DE, IT, ES, etc.).
- Smart Mappings : Mappage intelligent entre vos colonnes CSV et vos tags PowerPoint (
<<Tag>>). - Comparaison YoY : Support pour les données de l'année précédente afin de générer des comparaisons historiques.
- Validation en Temps Réel : Vérification immédiate de la validité de vos fichiers CSV et de la structure de vos templates.
- Expérience Premium : Interface moderne, interactive et fluide avec des micro-animations.
- Frontend : React 19, Vite, Tailwind CSS, Framer Motion.
- Core Engine : Rust via Tauri 2.0.
- Gestionnaire de Paquets : pnpm.
- UI Components : Lucide React, Shadcn/ui inspiration.
Vous pouvez télécharger la dernière version stable pour macOS et Windows sur la page des Releases.
# Cloner le projet
git clone https://github.com/PartooHub/OnePagerGenerator.git
cd OnePager
# Installer les dépendances
pnpm installCe repository est configuré avec des GitHub Actions pour faciliter la maintenance :
- Releases Automatiques : Dès qu'un tag
v*est poussé sur GitHub, l'application est compilée pour macOS et Windows, et une release est créée automatiquement. - Landing Page : Le site de présentation dans le dossier
/websiteest automatiquement déployé sur GitHub Pages à chaque modification surmain.
Pour mettre à jour l'application et générer de nouveaux installeurs :
- Mettre à jour la version dans
package.jsonetsrc-tauri/tauri.conf.json. - Commiter les changements :
git add . git commit -m "Chore: Bump version to X.Y.Z" git push
- Créer et pousser le tag (déclenche le build) :
git tag vX.Y.Z git push origin vX.Y.Z
Tip
Relancer une release échouée : Si vous devez re-pousser le même tag (à éviter en temps normal), supprimez d'abord le tag local (git tag -d v1.0.0) et distant (git push origin :refs/tags/v1.0.0).
- Dossiers en local : Pour que l'application fonctionne, il est impératif que les dossiers du Drive (Templates, etc.) soient téléchargés et accessibles en local sur votre machine. L'app ne peut pas accéder aux fichiers s'ils sont uniquement dans le cloud.
- Matériel : Avoir un Mac Apple Silicon (processeur M1 minimum).
L'application scanne intelligemment le dossier que vous lui fournissez :
- Structure : Utilisez le dossier principal (celui du Drive). Il doit contenir un sous-dossier par langue (ex:
FR,EN,ES) avec les fichiers.pptxà l'intérieur. - Détection : Dès que ce dossier est sélectionné dans l'app, les langues disponibles sont détectées automatiquement.
- Sélection : Des boutons apparaissent pour chaque langue. Vous pouvez cliquer dessus pour désactiver celles dont vous n'avez pas besoin pour la génération en cours.
Si vous rencontrez un blocage Apple (Gatekeeper), ouvrez le Terminal et tapez la commande suivante pour retirer l'attribut de sécurité "quarantaine" :
xattr -cr /Applications/OnePagerGenerator.appVous pouvez ensuite lancer l'application normalement.
OnePager/
├── src/ # Code React (Interface utilisateur)
├── src-tauri/ # Code Rust (Moteur de génération PPTX)
│ ├── src/
│ │ ├── csv_handler.rs # Logique de lecture CSV
│ │ └── pptx_engine.rs # Moteur de fusion PowerPoint
├── public/ # Assets statiques
├── package.json # Scripts et dépendances
└── tauri.conf.json # Configuration Tauri
Alexandre Enouf
Lead Developer @ BirdPerson Team
Ce projet est sous licence MIT.