Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

Dépêche éditée par

Développeur : Acceleo 2.2.0 : nouveaux générateurs PHP, Python et JEE

Posté par Cédric Brun (page perso, ). Modéré le 21 janvier 2008.
Technologie
Acceleo est un générateur de code qui permet de transformer des modèles vers du code.

Cette nouvelle version d'Acceleo apporte encore un degré de finition supérieur au meilleur générateur de code de seconde génération ;-) . L'éditeur de template a été refondu pour encore améliorer leur lisibilité et faciliter leur saisie, l'interface à désormais été totalement localisée (une version Française est disponible mais attention, les documentations se réfèrent à la version anglaise), de nouvelles fonctionnalités de fond ont été ajoutées telles que les scripts génériques ou encore la gestion de l'encoding des templates et les modules de génération ont été mis à jour.

On peut citer l'apparition de Spring dans le module JEE accompagné d'une nouvelle documentation de mise en oeuvre. Le module PHP s'est enrichi d'une meilleure gestion des héritages et le module Python de diverses améliorations. La première livraison, expérimentale, de WISSS est également disponible: il s'agit d'un outillage dédié à la modélisation et la génération d'application web PHP utilisant le framework Zend : à partir d'une modélisation de type "entité/relations" le module génère les objets métiers ainsi que toute la couche d'accès aux données pour MySQL. Cette première version offre déjà le chargement des objets à la volée (lazy loading) ainsi que l'optimisation des requêtes SQL de mise à jour des objets. Un nouveau module dédié à Zope/Plone est apparu sur le site, il sera intéressant de comparer les résultats obtenus à l'aide de cet outil avec celui dédié à JEE.

Le site internet a lui aussi été mis à jour et les documentations ont été totalement re-travaillées (en particulier les versions anglaises). Bien évidement, de nombreuses corrections ont également été apportées et les nouvelles fonctionnalités sont présentées. Côté communautaire l'activité est intense sur les différents canaux de communication, en particulier sur la planète Acceleo et sur le forum. Acceleo était également présent aux dernières conférences Eclipse, "Eclipse Summit Europe" en Allemagne et "Eclipse Now You Can" à Paris par exemple.

Vous trouverez toutes ces fonctionnalités en images sur la page des nouveautés ainsi que des bundles Eclipse mis à jour spécialisés pour la mise en œuvre du MDA (Acceleo et ses modules, EMF, GMF, Topcased...).
La prochaine version d'Acceleo sera la version 3.0.0, elle apportera des changements majeurs pour permettre l'utilisation du moteur de génération en mode "standalone", c'est à dire sans Eclipse.

Un grand merci à toutes les personnes ayant fournit un retour sur le forum ou par le biais des tickets, c'est en grande partie grâce à ce dynamisme qu'Acceleo évolue aussi vite !

> Lire la dépêche (52 commentaires, moyenne: 1,8).  

Rappel : Acceleo permet de mettre en oeuvre une démarche dirigée par les modèles. Cette démarche positionne le modèle (UML par exemple) au centre du développement. Un modèle + un module et Acceleo est alors capable de générer une grande partie du code du projet.

Exemple : un modèle UML détaillant les objets métiers et les écrans permet la génération des classes métiers, d'une classe pour chaque écran, des contrôleurs, des classes d'accès à la base de donnée. À la charge ensuite au développeur de compléter le code, lors de la prochaine génération ce dernier ne sera pas perdu.

La mise au point d'un module de génération pour une technologie donnée (Zope, KDE, Gnome...) passe par la création de templates. Acceleo fournit tous les outils nécessaires à la mise au point d'un tel template (éditeur avec complétion syntaxique, pré-visualisation du code généré).

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Lien vers WISSS

Posté par Cédric Brun (page perso, ) le 21/01/2008 à 13:48. (lien). Évalué à 4.

oops, le lien vers WISSS est erroné, voici le bon :
WISSS : http://www.acceleo.org/pages/module-wisss/

Lien vers wisss

Posté par Alf (page perso, ) le 21/01/2008 à 13:48. (lien). Évalué à 2.

http://acceleo.org/pages/module-wisss/

--
Wisss : DSL et générateur Php pour appli web

Nouveaux modules ?

Posté par Cédric Brun (page perso, ) le 21/01/2008 à 13:57. (lien). Évalué à 4.

A noter également que l'équipe est plus que jamais demandeuse d'intégrer de nouveaux volontaires pour de nouveaux modules :)

De nombreuses autres technologies sont possibles !

Licence de la deuxième création :)

Posté par Jul (page perso, ) le 21/01/2008 à 15:37. (lien). Évalué à 5.



Pour les modules

* Code généré :

Le code généré n'est pas soumis à la licence d'Acceleo. L'application cible peut utiliser la licence de votre choix.
* Modules de génération :

Vous pouvez créez vos propres modules librement et les redistribuer librement.



Donc si j'ai bien compris
- on peut faire du logiciel propriétaire avec ;
- et des modules propriétaires ;
(ce qui ne me dérange pas outre mesure)

PS des années que je vois des générateurs de code, et des années que je me fais les remarque suivante :
- le code généré est verbeux et souvent imbitable, donc sans le modèle chiant à déboguer ;
- le niveaux de complexité n'est pas toujours adapté ;
- le code pondu est chiant à optimisé (notamment quand on doit débrayer pour faire des grosses requêtes SQL)

Justement, dans la GPL il est dit ce que l'on doit fournir à une personne pour que ce soit libre est : "la forme préférée de modification". Si on génère du code avec un MDA, la forme préférée étant le modèle alors une application libre générée à partir d'un MDA devrait non fournir les sources, mais ce qui permet de les générer, non ?

Du code vers le modèle?

Posté par Poulain Benjamin (page perso, ) le 21/01/2008 à 18:56. (lien). Évalué à 6.

Existe t-il une solution pour garder la correspondance entre le code source et le modèle dans Acceleo?

J'ai pas mal utilisé Umbrello au début du développement de Linux Certif (en Python). J'ai fini par laisser tomber l'outil car le modèle divergeait de plus en plus du code.
Il faut dire que la correspondance est beaucoup plus difficile à faire pour un langage typé dynamiquement que pour pour les langages typés statiquement.

--
Visitez Linux Certif, le site qu'il est bien pour les Linuxiens.

Attention risque de troll inside

Posté par Alexandre Garel () le 24/01/2008 à 09:06. (lien). Évalué à 4.

Yo, il me sembe que le seul vrai intérêt de l'outil est d'avoir les modèles métier de l'application.

Ma peur avec ce genre d'outil c'est que ça fasse les 80% de taff facile à faire (ceux qui prennent 20% du temps) et qu'il reste les 20% de taff difficile (ceux qui prennent 80% du temps).

Bref le seul intérêt que je vois est la documentation, et un travail plus clair pour le client (il a des modèles UML qu'il ne comprends pas mais qui le rassurent).

Pour info dans le monde Plone il y a ArchGenXML, http://plone.org/documentation/tutorial/archgenxml-getting-s(...) , qui génère les types de contenu, les workflow etc, à partir de diagrammes UML. Mais c'est plus simple, parce que en Zope il y a une base de donnée objet et un bon moteur de workflow. (Et si c'était ça la vrai solution ?).

De bon aloi

Posté par Obsidian () le 30/01/2008 à 14:49. (lien). Évalué à 2.

Un grand merci à toutes les personnes ayant fournit un retour sur le forum


Moment Capello, mais fournir au participe passé s'écrit "fourni", sans t final. Comme tous les verbes du deuxième groupe, notamment "subir".

Je le précise parce que non seulement on voit l'erreur très fréquemment, mais je me suis même fait annuler certains amendements que j'avais fait sur des articles Wikipédia. Certains croient y dur comme fer.

C'est une faute courante car les trois verbes en "ir" les plus fréquents dans le langage courant sont en fait des verbes du troisième groupe : "écrire","lire","dire". Ils finissent tous par "ire" et par "ir".

Dans le cas de "subir", c'est encore pire parce que les gens confondent avec l'adjectif "subit, subite" qui n'a rien à voir.

http://www.leconjugueur.com/php/newconjugue.php?lang=fr&(...)

Revenir en haut de page