Revision 112182760 of "Leonardi" on frwiki

{{Admissibilité à vérifier|date=août 2014|remarque=Pas de sources}}
{{Voir homonymes|Leonardi (homonymie)}}
'''Leonardi''' est un [[framework]] logiciel [[open source]] permettant d’automatiser la fourniture d’applications de type Interfaces Homme-Machine ([[IHM]]) à partir de la description d’un modèle métier. 

C'est un projet initié par la société Lyria, Lyria ayant été racheté en mars [[2008]] par la société W4. Il est distribué sous licence [[Licence publique générale GNU|GNU GPL]] et sous licence commerciale. En 2014, Leonardi devient W4 Express. Il est aussi fusionné à l'offre BPM de W4 pour ce qui est de la gestion des données et l'automatisation des interfaces graphiques.

== Principes ==
L’originalité du framework vient d’une part de son application des concepts de l’[[Ingénierie dirigée par les modèles]] au domaine spécifique des IHM, et d’autre part de son moteur qui lui permet de générer, à l’exécution, les écrans de l’interface utilisateur en fonction de l’état courant des données modélisées. 

Leonardi se distingue des [[L4G]] en proposant une couverture fonctionnelle plus riche dans le domaine des IHM, lui permettant de développer des applications de gestion aussi bien que des applications techniques. Il se distingue d’autre part des outils traditionnels mettant en œuvre l’approche  [[Model driven architecture|MDA]] car il ne génère pas de code : c’est en effet son moteur d’exécution qui interprète à la volée le modèle et qui permet d’adresser de bout en bout les trois couches de l’architecture [[Modèle-Vue-Contrôleur|MVC]] intervenant classiquement dans les IHM.

Leonardi repose sur les technologies standard [[Java (technologie)|Java]] et [[XML]]. Il permet d’intégrer au modèle métier les notions de connecteurs, qui permettent l’accès à des données de nature hétérogène (fichiers plats, [[SGBD]], [[Common Object Request Broker Architecture|CORBA]], [[EJB]]…) et les notions d’afficheurs, qui permettent de déployer l’application cible dans différent types d’environnements graphiques (Web / [[Ajax (informatique)|Ajax]], [[Swing (Java)|Swing]], [[Standard Widget Toolkit|SWT]], [[Eclipse (projet)|Eclipse]] RCP…).

== Mise en œuvre ==
Leonardi est adapté à plusieurs contextes de mise en œuvre dans le domaine des [[systèmes d’information]] : [[Développement rapide d'applications|RAD]], [[migration (informatique)|migration]] d’applications ou projets complexes. Il est présent dans plusieurs secteurs d’activité : défense, transports, énergie, industrie, télécommunications…

L'environnement est fourni avec son atelier de conception Studio, qui permet de faciliter la prise en main du framework. Studio permet notamment de créer ou de découvrir le modèle métier, de créer des schémas de bases de données. Il intègre, dans sa nouvelle version, un builder graphique.

Leonardi est distribué sous licence [[General Public License]]. La société W4 commercialise également des versions à valeur ajoutée de Leonardi.

== Voir aussi ==
* [[Ingénierie dirigée par les modèles]]
* [[IHM]]
* [[Modèle-Vue-Contrôleur|MVC]]

== Liens externes ==
* [http://www.leonardi-free.org Site officiel]
* {{pdf}} [http://www.leonardi-free.org/wp-content/uploads/2011/02/APPCOMPOSER_FREE_TUTORIAL_EN.pdf Tutoriel Leonardi]
* [http://www.journaldunet.com/solutions/0509/050905_lyria.shtml Lyria industrialise le développement des IHM]
* [http://randriano.developpez.com/article/leonardi/ Leonardi, une approche de l'IHM en Java]
* [http://www.liberlog.fr/Installer-ou-Creer-un-Logiciel-ou?id_document=21#documents_portfolio Moteur basé sur les fichiers passifs de LEONARDI]
* [http://sourceforge.net/projects/vradd Conception et Développement Très Rapide d'Applications] est une branche du RAD qui consiste à préparer le travail par des analystes.

{{Portail|informatique|logiciels libres}}

[[Catégorie:Environnement de développement intégré]]