v1.0 terminée
v2.0 en cours

MmiPdf

Développement Web
2025

Description du Projet

MmiPdf est un micro-service spécialisé dans la génération de fichiers PDF, développé avec Symfony et intégré avec Gotenberg. Ce service permet aux utilisateurs de créer des documents PDF à partir de différentes sources, comme des URL, des fichiers ou un éditeur WYSIWYG.

Le projet implémente un système d'abonnement à plusieurs niveaux qui limite les fonctionnalités accessibles selon le plan choisi par l'utilisateur. Une interface utilisateur intuitive développée avec Twig facilite la gestion des comptes, la génération de PDF et la consultation de l'historique des documents.

L'architecture en micro-service offre une excellente modularité et permet un déploiement automatisé, garantissant une haute disponibilité et une maintenance simplifiée du service.

Développement futur (v2 - 2025) : Une nouvelle version est actuellement en développement qui permettra de convertir des documents Word, PowerPoint, Excel et des images en PDF, offrant ainsi une solution complète de conversion de documents.

Me contacter

Aperçu du Projet

Site bientôt disponible

La version 1.0 de MmiPdf sera déployée prochainement. En attendant, vous pouvez consulter le code source sur GitHub.

Le site web de MmiPdf sera bientôt accessible. Revenez plus tard pour tester la plateforme !

Voir le Code Source

Le code source de MmiPdf v1.0 est disponible sur GitHub. Vous pouvez explorer l'implémentation du micro-service PDF développé avec Symfony et l'intégration avec Gotenberg.

Outils et Technologies

Symfony

Framework PHP utilisé pour développer l'application principale et le micro-service, avec utilisation de Symfony HttpClient pour l'intégration avec Gotenberg.

Docker

Déploiement et orchestration de containers pour Symfony, MySQL, Mailer et Gotenberg, permettant une configuration cohérente et reproductible de l'environnement.

Gotenberg

API Docker pour la conversion de documents en PDF, intégrée comme service externe avec un container dédié.

Twig

Moteur de templates utilisé pour créer l'interface utilisateur avec des extensions personnalisées pour le comptage de PDF et l'affichage des limites d'abonnement.

JavaScript

Utilisé pour créer des éléments interactifs comme les popups de confirmation, les formulaires dynamiques et les animations de l'interface utilisateur.

MySQL

Système de gestion de base de données relationnelle déployé dans un container Docker pour le stockage des données utilisateurs, abonnements et historique PDF.

Symfony Mailer

Service d'envoi d'emails conteneurisé pour les notifications, confirmations d'inscription et envoi de PDF générés aux utilisateurs.

EasyAdmin

Bundle Symfony pour la création rapide d'interfaces d'administration personnalisées pour la gestion des utilisateurs et abonnements.

Cypress

Framework de test end-to-end permettant de simuler les interactions utilisateur et de valider le fonctionnement de l'interface dans des scénarios réels.

Postman

Outil de test et de documentation des API utilisé pour valider les endpoints du micro-service et faciliter l'intégration avec l'application principale.

Détails Techniques

Architecture Micro-service

Service PDF isolé communiquant via API avec l'application principale, permettant une meilleure modularité, scalabilité et facilité de maintenance.

Assurance Qualité

Suite complète de tests avec PHPUnit pour les tests unitaires, Cypress pour les tests end-to-end, et intégration continue via Git Actions déployable localement avec Act.

Système Multi-format

Architecture prête pour l'extension à la conversion de formats additionnels (Word, Excel, PowerPoint, images) dans la version 2.0 prévue pour 2025.

Sécurité Renforcée

Analyse continue des vulnérabilités avec Snyk, authentification sécurisée, validation stricte des entrées, et contrôle granulaire des permissions basé sur les abonnements.

API RESTful

Développement d'API RESTful complètes avec API Platform, testées avec Postman et comportant une documentation interactive automatique.

Déploiement Automatisé

Workflow CI/CD pour le déploiement automatisé de l'application avec tests préalables, réduisant les erreurs et simplifiant les mises à jour.

Processus de Développement

1

Architecture Micro-service

Conception de l'architecture micro-service, définition des API et interfaces, et configuration de l'environnement de développement avec Symfony et Gotenberg.

2

Système d'Authentification

Implémentation du système d'inscription, de connexion et de vérification par email, avec récupération de mot de passe et gestion des sessions sécurisées.

3

Génération de PDF

Intégration de Gotenberg via Symfony HttpClient pour permettre la génération de PDF à partir de différentes sources, avec optimisation des performances et gestion des erreurs.

4

Gestion des Abonnements

Développement du système d'abonnement multiniveau avec limitations fonctionnelles, upgrades/downgrades et alertes utilisateur pour la gestion des limites atteintes.

5

Interface Admin et Personnalisation

Mise en place de l'interface administrateur avec EasyAdmin, ajout d'extensions Twig personnalisées pour améliorer l'expérience utilisateur et implémentation des traductions multilingues.

6

Développement Version 2.0

Développement actif de nouvelles fonctionnalités pour la conversion de documents Word, Excel, PowerPoint et images. Implémentation en cours avec refactorisation de l'architecture pour supporter ces nouveaux formats.

Retour aux projets