URL: https://linuxfr.org/news/developpement-tres-rapide-d-applications-libres-extended-man-xml-frames Title: Développement très rapide d’applications libres : Extended Man/XML Frames Authors: matthieu Thomas Debesse, papap, ZeroHeure, Davy Defaud, bubar🦥, gusterhack, Pierre Jarillon, Jour J, olivierweb, BAud, Benoît Sibaud et Nÿco Date: 2017年08月26日T18:40:47+02:00 License: CC By-SA Tags: pascal, delphi, bpmn, framasoft, lazarus et freepascal Score: 17 Peu sont ceux qui travaillent sur le gain de temps en création logicielle. Pourtant, le Libre, ainsi que comme le développement rapide, permettent d’économiser le temps de travail, base de notre économie. Le langage de modélisation unifié [UML](https://fr.wikipedia.org/wiki/UML_(informatique)) avait été créé pour le développement rapide d’applications. Les composants y sont modélisés sous forme de vues, de diagrammes et de modèles d’éléments. Mais UML n’est pas le seul outil dans ce domaine, UML vise plutôt l’analyse et la conception d’un système d’information, tandis que [BPMN](https://fr.wikipedia.org/wiki/Business_process_model_and_notation) (_Business Process Model and Notation_) vise la conception des processus métier qui font intervenir et interagir des systèmes (c’est une norme ISO depuis 2013). Matthieu Giroux est le concepteur d’un _framework_ BPMN nommé _Extended Man/XML Frames_ et est à la recherche de contributeurs. _Extended Man/XML Frames_ est un cadriciel de _Développement Très Rapide d’Application_ (DTRA), c’est un projet libre couvert par la licence GPL et disponible sous Windows et GNU/Linux (et possiblement macOS). ---- [Dépôt de sources sur Bitbucket](https://bitbucket.org/matthieugiroux/) [Présentation du DTRA par Matthieu Giroux](http://dtra.fr/) [Sources Liberlog](https://www.liberlog.fr/spip.php?page=sommaire2&id_rubrique=8) [Essai : Du geek au génie](https://www.devenircreatif.com/Du-geek-au-genie?lang=fr) ---- _N. D. L. R. : Matthieu Giroux nous a proposé un [journal](//linuxfr.org/users/matthieu/journaux/le-developpement-tres-rapide-d-applications-libre) puis une dépêche qui nous ont paru intéressants. Le journal (et la dépêche initialement soumise) se révélant difficile d’accès pour des personnes ne travaillant pas dans le domaine, plusieurs contributeurs se sont proposés pour retranscrire son témoignage. Cette dépêche reprend donc les éléments donnés par Matthieu dans son journal et dans sa dépêche initiale, en tentant de la rendre accessible à tous et a été complétée sur la base d’une interview de l’auteur par _papap_. N’hésitez pas, vous aussi, à participer à [l’espace de rédaction collaboratif de _LinuxFr.org_](//linuxfr.org/redaction) ! ;-)_ # Introduction Pour essayer de rassurer les développeurs qui pourraient craindre de perdre leur travail à cause du développement rapide ou très rapide d’application, Matthieu Giroux est convaincu que lorsque l’on pourra créer rapidement des applications, les programmeurs pourront devenir chercheurs, pensée qu’il a développée dans son essai _Du geek au génie_. Contrairement à programmeur, chercheur sera un métier qu’un robot ne pourra enlever à l’homme. # Quand Delphi régnait sur le RAD [Delphi](https://fr.wikipedia.org/wiki/Delphi_%28langage%29) a été développé en 1995 par Borland comme un outil de [développement rapide d’application](https://fr.wikipedia.org/wiki/D%C3%A9veloppement_rapide_d%27applications) (RAD) pour Windows. Extrait de Wikipédia : > À la fin des années 1990, Microsoft débauche une grande partie de l’équipe initiale ayant conçu Delphi, dont Anders Hejlsberg (le créateur de Turbo Pascal). Anders Hejlsberg travaillera d’abord sur la bibliothèque de classes du langage Visual J++, puis sur le projet .NET et sera l’inventeur du C#. Le départ de nombreux membres coïncide avec une baisse générale de la qualité du produit, ainsi qu’un manque d’investissement marketing de la part de [Borland](https://en.wikipedia.org/wiki/Borland), menant à un déclin progressif de Delphi. Une première tentative de créer un clone libre de Delphi appelée [Megido](https://en.wikipedia.org/wiki/Megido_(Free_Pascal)) a eu lieu en 1998 mais tourna court, et Lazarus Free Pascal fût créé en février 1999 pour sauver ce qui restait de Delphi. Ce fut un rebond salutaire puisque Lazarus a été élu [projet du mois sur _Sourceforge.net_ en août 2017](https://www.developpez.com/actu/155261/Lazarus-choisi-comme-projet-du-mois-d-aout-2017-par-la-communaute-de-SourceForge/), ce qui témoigne à la fois de la durabilité du projet et de son succès. Avec son cadriciel de développement très rapide d’application _Extended Man/XML Frames_, Matthieu Giroux se place en pionnier de l’automatisation de création logicielle. La démarche de réalisation de logiciel _MDA_ ([Architecture dirigée par les modèles](https://fr.wikipedia.org/wiki/Model_driven_architecture "Model driven architecture")) existait déjà, mais Matthieu considérait que créer des logiciels en copié‐collé n’avait pas de sens, c’est pourquoi son cadriciel fut créé bien avant que ne se démocratise la pratique d’[[Ingénierie dirigée par les modèles]]. Matthieu Giroux nous rapporte qu’entre 2003 et 2006 tandis qu’il travaillait chez _Microcelt_, son cadriciel développé au départ en Delphi, permettait de gagner trois fois plus de temps que ceux des autres entreprises. Cela avait alerté Cap Gemini qui côtoyait Microcelt sur un projet de PGI ([[Progiciel de gestion intégré]]) pour l’entreprise Le Duff. # Le framework Extended En 2008, Matthieu Giroux publie son projet _Extended_ sur un site peu connu. Il s’intéresse alors à ce qui se fait sur le marché et découvre le projet _Léonardi GPL_, un cadriciel de la société Lyria ([rachetée en 2008 par W4](https://plus.wikimonde.com/wiki/Leonardi)). Matthieu porte donc son cadriciel sur Léonardi et crée _XML Frames_ et _Man Frames_. Pour ne pas se perdre dans tous ces noms, il convient de noter que Léonardi [devient W4 Express en décembre 2013](https://www.developpez.com/actu/65573/Leonardi-devient-W4-Express-le-framework-logiciel-open-source-s-enrichit-d-un-store-entretien-avec-son-responsable-produit-chez-W4/) et la société qui le développe, W4, est reprise par Itesoft [en 2015 pour 2 à 4 millions d’euros.](https://investir.lesechos.fr/pea-pme/flashs-analystes/vers-une-acquisition-de-100-de-w4-1058939.php) W4 Express était libre à l’époque (et est à l’origine de nombreux clones), mais a été privatisé par la suite (probablement avec la version 9 en 2011). Le cadriciel de gestion de Matthieu devient alors _Extended Man/XML Frames_. XML Frames permet de créer un logiciel à partir des fichiers passifs (fichiers de description de ce que l’on veut) de W4 Express, tandis que Man Frames permet de créer un logiciel très rapidement sans nécessiter ces fichiers. L’ambition d’alors de Matthieu est de créer une partie Web et d’automatiser XML Frames. L’interface _Ext Pascal_ (qui connecte Pascal à JavaScript) permet de créer une application Web avec des _Composants_ et une adaptation rapide du projet de Matthieu était donc possible. Cependant la partie Web ne fut jamais finalisée, car le projet fut abandonné en 2015 quand le dernier informaticien (bénévole) du projet _Ext Pascal_ a été débauché par la concurrence, c’est‐à‐dire une entreprise travaillant sur _[Uni GUI](http://unigui.com/)_ (et qui payait). # Une histoire de licences Début 2010, Matthieu obtient de Microcelt l’autorisation officielle de publier son travail sous forme libre à condition de redonner les sources à Microcelt. Il publie cette fois son code sur _Google Code_, sous licence GPL, pour que cela soit diffusé rapidement et pour imposer le repartage des sources. Mais cela freine les utilisations commerciales, d’où la décision de passer le code sous licence LGPL, qui permet la réutilisation sans partage des sources. Les téléchargements augmentent alors. Pour essayer de valoriser son travail, Matthieu tente en 2014 la [LGPL Sencha](https://www.sencha.com/legal/), qui oblige de payer pour avoir la licence permissive LGPL au lieu de la GPL. Mais personne ne paye. Matthieu revient alors à la GPL en septembre 2015. Alors qu’il recensait 200 téléchargements par mois, ce changement de licence provoque leur effondrement. # Publication, conférence Constatant le manque de livre sur Lazarus, Matthieu en écrivit un, publié en 2009 et 2010 sous licences libres, livre dans lequel il traite de Lazarus et de son cadriciel _Extended Man/XML Frames_. C’est aussi à cette époque, en mars 2010, qu’advient le _Breizh Entropy Congress_ [que nous avions annoncé dans nos colonnes](//linuxfr.org/news/breizh-entropy-congress-publication-du-programme). Matthieu Giroux y avait présenté le Développement Très Rapide d’Applications Libre lors d’une conférence intitulée _Lazarus et développement très rapide en gestion_, dont Matthieu n’a malheureusement pas pu se procurer l’enregistrement. # Lazarus : vers de nouveaux horizons En sortant de Microcelt, Matthieu avait découvert que CEGID développait également un cadriciel Delphi, qui semblait moins bien réalisé que _W4 Express_, selon Matthieu, mais qui était aussi plus ancien. CEGID passera de Delphi à Visual Studio [.Net](https://fr.wikipedia.org/wiki/Microsoft_.NET) se limitant de fait aux plates‐formes Windows, alors que Delphi permettait plus de portabilité et leur aurait permis d’être sur toutes les plates‐formes, excepté GNU/Linux ([le rachat de CEGID par des fonds américains](http://linuxfr.org/users/scoubidou--2/journaux/cegid-rachete) pourrait expliquer ces choix). De son côté, Matthieu porte son cadriciel sur Lazarus, le rendant également disponible sur GNU/Linux. Matthieu prend conscience que, dans le contexte de Gestion des processus métiers ([BPM](https://fr.wikipedia.org/wiki/Business_Process_Management)), son cadriciel implémente la version BPMN+ de ce qui s’appelle le BPMN ([modèle de procédé d’affaire et notation](https://fr.wikipedia.org/wiki/Business_process_model_and_notation)). Le BPMN est une spécification de modélisation qui vise l’analyse et la conception des processus métier. # Des routes et des ponts On trouve dans cette histoire des similitudes avec ce que décrit Nadia Eghbal dans son livre [_Roads and Bridges_, traduit par Framasoft en 2016 sous le titre _Sur quoi reposent nos infrastructures numériques ?_](http://books.openedition.org/oep/1797). En effet, des entreprises font de gros chiffres d’affaires et leurs logiciels se basent sur des briques de logiciels libres qui sont suivis par peu de personnes (Lazarus), voire plus personne du tout, comme _Ext Pascal_. Un autre point est ennuyeux, c’est que de nombreuses entreprises du secteur téléchargent, utilisent et développent à partir du développement que Matthieu a publié sous licence libre sans toutefois ni créditer Matthieu, ni publier ou partager leur propre développement sous licence libre, comme la GPL l’exige. # En quête de contributeurs Matthieu est donc à la recherche de contributeurs pour son cadriciel. _Extended_ est un des plus anciens cadriciels de ce type en Pascal, et ce serait désormaisn selon Matthieu, le seul cadriciel BPMN 2 partagé dans ce langage. _Extended Man/XML Frames_ permet de créer des applications à partir de _W4 Express_, sur Windows, GNU/Linux, voire macOS 32 bits. La partie _XML Frames_ est toujours en développement et Matthieu peut être contacté via son [compte Bitbucket](https://bitbucket.org/matthieugiroux/).