Extension VSCode - PHP DAO Generator
Extension VSCode permettant de générer automatiquement des fichiers DAO PHP à partir des attributs d'une table de base de données. Connexion au serveur via formulaire intégré, génération de code optimisée et monitoring avec Sentry. Disponible sur le marketplace VSCode.
À propos du projet
Ce projet a été développé à la demande de mon maître d’apprentissage au Conseil Départemental du Val-de-Marne.
L’objectif était de simplifier et d’accélérer la création des objets DAO utilisés quotidiennement par l’équipe, en automatisant une tâche répétitive et source d’erreurs lorsqu’elle est réalisée manuellement.
Les DAO (Data Access Objects) constituent un élément central de l’architecture PHP interne : ils assurent l’accès aux données stockées dans différents systèmes de gestion de base de données.
L’extension permet aujourd’hui de générer ces fichiers en quelques secondes, tout en garantissant une structure cohérente et homogène.
Fonctionnalités principales
- Connexion simple aux serveurs de bases de données via un formulaire intégré.
- Exploration des bases, schémas et tables directement depuis la sidebar VSCode.
- Génération automatique de fichiers DAO à partir de la structure des tables.
- Deux modes de génération :
- • Sauvegarder : crée une sauvegarde dans backup/ avant d'écraser.
- • Écraser : remplace directement les fichiers existants.
- Monitoring intégré via Sentry pour remonter les erreurs des utilisateurs et améliorer la stabilité.
Détails techniques
Développement
- Extension a été développée en TypeScript.
- Architecture pensée pour être modulaire et facilement extensible.
- Gestion d’erreurs renforcée grâce à Sentry.
CI/CD – Workflows GitHub Actions
- Trois workflows assurent le contrôle qualité, la cohérence et la publication automatisée de l'extension.
- 1. Copilot Code Review : Analyse automatique des fichiers modifiés dans une PR, résumé des changements (lignes ajoutées/supprimées), détection des
console.logindésirables et publication d'un commentaire automatique sur la PR avec les recommandations d'amélioration.
But : assurer une première passe de revue de code automatisée et pédagogique. - 2. PR Checks : Composé de deux blocs
pr-lint (valide le format du titre de la PR selon Conventional Commits et ajoute automatiquement un labelneeds-review)
code-quality (installation et vérification du projet avec Node 22 +npm ci, exécution detsc --noEmitpour assurer la validité des types TypeScript, ajout automatique d'un commentaire si une erreur bloque la PR).
But : garantir une base de code propre, typée et conforme avant chaque merge. - 3. Release : Build automatique de l'extension, packaging via
vsce, possibilité de publier sur le VSCode Marketplace via unworkflow_dispatchet exécution du script de release (semantic-release).
But : uniformiser et fiabiliser les livraisons de version.
Déploiement
- La publication de l'extension est automatisée grâce à Azure, permettant l'hébergement des artefacts de build, la gestion sécurisée du jeton VSCE et le déclenchement des workflows de publication.
- Ce pipeline garantit des mises à jour rapides, cohérentes et reproductibles.
Monitoring
- J'ai utilisé Sentry pour récupérer les erreurs utilisateurs pour de les résoudre au plus vite afin d'éviter une mauvaise expérience utilisateur.
Galerie d'images
Procesus de génération
Workflow CI/CD
Pipline et surveillance automatisés