Design Deploy

Générateur de code pour applications
Comment ca marche ?

Principe de fonctionnement

Un fichier XML, plusieurs résultats possibles.



DesignDeploy est un outil qui prend un fichier XML en entrée (= la définition de votre entité), utilise un fichier de configuration et génrère les fichiers de différentes natures pour l'ensemble de votre application. Plusiers thèmes sont disponibles pour produire rapidement une application web (ex : CodeIgniter PHP, MySQL) ou mobile (ex : Android).

L'objectif de cet outil est vous faire gagner du temps lors de la création de votre application, sur les tâches répétitives pour les entités. Les CRUDs sont générés, mais pas uniquement.

Le code est propre, maintenable et évolutif, tel qu'un développeur l'aurait fait.

Les thèmes sont évolutifs, ouverts à votre imagination.

Thèmes

Ces thèmes sont libres et gratuits.


Bootstrap-CI3

Bootstrap-CI3

La nouvelle version de CodeIgniter 3 impose une nouvelle syntaxe dans la déclaration des controleurs. Ce thème est basé sur le thème Bootstrap.

Bootstrap

Bootstrap

Le code généré est prêt pour une application Web PHP, utilisant le Framework Codeigniter 3 et une base de données MySQL. Cette configuration est classique chez les hébergeurs.

Pour la partie Front, La stack Bootstrap+jQuery est agrémentée de quelques plugins pour améliorer l'erognomie (ex: auto-complétion). Le principe MVC est respecté, avec une couche service, pour regrouper les règles de gestion métier.
Au total, 24 fichiers sont générés par entité.

kivy-android-dark

kivy-android-dark

Le premier thème pour les applications mobiles !

Pour le framework "Kivy", ce thème génère du python et les scripts pour SQLite. Il faut nécessairement bien connaitre ce Framework pour bien comprendre les dépendances entre les fichiers générés.


Détail des fichiers générés

Exemple du thème Bootstrap.



Fichiers XML utilisés pour générer le code :

  • Album.xml : Entité qui défini un ablum de bande déssinée
  • LienAuteurAlbum.xml : Entité qui défini le lien entre l'album de bande déssinée et l'auteur
  • Auteur.xml : Entité qui défini l'auteur d'albums de BD

Ces fichiers sont soit créés manuellement, soit générés par un outil comme "specs" (consulter http://jc.specs.free.fr/).


Les fichiers générés offrent un maximum de fonctionnalités pour le développeur :

  • Archive ZIP du squelète de l'application avec CodeIgniter pré-configuré. Ceci permet de gagner du temps sur l'installation du framework. Par exemple, une page de login est déjà implémentée (Vue et Controller), il reste à choisir l'entité qui sera utilisée pour valider l'authentification. De même, le design de la page donnant les résultats des tests unitaires a été améliorée.
  • Base de données :
  • Vues (un champ SELECT ou un autocomplete est présent pour choisir les entités en relation ; l'upload de fichier est disponible) :
  • Controllers :
  • Controllers en JSON (pour des appels Ajax ou par WebServices) :
  • Code Javascript (regroupant les fonctionnalités "Client") :
  • Fichier de langue (internationalisation) :
  • Helper (= "services" d'accès à la base de données pour fournir les modèles) :
    • album_helper.php Helper CodeIgniter d'accès aux données de la base (MySQL et SQLite3)
  • Modèle (= "DAO", sans code "métier") :
  • Tests unitaires (Controller, appelés depuis un navigateur ou par wget) :

Exemple de rendu graphique :