CRUD MyRole
Quel était l’objectif ?
L’objectif de ce projet était d’avoir une première approche de Symfony et de API Platform. A la fin de ce projet, j’ai pu passer à travailler sur la V3 de MyRole qui est en cours de développement.
Après avoir suivi le tuto de Grafikart sur Symfony, j’ai du recréer une mini version de MyRole.
J’ai décidé de forker un github d’un Symfony Docker pour avoir déjà une base créer. J’ai aussi fait ce choix car je ne voulais pas avoir de problème de version car je travaillais sur mon pc portable et mon pc fixe.
Exemple d’un controller Symfony (ici pour l’inscription)
J’ai choisi d’utiliser TWIG au début pour me familiariser avec ce langage de code (que j’utilise aussi pour l’intégration de contrat) et j’ai ajouté Tailwind CSS pour avoir des pages un minimum stylisé rapidement.
Exemple d’un template Twig (ici pour l’inscription)
J’ai du suivre un schéma de base de données auquel j’ai réfléchi avant de me lancer dans la programmation. Je me suis basé sur les éléments qui nous étaient demandés. J’ai d’ailleurs utilisé postgres SQL comme base de données car c’est celle qui est utilisé dans la V3 de MyRole (version sur laquelle je travaille depuis la fin de ce projet).
Après avoir fait toute la partie Symfony pur, j’ai fait une pause dans ce projet pour apprendre à utiliser API Platform. J’ai d’abord suivi le tuto de Grafikart sur API Platform puis j’ai fait quelques tests sur le projet que j’avais commencé en suivant le premier tuto. Ca m’a permis d’utiliser mon projet de test comme un playground pour bien découvrir l’usage d’API Platform.
J’ai donc repris mon projet de mini MyRole et j’ai modifié toute la partie backend pour qu’elle fonctionne avec API Platform.
Exemple d’API Resource (ici pour les contrats)
Récap démarche
- Suivi du tuto de Grafikart pour découvrir les bases de Symfony.
- Fork d’un projet Symfony Docker pour avoir un environnement stable sur plusieurs machines.
- Conception d’un schéma de base de données adapté aux besoins du projet.
- Utilisation de Twig pour le templating et intégration de Tailwind pour un style rapide et propre.
- Choix de PostgreSQL comme base de données pour rester cohérent avec la V3 de MyRole.
- Mise en pause du projet pour apprendre API Platform via un second tutoriel de Grafikart.
- Intégration d’API Platform dans le projet existant pour transformer le backend en API RESTful.
Résultat



Pistes d’améliorations
- Ajouter en front les données créé grâces à API Platform (ici, elles étaient simplement testé via requêtes sur Bruno)
- Rajouter un front-end en React pour avoir un vrai aperçu de la v3 de MyRole