Actualité RIA

dimanche 2 décembre 2007
Pas mal de nouveautés ces derniers temps sur le domaine des RIA. Voici un peu en vrac certaines des annonces intéressantes de ces derniers jours.

Silverlight 2.0

Microsoft change légèrement sa stratégie : après avoir annoncé Silverlight 1.1 en même que que la 1.0, la prochaine version passera directement au cap suivant, s'appelant donc Silverlight 2.0. Plus de 1.1 donc, mais de nombreuses nouveautés justifiant une release "majeure", cette dernière prévoyant une première bêta pour le 1er quarter 2008, et une version finale pour la seconde moitié de 2008. Quoi de neuf pour Silverlight ? Des nouveautés déjà annoncées comme la gestion du CLR et DLR (voir ma présentation de Silverlight pour plus de détails), mais également une gestion des DRM et des composants d'interfaces bien plus poussés comparé à la version 1.0. Je pense que ce dernier point est très important car il consistait pour de nombreuses personnes ayant testé Silverlight comme l'un des points faibles de la première version. En voyant apparaître le binding de données, l'ensemble des composants "standards" (text box, radio button, etc.), les développeurs auront toutes les cartes en main pour créer de véritables applications. Pour tous les détails, je vous conseille ce très intéressant article de Tim Sneath, évangéliste Microsoft.

Prism sur mac et linux

Prism, le projet très intéressant mené par Mozilla pour déporter des applications web sur le bureau est déjà disponible pour Mac et Linux ! Pas d'attente donc pour un projet qui fait pas mal parler de lui. J'en ai déjà parlé dans mon dernier article, mais Prism est très intéressant dans le sens où, comme le dit Tristan Nitot, c'est un projet dont l'idée de donner un grand coup de pied dans la fourmilière de consultation Internet. Une nouvelle vision de l'accès aux données, pour offrir plus de libertés à l'utilisateur ?

Visual Studio 2008 est sorti

Visual Studio, l'environnement de développement de Microsoft est disponible, avec les outils associés pour développer des applications Silverlight. Pour l'instant rien de neuf mais on nous promettait une intégration de plus en plus proche entre la suite Microsoft Expression (plutôt orienté design), Visual Studio (pour les développeurs donc) et Silverlight / WPF, les plates-formes riches.

Flex Builder gratuit pour les étudiants

Très bonne nouvelle que de voir Adobe offrir Flex 2 aux étudiants et universités qui le souhaitent ! Flex pourrait évidemment devenir un levier important pour approcher des problématiques telles que l'importance de l'interface, du design et de l'ergonomie dans une application Web.
Vous le savez sûrement déjà, Mozilla a annoncé il y a peu Prism. Cette nouveauté vous permettra de pouvoir exécuter vos applications web à l'extérieur de votre navigateur, profitant d'un lien plus direct vers vous, l'utilisateur. On peut donc parler de technologie RDA, bien que actuellement Prism est plutôt un "conteneur". Le but est tout simplement de pouvoir proposer des applications web directement accessible depuis votre bureau, comme par exemple Gmail, GCalendar, Zoho, etc. Les plus nommées sont de vraies applications au sens propre du terme (organizer, calendrier, etc.) et montre donc un peu la cible souhaitée de Prism. Plutôt que de décrire les fonctionnalités de Prism, je souhaite revenir sur deux aspects très intéressants autour de cette initiative.

Mozilla Prism

Tout d'abord la "roadmap" de Prism, dont on peut lire quelques idées sur l'excellent blog d'Alex Faaborg. Au menu donc, une meilleure intégration au niveau du bureau (icônes réduites, du drag and drop), des notions autour de la sécurité (sujet très délicat et très intéressant), un mode connecté-déconnecté (sachant que cela est prévu dans Firefox 3), etc. En résumé, on voit là un ensemble de notions qui correspondent totalement aux définitions des RDA que l'on peut se faire. Et c'est une très bonne nouvelle de voir Mozilla se lancer officiellement dans ce domaine ; ayant bien débattu autour de XULRunner, je pense que l'apparition de Prism (non simple, très ciblé sur les RDA, s'affiche en concurrent direct d'AIR et de WPF (et non Silverlight), etc.) est tout à fait logique et bien venue. Mozilla, de part sa position dans le monde de l'open source et du navigateur, ne pouvait pas ignorer le domaine des RDA.

Mozilla Prism

Au delà de ça, l'investissement de Mozilla et surtout le nouveau positionnement (je rappelle que Prism n'est "que" WebRunner renommé) valide l'importance que l'on pourrait avoir autour des RDA, que ce soit autour des fonctionnalités offertes ou de son but. Je m'explique : en se basant également sur un modèle connecté-déconnecté, en mettant en avant l'expérience utilisateur tirée du rapprochement entre l'application et l'utilisateur, en offrant aux webapp une plus forte indépendance en s'affranchissant du navigateur.

Au final, je retiendrais cette phrase tout à fait pertinente autour des RDA : cela regroupe le meilleure des deux mondes (le web et le bureau). A suivre...

Quel avenir pour XUL Runner ?

lundi 23 juillet 2007
C'est la question que je me pose en regardant l'avancée de XUL/XULRunner depuis que je me suis penché dessus pour réaliser cette fiche de présentation. En effet, c'est l'une des technologies qui fait le moins l'actualité ces derniers mois, contrairement aux nouveaux produits Adobe ou Microsoft, les initiatives comme Dekoh ou Slingshot ou encore les nouvelles version d'OpenLaszlo. Et du coté de Mozilla, quoi de neuf ?

J'avoue ne pas m'être intéressé énormément à cette technologie, et ce je pense pour plusieurs raisons sur lesquelles je reviendrais pas la suite. Avant, je voudrais souligner deux choses :
  • Tout d'abord, le fait que Mozilla ne devrait finalement pas baser la version 3 de Firefox et de Thunderbird sur une seule instance de XULRunner, pour ne pas retarder la sortie de ces logiciels. Raison tout à fait valable à vrai dire, mais ce fait ne souligne t-il pas son manque de maturité ? N'est-ce pas avouer la relative faiblesse de cette technologie ?
  • Ensuite, je constate que la dernière version de XULRunner date de presque un an, ce qui fait relativement beaucoup quand on sait la réactivité que pourrait apporter Mozilla. De l'autre, c'est évidemment normal sachant que la plate-forme n'est maintenue que par un seul homme, Benjamin Smedberg.

Toutefois, on peut y voir quelques aspects positifs :
  • Des logiciels basés sur XULRunner qui sont parmi les plus en vue : citons Joost pour la TV en peer-to-peer et Songbird comme lecteur média. De belles références donc.
  • La création d'un espace pour la communauté de développeurs de XULRunner : mozpad.org. Soutenu par Mozilla, cette initiative est évidemment dans la bienvenue alors que l'on souligne que la communication et la documentation autour de XULRunner n'est pas des meilleures. Elle permettra notamment de recentrer les personnes influentes du projet autour d'un même site.
Songbird
Songbird, une application réalisée grâce à XUL/XULRunner

Personnellement, je me pose de plus en plus de questions. Pour être franc, je ne crois plus trop en cette technologie. Peut on la qualifier de technologie riche ? Lorsque l'on apprend que son développement par Mozilla n'est fait uniquement dans le but d'être dédié à une plate-forme spécifique (en l'occurrence Mozilla) et que les autres projets (Joost ou Songibrd) ont leur propre XULRunner, on arrive à se poser des questions sur la technologie et son niveau de maturité. Ce serait comme devoir télécharger un Flash Player pour chaque site web animé...

Au niveau purement technique, je ne reproche absolument rien à Mozilla et son offre XULRunner : en se basant sur de standards du web, le projet est donc sur le papier vraiment bon. Mais qu'en est t-il du coté de la richesse graphique ? Et des outils de développements permettant de réunir développeurs et designers autour d'un même projet ? L'intention de Mozilla est bonne, mais la réalisation n'est pas à la hauteur de ce que peut fournir d'autres sociétés (à plus gros moyens, évidemment) comme Adobe ou Microsoft. Et l'on peut comprendre que Mozilla préfère placer ses efforts sur sa plate-forme Firefox / Thunderbird & co.

Mozilla

Le seul reproche que je n'explique toutefois pas concerne une communication qui à mon avis est relativement inadéquate. Avez-vous déjà lu des articles de développeurs XUL/XULRunner disant qu'ils travaillent sur des RIAs ? Mozilla met t-il en avant cette plate-forme comme un outil permettant de créer des interfaces riches et une gestion de données adéquate pour de nouvelles applications sur le nouveau Web ?

Au vu de toutes les nouveautés proposées par les éditeurs actuels, et même par les nouveaux comme Dekoh ou Slingshot, je me pose donc cette question : peut on qualifier la technologie XUL/XULRunner de technologie RIA ? Je pense que non, et que l'on doit plutôt la considérer comme un des éléments d'une plate-forme, en l'occurrence Mozilla. Souhaitons toutefois que le projet ne soit pas abandonné et trouve les moyens de poursuivre l'aventure et de rattraper son retard sur un domaine qui commence à exploser...

Pour ceux qui souhaitent creuser, je vous renvoie à quelques unes de mes sources :

Certains trouveront ce jugement dur, mais c'est ma position et je l'assume. Attention toutefois, ne pas y voir là l'opposition à un système libre et l'éloge du modèle plus fermé (quoi que) des gros calibres que sont Microsoft et Adobe... ne mélangeons pas tout SVP :)

Mozilla est un acteur important des technologies riches, notamment grâce à sa technologie XUL et tout ce que l'on peut trouver autour. Pour vous en parler, Laurent a bien voulu répondre à quelques unes de mes questions et je l'en remercie.

Bonjour Laurent, tout d'abord pour ceux qui ne te connaissent pas, pourrais-tu te présenter ?

Je suis développeur. Je travaille avec pas mal de technos, en particulier celles du web. En effet je me suis pas mal impliqué dans la promotion des standards du web en France (contributeur au site http://openweb.eu.org) et je suis l'auteur de quelques projets en PHP dont le framework Jelix. Parallèlement à ça, je fais la promotion des technos Mozilla depuis 2003, au travers de conférences et au travers de mon site xulfr.org, géré maintenant par l'association xulfr. Mon implication dans les technos Mozilla ne s'arrête pas là, puisque chez Disruptive Innovations, je développe des applications avec celles-ci, allant de la simple extension pour Firefox jusqu'à des logiciels plus pointus comme Etna, un éditeur XML wysiwyg, qui nécessitent de modifier Gecko, le cœur de Mozilla Firefox.

XUL n'est pas la technologie riche la plus connue en France (moi-même j'avoue ne l'avoir jamais utilisé). Pourrais-tu nous présenter XUL de manière assez succincte ?

Concrètement, XUL est un langage en XML, qui permet de décrire une interface utilisateur. On a ainsi des balises pour afficher des boutons, des arbres, des menus déroulants, des onglets etc. Il est utilisé depuis des années dans les navigateurs de Netscape et de Mozilla (officiellement depuis Netscape 6), pour réaliser l'interface de ces logiciels. C'est donc un langage mature et relativement complet, dont s'est grandement inspiré Macromedia (racheté par Adobe depuis) lorsqu'ils ont crée Flex ;-)

Cependant, XUL n'est pas tout seul dans le framework Mozilla, et ce qui fait la richesse de XUL, ce sont les autres technologies que l'on peut utiliser conjointement :

  • XBL pour créer ses propres composants d'interfaces
  • javascript pour programmer les comportements de l'interface (que fais-je lors du click sur tel bouton ?)
  • CSS pour le design
  • XPCom pour les composants métiers
  • SVG pour les dessins vectoriels
  • mais aussi XHTML, Mathml, xforms etc.

Ce qui fait que souvent, par abus de langage, on appelle XUL l'ensemble de ces technologies. Notons que, hormis XUL en lui même, la plupart des technologies dans Mozilla sont des standards et que Mozilla est un logiciel libre. Ce qui est un vrai plus pour le développeur au niveau de la capitalisation des compétences et au niveau de la pérennité de la plateforme.

Parlons d'un point de vue plus technologique maintenant. Concrètement, que peut-on faire avec XUL ?

Tout ? :-) Ça va de l'application de gestion de stock, de contenu, au  lecteur multimédia sophistiqué, en passant par des outils de messageries instantanées, de VOIP, des éditeurs en tout genre etc. Les témoignages d'entreprises que l'on trouve sur http://xulfr.org/entreprises/ le prouvent.

L'api de Gecko est très riche et embarque des fonctionnalités modernes, en particulier tout ce qui est lié au web, Firefox oblige. Ainsi, aucun souci de faire un client riche, interrogeant des serveurs par le biais de services web (soap, xmlrpc, ajax, rest...). Mais il y a d'autres types d'API bien sûr, comme DOM/XML, protocoles mail, édition wysiwyg et j'en passe. Firefox 2/XulRunner 1.8.1 embarque même le moteur de base de donnée Sqlite ! Bien entendu, le framework prend en charge certains concepts comme l'accessibilité, la localisation, la mise à jour, la sécurité, la correction orthographique etc. Et il est disponible sur bon nombre de système d'exploitation.

L'avantage de la plateforme Mozilla, c'est son extraordinaire extensibilité, que ce soit au niveau des interfaces utilisateurs (grâce aux overlays XUL et au système d'extension), qu'au niveau des composants métiers en XPCOM (intégration de bibliothèques tierces aisées, pour peu que l'on connaisse C++ ou python), et même au niveau de la prise en charge de nouveau format de fichier (vidéo, son, pdf etc.) grâce aux  système de plugins que l'on connait bien au travers de la balise <object>. Ainsi le multimédia dans une application XUL n'est pas un problème. Il y a d'ailleurs sur xulfr un petit tutoriel qui montre comment développer un media player en quelques lignes de code.

Bref, aucune limite théorique. Les nombreux projets qui reposent sur Mozilla en témoignent (Joost, Etna, codeEditor...).

Notons que l'on peut aussi utiliser XUL dans des applications web, sans  rien installer sur le poste utilisateur. On a moins de possibilité que pour les applications "locales" pour des raisons de sécurité (on ne peut pas accéder aux fichiers locaux par exemple), mais XUL apporte déjà de gros avantages par rapport au HTML que l'on utilise dans les applications web classique ou ajax : moins de javascript à écrire, code plus léger, plus rapide à écrire etc. Et bien sûr, on peut continuer à faire de l'Ajax avec du XUL (utilisation de json, xmlhttprequest etc.). Xul offre même un système de template, basé sur des sources de données en RDF.

De la même façon, qu'est-ce qu'il lui manque ?

Pour XUL en lui même, il lui manque quelques widgets de base, comme des spinbuttons, un calendrier etc. Il manque aussi un meilleur support de SVG et de CSS. Mais la version 1.9 de Gecko (qui sera le moteur de Firefox 3) va combler une grande partie de ces manques, et on peut même déjà tester toutes ces évolutions dans MineField 3.0a3 (le futur Firefox 3) ou XulRunner 1.9a3.

Par le passé, ce qui manquait, c'était la documentation pour les développeurs, mais depuis 1 an ou 2, ce n'est plus le cas grâce aux efforts que l'on a fait à xulfr.org en traduisant des tutoriels, en écrivant des articles dans le wiki. Il y a aussi le site developer.mozilla.org qui progresse très vite et qui contient maintenant énormément d'informations (et une équipe du tonnerre pour traduire les articles anglais !). Même si ce n'est pas complet à 100%, on ne peut toutefois plus trop se plaindre de ce coté là. D'autant qu'avec le forum de xulfr ou le canal irc, on arrive à trouver les réponses manquantes à ses questions :-)

Aujourd'hui ce qui manque vraiment aux développeurs, c'est un environnement de développement complet. Il y a toutefois des efforts fait en ce sens par la communauté. On a par exemple XulBooster, un plugin pour Eclipse très prometteur, qui peut être utilisé dés maintenant pour le développement d'extensions.

Il y a aussi des efforts de fait pour simplifier certaines API rébarbatives de Mozilla. C'est l'objectif  du projet FUEL, qui facilitera grandement le développement d'extension dans Firefox 3, et on l'espère aussi d'applications basées sur XulRunner si c'est aussi intégré dans XulRunner.

Joost, Songbird : on voit déjà que XUL a gagné la confiance des connaisseurs et que le résultat est très bon (j'avoue être un grand amateur de Songbird :D). Aurais-tu d'autres applications XUL à nous présenter ?

  • OpenWengo, qui fourni son client de téléphonie par IP sous forme d'extension pour Firefox.
  • Xul DAIM, un logiciel d'analyse d'images.
  • Deux éditeurs wysiwyg, Nvu et Etna, le premier pour le Html et le deuxième pour tout document XML, développé dans la boîte où je travaille (Disruptive Innovations).
  • Komodo, un IDE multi-langage (licence propriétaire hélas)
  • Flock, un navigateur "social", orienté "web 2.0"
  • Allpeers, une extension fantastique qui transforme Firefox en une plateforme de partage privée. 
  • Sameplace Suite, un client jabber développé par l'équipe de xmpp4moz, des composants pour Gecko implémentant le protocole jabber.
  • Nextweb, un outil de gestion de contenu, dont la partie cliente est en XUL.

Et il y en a plein d'autres. Il y a aussi de plus en plus d'entreprises qui développent leurs applications internes en XUL, sur Firefox ou XulRunner. Je pense notamment à Renault F1, LeMonde.fr, Sixt...

En ce moment, l'actualité concerne Apollo. WPF risque aussi de faire de bruit. Tu as déjà donné ton point de vue sur ton blog où tu es plutôt direct. Pourrais-tu détailler ton avis ?

Je vais d'abord rappeler le contexte, pour que les lecteurs comprennent bien :-)

Toutes les technologies de Mozilla, y compris le XUL donc, sont utilisées intensivement dans Firefox. Jusqu'à il y a quelques années, si on voulait utiliser XUL pour réaliser ses propres applications, il fallait soit faire une extension à la suite Mozilla ou Firefox, soit modifier et recompiler les sources de Firefox sans son interface, ce qui était franchement fastidieux.

Mozilla a eu l'idée il y a 3-4 ans, de séparer le moteur de Firefox, Gecko, incluant toutes les technos de l'interface de Firefox. Ainsi, on pourrait réutiliser facilement Gecko pour exécuter des applications faites en XUL, sans avoir une dépendance à Firefox. XulRunner était né. Il suffit d'indiquer à XulRunner un paquet .app ou un répertoire, contenant les fichiers d'une application XUL, pour que celle-ci s'exécute. Un Apollo-like bien avant l'heure donc.

XulRunner a évolué. La dernière version officielle est 1.8.0.4 (l'équivalent de Firefox 1.5). Il est même maintenant largement utilisé dans bon nombre d'applications (dont parmi les plus célèbres dernièrement, Joost, Songbird, Wengo...).

XulRunner a cependant un aspect "inachevé" : il manque quelques trucs pour attirer plus de développeurs. Et malheureusement, la fondation Mozilla en a ralenti son développement, concentrant ses efforts sur Firefox 3. La raison principale étant que pour Mozilla, Firefox est une priorité, qui fait parti de ses objectifs, alors que XulRunner non. Pour Mozilla, c'est Firefox la plateforme, une plateforme de développement web par excellence.

Sachant ceci, la déferlante Apollo m'a quelque peu agacé. D'un coté on a XulRunner, un produit utilisable, avec un potentiel énorme, qui existe depuis longtemps, contenant des technologies dont XUL, existantes depuis encore plus longtemps. Et de l'autre, on a Apollo et WPF, (dont le premier reprenant tous les principes de XulRunner), débarquant à la faveur d'un raz de marée marketing de la part d’Adobe et Microsoft.

D'où le coup de gueule dans le billet auquel tu fais référence, témoignant d'une certain frustration alors que moi même j'essaie de promouvoir XUL depuis 3 ans :-)

Mais il faut voir ce coup de gueule pour ce qu'il est : un simple coup de gueule. Mon engagement envers les technologies Mozilla est toujours le même. Et surtout, il ne faut pas y voir comme une mort annoncée de XUL/XulRunner, ou je ne sais quoi d'autre de dramatique.

Puisque Mozilla se préoccupe plus de Firefox 3 que de XULRunner, cela ne risque t'il pas d'être dommageable pour les personnes désirant réaliser des applications XUL ?

Je dirais que non. De toute façon, depuis toujours, Firefox a été la priorité chez Mozilla. Mozilla n'a mis qu'un développeur sur XulRunner, et encore, pas à temps plein. Cela n'a pas empêché à XulRunner d'être devenu ce qu'il est, un bon produit, une bonne base pour le développement, même si il a quelques défauts (qui ne sont pas forcément ceux de XUL), et d'être utilisé pour des gros projets, comme ceux que j'ai cité précédemment.

Et puis, puisque XulRunner repose sur Gecko, Xulrunner continue donc d'évoluer "passivement" au rythme des évolutions du moteur Gecko. J'en veux pour preuve que, même si ce n'est pas annoncé officiellement, il y a un XulRunner 1.8.1 (équivalent au moteur de Firefox 2) et un XulRunner 1.9a3 (équivalent du futur moteur de Firefox3), disponible en téléchargement sur le ftp de Mozilla. Donc ces versions contiennent les toutes dernières avancées à tous les niveaux, notamment XUL, SVG, CSS (test acid2 !)...

De plus, XulRunner n'est pas XUL, et XUL n'est pas XulRunner ! Il ne faut absolument pas confondre les deux comme j'ai pu voir sur certains sites ! XUL est un langage, XulRunner est un lanceur d'application XUL, incluant Gecko. XUL et toutes les technologies Mozilla vont continuer d'évoluer, puisqu'elles sont toutes utilisées dans le projet phare (et hautement prioritaire) de Mozilla : Firefox.

Au pire, si XulRunner n'est pas totalement satisfaisant par rapport aux besoins d'un projet, les développeurs peuvent se rabattre sur Firefox, en réalisant leurs applications sous forme d'extensions. Ils profitent de toutes les technologies de Firefox, donc de XUL, SVG etc. C'est ce qu'a fait par exemple Allpeers, avec leur produit de partage de fichiers "personnel".

Quel futur vois-tu pour XUL à moyen terme ?

Si on parle de l'ensemble des technos mozilla, dont le langage XUL, je dirais : un avenir radieux ? :-)

Firefox a 20% de part de marché. Cela ne va pas diminuer à mon avis (Firefox 3 promet !). Ce qui veut dire qu'il y a 20% des utilisateurs qui ont une plateforme XUL installée sur leur poste, donc autant de runtimes XUL qui peuvent lancer des applications XUL (sous forme d'extensions).

L'un des objectifs de Mozilla, c'est aussi de se reposer un maximum sur les standards. C'est déjà le cas en prenant en charge CSS, SVG, RDF, DOM, XML etc. On a aussi par exemple la version 2 de leur langage XBL, qui est sur le point de devenir un standard au W3C. Les spécifications sont maintenant terminées et acceptées. Il ne manque plus que deux implémentations soient réalisées (dont une a débuté chez Mozilla), pour que le processus de normalisation se termine. Il y a aussi un groupe de travail au W3C qui réfléchi à un langage de type XUL. Est-ce qu'ils reprendront le XUL de Mozilla comme ils l'ont fait pour XBL ? On ne sait pas encore. Mais si ce sera le cas, alors cela permettra de rassurer les derniers septiques :-)

De plus Mozilla continue d'innover, en faisant progresser le langage Javascript vers une version 2 (qui est lui aussi en cours de normalisation à l'ECMA, en collaboration avec Adobe et Opera je crois). Mozilla continue d'apporter des améliorations pour les applications web, comme la possibilité d'exécuter des applications Ajax même lorsque l'on est déconnecté, la prise en charge des microformats etc.. Il y a aussi des améliorations au niveau de CSS, notamment de CSS3 (des propriétés CSS que l'on utilise pour le XUL sont en faites des choses qui feront partie de CSS3).

Toutes ces améliorations sont profitables à ceux qui veulent réaliser des applications en XUL, qu'elles soient distantes (web) ou desktop (extensions ou applications xulrunner).

Si on parle de l'avenir de XulRunner : il est moins certain, mais il serait franchement hasardeux de lui prédire avec certitude un avenir sombre, même si Mozilla n'en fait pas un produit officiel. N'oublions pas que c'est un logiciel libre, reposant sur des technologies libres et ouvertes ! Il y a fort à parier que la communauté des développeurs XUL va prendre en charge la suite du développement de ce fantastique produit, surtout quand on voit ce qu'en font les équipes de Joost, Songbird etc. En tout cas, à l'association Xulfr, on ne compte pas en rester là. Stay tuned ;-)

Merci beaucoup pour tes réponses Laurent. On le voit bien, XUL a d'énormes capacités : une technologie éprouvée, des applications "pilotes" réussies, un environnement open source favorable, etc. Mozilla met l'accent sur Firefox 3 et cela leur réussit bien : la seule chose que je souhaite maintenant c'est que XUL arrive à faire encore plus parler de lui et devienne LA solution open source de développement d'interface bureau. A très bientôt j'espère !

Rechercher