Développement très rapide d’applications libre : Extended Man/XML Frames

Licence Creative Common by SA
jeudi 15 mars 2018 par matthius

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 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 (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).* Bitbucket (227 clics)
* par Matthieu Giroux (387 clics)
* Sources Liberlog (88 clics)
* Essai : Du geek au génie (268 clics)

N. D. L. R. : Matthieu Giroux a proposé à LinuxFr.org un journal puis une dépêche qui 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  ! ;-)_

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 a été développé en 1995 par Borland comme un outil de développement rapide d’application (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, menant à un déclin progressif de Delphi.

Une première tentative de créer un clone libre de Delphi appelée [https://en.wikipedia.org/wiki/Megido_(Free_Pascal) Megido] 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, 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) 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 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). 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 et la société qui le développe, W4, est reprise par Itesoft en 2015 pour 2 à 4 millions d’euros.

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 est en cours de développement. En effet, 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 (et qui payait). Seulement un partage en 2016 de Ext Pascal mis à jour permet de reprendre le développement.

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, 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 LinuxFR.org avait annoncé dans nos colonnes. 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 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 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), son cadriciel implémente la version BPMN+ de ce qui s’appelle le BPMN (modèle de procédé d’affaire et 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  ?. 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.