Un logiciel belge dope le code Android
Saviez-vous que quasiment toutes les applis Android tournant sur votre smartphone intègrent un fragment de logiciel belge pour un résultat final plus ‘svelte’, plus efficient et plus simple? Et que ce bout de code, baptisé ProGuard, fait aujourd’hui partie du SDK officiel des applications Android? “Mon hobby a un peu dérapé”, avoue en souriant son inventeur, Eric Lafortune.
Saviez-vous que quasiment toutes les applis Android tournant sur votre smartphone intègrent un fragment de logiciel belge pour un résultat final plus ‘svelte’, plus efficient et plus simple? Et que ce bout de code, baptisé ProGuard, fait aujourd’hui partie du SDK officiel des applications Android? “Mon hobby a un peu dérapé”, avoue en souriant son inventeur, Eric Lafortune. Il y a une bonne dizaine d’années, le Louvaniste Eric Lafortune a eu la lumineuse idée d’expérimenter un dégraissage du code Java. “Dans ce code, l’on trouve nombre de classes, d’attributs et de méthodes qui ne sont jamais utilisés et que l’on peut donc supprimer”, explique le développeur. Notre homme a rapidement vu le potentiel se dégageant du dégraissage des petits programmes informatiques et lança un peu plus tard ProGuard, un outil logiciel qui dégraisse les applis et les rend plus efficientes.
Avant même que le partenaire de l’ex-judoka Heidi Rakels s’en rende vraiment compte, sa création (open source) était devenue très populaire. “ProGuard a été surtout important pour Micro Edition (ME), la plate-forme Java qui tourne sur les smartphones et les GSM. Jusqu’il y a peu, les GSM étaient en effet tout sauf des appareils puissants. Un compilateur qui dégraissait d’autres programmes, y était donc plus que bienvenu. Au début, il était réellement question de Ko jusqu’à même des Mo: tout ce que l’on pouvait enlever, était bon à prendre.”
Alors que les GSM classiques se transformaient en véritables smartphones, Lafortune continua activement sur sa lancée: “Au fil des années, j’ai ajouté pas mal d’améliorations. C’est ainsi que j’ai non seulement supprimé des classes et des méthodes, mais je me suis intéressé aussi à chaque instruction individuelle: ce qui est nécessaire et ce qui ne l’est pas. Et quelles instructions peuvent être simplifiées en des séquences plus courtes. Je trouve ce travail incroyablement captivant (rire).”
Dalvik
Entre-temps, Sun (maintenant Oracle) avait déjà créé un plugin pour pouvoir utiliser ProGuard dans le kit SDK pour Java ME, et c’est ainsi que le programme a aussi abouti dans d’autres kits de développement, tels ceux de Samsung, Nokia et Motorola. “Toutes ces grandes marques utilisent des licences Java ME. Sauf Google qui est la grande exception.
Pour éviter les coûts de licence et la dépendance vis-à-vis d’Oracle, le géant de l’internet a choisi une autre voie. Android utilise également Java, mais le convertit immédiatement en un autre byte code interne, pour sa propre plate-forme Dalvik.A un moment donné, Google a aussi décidé d’intégrer ProGuard dans le kit SDK officiel pour Android, ajoute encore Lafortune. Assurément parce que le programme était de toute façon déjà depuis un petit temps utilisé dans la création d’applis Android et parce que les développeurs voyaient l’utilité de programmes plus concis, se prêtant moins aisément à l’ingénierie à rebours.
Qui plus est, Dalvik n’était de loin pas encore aussi efficiente que le pendant de Sun. Il en résulte que la plus grande partie des applis que l’on peut télécharger de l’Android Market, sont traitées avec une application belge.”
A présent que ProGuard est devenu de fait le standard pour le développement d’applis Android, Lafortune entend encore franchir une étape en faisant valoir sa création. “Je n’ai jamais gagné un cent sur ProGuard, parce que je distribuais le programme sous licence GPL. A présent, il y a cependant Saikoa, une startup avec laquelle je veux tester si je peux aussi faire la différence sur le plan commercial.”
Saikoa
Lafortune qualifie Saikoa de ‘startup d’ingénierie’ typique, avec laquelle il entend réaliser 2 choses. “Avant tout, nous fournissons des services. Les entreprises ou les particuliers qui souhaitent utiliser ProGuard, peuvent s’adresser à nous pour des conseils, des extensions, des choses spéciales.
En outre – et c’est en fait l’objectif n° 1 -, nous voulons lancer de nouveaux produits sur le marché. C’est ainsi que je prépare actuellement un compilateur spécifiquement orienté Android. ProGuard est un outil de traitement générique du code Java. Le programme est compatible avec Android, mais aussi avec Java ME, dont la base est quand même totalement différente.”
“Ce que je suis en train de faire pour Android, fonctionne selon le même principe: rendre le code plus efficient, plus compact et plus difficile à pirater, mais spécifiquement pour Android. Cela engendrera de nouvelles possibilités, et l’on pourra faire des choses que l’on ne peut pas faire avec la version standard, poursuit encore Lafortune.
“A un peu plus long terme, je voudrais créer un compilateur d’optimisation pour Java Card. Il s’agit d’une version de Java permettant de faire tourner de petits logiciels sur des ‘smart cards’ telles des cartes pour GSM, cartes de crédit et cartes d’identité. Un marché de niche gigantesque donc (rire).”
“Il y a un petit temps déjà, Oracle a du reste intégré ProGuard à l’environnement de développement pour Java Card. Mais je pense que je peux encore améliorer nettement mon compilateur en concevant quelque chose de spécifique pour cette technologie.”
“Pour les produits que je développe au sein de Saikoa, j’aimerais être rétribué évidemment. Avec ces nouveautés, je me tourne explicitement vers le vaste marché international et vers les fabricants d’appareils Android. Les premiers contacts sont déjà pris!”
Vous avez repéré une erreur ou disposez de plus d’infos? Signalez-le ici