Petit four, l'application en ligne de génération de projets CakePHP

Confrontés à la pénibilité de notre travail de développeurs CakePHP et en particulier aux tâches répétitives et fastidieuses comme générer les modèles et les fichiers de base de nos applications, nous avons décidé de développer un outil simple et rapide pour concevoir et générer une base de données relationnelle puis générer automatiquement les fichiers de base suivant le modèle MVC nécessaires à CakePHP.

C'est ainsi qu'est né petit four, un outil permettant de modéliser l'architecture relationnelle d'un projet Web et tous les fichiers associés selon la norme CakePHP: modèles, contrôleurs et vues.  L'application permet bien sûr également de ne générer qu'une ou quelques tables et leurs fichiers MVC associés pour les intégrer à une application CakePHP existante. Les normes de CakePHP sont entièrement respectées afin de vous faciliter la tache et de respecter la doctrine convention plutôt que configuration.

Comment l'utiliser ?

Nous avons essayé de concevoir une interface aussi simple que possible, et aussi proche que possible des interfaces que nous avons l'habitude d'utiliser, particulièrement celle de phpMyAdmin.

Pour démarrer la génération de votre petit four, commencez par remplir les valeurs par défaut de votre application:

  • Valeurs des attributs par défaut pour chaque modèle qui sera généré: configuration de la clé primaire de la table, choix de l'inclusion et du format des attributs CREATED et Modified
  • Type par défaut des nouvelles colonnes que vous ajouterez dans les modèles existants

Ces valeurs peuvent être modifiées pendant la création de votre structure de base de données pour accélerer encore plus la création des nouveaux modèles ou des nouvelles colonnes.

Vous pouvez ensuite créer autant de modèles que vous voulez, en renseignant leur nom au singulier. Vous pouvez toujours ajouter des nouveaux modèles pendant la création de votre structure. Pour créer un modèle, rentrez son nom et appuyez sur la touche Entrée.

A l'intérieur des modèles, vous pouvez:

  • Ajouter une nouvelle colonne en renseignant son nom
  • Modifiez les caractéristiques des colonnes existantes de la table
  • Ajouter des règles de validation pour cette colonne dans le modèle
  • Créer une nouvelle relation : choissez un type de relation et un nom de modèle (l'input bénéficie d'un autocomplete mis à jour lors de chaque ajout de modèle). Les colonnes de la base de données ou la table croisée dans le cas d'une relation HABTM sont créées automatiquement. Vous pouvez également choisir des alias pour les relations, dans le cas de relations multiples entre deux modèles ou d'une relation d'un modèle vers lui-même.

Générer en ligne mon projet CakePHP

Fichiers générés par l'application

L'application génère une archive contenant :

  • Un fichier SQL contenant la base de donnée
  • L'architecture basique du répertoire App: Model, View, Controller
  • Les fichiers de chaque modèle avec les relations et les règles de validations remplies
  • Les fichiers de chaque contrôleur suivant le template de base de CakePHP
  • Une vue pour chaque action des contrôleurs suivant le template de base de CakePHP

Une fois cette archive générée, vous n'avez plus qu'à l'extraire dans une installation de CakePHP version 2.X minimum.

Évolutions à venir

La version actuelle de l'application est pour le moment très basique et se concentre sur la génération des fichiers et des attributs de modèles qui sont absolument nécessaires pour une application CakePHP. Cependant nous comptons très rapidement ajouter de nouvelles fonctionnalités pour enrichir les possibilités de génération automatique de code.

Voici les fonctionnalités que nous comptons im plémenter dans le futur:

  • Ajout de Virtual Fields au modèles
  • Paramètrage des règles de validation qui nécessitent de remplir des valeurs
  • Possibilité d'attacher des behaviors aux modèles
  • Possibilité d'avoir un template de génération des vues: Cake classique, Bootsrap ready, JQueryUI ready...
  • Editeur graphique pour la conception des modèles
  • Proposez nous !
Cette page appartient aux catégories suivantes: actualités , CakePHP.
5103
Petits fours servis