IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Plugin Generateur Code & Recherche Utilisateur/Developpeur


Sujet :

Eclipse Platform

  1. #1
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut Plugin Generateur Code & Recherche Utilisateur/Developpeur
    Bonjour,
    je suis actuellement en train de developper un plugin Eclipse de generation de code appelle Akrogen, dont vous pouvez trouvez le site WEB sur http://akrogen.sourceforge.net/
    Aujourd'hui ce plugin est en cours de developpement, il y a possibilite de l'installer, mais il n'est pas du tout fini, et l'architecture risque d'etre encore modifie.

    Le principe de generation est de partir des metadonnees de la base de donnees (fichier hibernate) et de generer n'importe quel composant (DAO, Service, Form, ...) dans n'importe quelle technologie (JAVA, PHP). L'idee de ce plugin est de l'utiliser au cours du developpement de votre Application (pas de generation en masse) et de pouvoir parametrer tres finement le composant que l'on souhaite generer. Je me suis inspire de JNIUS et EclipseWork.

    Un composant est configure dans un fichier XML, pour pouvoir ajouter autant de composants que l'on souhaite generer. La notion de Wizard (parametrable aussi en XML) que je suis en train de mettre en place, permettra de generer plusieurs composants dans un wizard et permettra de faire communiquer les parametres d'un composant a un autre.

    Aujourd'hui, le moteur de generation est XSL, mais Velocity et FreeMarker seront supportes plus tard.

    Voila tres brievement l'idee d'Akrogen. Mais pour aboutir a un plugin qui plaise a un maximum d'utilisateurs, la meilleure solution est de pouvoir echanger ces idees. Mes questions sont :

    1. Etes vous interesse par ce type de plugin?

    2. Quelles sont les fonctionnalites que vous attendez?

    3. Y a t'il des personnes qui seraient interesses pour developper les templates XSL, participer au plugin?

    J'espere que vous serez interesses par mon message. Je vous remercie de vos reponses et de votre interet a ce post.

    Angelo

  2. #2
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Bonjour

    Alors ? Tu en es où ? Il n'y a toujours rien à télécharger ...
    Ca a l'air pas mal mais est-ce réellement exploitable (une base de données n'est qu'une partie d'une application). Il y des outils pour faire la même chose à partir de modèles (donc plus complet qu'un fichier de mapping hibernate).

    Remarques et questions en vrac.

    Tu es tout seul sur le projet ?
    Je n'ai pas compris ce qu'est un PageConfig.xml
    Est ce qu'un mécanisme est fournit pour que l'utilisateur puisse décider des APIs à utiliser pour la journalisation, l'authentification, etc ?

    Enfin, bon courage

  3. #3
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour yann2,
    Tu peux maintenant telecharger et installer le plugin :
    * en utilisant l'update Site avec l'url http://akrogen.sourceforge.net/eclipse/updatesite/
    * en telechargeant les 2 jars plugin/features sur http://sourceforge.net/project/showf...roup_id=164259 et en les copiant dans le repertoire eclipse

    Le but d'Akrogen est de générer un composant (DAO, Service, Action,...) au cours du developpement. Ce plugin sera utilise essentiellement pour les formulaires CRUD. Akrogen donne la possibilite d'integrer rapidement son propre composant (pour generer son propre code DAO, par exemple) decrits en XML.
    LA notion de Wizard, permet ensuite de combiner plusieurs composants (Form->Action->Struts-config). Ces wizards sont decrits en XML.

    Akrogen utilise des mappings Hibernate XML au debut, mais rien ne t'empeche de decrire un composant XML qui utilise les informations d'un modele (XMI par exemple) et d'utiliser ces informations pour generer d'autres composants. En ce qui me concerne, je modelise la base de donnees puis je developpe ensuite les composants DAO,..., c'est pour cela que je suis partir sur Hibernate.

    Oui je suis tout seul sur le projet. Mais j'aimerais mettre en ligne Akrogen et que des utilisateurs me demandent des fonctionnalités dont je n'aurrais pas pense (et je pense qu'il y en a plein).

    Une PageConfig.xml est une grammaire XML que j'ai imagine qui permet de decrire une page. Une page est constitué
    * de champs (page-fields)
    * d'actions (page-actions)comme create, update
    * chacune des actions font appels a des datasources et peuvent avoir des controles qui doivent etre effectues.

    Une page config est lie a un autre fichier XML (xul par exemple) qui decrit le rendu de chacun des champs (combo,text,...)

    Ces informations peuvent ensuite etre utilise pour generer des JSP (en utilisant le fichier XUL) ou les Actions Struts (page-action est transforme en dispatch et les datsources transformes en Service par exemple).

    Le fait de decouper PageConfig et XUL est de generer le XUL (Xform,...), d'utiliser un designer existant (lequel?) qui permet de repositionner les champs.

    pour la journalisation, l'authentification, je ne vois pas trop ce que tu veux dire?

    Merci de ton interet et de tes encouragements.

    Angelo

  4. #4
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Rebonjour azerr

    Merci,
    Tout ça me fait beaucoup penser au MDA avec une transformation directe du modèle au code !!! Par contre la transformation d'un document XMI avec XSL (que je ne connais que de nom) me parait un travail de titan !

    Je vais télécharger le plugin et tester ça ce soir ! .

    Pour la journalisation : quitte à vouloir faire de la génération, autant générer le plus de choses possibles. Par exemple des logs infos au début et à la fin de chaque opérations. Bon en fait j'arrive pas trop à m'expliquer.

    Je comprend mieux pour les PageConfig. Par contre c'est presque qu'inventer un autre langage, non ? Enfin je verrai plus clair avec le plugin. Une chose est sûr c'est que l'on ne peut pas avoir les infos de la présentation de le mapping Hibernate et donc le PageConfig est nécessaire.

    Salut

    yann

  5. #5
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Yann,
    pour generer un composant, on doit partir d'un contexte. Aujourd'hui le contexte est XML (hibernate entre autres). Aujourd'hui je n'ai implemente que XSL, mais je pense aussi integrer Velocity et FreeMarker pour permettre d'avoir un contexte objet JAVA en plus.

    J'ai invente la grammaire PageConfig, car je n'ai pas trouve encore aujourd'hui une grammaire XML (XUL, XAML, XForm,...) qui puisse decrire le comportement d'une page (entre autres les datasources utilises dans une page). les prochaines idees que j'ai ca serait de devlopper un designer de PageConfig qui permettrait d'associer un datasource a un champ (ex : pour les combos). Mais bon avant tout ca, il y a encore pas mal de choses a faire.


    Attention, Akrogen est en cours de développement et il risque d'y avoir quelques bugs.

    Angelo

Discussions similaires

  1. [MySQL] code de recherche dynamique selon la saisie d'un utilisateur
    Par tickerdu22 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/10/2008, 10h11
  2. [VBA] code pour recherche automatique de données
    Par lg022 dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/02/2007, 10h20
  3. [Conception] soucis avec mon code de recherche par un ou plusieurs critères
    Par jolipepage75 dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 11/06/2006, 02h59
  4. [Plugin][phpeclipse] code completion
    Par adel25 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/08/2005, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo