Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 04

Image emergences pour impression
Personal tools
You are here: Home 2009 Lettre d'information n° 04 Sécurité et maintenance des applications web en Java
Document Actions

Sécurité et maintenance des applications web en Java

Nouvel outil élaboré par le consortium Inria, Caps Entreprise et la BU IT&Labs d'Orange Business Services, Serenitec permettra aux SSII d'automatiser la refactorisation et la sécurité des applications web dans l'univers Java. Le chercheur François Bodin et l'ingénieur Sylvain Leroy détaillent l'intérêt du projet.

Nouvel outil élaboré par le consortium Inria, Caps Entreprise et la BU IT&Labs d'Orange Business Services, Serenitec permettra aux SSII d'automatiser la refactorisation et la sécurité des applications web dans l'univers Java. Le chercheur François Bodin et l'ingénieur Sylvain Leroy détaillent l'intérêt du projet.

"Prenons un code informatique quelconque avec plusieurs millions de lignes. Arrive un changement dans une banale règle de nommage. Le développeur est contraint d'effectuer, disons... 100 000 petites modifications. Avec les outils actuels, chaque changement prend 30 secondes. Faîtes-le calcul, ce sont des centaines d'heures perdues à des tâches répétitives, fastidieuses et de faible intérêt économique. Le développeur préférerait se concentrer sur la programmation. Son employeur, lui, aimerait l'utiliser à des fonctions de plus haute valeur ajoutée." Comme l'explique François Bodin, directeur technique de Caps Entreprise (1), "depuis des années, on se pose des questions sur le refactoring du code de programmation. C'est à dire sa transformation pour qu'il soit plus facile à maintenir, à débugger et à développer. Dans la vie quotidienne, c'est une opération relativement coûteuse qui préoccupe en particulier la tierce maintenance applicative. Ce qu'on appelle aussi la TMA : la maintenance de code pour des clients par des sociétés qui n'en sont pas les développeurs d'origine."

Certes, des outils d'automatisation existent. Mais ils offrent peu de souplesse dans l'utilisation. L'ambition de Serenitec (2) est de venir répondre aux besoins du secteur pour un segment bien déterminé : le refactoring et la sécurité des applications web dans l'univers Java. Ce projet de logiciel est porté par un consortium qui rassemble trois partenaires. "Et chacun d'une importance égale. Caps Entreprise amène les compétences couches basses et manipulation du code Java. L'Inria apporte l'analyse et le refactoring du code. La BU IT&Labs arrive avec des compétences métiers : process de développement, TMA, sécurité des applications..." C'est aussi cette filiale du groupe Orange qui se chargera ensuite de vendre le nouvel outil aux SSII effectuant en particulier cette tierce maintenance.

"Les ingénieurs d'Orange nous apportent une vraie expertise sur la conduite de projet, la sécurité et le développement, indique Sylvain Leroy, l'ingénieur en charge d’une partie de Serenitec. Ce sont aussi eux qui nous fournissent les scénarios concrets, les cas à partir desquels on travaille." Au hit-parade des erreurs critiques les plus fréquentes, on retrouve "l'injection de données ou la réutilisation indue de la session d'un autre internaute par exemple."

Montée sur plate-forme Hudson (3), "Serenitec sera une brique d'aide au développement et de supervision de la qualité du code, ajoute François Bodin. Cette brique s'adresse à deux acteurs : la personne qui définit le référentiel et le développeur qui l'applique ensuite. Serenitec vérifie qu'on respecte les normes de codage, que l'application compile bien, qu'il n'y a pas de régressions. Il automatise les tâches répétitives. Un audit mesure les progrès de ce codage. On est là dans ce qu'on appelle l'intégration continue. Avant, on intégrait généralement en final du développement. Maintenant dès le début, très en amont, on fait en sorte que l'application dans son ensemble fonctionne."

Le programme de recherche s'étend sur trois ans. "On arrive à mi-parcours. Première release en juin." Mais pas pour une diffusion commerciale. "Dans un premier temps, c'est uniquement la BU IT&Labs qui va l'utiliser en mode de preuve de concepts auprès de ses clients."  Dans une deuxième phase, les chercheurs vont engranger des retours de terrain pour étudier comment développeurs et SSII perçoivent le nouvel outil. Echéance suivante : septembre 2010. "Pour ce temps-là, Serenitec devra avoir fait ses preuves." Il sera ensuite exploité commercialement.

Cela dit, il ne s'agira pas d'un de ces logiciels qu'on achète sous blister en rayonnage. "Ce sera plutôt un service outillé", accompagné donc d'une prestation. "Tout d'abord parce que le client ne sera pas forcément un expert dans le domaine. Et ensuite parce que si on faisait un logiciel un clé en main, cela nous obligerait à le figer. Or, par définition, il faut pouvoir l’adapter à chaque application dans son contexte." Il y aura donc un accompagnement dans le déploiement.

"Le montage est un peu atypique car, contrairement à ce qui se fait souvent, ici, le consortium réunit peu de partenaires. Mais il est très intégré, très focalisé, très ramassé. Il réunit de la technologie et de la connaissance métier. Il s'inscrit aussi dans une logique économique locale avec un vrai potentiel de développement." Le projet bénéficie d'ailleurs d'une aide financière de la région Bretagne dans le cadre du pôle Images et Réseaux.

Tout cela, "sans sacrifier la recherche (4). Il y a un continuum intéressant entre applicatif et prospectif. Serenitec répond à des objectifs très précis et, en même temps, il offre une ouverture de recherche stimulante." Avec, en ligne d'horizon, à terme, la possibilité de s'intégrer dans une logique d'ingénierie de modèle "mais en partant du bas pour remonter vers le haut."

 

---

Notes :

 (1) Caps Entreprise a été fondée à Rennes par des membres de l'équipe de recherche ALF de l'Inria  et du laboratoire PRiSM de l'université de Versailles-Saint-Quentin-en-Yvelines. Elle développe des logiciels améliorant la performance des applications pour le HPC et l'embarqué.

(2) L'acronyme Serenitec signifie : Security analysis and Refactoring ENvironment for Internet TEChnology.

(3) Hudson est un outil open source d'intégration continue en Java.

(4) Deux équipes rennaises de l'Inria interviennent dans le projet : Celtique (analyse sémantique pour certification de logiciels) et ALF (processeurs multicoeurs). Outre F. Bodin et S. Leroy, les autres membres du projet sont : F. Besson, T. Turpin (Celtique), F. Rousé (Orange), C. Levointurier (Orange et Inria) et L. Morin (CAPS entreprise).