Linux+ 53 - 06-2009

Embed Size (px)

Citation preview

ditorial Au cur de la programmationJava et C++

Au cur de la programmation Java et C++

EAneta Mazur Rdactrice en chef [email protected]

t nous voil en priode de pluie et de temprature basse. L'automne est bien installe avec ses pluies et brumes matinales. Pour gayer vos soires dautomne et dhiver, nous avons prpar un dossier spcial sur la programmation. Nous allons nous concentrer dans ce dossier sur les langages Java et C++. En effet, Java est un langage de programmation informatique qui offre de nombreuses possibilits de dveloppement d'applications. Grce son efficacit, scurit et portabilit de la plate-forme, Java est devenu le langage de prdilection des dveloppeurs. Je vous recommande l'article Java, problmes de performace qui vous prsentera les stratgies dployer lorsqu'un problme apparat dans une application. Dcouvrez JavaFX, technologie qui augmente la puissance de Java ! Dans l'article de Pascal Barbier Dbuter avec JavaFX, vous allez apprendre, entre autres, dvelopper les interfaces utilisateur et crer des effets graphiques. ne pas manquer l'article sur le langage C++ qui traitera essentiellement de la programmation gnrique. Pour ceux qui veillent la scurit de leurs donnes, je vous conseille vivement l'article de Rgis Senet Chiffrement des donnes avec EncFS. Vous allez apprendre comment garder la confidentialit de vos donnes grce EncFS, un gestionnaire de chiffrement des donnes efficace et simple d'utilisation. L'article du mme auteur La mise en place d'un pot de miel avec Honeyd vous montrera comment se protger efficacement contre les pirates informatiques. Il montrera comment tendre un pige aux hackers grce un projet libre et gratuit Honeyd. Dans la section Pratique, dcouvrez l'article Oracle dans la cour des pingouins qui vous montrera comment installer Oracle 11g sur un systme Linux et vous guidera dans la cration d'une base de donnes. Dans ce numro, nous avons prpar galement une rubrique ddie aux entreprises. Dcouvrez les capacits et les fonctionnalits qu'offre OpenERP : gestion des stocks, gestion de la relation client ou la comptabilit ! Cet ERP (Progiciel de gestion intgr en franais) deviendra le facteur cl de succs de votre entreprise. Je vous recommande galement la lecture de l'article sur l'utilisation des logiciels libres en entreprise de Philippe Scoffoni. Vous allez srement apprcier l'article plein de conseils pour la mise en place de logiciels libres en entreprise. A loccasion de Nol qui approche, je vous prsente mes meilleurs voeux. Joyeux Nol et Bonne Anne 2010 ! Bonne lecture tous !

www.lpmagazine.org

Sommaire

Dans ce numro

Actus

3ActusJulien Rosal

Dveloppement d'application RCPPascal Barbier

6 8 9

MandrivaFabrice Facorat

La performance de l'interface utilisateur de la plateforme Eclipse permet de dvelopper rapidement des applications portables. Cet article vous expliquera l'architecture de la platforme Eclipse et les principes du dveloppement d'une application portable base sur RCP.

DebianJulien Rosal

Dossier

1

Comment utiliser les logiciels libres en entreprisePhilippe Scoffoni

Les logiciels Open Source remplaceront-ils les logiciels propritaires ? Existe-t-il des logiciles Open Source pour tous les besoins de l'entreprise ? Cet article ddi essentiellement aux solutions Open Source en entreprise vous expliquera leurs avantages ainsi que leur mise en place. Un article plein de conseils pour ceux qui souhaitent raliser un projet Open Source.

0

Programmation Gnrique C++Robert Nowak

Le C++, langage de programmation est le 3me langage le plus utilis dans le monde entier. Tout le monde peut l'utiliser sans besoin de payer ou demander une autorisation. Cet article traitera essentiellement de la programmation gnrique C++. Vous allez connatre entre autres l'utilisation des classes de traits ou apprendre slectionner un algorithme lors d'une compilation.

Scurit Programmation

18

Dbuter avec JavaFXPascal Barbier

La mise en place d'un pot de miel avec HoneydRgis Senet

Dcouvrez JavaFX ! Cet article vous montrera les principes de la technologie JavaFX, la portabilit multiplatforme et surtout la cration des interfaces utilisateur et d'effets graphiques.

Peut-on se protger efficacemment contre les pirates informatiques ? Le programme Honeypot vous montrera que l'on peut aller plus loin : tendre un pige aux hackers. Grce cet article, vous allez apprendre installer et configurer Honeyd afin de vous en servir facilement.

22

Java, problmes de performanceMarcin Kalas

8

ProFTPd, MySQL, TLS la scurit des tranfertsRgis Senet

Rencontrez-vous souvent des problmes lis la performance de vos applications ? Marre de devoir rdemarrer l'application qui reste sans rponse ? Cet article vous prsentera les stratgies et outils dployer si un problme apparat dans une application. Vous allez apprendre galement comment diagnostiquer les problmes lis la performance et trouver la solution.

La mise en place d'un serveur FTP stable et scuris relve parfois d'un exploit. L'article de Rgis Senet vous montrera comment installer ProFTPd, un serveur FTP complet. Vous allez connatre galement les faiblesses du protocole FTP et les moyens pour les palier.

Linux+ 6/2009

Sommaire

Dossier

Programmation Java et C++

6

Chiffrement des donnes avec EncFSRgis Senet

70

Avec SVN, ne perdez plus rienAdel Safi

Comment assurer la confidentialit de vos donnes ? Vous trouverez la rponse dans cet article qui vous montrera comment chiffrer efficacement vos donnes grce l' EncFS. Dcouvrez la simplicit d'utilisation et les nombreux avantages d'EncFS.

La gestion des diffrentes versions d'un document devient un gest invitable lorsque vous tes un dveloppeur. Cet article vous montrera comment utiliser SVN, un outil incontournable pour grer les diffrentes verions d'un fichier.

Pratique

60

Oracle dans la cour des pingouinsJonathan Fussner

De nos jours, les bases de donnes sont omniprsentes que ce soit derrire des logiciels ou en application directe. Cet article prsente l'installation d'Oracle 11g sur un systme Linux. Apprenez installer Oracle 11g et crer votre base de donnes.

Entreprise

7

Dployez OpenERPJonathan Fussner

Dcouvrez les capacits et les functionnalits d'OpenERP ! Cette solution informatique vous aidera grer l'ensemble de processus oprationnels d'une entreprise. Au menu entre autres : la Gestion d'activit, Gestion des Ressources Humaines ou encore Gestion Financire.

6

Rvision de code avec Eclipse et JupiterAdel Safi

Pour fournir un logiciel de qualit, il faut produire un code source de qualit. La revue de code permet d'identifier les erreurs avant la relecture du code par un dveloppeur expriment. L'auteur de cet article vous prsentera le processus de revue de code travers Jupiter, plugin pour Eclipse.

Fiche Technique

79

JeuxLaurent Derosier

www.lpmagazine.org

NE WS

Actus news Section dirige par : Julien Rosal [email protected]

De la libert est venue l'lgance

Linux Mint se dclare ouvertement driv d'Ubuntu, une distribution reprsentative d'un mouvement Linux qui tient dmontrer que son systme est mme de rpondre prsent une utilisation du PC comme outil multimdia sans connaissance informatique pralable. Mais l'utilisateur qui veut quitter Windows est habitu voir tout fonctionner sur base du principe click and run . Linux Mint a dcid de faciliter la transition de Windows vers Linux en incorporant ces lments ds l'installation. Linux Mint n'est-il qu'un Ubuntu modifi ? Non. D'abord c'est une main tendue vers les Windoziens en leur montrant qu'autre chose est possible mme le libre. Ensuite, des outils trs pratiques (Mint Install, Mint Menu...) qui apportent une aide immdiate trs prise. Enfin un soin apport au design nous dmontre que l'lgance n'est pas absente de la banquise. Site officiel http://www.linuxmint.com Communaut francophone http:// www.linuxmint-fr.orgTrahison

IE dans le viseur

D

La nouvelle PS3 devrait sortir dbut septembre, elle aura une taille et un poids rduit, une consommation lectrique amoindrie et un prix qui devrait tre revu la baisse (enfin!). Que de bonnes nouvelles ! Enfin il y a quand mme une ombre au tableau car Sony a dclar ceci : "Le nouveau systme PS3 va se concentrer sur la mise disposition de jeux et autre contenu de loisir, et les utilisateurs n'auront pas la possibilit d'y installer d'autres systmes d'exploitation". L'aventure Linux sur PS3 devrait donc prendre fin avec la PS3 Slim, une triste nouvelle pour tous ceux qui s'taient investis dans le dveloppement de logiciels autour du processeur Cell. Il semblerait mme que la mise jour du firmware des PS3 "original" supprimerait galement la possibilit d'installation de Linux. Une vritable trahison de la part de Sony envers la communaut du libre qui supprime encore une fois un atout prcieux de sa console.Frag donf !

Vous tes amateur de FPS, vous aimez frager toute la journe, tirer, exploser, dcouper, dtruire sont des mots courant pour vous... Alors soyez heureux car Quake vient enfin d'tre port sous Linux. Une bonne nouvelle qui fait suite une promesse d'id Software, ce dernier avait promis le portage de Quake live sous MacOS et sous Linux et bien c'est chose faite. Il est rare qu'un diteur tienne ce genre de promesse alors saluons cette initiative qui devrait faire le bonheur de bon nombre de gamers. Quake Live est totalement gratuit, il est compos de pas moins de 40 niveaux et se base trs largement sur Quake III Arena. Le jeux est trs simplement accessible via un navigateur web, donc la simplicit est de rigueur pour ce jeux et c'est tant mieux, l'important c'est le fun et le frag.

cidment il n'y a pas un mois o le monde des navigateurs ne fait pas parler de lui. Mais non il ne s'agit pas de classique la voile ou de tour du monde et encore moins de la coupe de l'America. Il s'agit de navigateur internet, vous savez c'est ce que vous utilisez tout les jours pour lire vos mails ou pour regarder des sites pas toujours trs avouables. Ok je vois que l'on s'est compris. Pendant de longues annes c'est Internet Explorer qui a domin le march des navigateurs. Microsoft est assez malin et avait russit imposer, par le biais de FrontPage, des sites web non conformes aux normes du W3C (World Wide Web Consortium). Quel intrt me direz vous ? Et bien, tout simplement, ces sites ne pouvaient tre lus que par Internet Explorer 6. D'ailleurs certains sites ont encore le logo ou le label "Optimis pour Internet Explorer". Ce mode de fonctionnement de Microsoft a contribu l'mergence de nouveaux navigateurs tels que Firefox qui respectent mieux les normes W3C. Le problme c'est que beaucoup d'utilisateurs continuent utiliser IE6 et donc les sites doivent tenir compte des spcificits de ce navigateur. Ce qui veux dire inclure des lignes de code pour que le site ne s'affiche pas en "vrac". Pour de petits sites, ce genre de maintenance est tout fait jouable, mais pour des sites importants cela demande un gros effort et surtout normment de travail en plus. IE6 est tout de mme sorti en 2001, cela fait donc 8 ans que ce navigateur est en fonction, soit une ternit en informatique. IE6 est devenu le cauchemar des dveloppeurs avec notamment un comportement plus qu'alatoire en ce qui concerne le JavaScript et un support incomplet des CSS (voir tout les gros bugs de IE6 sur cette page : http://www.sitepoint.com/ blogs/2009/04/14/10-cool-things-well-beable-to-do-once-ie6-is-dead/). En fvrier 2009, un mouvement d'origine norvgienne a dcid de faire la peau ce navigateur obsolte (http://www.wired.com/ epicenter/2009/02/norwegian-websi/).Leprincipe est simple, il suffit de ne plus supporter IE6 mais surtout de l'afficher publiquement sur le site. Ce mouvement commence a prendre de l'ampleur et des bandeaux commencent apparatre sur les sites web invitant les utilisateurs mettre jour leur navigateur ou tout simplement en les avertissant que leur navigateur ne permet pas un affichage correct de

ies4linux pour faire tourner IE sous Linux

la page. Le phnomne ne touche pas de petits sites, bien au contraire, des sites importants sont concerns tels que Youtube, Facebook, Twitter, Gmail, Dailymotion, Okrut... Bref, les jours de IE6 sont compts. Un plugin WordPress a mme t cr pour avertir les utilisateurs d'IE6 que leur navigateur est obsolte (http://www.incerteza.org/blog/projetos/shockinglybig-ie6-warning/). Plus tonnant encore, la campagne norvgienne contre IE6 est trs largement soutenue par... Microsoft... Vous savez Microsoft, la petit entreprise familiale qui a cre IE6... Tout cela bien entendu dans le but de promouvoir IE7 qui est, il faut l'avouer, un peu mieux en ce qui concerne les normes W3C. La disparition de IE6 va tout de mme prendre du temps, car bon nombre d'entreprises, d'coles ou les administrations utilisent des applications faites pour IE6 (les intranet par exemple). Cela va demander beaucoup de travail et donc d'argent pour migrer ses applications vers des standards plus propres. Une enqute a, d'ailleurs, t faite pour comprendre pourquoi les gens utilisait IE6 (http://blog. digg.com/?p=878). Il apparat de faon vidente que c'est le monde du travail qui soutient grandement IE6. Microsoft d'ailleurs ne brusque pas vraiment les entreprises sur ce terrain car XP SP3 est encore livr avec IE6. Une faon encore de maintenir son influence et empcher tout basculement vers un autre systme d'exploitation. Il faudra certainement du temps pour radiquer IE6, esprons seulement que les sites ddis IE6 disparaitront au plus vite pour que justement les linuxiens puissent pleinement profiter d'internet sans payer les "conneries" de Microsoft. Mais si vous voulez vous amuser installer IE sur votre Linux, sachez que c'est possible, allez faire un petit tour a cette adresse : http://www.tatanka.com.br/

Linux+ 6/2009

Actus Section dirige par : Julien Rosal [email protected] news

NE WS

ans le paysage informatique, il existe un systme d'exploitation qui a 40 ans de recul, vous voyez de qui je veux parler : Unix bien entendu. Ce papy de l'informatique continue sa route tranquillement et conserve une image trs apprcie dans le monde de l'entreprise. 40 ans c'est un bel anniversaire et il est normal de revenir sur le systme qui a inspir Linus Torvalds. Tout ce passe en 1969, l'homme marche sur la lune pour la premire fois mais Ken Thompson s'en fiche royalement car il vient de dvelopper le premier OS mono-utilisateur : le New Ken's System. C'est cet OS qui est la premire version d'Unix. Ce systme a t install sur un mini ordinateur DEC PDP-7 (http:// fr.wikipedia.org/wiki/PDP-7). En ce qui concerne le nom Unix proprement dit, Wikipedia nous claire quelque peu : le nom Unics fut suggr par Brian Kernighan suite un jeu de mot latin avec Multics; "Multi- car Multics faisait la mme chose de plusieurs faons alors qu'Unics faisait chaque chose d'une seule faon". Ce nom fut par la suite contract en Unix (pour au final tre dpos sous le nom UNIX par AT&T), cependant personne ne se souvient de qui est l'origine de la modification du " cs" en "x". Unix fut crit l'origine en langage d'assemblage mais il fut rcrit en langage C en 1971. le langage C a d'ailleurs t invent pour Unix. Deux ans plus tard, en 1973, l'entreprise AT&T qui possdait les laboratoires Bell qui avaient mis au point Unix, dcida de "donner" le code source de leur OS aux universits moyennant une licence au prix drisoire. C'est l que les choses se compliquent... Arriv l'universit, le succs fut immdiat et AT&T commena voir qu'il y avait moyen de gagner beaucoup d'argent. La sortie de la version 7 interdisait aux universits d'utiliser le code source d'Unix. Ce fut donc partir de la version 6 que les clones d'Unix ont commenc pulluler et notamment la branche BSD (Be-

40 ans de succs

Visa pour Linux

D

Les hritiers d'Unix

rkeley Software Distribution) qui a donn des systmes d'exploitation assez connus comme FreeBSD, NetBSD, OpenBSD et peut tre plus tonnant : MacOS... Et oui la marque la pomme est un driv d'Unix, autant dire que c'est un cousin de Linux. Vous avouerez qu'Unix continue bien se porter au vu du nombre de iPod ou de iPhone qui sont vendus travers le monde ;) Les distribution BSD (version 6) taient plus rserves un monde universitaire mais a n'est pas pour autant que la version 7 d'Unix fut tombe aux oubliettes. De grosses socits telles qu'IBM ou Sun par exemple ont commenc customiser leur Unix pour crer des solutions serveur rpondant aux attentes du monde de l'entreprise. Ainsi des systmes tels que AIX, HP-UX ou UnixWare ont commenc voir le jour. En 1985, un professeur amricain domicili aux Pays-Bas, Andrew S. Tanenbaum, a dvelopp un OS bas sur Unix V6 qui se voulait minimal, il fut d'ailleurs baptis Minix. Pourquoi je mets l'accent sur cette distribution particulirement ? Et bien tout simplement car en 1991, un petit gars du nom de Linus Torvalds s'inspira de se systme pour cre un OS, ou plutt un embryon d'OS qui devait devenir Linux. Attention Linux ne contient aucune ligne de code d'Unix, c'est un systme qui a t totalement rcrit mais qui s'inspire grandement d'Unix. Nous sommes en 2009 et Unix est toujours l, c'est le systme d'exploitation qui a le plus de recul. C'est l'OS qui a le plus inspir toute notre informatique moderne, mme Microsoft s'est inspir des grands principes d'Unix. En revanche le futur d'Unix ne semble plus vraiment trs rose, un sondage de Gartner Group montre qu'Unix est en dclin depuis plusieurs annes et cela cause de Windows et Linux. Nanmoins ce dclin devrait tre long car beaucoup d'entreprises sont encore dpendantes de leur architecture Unix. Selon ce mme sondage, prs de 50% des entreprises utilisant Unix ont dclar : "Unix est une plateforme essentielle pour nous et le restera indfiniment". Des paroles qui montrent bien qu'Unix est vraiment sans conteste le systme qui bnficie de la plus grande stabilit et le plus grand recul pour ce qui est de la monte en charge. Mme si Linux est un systme surprenant, il faut bien avouer qu'Unix a un pass assez glorieux et qui force le respect. Souhaitons juste que Linux souffle aussi un jour ses 40 bougies...

a c'est la classe, imaginez-vous : vous tes au restaurant avec votre petite amie, arrive le moment de l'addition et vous lui dites "laisse c'est pour moi, je suis informaticien". Une phrase qui pourrait sembler ridicule si ce n'est que votre carte visa est l'effigie de Tux. Depuis peu, une carte Visa Platinium avec tux en logo est disponible. Cette carte est clairement faite pour soutenir la fondation Linux car celle-ci recevra 50$ l'ouverture d'un compte et touchera un pourcentage des achats effectus par ses clients. Une excellente nouvelle mais qui malheureusement ne concerne que les Etats Unis, mais la fondation Linux assure que ce genre de carte devrait faire son apparition prochainement dans d'autre pays. Esprons que les pingouins passeront par la France.Xtrem

La solution de stockage en ligne XtremFS vient de passer en version 1.0. Cette solution est europenne et permet plusieurs utilisateurs d'utiliser un disque virtuel. Seul contrainte : avoir internet, vous avouerez que cette contrainte devient drisoire de nos jours. XtremFS fonctionne comme un Raid 0 mais au lieu de disque, c'est plusieurs serveurs qui composent ce raid, autre avantage vos donnes sont dupliques sur plusieurs serveurs, ce qui garantit une plus grande scurit en cas de plantage d'un serveur. Ce projet a t command par la commission europenne et a t dvelopp sous licence GPLv2, et de grands groupes tels que la Caisse des dpts et consignations, l'Inria, EDF ou encore EADS ont particip ce projet. La solution est sduisante et volue trs vite alors ne manquez pas le train : http://www.xtreemfs.org/.Dangereuse Pomme

Suite des incidents tranges qui se sont produits sur des iPhone, la commission europenne a demand des comptes Apple. Rappelons tout de mme qu'un iPhone a vu son cran se fissurer de toute part, tandis que d'autres ont tout simplement vu leur iPhone exploser suite une surchauffe de la batterie. Apple a rpondu qu'il s'agissait de cas isols et qu'il ne considrait pas qu'il y ai un problme gnral. Nanmoins la firme la pomme dcide de poursuivre les tests et surtout de trouver les causes de "ces cas isols". Ce genre de problme pourrait vite couter cher Apple car la commission europenne ne rigole pas avec ce genre de chose et si les cas d'iPhone dangereux venaient se multiplier et bien Apple devrait tout simplement retirer ses iPhone et ses iPod des rayons de nos supermarchs. Alors attention si on vous vend un iPhone c'est peut tre un pige ;) Respectons tout de mme ces pauvres produits qui se sont suicids car ils n'avaient pas Linux comme systme d'exploitation.

www.lpmagazine.org

Actus mandriva

Section dirige par : Fabrice Facorat [email protected]

Disponibilit de la Mandriva Flash 2009 Spring

Suite la sortie de la Mandirva 2009 Spring, la Mandriva Flash 2009 Spring est aussi disponible. Cette version, base sur la Mandriva 2009 Spring, utilise une cl USB de 8Go et est fournie avec des logiciels commerciaux tels que Skype. http://store.mandriva.com/product_ info.php?products_id=407

a Mandriva 2010.0 est prvue pour Novembre 2009. Cette version apportera de nombreuses amliorations et de nouveaux outils Mandriva seront disponibles pour les utilisateurs. Cette version continuera de mettre l'accent sur la scurit. Nous allons donc voir dcouvrir 2 outils qui sont en cours de dveloppement pour la Mandriva 2010.

Les nouveauts venir de la Mandriva 2010.0

L

Intgration de Plymouth

Pour la Mandriva 2010, Plymouth sera utilis en lieu et place de Splashy pour grer l'affichage lors du dmarrage du systme. Plymouth offre de nombreuses fonctionnalits telles que le support de Kernel Mode Settings, la possibilit d'utiliser des plugins pour les thmes, etc Frederic Crozat sur son blog en a profit pour expliquer les diffrents types de gestionnaires de dmarrage utiliss sous Mandriva, et les possibilits offertes par Plymouth. http://blog.crozat.net/2009/08/boot-splashevolution-in-mandriva-linux.html

MIB Live Educational 2009.1

La communaut des utilisateurs de MIB (Mandriva Italia Backports) met disposition MIB Live Educational 2009.1. Ce DVD, bas sur la Mandriva 2009.1 Spring, utilise l'environnement GNOME et contient un large chantillon de logiciels ducatifs, ainsi que toutes les mises jour de Mandriva jusqu'au mois d'aot. http://mib.pianetalinux.org/mib/fr/mibnews/31-mib/412-mib-live-educational20091.html

La Mandriva 2010 marque un tournant au niveau du support de solutions avances de scurit, notamment avec le support du systme de TOMOYO Linux. Celui-ci a t intgr au noyau 2.6.30, et pour la Mandriva 2010.0, une interface graphique sera propose. Tomoyo est une implmentation MAC (Mandatory Access Control) pour Linux. En cela il a pour but d'offrir les mmes possibilits de restrictions que SELinux, mais en se basant sur les noms des fichiers, et non plus sur les attributs associs aux fichiers : cela permet de simplifier la prise en main et la gestion de TOMOYO. Cependant TOMOYO Linux, bien que plus simple prendre en main que SELinux, ne dispose toujours pas d'une interface graphique simple d'utilisation pour le configurer. Avec la Mandriva 2010.0, ce problme devrait tre rgl grce Tomoyo GUI. Pour tester Tomoyo GUI, il convient d'installer le paquetage tomoyo-gui, puis de red une architecture modulaire permettant marrer votre ordinateur afin que le support de d'ajouter des fonctionnalits via un sys- tomoyo soit activ. Ensuite il faut gnrer les tme de plugins, fichiers de configuration par dfaut de TO un outil en ligne de commande portable MOYO avec la commande suivante : sur toutes les distributions (netprofile), une interface graphique spcifique Man- /usr/lib/ccs/init_policy.sh fileonly-profile driva pour le grer (draknetprofile), le support des profils rseaux au sein de Une fois ceci fait, vous pouvez alors lancer tol'applet rseau de Mandriva. moyo-gui. Vous aurez alors la possibilit de Pour ajouter un nouveau profil rseau, c'est dfinir les restrictions par domaines. Tout d'asimple. Tout d'abord il convient de lancer bord, le mieux consiste passer en mode apdraknetprofile via le centre de Contrle Man- prentissage afin de connatre la liste des accs driva dans la section Rseau & Internet . du domaine. Ensuite, il vous suffira d'appliquer Une fois ceci-fait, il suffit de crer un nou- vos restrictions. Pour que ces restrictions soient veau profil rseau et de lui donner un nom. respectes, vous devrez passer le domaine dans Ensuite, il suffit de configurer vos diffrents le mode contraignant ( enforcing mode ). paramtres rseaux. Selon les plugins que Vous pourrez avoir plus d'informations vous aurez activs, vous pourrez alors sauve- sur TOMOYOP et ses possibilits sur le site garder les paramtres des connexions rseaux, du projet : http://tomoyo.sourceforge.jp/ Depuis pas mal de temps dj, Mandriva Linux disposait d'un outil permettant de grer les profils rseaux : draknetprofile. Cet outil permettait de sauvegarder les informations rseaux, et les services lancs au dmarrage afin de pouvoir les restaurer ultrieurement. On pouvait ainsi imaginer le cas simple d'un profil rseau professionnel avec les services ncessaires et la configuration rseau lorsque l'on est dans son entreprise ( authentification rseau, pare-feu ), et celui d'un profil rseau personnel avec ses propres paramtres. Cependant au fil du temps, cet outil ne fut plus maintenu, et il comportait de plus de nombreuses limitations. Pour la Mandriva 2010, Eugeni Dodonov a pour mission la rcriture du gestionnaire de profils rseaux, et de rendre celui-ci facilement extensible. Cette nouvelle version supporte les fonctionnalits suivantes :

Netprofile 2 : gestionnaire de profils rseaux

du pare-feu, des proxies, et ainsi de suite. chaque fois que vous allez configurer un lment, il vous sera rappeler pour quel profil rseau ces modifications seront appliques. Pour basculer d'un profil l'autre, on peut utiliser l'applet rseau de Mandriva (Clic droit ->Paramtres->Profil), ou alors utiliser le menu de gestion des profils rseaux qui s'affichera au dmarrage du systme.

Tomoyo-GUI

Linux+ 6/2009

Section dirige par : Julien Rosal [email protected]

Actus debian

ebian est une distribution Linux mais c'est surtout une norme machine compose de bnvoles runis dans un systme extrmement dmocratique. La moindre dcision doit tre dbattue avec la communaut pour avoir une distribution qui reflte au mieux le visage de tous les dveloppeurs. Une fois cela dit, vous imaginez bien qu'une dcision prise en comit restreint peut vite crer une polmique. La dcision (ou plutt l'ide) coupable est la suivante : Debian a dcid de rguler la sortie de ces versions. Ainsi tous les deux ans, en dcembre, la version de Debian sera gele pour permettre une sortie en dbut d'anne suivante. Cela permettra aux utilisateurs de se baser sur des plannings connus l'avance. Une ide qui a mis le feu aux poudres et les mailings-liste de Debian ont commenc se gonfler de posts polmiques. Selon Pierre Habouzit, membre de la "Release Team", il s'agit bien d'une ide, le dbat reste ouvert et il n'est pas question de "passer en force". Ce mme Pierre Habouzit explique d'ailleurs comment cette ide est arrive dans une des runions de la "Release Team" : "Pendant une runion de la release team Cambridge il y a quelques semaines, l'quipe est arrive la conclusion qu'il fallait rflchir selon deux axes : une release base sur une priode de freeze une date connue l'avance et une ventuelle synchronisation avec la version LTS (Long Time Support) d'Ubuntu pour donner plus de traction. On voulait voir si les gens du projet taient d'accord. C'est toujours discut". Ubuntu n'est pas tranger la mauvaise comprhension de la communaut de Debian sur ce sujet. En effet, Mark Shuttleworth, le fondateur d'Ubuntu, a entendu l'ide de la "Release Team" et l'a publiquement rvle comme s'il s'agissait d'une dcision dfinitive. Debian est une communaut trs particulire qui refuse toute forme de pouvoir, ds qu'une dcision est prise sans l'avis "global" des membres de la communaut il y a forcment des dchirements. Le dbat reste ouvert mais la "Release Team" semble vraiment vouloir se battre pour ce projet : "Les termes de notre annonce en ricochet sont encore trop forts. Ce n'est pas un fait accompli, mais la release team va se battre pour cette ide car ce serait plus lisible pour les gens de l'extrieur d'avoir un planning connu l'avance" explique Pierre Habouzit.

Democratie.deb

ia32-libs

D

Squeeze devrait tre la prochaine version de Debian

Ce qui a rellement choqu c'est que les membres de Debian ont appris la nouvelle par des personnes extrieures (dont Mark Shuttleworth). Sur le fond, le dbat donnera certainement raison la "Release Team" mais les formes n'y taient pas, la procdure a t court-circuite. Un autre petit problme consiste mettre en parallle les distributions Debian et Ubuntu. Les relations entre ses deux distributions ont toujours t tendues et le simple fait d'voquer une possible synchronisation des sorties des versions LTS (Long Time Support) et des versions Stable de Debian irrite beaucoup de dveloppeurs. Le dbat risque d'tre houleux comme l'explique Pierre Habouzit : "Il va y avoir des discussions sur les mailing-lists. Oui, des gens vont rler et il va y avoir de l'opposition. Les releases de Debian, c'est un mythe et ce changement serait un gros truc. Certains sont allergiques la synchronisation avec Ubuntu car historiquement les relations sont difficiles. Certains ont de vrais arguments". Il semblerait qu'un des principes de base de Debian commence vaciller : "une nouvelle version sort quand elle est prte". Un principe qui est certes trs sage mais qui ne correspond pas aux attentes des utilisateurs toujours en recherche de dernires versions de logiciels et cela mme au dtriment de la stabilit de leur systme. La dmocratie n'est pas morte chez Debian comme le souligne Pierre Habouzit : "Si la majorit est contre, on s'arrte l. Si on ne parvient pas un consensus, il y aura un rfrendum". Une tat d'esprit qui fait plaisir, les dbats d'ides sont importants dans un projet comme Debian et malgr les polmiques, le projet continue avancer sereinement. Affaire suivre...

Vous aviez certainement remarqu que les packages ia32-libs et ia32-libs-gtk avaient disparu des dpts Debian et cela au profit d'un autre package : ia32-apt-get. Et bien cela est termin, les deux packages qui avaient disparu retrouvent leur place et c'est tant mieux car ia32-apt-get avait beaucoup de dfaut et bon nombre de systmes se sont vus inutilisables aprs sont utilisation. Les packages ia32-libs et ia32-libsgtk permettent d'installer des applications 32 bits sur les architectures amd64, ce n'est certes pas parfait mais il faut bien avouer que a dpanne bien. Debian ne perd pas de vue que ces packages ne sont pas une solution en soi et travaille sur un support "multiarch" qui permettra d'installer les package debain 32bits directement sur votre architecture 64bits et cela en utilisant la puissance d'apt et de ses drivs. Une bonne nouvelle qui permettra de patienter jusqu' ce que toutes les applications soient disponibles en 64 bits... C'est pas encore gagn.Happy Birthday

Le temps passe vite, Debian devient chaque jour de moins en moins jeune et le 16 aot dernier Debian a souffl sa 16me bougie. Un anniversaire qui montre que Debian n'est pas une distribution anecdotique, elle a russi traverser les ages ce qui est assez impressionnant vu les moyens financiers quasi nuls dont elle disposait l'poque. Remercions tous les bnvoles qui ont russi faire de Debian la distribution qu'elle est aujourd'hui. Petit dtail, amusant, Debian est n 16 ans exactement aprs la mort du King... Elvis Presley bien entendu... Je savais bien que le King n'tait pas mort, il a juste chang de mtier pour devenir dveloppeur Linux, enfin tout s'claire.PureOSlight

Chaque jour une distribution Linux voit le jour et beaucoup sont bases sur Debian. PureOSLight n'chappe pas la rgle et sort la premire version de son OS (en version bta pour le moment). Cette distribution se base sur Debian Squeeze (version testing) et intgre les dernires versions des grand noms du logiciel libre. Cela permet d'avoir une distribution en Live qui est lgre et parfaitement fonctionnelle pour la plupart de vos besoins de tous les jours. Bref c'est une distribution glisser dans sa poche, en plus c'est du Debian, que demander de plus, euh non je voulais dire "what else ?". Pour la tlcharger : http://www.pureos.org/.

www.lpmagazine.org

Sur le DVD DVD

Installer Fedora 11 Leonidasedora (ex Fedora Core) est l'une des distributions GNU/Linux les plus populaires. Parraine par la socit nord-amricaine Red Hat (qui dite une distribution GNU/Linux du mme nom), Fedora utilise le systme de paquetage (paquage) RPM. La distribution Red Hat se destine ouvertement aux entreprises tandis que Fedora vise clairement le grand public. Fedora propose donc uniquement des paquetages open-source et sans support. Toutefois, le fait qu'il n'existe aucune assistance officielle pour l'utilisateur particulier ne pose aucun problme puisqu'il existe une trs forte communaut Fedora mme de vous aider (forums, Wiki, documentation, etc...). La Fedora sort avec une compatibilit pour les processeurs i386 (et suprieurs), x86_64. Il existe 2 solutions pour installer la Fedora 11 : via un DVD contenant GNOME et KDE ou, via un Live CD utilisant GNOME ou KDE. renseignez-vous donc auparavant sur la procdure. D'autre part, restez vigilant lors de Dans ces deux cas de figure, le mode d'instal- cette tape afin de ne pas drgl le BIOS lation demeure quasiment identique ( peu de ce qui pourrait ensuite nuire au dmarrage dtails prs). de l'ordinateur. Dmarrez sur le DVD ou le CD puis :Figure 2. Choix du type de partitionnement

F

Initialisation de l'installation

Vous devez avoir pralablement rgl le BIOS de votre machine pour pouvoir dmarrer avec le lecteur / graveur de CD / DVD. Ce paramtrage est fonction de votre BIOS ;

si vous utilisez le DVD, choisissez la premire option : Install or upgrade an existing system. Cliquez sur Next (Suivant) (Figure 1) afin de valider le test du DVD Cliquez sur Next (Suivant) ce qui vous permettra de slectionner :

(afin d'en vrifier l'intgrit). Un DVD l'intgrit corrompue conduira invitablement un chec de l'installation. Cette tape de test du mdia peut cependant tre saute si vous tes certain de son tat (test dj effectu), d'autant qu'elle dure 2 3 minutes, si vous utilisez le Live CD cliquez sur l'icne Install to Hard Drive (ou Installer sur le disque dur) situe sur le bureau.

la langue puis le clavier avec une installation par DVD, le clavier en installant via le Live CD.

Au sujet du choix du clavier, prfrez le Latin-9 qui vous donnera plus de possibilit que le Latin 1 (intgration du signe notamment) (Figure 2). Dsormais, les deux modes d'installation sont identiques.

Activation du rseau

Figure 1. Choix du clavier

Le priphrique rseau est paramtr automatiquement si vous tes connect en mode ethernet mais si vous tes en mode USB, il se peut que les pilotes ncessaires ne soient pas prsent sur le DVD. Vous pouvez aussi activer le rseau en mode manuel (nom du domaine, passerelle, DNS primaire et secondaire). Cliquez ensuite sur Suivant.

10

Linux+ 6/2009

Sur le DVD DVD

Fuseau horaire

Un mappemonde permet de slectionner le fuseau horaire. Il suffit de cliquer sur l'un des points jaunes. A moins que vous ne vouliez choisir dans une liste choix (fort longue). Si l'horloge doit tre mise l'heure automatiquement, validez l'option Horloge systme en UTC mais la machine devra tre alors connecte sur internet. Cliquez ensuite sur Suivant.

Mot de passe administrateur

Dans un systme GNU/Linux, l'administrateur s'appelle root. C'est le moment d'entrer son mot de passe et de le confirmer. Pour rappel, puisque l'administrateur a tous les droits : ne vous connectez jamais graphiquement en mode administrateur, n'utilisez le mode root que pour les oprations de maintenance (pas de bureautique, d'internet...), ne laissez pas traner le mot de passe administrateur et changez-le ds que quelqu'un l'aura dcouvert, choisissez un mot de passe assez long, avec des chiffres et des lettres en proscrivant les dates de naissance et les noms de vos proches (vraiment trop classique comme choix !).

Figure 3. Slection des partitions

et vous pourrez dfinir, outre son point de montage et son systme de fichier, sa taille en dfinissant le cylindre de dpart et celui d'arrive. Vous pouvez aussi dtruire une partition existante via le bouton Supprimer afin de librer de l'espace car il est impossible de reCliquez ensuite sur Suivant. dimensionner une partition existante. Si vous dtruisez une partition, soyez sr de ce que Partitionnement vous faites ! Finalement, cet installateur AnaCliquez sur Suivant pour parvenir l'tape du conda permet de crer vos partitions avec bien choix des partitions. Une fentre vous montre peu d'ergonomie et de souplesse. Mieux vaut alors les diffrents disques durs utilisables donc partitionner pralablement avec GParted (Figure 3). C'est donc ici que nous allons partitionner (si les partitions ne sont pas encore cres). Quatre choix s'offrent dans le menu droulant en haut de la fentre : Utiliser la totalit du disque, Remplacement du systme Linux existants, Rduire la taille du systme actuel, Utiliser l'espace disque, Crer un partitionnement personnalis.

Live CD, GParted tant une application open source (et gratuite) qui sait grer, outre les systmes de fichiers GNU/Linux, les systmes de fichiers Windows Fat32 et NTFS. Pour monter une partition, cliquez sur la partition voulue puis sur le bouton Modifier et dfinissez le point de montage (Figure 4). Vous spcifierez aussi si vous dsirez formater et dans quel systme de fichier (Formater comme) ou ne pas formater. La partition swap est dtecte et monte automatiquement si elle existe dj.

Pour les quatre premires options, vous resterez vigilant lors de la slection des disques durs voulu afin de ne pas perdre vos prcieuses donnes. Cliquez ensuite sur Suivant. Nous allons maintenant crer et monter nos partitions de faon personnalise. Par monter les partitions, comprenez dfinir leur place dans le systme. Si vous avez choisi l'option du partitionnement personnalis, c'est ici mme que nous allons crer les partitions. Pour crer une partition partir d'un espace vide, cliquez sur l'espace libre puis sur le bouton Nouveau Figure 4. Choix du type de partition

www.lpmagazine.org

11

Sur le DVD DVD

Ext3, outre la partition de swap. L'installation par DVD ne pose pas ce problme. Par prudence, continuez utiliser le format Ext4 pour la partition Home (/home). Sachez cependant (et par exprience !) que vous ne pourrez installer Fedora si l'un de vos disques durs possde plus de 15 partitions. De mme, il est possible que vous deviez abandonner provisoirement le montage de vos partitions Windows afin de russir votre installation. Si vous adoptez un partitionnement par dfaut, l'installateur Anaconda utilisera le schma suivant : /boot, / (racine), swap.

Figure 5. Le choix par dfaut avec la partition racine en Ext4 et la partition boot en Ext3

Prcisons que, gnralement, un systme GNU/Linux se dcompose en plusieurs partitions : Partition swap : systme de fichier Linux Swap : change de donne en complment de la mmoire RAM : obligatoire : jusqu' 1 Go, Partition / (racine) : systme de fichier Ext4 (sous Fedora) : contient le systme : obligatoire : une installation complte du DVD prend environ 9 Go, Partition /home : systme de fichier Ext3 ou Ext4 (sous Fedora) : contient les donnes utilisateurs : recommande : selon vos besoins, Partition /usr : systme de fichier Ext3 ou Ext4 (sous Fedora) : contient les applications non administratives au format RPM : optionnelle : 5 9 Go pour ne pas tre l'troit ventuellement mais cet espace pourra alors venir en rduction de la partition racine,

Partition /usr/local : systme de fichier Ext3 ou Ext4 (sous Fedora) : contient les applications non administratives compiles par l'utilisateur d'aprs les sources : optionnelle : selon les besoins mais cet espace pourra alors venir en rduction de la partition racine, Partition /tmp : systme de fichier Ext3 ou Ext4 (sous Fedora) : contient les fichiers temporaires : optionnelle, Partition /boot : systme de fichier Ext3 (sous Fedora) : contient les fichiers ncessaires au dmarrage : optionnelle sachant que 100 Mo devraient suffire.

Si vous avez dfini vos partitions, vous pouvez cliquez sur Suivant. Si vous avez demand le formatage des partitions, une demande de confirmation vous sera affiche (tant mieux !). Validez par Ecrire les modifications sur le disque ou abandonnez avec Revenir en arrire. BOREL Thierry

Sur le rseau Projet Fedora : http://fedoraproject.org Site Fedora Francophone : www.fedora-fr.org Communaut Planet Fedora Francophone : http://planet.fedora-fr.org Documentation : http://doc.fedora-fr.org/wiki/Accueil GRUB : http://doc.fedora-fr.org/wiki/GRUB_: _Les_bases_pour_Fedora Windows XP et Fedora : http://doc.fedora-fr.org/wiki/Dual_ boot_Windows_XP_-_Fedora Tlcharger Fedora : http://doc.fedora-fr.org/wiki/ Tlcharger_Fedora Liste d'applications : http://doc.fedora-fr.org/wiki/Liste_ de_logiciels Yum : http://doc.fedora-fr.org/wiki/YUM_: _Configuration_du_gestionnaire_ de_paquets

Figure 6. Derniers rglages post-installation

C'est galement dans cette fentre que vous pourrez monter vos partitions Windows en systme de fichier Fat32. On monte ces partitions dans /mnt/votre_partition. Attention : si vous installez depuis un LiveCD, vous obtiendrez un message d'erreur critique (impossible de continuer sans revenir en arrire pour corriger la cause) si la partition racine (/) n'est pas formate en Ext4 ! Le format de fichier Ext4 est le nouveau choix par dfaut de Fedora 11. Cependant, la version actuelle du chargeur GRUB n'est pas compatible avec l'Ext4 et il faut donc crer galement et obligatoirement une partition /boot au format Ext3 sous peine de ne pouvoir dmarrer Fedora. C'est pourquoi si vous choisissez de remplacer un systme Linux existant, l'installateur proposera un nouveau partitionnement incluant une partition racine (/) en Ext4 et une partition boot (/boot) en

12

Linux+ 6/2009

Sur le DVD DVD

Sil vous est impossible de lire le DVD alors quil na pas de dfaut apparent, essayez de le lire dans un autre lecteur.

6/2009

Pour tout problme concernant le DVD, crivez-nous ladresse : [email protected]

10

Linux+ 5/2009

Dossier Logiciels Libres

Comment utiliserPhilippe Scoffoni

des logiciels open source en entrepriseLes logiciels open source sont en train d'envahir les entreprises grande vitesse. Tous les compartiments du systme d'information de l'entreprise sont concerns, des services rseau aux logiciels de gestion. Mais qui sont-ils ? D'o viennent-ils et comment les met-on en place ? Autant de questions sur lesquelles nous allons nous pencher dans cet article.

ommenons par dfinir ce qu'est un logiciel open source. Avant cela, il est important d'voquer les logiciels libres. Ces derniers ont t dfinis par Richard Stallman fondateur de la Free Foundation Software et rpondent des rgles au nombre de quatre : Libert 0 : La libert d'excuter le programme pour tous les usages ; Libert 1 : La libert d'tudier le fonctionnement du programme ce qui suppose l'accs au code source ; Libert 2 : La libert de redistribuer des copies ce qui comprend la libert de vendre des copies ; Libert 3 : La libert d'amliorer le programme et de publier ses amliorations ce qui suppose, l encore, l'accs au code source.

C

[email protected]

Cet article explique...Le principe des logiciels open source et les avantages que l'on peut tirer de leur utilisation en entreprise.

connue aussi sous lacronyme GPL. Mais bien souvent, idologie et monde des affaires ne vont pas de pairs. C'est alors qu'est apparu le terme open source avec la volont de mettre en avant la mthode de dveloppement plutt que la finalit philosophique ou politique. Il s'agissait aussi de lever l'ambigut du terme anglais Free qui signifie aussi Gratuit et ainsi rappeler aux utilisateurs qu'un logiciel a un cot. Un organisme a t cr : l'Open Source Initiative qui a valid un certain nombre de licen-

On voit en ces rgles le caractre idologique qui soustend le logiciel libre. Richard Stallman a galement rdig une licence destine faire respecter ces rgles pour tout logiciel qui l'utiliserait : la licence publique gnrale GNU

Ce qu'il faut savoir...Connaissance des bases de l'informatique et des rseaux.

14

Linux+ 6/2009

Dossier Logiciels Libres

ces tout comme l'a fait la Free Foundation Software. Dans la pratique, un logiciel dont la licence est libre au sens de la Free Foundation Software est galement open source, mais il peut arriver qu'une licence open source ne soit pas libre, mais c'est plutt rare. Bien qu'il existe une relle divergence d'opinions entre les deux communauts, dans la pratique cela ne les empche pas de collaborer et de travailler ensemble, car elles partagent le mme mode de fonctionnement bas sur l'ouverture du code et la collaboration.

Topologie des logiciels open source

Dans cette partie, nous allons expliquer la topologie des logiciels Open Source. Commenons par les logiciels communautaires.

Les logiciels communautairesIl s'agit de logiciels dont le dveloppement, la maintenance et la documentation sont raliss par une communaut de personnes lies entre elles par l'intrt commun qu'elles partagent pour celui-ci. Les petits projets sont en gnral ports par quelques personnes qui assurent la coordination des dveloppements et la gestion des sources de l'application sans qu'il existe de relles structures juridiques. Lorsque les projets prennent une ampleur un peu plus consquente, la communaut adopte souvent la forme d'une organisation but non lucratif pour structurer son fonctionnement. Il s'agit souvent de fondations. Parmi les plus clbres, on peut citer la fondation Apache ou encore la fondation Mozilla qui gre le dveloppement du navigateur web Firefox ou encore le client de messagerie Thunderbird.

Les logiciels de socits commercialesL'organisation classique qui sous-tend les logiciels propritaires repose en gnral sur des socits commerciales. Certains projets de logiciels open source ont galement choisi ds leur origine ou au cours de leur volution d'adopter ce statut. L'objectif est de financer le dveloppement du logiciel open source en vendant des prestations de services autour de celui-ci ou bien grce des investisseurs privs. C'est un modle qui est en passe de devenir prdominant dans le secteur du logiciel open source pour les entreprises. On assiste galement une vague de rachat de ces diteurs open source depuis quelques annes par les grands noms historiques de l'informatique. Ainsi, ORACLE a rachet rcemment SUN et tous les logiciels open

source dits par ce dernier dont le moteur de source ne prsente que peu voir pas de risbase de donnes MySQL ou encore la suite ques juridiques. Il en va autrement lorsque bureautique Open Office. lon utilise ces mmes logiciels dans le cadre de solutions mises disposition de tiers. Ce Existe-t-il des logiciels open sont donc principalement les diteurs de logisource pour tous les besoins ciels ou de services utilisant des briques open de l'entreprise ? source qui doivent faire preuve de vigilance. Mme s'il est toujours possible de trouver un Les conseils dun bon juriste ne sont donc pas exemple de domaine logiciel ou l'open source carter bien au contraire. est peu prsent, il n'en demeure pas moins vrai Bien entendu, le rappel du Gartner Group qu'ils savent aujourd'hui rpondre la quasi- de la ncessit dune gouvernance propre aux totalit des besoins d'une entreprise. logiciels open source est justifie. Elle est cePour l'infrastructure, les solutions pour pendant tout aussi ncessaire que pour les lomonter un rseau local avec tous les services giciels propritaires dont les licences peuvent de base existent et sont parfaitement matures et galement comporter des risques juridiques. robustes : gestion de la couche rseau (adressage IP, gestion des noms de machines), partage Quels sont les freins l'adoption couramment avancs ? de fichiers, d'imprimante, authentification. On trouve bien sr des systmes d'exploi- Le Forrester Research a publi une tude rtation complets pour les ordinateurs de bureau vlant les deux principaux freins ladoption avec tous les outils classiques comme les trai- du logiciel open source : tements de textes, tableur, gestionnaire de base de donnes, client de messagerie, navigateur La scurit, Le support logiciel, web, etc... Viennent ensuite les logiciels mtiers : Il semblerait donc quil y ait toujours un im Des ERP (Enterprise Resource Planning portant dficit de communication auprs des ou Progiciel de gestion intgr) qui entreprises sur le modle open source et son prennent en charge la gestion commer- fonctionnement. quoi cela peut-il tenir ? ciale, gestion des stocks, la facturation, Lopen source ou le Logiciel Libre nest-il vu la comptabilit, la paie. que comme un rducteur de cot ? Probable Des CRM (Customer Relationship Mana- ment. gement ou Gestion de la Relation Client) Il est vident que la comprhension que souvent coupls avec les logiciels prc- peut avoir une entreprise de lopen source dents. ne peut se construire en un seul jour. Lopen Des GED (gestion lectronique de docu- source est bien trop souvent valu sur les ment). mmes critres que les logiciels propritaires Et toute sorte de programme rpondant masquant ainsi leurs avantages. des besoins moins gnraux... Revenons aux points prcdents. Les logiciels open source sont-ils moins srs que Y-a-t-il des risques les utiliser ? les logiciels propritaires? Dans une tude de novembre 2008, le Gartner Tout dabord, la question en elle-mme Group pointe du doigt les entreprises en les ac- na que peu de sens. Un logiciel reste un logicusant de ne pas mesurer les risques inhrents ciel. Un dveloppeur a tout autant de chance lutilisation des logiciels open source en en- de faire un code peu scuris dans les deux vironnement critique. En cause la multiplicit modles. La diffrence rside dans louvertudes licences de ces logiciels et le peu datten- re du code qui permettra un audit ais par des tion que leur accorderaient les entreprises tiers externes. Un logiciel propritaire devra prenant le risque de se voir attaquer pour des faire appel un prestataire pour cela. problmes dutilisation illicites de brevets. Il serait prfrable de mettre plus en On se souviendra que Microsoft avait ac- avant le mode de conception et damlioracus lopen source de violer 235 de ces bre- tion centr sur lutilisateur ou plutt le convets, ainsi que des menaces de procs suite tributeur. Il sagit comme lexplique Bernard l'accord pass entre Novell et Microsoft. Stiegler dans une rcente interview, dun Ces affaires ont marqu les esprits. basculement entre deux modles conomiDans le cadre dune utilisation pour des ques : on est pass dun processus hirarbesoins internes y compris dans des applica- chique, produit par le haut pour redescendre tions critiques comme la messagerie, lopen vers les applications, l innovation ascen-

www.lpmagazine.org

15

Dossier Logiciels Libres

dante . Lopen source rpond bien cette dfinition. Une autre mtaphore exprimant cette diffrence est celle d'Eric Raymond l'un des fondateurs du mouvement open source qui a intitul son ouvrage phare : La cathdrale et le bazar en rfrence aux logiciels propritaires et open source. N'allez cependant pas croire qu'il n'y a pas d'organisation ni de chef dans un projet open source. Il existe une organisation souvent tout aussi stricte que dans les projets traditionnels. Cette rupture avec des logiques traditionnelles et accepte depuis des annes pourrait tre lorigine de cette incomprhension par les entreprises du modle de lopen source. En ce qui concerne le support, les socits de services sont capables de proposer des tierces maintenances pour toutes les solutions open source avec lavantage pour lentreprise de pouvoir changer de prestataire plus simplement.

Les arguments en faveur des logiciels open source

Voici une rapide synthse des arguments en faveur des logiciels open source.

Respect des standards ouvertsCest une des forces des logiciels libres et open source. Les protocoles et formats de donnes quils utilisent sont ouverts donc documents. Pas dobscurs formats qui vous empcheront lavenir de changer de solutions.

InteroprabilitCe point rejoint le prcdent. Les protocoles et formats ouverts permettent aux logiciels open source de communiquer entre eux plus facilement. Vous pouvez ainsi construire des solutions en additionnant les briques tout en gardant des flux cohrents ou changer facilement de logiciel sans devoir convertir toutes vos donnes au nouveau format.

FlexibilitLouverture du code permet denvisager des modifications afin de personnaliser un logiciel open source. Cependant, il faut penser les volutions de faon ce quelles puissent tre reverses dans le logiciel. Lavantage est ensuite de voir ce dveloppement maintenu par la communaut. La participation au projet reste un point important pour les entreprises, mme si au premier abord cela ne semble pas vident.

ScuritToujours grce louverture du code, des corrections de scurit peuvent tre propo-

ses rapidement par nimporte quel membre Les aspects budgtaires et choix des prestations d'accompagnement de la communaut associe au logiciel. Le volet budgtaire doit tre tout particuPrennit lirement soign surtout si vous tes amen Deux cas distinguer : les logiciels issus de comparer des solutions propritaires et open communauts et ceux des diteurs commer- source. Il faut montrer et mettre en vidence ciaux. Dans le premier cas la prennit est lie les diffrences qui existent dans la structure la diffusion du logiciel et limportance de sa des cots entre ces deux solutions. Cest soucommunaut offrant le potentiel dune relve vent le chapitre qui est le plus pluch lorsque en cas de dfaillance dun des membres actifs. lon en arrive au stade de la dcision mme Pour les diteurs open source la question sil nest pas le seul critre. est un peu plus dlicate. Sans communaut Pour une solution open source, le poste les paulant, la prennit peut se poser dans les licence est en gnral nul. Je dis en gnral, mmes termes que les diteurs propritaires. De car certaines solutions open source ont un plus, la concentration des logiciels open source cot de licence lorsque lon souhaite les utidans les mains de quelques gros diteurs com- liser des fins commerciales ou encore dismerciaux accentue encore cette problmatique. poser de certaines fonctions avances. Citons En effet dans ce modle les dveloppeurs sont par exemple la base de donnes MySQL. en gnral rmunrs par la socit. Si la socit Viennent ensuite les prestations . Si vous dcide d'arrter les dveloppements, il y a une dcidez de prendre en charge la mise en rupture possible dans la continuit de service. uvre, assurez-vous den avoir rellement Cependant, c'est un aspect qu'il faut nua- les comptences et ne vous contentez pas ncer, car bien souvent ces grands diteurs sont des tutoriels que vous pourriez avoir trouvs lis avec leurs clients par des contrats de main- sur Internet pour faire baisser le cot de votre tenance qui les obligent fournir au moins des projet. correctifs pour une priode donne. Enfin derNhsitez pas intgrer des cots de fornier argument et pas des moindres, la licence mation que ce soit pour vous ou pour les utiliopen source permet potentiellement une sateurs surtout si vous touchez aux outils qui autre socit de reprendre tout ou partie du leur sont mis disposition. Dautant que ces logiciel son compte. formations peuvent passer sur le budget correspondant dans votre socit et amliorer de Matrise du Systme d'Informations de cette faon le cot final. lentreprise Les conomies ralises sur les licences Consquence des points noncs prcdem- doivent vous permettre de vous faire accomment, vous matrisez davantage les volu- pagner techniquement alors, faites appel une tions de votre SI. Socit de Service en Logiciel Libre (SSLL Les arguments cits peuvent aussi sappli- ou SS2L). quer des solutions propritaires, mais il est Il s'agit de Socit de Services en Ingplus rare de les voir cumuler tous ces avan- nierie Informatique (SSII) qui se sont spciatages en mme temps dautant que certains lises dans les logiciels libres ou open source. comme louverture du code restent spcifiques Cependant, les SSII classiques proposent de aux logiciels open source. plus en plus des prestations autour des logiciels open source. Comment construire son projet Finissons par les cots de maintenance. open source L encore deux solutions : vous l'assurez en Dans labsolu, la conduite dun projet open interne ou vous souscrivez un contrat de supsource ne diffre gure de celle dun projet port auprs de lditeur du logiciel open sourmettant en uvre des outils propritaires. ce. Ils le proposent tous aujourdhui. Dans Vous n'chapperez donc aucune des phases le cas des logiciels communautaires, vous classiques de recueil des besoins, danalyse, pouvez aussi faire appel une SSLL pour de recherche de solutions et de vrification cela. de ladquation du logiciel au besoin. En rsum, ne faites pas dconomie sur Car ne nous y trompons pas, choisir un les prestations. Cest un point mettre en logiciel open source juste parce quil est open avant : plus de service grce aux conomies source sans sassurer de son adquation aux sur les licences, pour un projet en principe besoins est un bon moyen de faire chouer mieux accompagn donc aux chances de un projet. Il peut y avoir des situations o un succs optimal. Ce nest pas une garantie, logiciel propritaire sera mieux adapt. mais cest mieux que de partir avec un d-

16

Linux+ 6/2009

Dossier Logiciels Libres

ficit en assistance parce que les licences ont dvor tout le budget. La prsentation budgtaire doit au final montrer une comparaison des cots sur au moins trois ans voire cinq ans, car cest l aussi que les solutions open source se distinguent surtout si vous prvoyez une extension du primtre de dploiement de votre application dans les annes qui suivent.

Sur Internet http://www.journaldunet.com/ solutions/dossiers/libre/ sommaire.shtml Le Journal du Net : Dossier Logiciels Libres / Open source http://fr.wikipedia.org/wiki/Open_ source Wikipdia : Open source http://www.opensource.org/ Open source Initiative http://www.fsf.org/ Free Software Fundation http://www.osalt.com/ Trouver une alternative open source un logiciel propritaire http://fr.wikipedia.org/wiki/Eric_Steven_Raymond Wikipdia : Eric Raymond http://seddisoft.kelio.org/cathedralebazar.htm La Cathdrale et le Bazar : traduction franaise

Participer au mouvement des logiciels open sourceLes entreprises peuvent aussi participer, on dit plutt contribuer au dveloppement d'un logiciel open source. Soit directement en proposant les modifications apportes un logiciel la communaut ou l'diteur qui le maintient. Soit en demandant explicitement au prestataire de faire cette opration. Agir ainsi est se donner une possibilit de profiter de ce que l'on peut appeler une externalit positive. En effet si la communaut accepte d'intgrer vos modifications dans le logiciel, vous bnficiez de fait d'une maintenance gratuite et prenne de votre investissement. C'est donc un point qui doit aussi tre intgr dans les spcifications d'un projet open source. Comment faire en sorte que le dveloppement que je m'apprte raliser soit ensuite intgr au logiciel. Bien sr ce n'est pas toujours possible, il peut s'agir de modifications lies votre infrastructure informatique et qui de fait n'intresseront personne d'autre. La meilleure solution est toujours d'interroger la communaut des utilisateurs pour avoir leur avis sur la fonctionnalit que vous souhaitez dvelopper. Ainsi en anticipant cette possibilit vous vous donnez la possibilit d'amliorer le retour sur investissement. Une dmarche qui n'est d'ailleurs par toujours facile, car bien souvent elle peut dclencher la crainte de voir un avantage concurrentiel potentiel rutilis par la concurrence. Dans ce cas il est possible de diffrer le reversement du code source dvelopp la communaut.

investissement. Il est d'ailleurs important de noter que les grands industriels de l'conomie numrique que sont Amazon ou Google utilisent massivement les logiciels open source. Mme Microsoft, figure emblmatique du logiciel propritaire commence reconnatre ce modle des vertus et publie de plus en plus de codes sous licence open source. Les logiciels open source remplacerontils les logiciels propritaires ? Probablement pas. Mais un mixte des deux modles va continuer d'exister. Nous assistons actuellement un r-quilibrage des parts de marchs qui n'est pas encore fini. Cet article est mis disposition sous contrat Creative Commons paternit et partage des conditions initiales lidentique version 3.0 France.

propos de l'auteurPhilippe Scoffoni est responsable informatique. Son exprience d'une quinzaine d'annes acquise en socit de services et dans son poste actuel lui a permis de se confronter une grande diversit d'environnements techniques. Il a dcouvert les logiciels open source il y a maintenant plus de 6 ans et a pu de nombreuses reprises les mettre en uvre que ce soit titre personnel ou dans le cadre de son activit professionnelle.

Conclusion

Comme nous venons de le voir la mise en place de logiciels open source rpond bien souvent aux mmes rgles et bonnes pratiques que celles de leurs homologues propritaires. La couverture fonctionnelle de ces derniers est extrmement large. Ils offrent aux entreprises une opportunit pour amliorer leur comptitivit grce leur trs bon retour sur

www.lpmagazine.org

17

Programmation Programmation Java

Dbuter avec JavaFXPascal Barbier

Le but initial de la technologie JavaFX est de simplifier la conception dapplications avec des interfaces riches et de permettre leur distribution facile sur de nombreuses plateformes connectes : tlphones portables, PC sous Windows, Linux ou Mac-OS. Nous allons montrer dans cet article lavantage de la simplicit pour le dveloppeur, la portabilit multiplateforme, les capacits offertes en effets graphiques et en animations et enfin la souplesse procure par la possibilit dinterfacer toutes les technologies Java existantes.

A

vant de commencer dvelopper des interfaces avec JavaFX, il nous faut installer le Framework. Plusieurs possibilits soffrent ladresse : http://javafx.com/downloads. Cette page propose le tlchargement dun plugin JavaFX pour NetBean, celui pour Eclipse ainsi que les add-ons pour les logiciels de dessin Illustrator et Photoshop. Pour ma part, je conseille aux dbutants de tlcharger le SDK qui propose lensemble complet doutils pour dmarrer avec la technologie. Il ne faudra quun JDK 1.6 pour travailler. En effet le SDK contient : les librairies et leurs sources, le compilateur et ses outils, lexcutif pour Windows, un mulateur de tlphone portable, la documentation et des exemples. Pour aller plus loin, linstallation de lenvironnement de dveloppement Netbean ou dEclipse avec le plugin JavaFX permettront daugmenter la productivit. Dans le cadre de cet article, je nutiliserai que le SDK. Plongeons maintenant dans la syntaxe de ce nouveau langage. Avec un diteur de texte quelconque, plaons les lignes suivantes dans un fichier dont lextension devra

obligatoirement tre .fx. Attention ; le nom du fichier deviendra le nom de la classe Java gnre par le compilateur. Si le code doit gnrer plusieurs classes (gestionnaires d'vnements par exemple), les autres classes seront automatiquement nommes en utilisant le nom du fichier source suivi du signe $ et d'un suffixe. Pour crer une fentre dinterface utilisateur, nous utilisons un objet Stage (voir listing 1). Pour compiler le code ainsi rdig, nous lanons la commande :javafxc Prog.fx

[email protected]

Cet article explique... Les principes de la technologie JavaFX. Sa mise en uvre pour raliser des interfaces utilisateur. La cration d'effets graphiques et d'animations. Le dploiement multi-plateforme.

18

Linux+ 6/2009

Programmation Programmation Java

javafxpackager pour crer un package de dploiement :javafxpackager -src rep -appClass Prog -p mobile

Figure 1. Une interface simple

Pour lancer le programme, nous utilisons lexcutif javafx :javafx Prog

Allons un peu plus loin et plaons dans cette fentre quelques contrles. Pour cela, nous allons placer une scne dans la fentre. La scne reprsente lespace utile de la fentre. Dans cette scne, nous allons utiliser un lment VBox pour disposer des lments les uns au dessous des autres. En haut, un label, au milieu un bouton et en bas un second bouton. Ajoutons une variable compteur de type entier. Cette variable est lie llment label. Cette liaison permet au label dafficher en permanence et automatiquement la valeur de la variable. Les deux boutons sont caractriss par une fonction de traitement qui modifie la valeur de la variable. Voici le code, et le rsultat (cf. Listing 2). Voici le code (cf Liting 2), et le rsultat (cf. Figure 1). Le principe gnral du langage apparat ici clairement. Jai dcrit la disposition des lments graphiques. Je nai, aucun moment, dfini les procdures et dtails de la mise en uvre de cette interface graphique. JavaFx est un langage plutt dclaratif. Le databinding permet de saffranchir galement de dtails rptitifs dans le traitement des interfaces utilisateur. Une autre caractristique intressante du langage est sa portabilit. En effet, nous venons en quelques lignes de raliser une petite application de type Desktop. C'est--dire une application qui sexcute sur un poste de travail de type PC dans une interface utilisateur graphique. Pour installer cette application dans un tlphone portable dot dun excutif JavaFX, il suffit dutiliser la commande

Attention, le rpertoire rep sera entirement explor et tous les fichiers source dextension fx seront compils et intgrs dans le package. La commande gnre un rpertoire dist dans lequel on trouvera deux fichiers : un jar et un jad. Ces fichiers doivent tre dploys sur le portable. Pour simplifier le dveloppement, Sun nous fournit un mulateur de portable (cf. Figure 2). Pour excuter notre application dans cet environnement, il faut lancer la commande :emulator -Xdescriptor:dist/Prog.jad

Des effets sans efforts

Ce qu'il faut savoir...Pour comprendre cet article vous devrez connatre. La syntaxe de Java. Les grands principes des interfaces homme-machine (IHM) graphiques.

Une des caractristiques les plus intressantes de JavaFx est la facilit de mise en uvre deffets graphiques plus ou moins sophistiqus. Pour exemple, un simple dgrad de couleur va donner un peu de relief notre fentre lapparence bien plate (cf. Listing 3). Ici leffet est un dgrad vertical qui donne une apparence cylindrique. Les coordonnes sont donnes en relatif la taille de la fentre grce des valeurs comprises entre 0 et 1. La valeur 0 est en haut ou gauche, la valeur 1 en bas ou droite de la fentre. La proprit stops fournit un tableau de deux ou plusieurs valeurs de couleur ainsi que leur position relative dans le dgrad. Ici jai choisi de placer du bleu au dbut et la fin du dgrad (positions 0 et 1) et le gris au milieu de ce dgrad (position 0.5). L'interpolation des couleurs est ralise automatiquement par l'environnement excutif. Pour obtenir un autre effet, lexemple qui suit utilise un dgrad radial qui donne un rendu sphrique (cf Figure 4). Un autre effet de base, trs pris, est lombre. Plusieurs possibilits soffrent au designer pour cela. Ici jai choisi leffet DropShadow qui dessine une sorte de halo autour du bouton (cf. Figure 5). Cet effet est plus efficace sur un fond clair et uni.Button {text:"Augmente" action: function(){compteur++} effect: DropShadow{radius:10} }

Figure 2. Application JavaFx dans un tlphone

des traitements simples ou sophistiqus d'images tels que la rotation, l'agrandissement ou le rtrcissement, les dformations diverses... Tous ces effets sont appliqus par une simple description des oprations souhaites, comme dans l'exemple prcdent. Sur le mme principe, les animations vont complter la palette d'outils mis disposition du dveloppeur d'interfaces utilisateur riches.

Cration d'animations

JavaFX permet facilement d'ajouter des animations dans les applications. Pour aborder simplement ce sujet, j'ai choisi d'afficher un petit rectangle qui va grandir et rtrcir rgulirement. Je commence par crer une variable rect de type Rectangle et une scne qui contient ce rectangle. L'animation est constitue d'une variable de type TimeLine qui comporte des KeyFrame. Chaque KeyFrame

Figure 3.

JavaFX propose en standard un grand nom- Effet cylindre bre d'autres effets graphiques. En particulier (gradient)

Figure 5. Figure 4. Effet sphrique Ombre sur un bouton (gradient)

www.lpmagazine.org

19

Programmation Programmation Java

Listing 1. Cration d'une fentreimport javafx.stage.Stage; Stage { title: "Contrles JavaFX" }

Intgration de toutes les technologies Java

Listing 2. Code pour une fentre avec quelques contrlesimport javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; var compteur : Integer; Stage { title: "JavaFX" scene: Scene { width: 100 height: 100 content: VBox { translateX: 20 translateY: 10 spacing: 10 content: [ Label { text: bind compteur.toString() } Button {text: "Augmente" action: function() { compteur++ } } Button {text: "Diminue" action: function() { compteur-- } } ]} } }

Listing 3. Crer un effet de dgrad vertical

fill: LinearGradient { startX: 0 startY: 0 endX: 0 endY: 1 stops: [ Stop { offset: 0.0 color: Color.BLUE}, Stop { offset: 0.5 color: Color.DARKGRAY }, Stop { offset: 1.0 color: Color.BLUE}, ] }

Listing 4. Effet dgrad sphriquefill: RadialGradient { centerX: 0.5 centerY: 0.5 stops: [ Stop { offset: 0.0 color: Color.rgb(150,150,150) }, Stop { offset: 1.0 color: Color.rgb(30,30,30)}, ] }

Arriv ce stade, on pourrait imaginer que JavaFX est un tout nouveau langage : nouvelle syntaxe, nouvelle commande de compilation, nouvelle commande d'excution. Pourtant, en examinant les fichiers crs par le compilateur Javafxc, on aperoit des fichiers bien familiers : le compilateur gnre des fichiers class, au mme format que leurs anctres gnrs par notre bon vieux compilateur javac. Mais alors, pourquoi n'utiliset-on pas la commande java.exe ou javaw.exe pour excuter l'application ainsi construite ? Pour bnficier d'un nouvel environnement excutif qui intgre toutes ces technologies graphiques. Partant de ce constat, il parat vident que la compatibilit avec les autres librairies Java pouvait tre facilement conserve. C'est ce qu'a prvu Sun. Heureusement d'ailleurs car en parcourant rapidement la documentation de l'API de JavaFX, on constate que la syntaxe est trs limite. Pour utiliser une classe d'une librairie Java traditionnelle, il suffit dans le code d'en importer la classe. Par exemple, si je veux afficher un texte sur la console, je peux appeler la mthode println de l'objet out dclar statique dans la classe System (en fait cette mthode est dconseille car elle ne fonctionnera que sur certaines plateformes disposant d'une console. Un TVSet ou un tlphone portable n'offriront pas cette fonctionnalit. ce propos, il existe une classe javafx.lang.FX qui donne accs, comme en java la classe System, au systme d'exploitation. Voici le code pour utiliser la mthode println :import java.lang.System; System.out.println(err_mess);

Conclusion

est une tape de l'animation. Elle est dfinie par une date dans l'animation et une action applique cette tape. Ici, l'action est de changer la taille du carr. L'attribut autoReverse dtermine si la squence est reprise dans le mme sens ou en sens inverse chaque fois. L'attribut repeatCount dfinit le nombre de rptitions (cf. Listing 5). Cette animation ne brille pas par sa fluidit. Je pourrais ajouter des KeyFrame inter-

mdiaires pour amliorer la situation mais le code va rapidement grossir inutilement. Heureusement, JavaFX a prvu un mcanisme d'interpolation. Le code qui suit reprend les deux tapes prcdentes mais la notation => demande l'excutif de crer une interpolation de valeurs. J'ai galement profit de cette seconde version pour montrer une notation plus concise pour dfinir les KeyFrames simples (la notation at; cf.Listing 6).

Ce bref article ne peut remplacer une formation complte ou les documentations de l'diteur. Si vous voulez explorer les possibilits de cette nouvelle technologie, je vous conseille d'aller visiter le site Internet de Sun : http://javafx.com. En examinant de prs cette nouvelle technologie d'interface utilisateur, on s'aperoit qu'elle a visiblement t conue pour concurrencer les Flex et autres Silverlight. Le langage de script parat plutt vieillot dans sa conception, compar des langages plus modernes comme Action Script 3. Toutefois, il faut reconnatre qu'il reste assez simple et donc rapidement as-

20

Linux+ 6/2009

Programmation Programmation Java

Listing 5. Animationimport javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.paint.*; import javafx.scene.shape.*; import javafx.animation.*; var rect = Rectangle {x: 50,y: 50,height:50,fill: Color.GREEN};

Sur le Net http://javafx.com Le site officiel de Sun http://java.developpez.com/faq/ javafx Quelques rponses trs utiles aux premires questions qu'on se pose quand on utilise JavaFX http://www.sun.com/software/javafx Une prsentation (en Anglais) de JavaFX http://java.sun.com/javafx Le site de ressources des dveloppeurs JavaFX. http://java-javafx-iipt.blogspot.com Un blog plein de ressources. http://www.javafx.fr Un site Franais qui, on l'espre, continuera s'enrichir.

var anim = Timeline { repeatCount: Timeline.INDEFINITE; autoReverse: true; keyFrames: [

action: function():Void { rect.width=30; } } action: function():Void { rect.width=50; } }

KeyFrame { time: 0s; KeyFrame { time: 1s; ] } anim.playFromStart(); Stage { title: "JavaFX"

scene: Scene { width: 150 height: 150 content: rect; } }

Listing 6. Animation avec interpolationimport javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.paint.*; import javafx.scene.shape.*; import javafx.animation.*; var rect = Rectangle {x: 50,y: 50,height:30,fill: Color.GREEN}; var anim = Timeline { repeatCount: Timeline.INDEFINITE; autoReverse: true; keyFrames: [

similable, contrairement ses concurrents. Pour le dveloppeur Java traditionnel, il prsente l'norme intrt de faire disparatre une grande quantit de code rptitif et fastidieux li au traitement des interfaces utilisateur trs graphiques (traitement de l'image, animations). Pour des actions plus procdurales et moins graphique anim, il est toutefois plus prudent de se rabattre sur le bon vieux code Java. Pour le moment, les deux mondes (Java et JavaFX) s'ignorent plutt. Certes des progrs ont t faits dans les plugins pour NetBean et pour Eclipse mais cela reste grandement amliorer. Gageons que Sun saura faire le ncessaire dans les annes venir pour rendre ce nouvel environnement de dveloppement d'interfaces utilisateur riches un environnement incontournable.

at(0s) { rect.width=>30 } at(1s) { rect.width=>50 } ] } anim.playFromStart(); Stage { title: "JavaFX" scene: Scene { width: 150 height: 150 content: rect; } }

propos de l'auteurL'auteur est formateur en informatique depuis plus de 25 ans. Ses principaux domaines d'intervention sont les systmes (Unix, Linux et Windows), les rseaux, les langages et les bases de donnes. Il forme surtout des personnels techniques dans les grandes entreprises franaises et trangres. Il est galement consultant sur des projets de dveloppement et assure le support technique d'une quipe de dveloppeurs en Roumanie.

www.lpmagazine.org

21

Programmation Java, problmes de performance

JavaMarcin Kalas

problmes de performanceMme une application trs bien crite peut donner une mauvaise impression un utilisateur si elle a des problmes lis la performance. Les longues priodes sans rponse de la part du programme ou la ncessit de redmarrer l'application au bout de quelques heures de travail peuvent dcourager l'utilisateur. Cet article prsente les outils et les stratgies utiliser lorsque ce type de problme apparat dans votre application.

Garbage Collector optimisation des paramtres de la gestion de la pile

Garbage collector est responsable du processus de la gestion automatique de la mmoire. Parmi ses tches se trouvent l'allocation et la libration de mmoire derrire les objets auxquels les rfrences n'existent plus dans le code de l'application lance (et la garantie que les objets utiliss par l'application resteront dans la mmoire). La gestion de la mmoire est une tche complexe et peut avoir un impact considrable sur la performance de l'application. cause d'une configuration incorrecte des paramtres du garbage collector, la machine virtuelle peut passer la plupart de temps grer la mmoire et non excuter le code de votre application. Heureusement, le cas contraire est galement possible : grce une configuration correcte, il est possible d'augmenter considrablement la performance de votre application. Afin d'valuer la performance du garbage collector, il est possible d'utiliser les mtriques suivantes : dbit relation de la dure, exprime en pour cents, pendant laquelle la machine virtuelle excutera le

code de l'application, par rapport la dure totale du travail du programme. Le dbit ne doit pas tre infrieur 98 % pour une application dont lesparamtres de la pile sont configurs correctement ;

Cet article explique Comment identifier les symptmes des problmes lis la performance dans une machine virtuelle Java ; Quelles donnes diagnostiques sont indispensables pour rsoudre un problme donn ; Comment collecter les informations diagnostiques indispensables ; Quels outils utiliser pour diagnostiquer un problme ; Comment rsoudre un problme et vrifier la solution implmente.

22

Linux+ 6/2009

Programmation Java, problmes de performance

dure de la pause dure pendant laquelle la machine virtuelle Java n'excute pas le code de l'application et est charge de grer la mmoire ; dure entre chaque cycle conscutif du garbage collector ; frquence des cycles du garbage collector ; taille de la pile.

Listing 1. Logs verbose:gc gnrs par la machine virtuelle IBM (stratgie par dfaut du garbage collector)

N'oubliez pas que la performance de votre application doit toujours tre value du point de vue de l'utilisateur. De son point de vue, les exigences peuvent concerner une dure minimale de la pause, un dbit maximal ou les deux. En ce qui concerne les applications de fentres, la dure de la pause constitue un paramtre critique. De longs cycles de travail du garbage collector peuvent avoir un impact dsavantageux sur le confort du travail de l'utilisateur qui peut tre irrit par l'absence d'une rponse rapide de la part de l'application ou par le fait qu'elle plante (dans le cas des cycles suprieurs 1[s]). Dans les applications JEE, le dbit de l'application (autrement dit le nombre maximal de transactions que le systme est capable de grer en une second) constitue le facteur le plus important.

Symptmes d'un choix incorrect des paramtres du garbage collectorLes problmes relatifs un choix incorrect des paramtres du travail du garbage collector entranent avant tout la baisse de la performance de l'application. Parmi les paramtres critiques se trouvent notamment : taille maximale et minimale de la pile, stratgie du garbage collector ainsi que taille de toutes les zones de la pile dans le cas des stratgies utilisant les gnrations. Le travail de l'application peut se terminer par une exception OutOfMemoryError ou bien le processus de la gestion de la mmoire s'excutera plus longtemps que

le code de l'application dans les situations extrmes (en pratique le dbit infrieur 90 % signifie un travail incorrect du garbage collector). Parmi les symptmes les plus importants d'un choix incorrect des paramtres du garbage collector se trouvent : baisse de la performance de l'application aprs un travail prolong ( cause d'un choix incorrect de la taille de chaque zone de la pile, dans le cas des stratgies du garbage collector qui utilisent les gnrations, les piles peuvent tre remplies rapidement lors du travail de l'application et les cycles du garbage collector seront plus longs et plus frquents) ; augmentation de la performance de l'application aprs le redmarrage de la machine virtuelle (un redmarrage de la machine virtuelle peut par exemple supprimer la fragmentation de la pile) ;

dure ressentie par l'utilisateur pendant laquelle l'application ne rpond pas ses commandes (potentiellement longs cycles du garbage collector) ; analyse des logs verbose:gc indique que le dbit est infrieur 90 %.

Collecter les donnes diagnostiquesAfin d'valuer la performance du garbage collector, il faut collecter les logs verbose: gc. Ils fournissent toutes les informations indispensables l'analyse. Malheureusement, le format de ces logs n'est pas standard et ils sont diffrents non seulement dans les implmentations diffrentes de la machine virtuelle mais aussi dans les versions conscutives. Il est possible d'activer les logs verbose:gc au moyen de l'option -verbose:gc transmise la machine virtuelle Java lors du dmarrage de l'application (cette option active les logs verbose:gc sur la machine virtuelle d'IBM et de Sun). titre d'exemple, pour collecter les logs

Ce qu'il faut savoir Comment compiler et lancer une application Java ; Comment la machine virtuelle Java gre la mmoire ; Comment collecter les informations relatives l'utilisation du processeur, de la mmoire, des ressources disque, de la mmoire swap.

www.lpmagazine.org

23

Programmation Java, problmes de performance

verbose:gc, il faut lancer votre application de taille des objets copis entre les gnrations manire suivante : diverses. De plus, les logs contiennent une trace du temps du cycle et la dure de l'excujava -verbose:gc tion de toutes les phases. MyJavaApplication Dans la version 5.0, la pile est divise en trois zones : young generation, old generaL'emplacement des logs verbose:gc dpend tion et permanent generation les logs verbode l'implmentation de la machine virtuelle. se:gc contiennent des informations lies touJava fourni par Sun redirige par dfaut les tes ces zones. Si le cycle du garbage collector logs verbose:gc la sortie standard. Dans le concerne une zone destine aux objets d'une cas de la machine virtuelle d'IBM, les logs dure de vie courte (en anglais nursery), le verbose:gc seront redirigs au flux standard format des logs se prsentera de manire suid'erreurs. Nous recommandons toutefois vante : d'enregistrer les logs dans un fichier concret (il faut alors s'assurer que le disque contient [GC [: un espace suffisant pour enregistrer les fi- -> chiers). Il est possible de le faire sur la machine (), virtuelle de Sun au moyen d'une option secs] supplmentaire -Xloggc:gcLogFile.log. -> En ce qui concerne la machine IBM, vous (), obtiendrez le mme rsultat grce l'option secs] -Xverbosegclog:gcLogFile.log. Il est possible de transmettre des paramtres sup- Voici les significations des symboles : plmentaires avec l'option -verbose:gc ; ces paramtres permettent d'obtenir des infor- collector nom interne du rcuprateur mations plus dtailles relatives au procesutilis pendant le cycle ; sus de la gestion de la mmoire. Il faut tou- starting_occupancy1 occupation du jours s'assurer que les logs contiennent une nursery avant le dbut du cycle ; trace du temps de chaque cycle du garbage ending_occupancy1 occupation du collector ainsi que l'information relative nursery aprs le dbut du cycle ; l'occupation de toutes les zones de la pile size1 taille de la zone destine aux objets d'une dure de vie courte ; (c'est particulirement important lorsque la pause_time1 dure de rcupration de pile est divise en plusieurs gnrations). la zone destine aux objets d'une dure de vie courte ; Interprtation

starting_occupancy3 utilisation totale de la pile avant le dbut du cycle ; ending_occupancy3 utilisation totale de la pile une fois le cycle termin ; size3 taille totale de la pile ; pause_time3 dure totale.

Nous vous prsentons ci-dessous un fragment des logs verbose:gc contenant les informations sur deux cycles qui concernent la zone destine aux objets d'une dure de vie courte :0.257: [GC 0.257: [DefNew: 3648K->448K(4096K), 0.0175056 secs] 36187K->36183K(58332K), 0.0175841 secs] 0.281: [GC 0.281: [DefNew: 4096K->448K(4096K), 0.0061237 secs] 39831K->39829K(58332K), 0.0062072 secs]

des logs verbose:gc

Le premier cycle a commenc 257[ms] aprs le lancement de la machine virtuelle. 3,64 [Mo] de 4,1 [Mo] au total taient utiliss dans la zone destine aux objets d'une dure de vie courte avant le dbut du cycle. Suite au travail du garbage collector, 3,2[Mo] de la mmoire ont t libr ; une fois le cycle termin, 0,44[Mo] de cette zone tait occup. La dure de la rcupration s'lve 17[ms]. L'utilisation totale de la pile avant le dbut du cycle tait gale 36,187[Mo] de 58,3[Mo]

Les logs verbose:gc contiennent toutes les informations relatives au processus de la gestion automatique de la mmoire. Pour les analyser, nous utilisons principalement les outils spcialiss (par exemple, IBM Garbage Collection and Memory Visualizer) qui permettent non seulement d'effectuer une analyse graphique mais qui contiennent aussi un rapport gnral avec les conseils concernant les paramtres de la pile. Nous recommandons toutefois de faire connaissance du format de ces logs et des options supplmentaires qui peuvent faciliter l'analyse.

SUN JVMIl est ncessaire de transmettre l'option -XX: et -XX:+PrintGCTimeStamps avec l'option -verbose:gc. Cette dmarche vous permettra d'obtenir des informations supplmentaires relatives la taille de toutes les zones de la pile (avant et aprs la fin du cycle), la taille totale de la pile et la Figure 2. Utilisation de la pile par l'application test+PrintGCDetails

24

Linux+ 6/2009

Programmation Java, problmes de performance

disponibles. Une fois le travail du garbage collector termin, l'utilisation totale de la pile n'a pratiquement pas diminu et s'lve 36,183[Mo]. La question se pose alors : que s'est-il pass avec la mmoire libre dans la zone des objets d'une dure de vie courte ? Dans ce cas-ci, ces objets n'ont pas t supprims mais copis dans la zone des objets d'une dure de vie plus longue (en anglais tenured).

IBM JVMLe Listing 1 prsente des exemples de logs verbose:gc. La balise d'ouverture vous informe de l'origine du cycle du garbage collector. Dans l'exemple mentionn il s'agissait d'une allocation de la mmoire choue (en anglais allocation failure). Parmi d'autres possibilits se trouvent (si le garbage collector travaille au mme temps que l'application) ou (si le cycle est le rsultat de l'appel de la mthode System.gc()). Pour contrler l'occupation de la pile, nous utiliserons les balises . Le log joint comprend trois balises de ce type. La premire d'entre elles contient l'information sur l'occupation de la pile avant le dbut du cycle. La balise suivante (intgre dans l'lment ) est une utilisation de la pile une fois le cycle termin. La dernire rptition de la balise vous parle de l'tat de la pile aprs que l'allocation choue de la mmoire (qui a provoqu le cycle du garbage collector) a russi. La balise ApplicationServers-> des outils chargs de prsenter les donnes serverName->Java and Process Manage- collectes sous forme graphique et de crer ment->Process Definition->Java Virtual Ma- un rapport sommaire. Nous recommandons chine->Runtime->Verbose garbage collec- Garbage Collection and Memory Visualizer tion). pour analyser les logs verbose:gc. Cet outil Le temps systme de gnration des est fourni avec le paquet IBM Support Aslogs verbose:gc dpend en grande partie de sistant. Mis part la prsentation graphique notre application. Dans le cas des systmes de diffrents paramtres de la gestion automatique de la mmoire (notamment, la taille de la pile utilise avant la fin du cycle et le nettoyage aprs la fin du cycle, la dure de la pause), l'outil analysera les logs et suggrera les paramtres susceptibles d'amliorer le travail du garbage collector.requested_bytes="1016" />

IBM Support Assistant

Figure 3. Les logs verbose:gc de l'application o une fuite de la mmoire a t simule

IBM Support Assistant est un paqu