You are on page 1of 100

Programmez!

P
r
i
n
t
e
d

i
n

F
r
a
n
c
e

-

I
m
p
r
i
m


e
n

F
r
a
n
c
e

-

B
E
L
G
I
Q
U
E

6
,
4
5

-

S
U
I
S
S
E

1
2

F
S

-

L
U
X
E
M
B
O
U
R
G

6
,
4
5

-

C
a
n
a
d
a

8
,
9
5

$

C
A
N
D
O
M

S
u
r
f

6
,
9
0

-

T
O
M

9
4
0

X
P
F

-

M
A
R
O
C

5
0

D
H

3
:
H
I
K
O
N
B
=
^
U
Z
^
Z
]
:
?
a
@
b
@
k
@
a
@
k
;
M

0
4
3
1
9

-

1
0
0

-

F
:

5
,
9
5

E
.NET
Mettre en oeuvre la 3D avec Nova SDK
Modifier le Ruban d'Office avec OpenXML
Programmation aspect sous .Net
PHP
Intgrer
Flex et PHP
100
Les100outils
indispensables
Les100premiers
diteurs franais
Les100mots
connatre
Web 2.0
Comment rfrencer un site web 2.0 ?
Spry : l'Ajax d'Adobe
Web 2.0
Evnement : Sybase PowerAMC 12.5
100
Numro
Programmez!
www.programmez.com
Mensuel - Septembre 2007 - N100
LEMAGAZINE DUDVELOPPEMENT
La modlisation
dentreprise
Numro
DVELOPPEUR, UN MTIER DAVENIR !
DVELOPPEUR, UN MTIER DAVENIR !
Couv 100 22/08/2007 16:54 Page 1
Couv 100 22/08/2007 17:12 Page 2
SOMMAIRE N100
Programmez! - N100 SEPTEMBRE 2007 3
Adobe Flex Builder 3.0 bta
Environnement bas sur Flash, qui vous permettra de
crer des applications volutives exploitables par
tous sur la quasi-totalit des plates-formes. Windows
Adobe AIR bta
La technologie AIR permet de dvelopper des
programmes riches, connects Internet, sans avoir
besoin du moindre navigateur. Windows
Mono 1.2.6
Implmentation open source de .NET. Linux
Eclipse J ava Europa
Profitez de 21 projets de la fondation Eclipse dans la
nouvelle distribution Europa.
Mainsoft for J ava EE, Enterprise
Edition Windows
Excuter sur Linux ou toute autre plate-forme J ava
une application web .Net.
VisualMainWin 5.1.1
Pour faire tourner des applications ASP.NET crites
en C#ou VB.NET dans un serveur d'application J ava
EE. Linux
Perforce Server / Perforce Client
Outil de gestion de configuration utilis dans le
processus de dveloppement logiciel. Windows -
GRATUIT(2 utilisateurs / 2 postes de travail)
+voir prise en main page 22.
Ilog J Views
Ensemble de composants et d'outils en J ava pour
raliser des applications riches.
Supplment ditorial n100 Programmez! Programmez! LEMAGAZINEDUDVELOPPEMENT
E
chantillo
n g
ratuit N
e p
eut tre vend
u sp
arm
ent Les versio
ns p
euvent tre lim
ites, selo
n les d
iteurs et p
rsentes en ang
lais o
u en franais.
Eclipse Europa
Profitez de 21 projets
de la fondation
Eclipse dans la
nouvelle distribution
Europa. Version Windows
Mono1.2.6
Implmentation
open source de .NET. Linux
Mainsoft for Java EE
Enterprise Edition
Excuter sur Linux ou
toute autre plate-forme
Java une application
web .Net.
(Evaluation 30 jours) - Windows
VisualMainWin5.1.1
Faites tourner des applications ASP.NET
crites en C# ou VB.NET dans un serveur
d'application Java EE.
(Evaluation 30 jours) - Linux
Perforce Server
& Perforce Client
Outil de gestion de
configuration utilis
dans le processus de
dveloppement logiciel. - Windows
GRATUIT (2 utilisateurs / 2 postes de travail)
Adobe Flex Builder 3.0 Bta
Crez des applications
riches, bases sur Flash,
pour presque toutes les
plates-formes.
Adobe AIR Bta
Dveloppez des programmes riches,
connects Internet, sans navigateur.
Windows
Ilog
JViews
Ensemble
de composants et d'outils en Java pour
raliser des applications riches.
Java
.Net
CD-Rom100 PROGRAMMEZ!
> Edito
Numro 100, 100%dveloppement ........................................................................................................................4
> Actus
Lactualit en bref..........................................................................................................................................................12
Agenda ................................................................................................................................................................................14
> Evnements
Expression en version franaise..............................................................................................................................18
Le tour de France de PC Soft ................................................................................................................................19
> Interview
TrollTech : expert en C++et maintenant en J ava ........................................................................................20
> Dveloppeur : un mtier davenir !
96%des dveloppeurs aiment leur profession................................25
Au cur du code : les mtiers du dveloppement ........................26
Salaires et emploi : les mtiers du dveloppement
sont-ils rmunrateurs ? ......................................................................34
Loffshore : nouvel Eldorado du dveloppement ?..........................39
Tmoignages ..........................................................................................42
Les dveloppeurs informatique ne veulent plus coder ..................44
> Spcial numro 100
Pionniers du logiciel ..............................................................................46
Le Top 100des diteurs ..................................................................52
Les 100 outils incontournables ................................................53
Les 100mots connatre..........................................................60
> Dossier Web 2.0 (2
e
partie)
Penser une architecture Web 2.0..........................................................................................................................67
Accessibilit et rfrencement................................................................................................................................70
Rentabilisez votre site Web 2..................................................................................................................................72
> Dveloppement Web
Intgrer facilement Flex et PHP ............................................................................................................................75
Spry : lAJ AX selon Adobe..........................................................................................................................................81
> Technique
Les technologies AOP dans le monde .NET......................................................................................................84
> Code
CMake, le make plus ultra des outils de construction ..............................................................................86
Hbergez votre site dans un ordinateur PC " headless " Soekris ........................................................90
Dcouverte du Nova SDK ..........................................................................................................................................93
Modifier le ruban de Word 2007 avec Open XML..........................................................................................97
> Temps libre
Livres ....................................................................................................................................................................................98
Programmez! Programmez!
LEMAGAZINEDUDVELOPPEMENT
Abonnement : Programmez 22, rue Ren Boulanger, 75472
Paris Cedex 10 - abonnements.programmez@groupe-gli.com
Tl. : 01 55 56 70 55 - Fax : 01 55 56 70 20 - du lundi au jeudi
de 9h30 12h30 et de 13h30 17h00, le vendredi de 9h00
12h00 et de 14h00 16h30.
Tarifs abonnement (magazine seul) : 1 an - 11 numros
France mtropolitaine : 45 - Etudiant : 39 - CEE et
Suisse : 51,83 Algrie, Maroc, Tunisie : 55,95
Canada : 64,33 Tom : 79,61 - Dom: 62,84 Autres
pays : nous consulter.
PDF : 30 (Monde Entier) souscription en ligne.
Rdaction : redaction@programmez.com
Directeur de la Rdaction : J ean Kaminsky
Rdacteur en Chef : Franois Tonic
Ont collabor : F. Mazu, M. Chaize, J . Chable, G. Delamarre,
G. Renard, L. Guillois, F. Dewasme, A. Vannieuwenhuyze,
M. Vialette, A. Leblond, J . de Schryver, R. Bellenguez, Z. Chalal,
D.Icbiah, J . Descombes, D. Catuhe, A. Verla. Dessin : Michel
Piedoue. Images : tous droits rservs
Maquette : AJ E Conseils
Publicit : Rgie publicitaire, K-Now sarl
Pour la publicit uniquement : Tl. : 01 41 77 16 03
coordination@programmez.com
Editeur : Go-02 sarl, 6 rue Bezout - 75014 Paris
Coordination@programmez.com - Dpt lgal : paru-
tion - Commission paritaire : 0707K78366 - ISSN :
1627-0908 - Imprimeur : ETC - 76198 Yvetot
Directeur de la publication : J ean-Claude Vaudecrane
Le numro comporte un CD Rom.
03_05 som 100 22/08/2007 17:17 Page 3
Numro 100
Programmez! - N100 SEPTEMBRE 2007 4
Edito
Le premier numro
de Programmez avec
en titre un projet de
Sun, quasi mythique
aujourdhui: la bague
J ava ! Et aussi, plu-
sieurs succs de
grands gourous du
dveloppement.
N1
Avril 1998
Fvrier 1999 - N7
Une image marquante et un
titre enthousiaste : le super
code avec de nombreux
environnements de dvelop-
peurs en pleine action. En
prime, il y avait un dossier
multimedia complet. Que de
souvenirs
J uillet-Aot 2000 - Hors-srie
Un numro spcial qui a fait
date dans lhistoire de Pro-
grammez : le guide du dve-
loppement Linux avec de
nombreux exemples, du
code, du matriel Comme
quoi, cela fait longtemps
que lon traite du monde
libre et open source !
J uin 2000 - N22
Un web denfer, tout un pro-
grammez ! Nous sommes
ns avec la premire explo-
sion du Web et on le confir-
me avec ce grand dossier.
Le dveloppement web
demeurera li Program-
mez. Et en plus, en cadeau,
nous avions mis BeOS 5 sur
le CD, un systme devenu
mythique lui aussi
Septembre 2000 - N24
J ava, un monde incontour-
nable pour le dveloppeur.
Pour la rentre de lan
2000, un grand dossier
complet sur les EJ B ! Nous
avions aussi du KDE, du For-
tran.
Quelle ide de faire un magazine pour le dveloppeur ! Et pourtant, cest bien
lhypothse de dpart de cette revue, il y a dj 100 numros, soit 9 ans. Durant
ces annes, le magazine a volu. Une volution naturelle due celle du march,
de vous, lecteurs et de la presse en gnral qui demande un changement
permanent de la prsentation, du contenu : la forme et parfois le fond.
Programmez ! et programmer
J e sais que de nombreux lecteurs nous suivent depuis le n1. Honte sur
moi, je nai connu le magazine quau numro 2 (mais jai depuis achet
le premier numro). Et ds le numro 3, je rdigeais mon premier article
pour Programmez ! Mon aventure a dbut par un simple mail la rdac-
tion, qui tait alors dirige par Matthieu Thfoin. Mais je nai pas intgr
immdiatement la rdaction : cette poque je travaillais dans une SSII
en qualit de testeur et de dveloppeur SGBD, tout en poursuivant mes
tudes. Mais comme il faut bien choisir son mtier, au printemps 2000,
je fais mon apparition dans les murs de Sepcom, alors diteur du maga-
zine. J e me souviens encore du dossier sur la carte vitale, dun norme
dossier spcial sur les EJ B ou encore de notre hors srie Linux Open
Numro 100 22/08/2007 17:16 Page 4
Programmez! - N100 SEPTEMBRE 2007 5
100%dveloppement !
J uin 2001 - N33
Le C++fait aussi partie de
la culture informatique et
donc de Programmez. Et ce
numro dmontre bien notre
souci de parler de tous les
langages.
Septembre 2001 - N35
Une des premires couver-
tures sur .Net et lannonce
de sa dferlante. Nous
tions en pleine pr-version
de Visual Studio .Net alors
que depuis un an, Microsoft
en parlait. Nous avions
aussi les habituels articles
sur PHP, Python ou encore
sur la programmation 3D.
Mars/ Avril 2002 - N41
Numro charnire pour
nous. Tout dabord, la confir-
mation de la rvolution .net
avec Visual Studio .Net et la
version finale de lIDE. Et
pour les vtrans du code,
un point sur Cobol. Sur le
CD, nous avions Open Office
et les outils C#alternatifs
Septembre 2002 - N45
Une question lancinante
pour les dveloppeurs, les
entreprises, pour ou contre
J ava ? Dans ce dossier, nous
dressions un tableau com-
plet des deux mondes, avec
des diffrences pas aussi
marques quon aurait pu le
penser
Source. Et mme de mon tout premier texte de quelques lignes sur un
certain .Net (juin 2000)
Des confirmations et des dcouvertes
Programmez, nous avons pu tre le tmoin, avec vous, des volutions
techniques et technologiques, avec notamment la conscration dInter-
net en lan 2000, lapparition, tout dabord timide, au printemps 2000,
de Microsoft .Net, de la dferlante Open Source et du logiciel libre en
gnral, de lincroyable succs dEclipse, de la guerre des bases de
donnes, de larrive du web 2.0, des mthodologies ou encore du cycle
de vie des applications.
Si pour moi, J ava (premire applet en 1996) et Linux (premire install en
automne 1997) ntaient pas une nouveaut, jai pu apprcier leur vo-
lution, leur maturit mais aussi leurs faiblesses. La curiosit demeure
primordiale en informatique et notamment dans le dveloppement. Avec
les constantes annonces, sorties, et volutions, il faut pouvoir com-
prendre et ragir rapidement, tout en gardant la tte froide. Souvenez-
vous des promesses mirobolantes sur XML ou les Web Services. Il a
fallu 5 ans avant darriver maturit, SOA aura ncessit moins de
temps pour tre mieux conceptualise mais il a fallu l aussi quelques
annes. Le Web 2 malgr son omniprsence suit le mme processus.
Et les bouleversements lis lopen source, aux dveloppements com-
munautaires, modifient dj la relation dveloppeur application. IBM
Rational ne fait que confirmer le phnomne. Les clients auront le droit
de tester, de modifier et damliorer le code des applications qui seront,
ou non, intgres par lditeur. Lutilisateur devient la fois utilisateur,
testeur, et parfois dveloppeur au profit dun diteur.
Le dveloppeur nest pas mort
J ai dj eu loccasion de lcrire de
nombreuses reprises dans Program-
mez, non le dveloppeur nest pas
mort. Trop souvent dnigr en France, le
dveloppeur reste la cheville ouvrire des
applications, des projets. Il y aura
toujours des " pisseurs de
code " et des artistes ou
artisans. La question
est de savoir vers
quoi tend lvolu-
tion du mtier. Il y a
50 numros, je pen-
sais, sincrement,
une spcialisation du
Numro 100 22/08/2007 17:18 Page 5
EN BREF
Programmez! - N100 SEPTEMBRE 2007 6
EN BREF
Edito
Fvrier 2003 - N50
Difficile de ne pas voquer
le n50 de votre magazine
prfr. Avec deux titres un
peu provocateurs : C#est-il
le nouveau langage univer-
sel ? et Dveloppeur, un
mtier davenir ? Nous fai-
sions un bilan de linforma-
tique, avec une dose de
futurologie.
J uillet - Aot 2003 - N55
Sans doute une des couver-
tures les plus russies avec
le jeu Half Life. Le numro
dt de Programmez est
traditionnellement plus fun,
plus ludique, plus orient
vers le jeu. Ce numro ne
droge pas la rgle avec
un dossier jeu et une ques-
tion existentielle, faut-il un
standard Linux ? 4 ans
aprs la question se pose
toujours
Mars 2004 - N62
Provocatrice comme on les
aime, cette couverture rsu-
mait bien la situation de
lOpen Source la fin de lhi-
ver 2004 et des orientations
business du Libre. Open
Source.com est devenu bel
et bien ralit.
Dcembre 2004 - N70
La scurit, un autre thme
important pour Program-
mez, mme si les dvelop-
peurs restent encore en
retrait par rapport ces pro-
blmes. Autre thme que
lon aborde rgulirement :
la double comptence du
dveloppeur
mtier, au dtriment du langage (le dveloppeur devient multi-langage),
plus encadr, moins libre. Dsormais, lhomme sage que je suis (?), a
un avis plus mitig. Si loffshore est une relle menace (ou volution),
est-ce rellement le flau que lon dcrivait il y a 2-3 ans ? J e ne le
pense pas.
Si au dbut, Programmez pouvait tre peru comme un magazine dama-
teur (dans le sens noble du terme), de hobbyste, aujourdhui, ce nest
plus le cas. Nous voulons toucher tout le monde : tudiant, dveloppeur
amateur, dveloppeur pro, en SSII ou indpendant, chef de projet, archi-
tecte, etc. Car finalement, le dveloppeur nest plus seul dans son coin,
il fait partie dun ensemble.
Programmez, nous avons aussi tent, parfois en prchant dans le
dsert, de vous montrer toute la partie stratgique dun langage, dune
technologie, dun outil. Dire au dveloppeur que son code nest pas
isol mais fait partie dun tout quil faut comprendre. Et que le choix de
tel ou tel outil ou technologie peut gnrer dans le cycle du projet, des
erreurs, des contraintes impossibles. Car un projet est un tout, de lex-
pression des besoins la maintenance, et quil sinsre dans un envi-
ronnement.
Il y a plus de dix ans de cela, je faisais dj des tests de non rgression,
des tests fonctionnels et manuels, je crais des protocoles de tests, du
suivi de tests. J avoue que je suis toujours effar de voir que le test est
ce que lon sacrifie le plus facilement dans un projet ! Les chiffres don-
ns par la dernire analyse HP mont stupfait : un quart des entreprises
(Amrique, Europe, France) supprimait les tests pour pallier un retard de
projet. Comme quoi, Programmez a une mission de sensibilisation.
J e vous donne rendez-vous dans 10 ans ... pour le numro 200 !
Franois Tonic - Rdacteur en chef
Laventure du Code
Quand le fondateur dune
publication se penche sur son
pass, il court le risque de
jouer lancien combattant.
Tant pis, regardons un peu
dans le rtroviseur.
Un peu dhistoire
Fin 1997, il y a donc 10 ans, nous dcidons de faire un
numro hors-srie " programmation " la revue Compa-
tibles PC magazine, que jai cre en 1987 (elle existe
toujours, dsormais dite par Editions Larivire).
La dmarche est logique : PC magazine, destin aux
" hobbystes ", comporte depuis son origine un cahier de
programmation. Un concours de Visual Basic par exemple
y a t organis. La revue a lanc en France la mode des
disquettes, puis des cd-roms, et Visual Basic tait offert
sur une de ces disquettes.
Dans les annes quatre-vingt, car en dehors des ana-
Numro 100 22/08/2007 17:21 Page 6
Les volutions constantes des OS obligent votre quipe sadapter toujours plus vite aux
volutions des plateformes telles que Windows

Vista

, Mac

OS X ou Linux

.
Avec Qt

lenvironnement standard pour le dveloppement dapplications


performantes et multiplateformes suivre le rythme des innovations des systmes
dexploitation devient facile. Depuis plus de douze ans, Trolltech semploie rechercher
et incorporer dans lAPI unique et multiplateforme de Qt les technologies spficiques
chaque plateforme, prservant ainsi nos clients tels que Adobe

, Google

ou Skype

des changements constants sur chaque plateforme cible. Qt prend en charge ladaptation
de ces volutions et vous permet ainsi de vous concentrer sur laspect production pure
de vos applications.
NOUS VOUS AIDONS ALLER DE LAVANT.
Pour en savoir plus, tlchargez ds aujourdhui une
version de test de Qt, gratuite, valable un mois:
www.trolltech.com/futureproof
Qt BY TROLLTECH

CODE LESS. CREATE MORE.


VOUS VOUS EFFORCEZ DADAPTER EN
PERMANENCE VOS APPLICATIONS AUX
VOLUTIONS DES SYSTMES DEXPLOITATION.
VOS APPLICATIONS FONCTIONNENT,
MAIS QUEN EST-IL DE VOTRE PRODUCTIVIT?
Trolltech, Qt, and the Qt logo are registered trademarks of Trolltech ASA in Norway and/or other countries
worldwide. All other trademarks are property of their respective owners.
Numro 100 22/08/2007 17:22 Page 7
EN BREF
Programmez! - N100 SEPTEMBRE 2007 8
EN BREF
Edito
Fvrier 2004 - N72
Un des numros les plus
marquants : la fin du dve-
loppeur ! Les avis diver-
geaient, mais un constat se
dgageait tout de mme :
menac oui, la disparition
non. Et finalement, 28
numros plus tard, peut tre
est-on moins pessimistes
quen janvier 2005
Dcembre 2005 - N81
En quelques mois, lunivers
des SGBD avait t secou
par larrive des diteurs sur
le march des bases de don-
nes gratuites, pour concur-
rencer loffre open source.
Oracle, Microsoft, Sybase,
IBM taient arrivs sur ce
march. Nous avions t les
premiers mettre sur notre
CD, Oracle Database 10g
Expression Edition.
Mars 2007 - N95
Comment parler de lopen
source sans tomber dans
lexcs ou la caricature ?
Depuis longtemps, nous
voulions parler des grands
projets ouverts mais du
ct coulisse : la gouver-
nance, la communaut, les
rivalits, les dveloppeurs.
Un dossier qui a fait date !
Programmez
n100
Lge
de raison
lystes-programmeurs, les passionns sessayaient sur les
PC -devenus accessibles-, dpasser les limites du MS-
Dos (eh oui !) et sinitier lassembleur ou au basic,
notamment avec les premiers outils Borland (Turbo Pas-
cal) et Microsoft (Quick Basic).
De lamateur au professionnel
Le test est concluant et nous dcidons de nous lancer
leau avec la cration de Programmez, en avril 1998 (vous
ne pourrez y chapper : on sera bien oblig de faire un
Numro 10e anniversaire dans 7 mois !).
Figurez vous que le choix du titre fut pique. Les dvelop-
peurs consults prfraient -dj- le terme de "dvelop-
peur" celui de "programmeur". La revue aurait d
sappeler "Dveloppez" lpoque Mais je me rangeais
dans le camp des "programmeurs" car le terme paraissait
davantage grand public, "hobbyste" et nous visions
lpoque les utilisateurs experts et amateurs.
Que de chemin parcouru ! Cest peu dire que la program-
mation est presque inaccessible aujourdhui au commun
des mortels. Elle est devenue une carrire, avec ses sp-
cialits professionnelles. Les langages Basic et Logo
apparatraient dsormais comme des briques Lego pour
enfants en bas ge.
Lavenir du papier
Ne nous leurrons pas, le vritable challenge, et le vritable
rival du magazine est lInternet. Gratuit, instantan, il four-
nit linformation demande sur mesure : cest le fast food
de linformation.
La parade de votre magazine a dabord t de vous fournir
son service web, en complment. Et ds octobre, laccs
aux archives sera ouvert, de faon privilgie, pour les
abonns !
Mais je crois encore aux vertus du magazine " papier ".
Les statistiques des temps de lecture du web se comptent
en seconde. Pour un article de fond, pour apprendre ou se
perfectionner, vous avez besoin de temps et de confort !
Notre mtier dditeur consiste collecter et mettre en
forme la meilleure information possible. Quel que soit le
support.
Enfin, le magazine conserve un atout magique, la serendi-
pity, comme disent les anglo-saxons, c'est--dire la trou-
vaille imprvue, au dtour dune page, la divine surprise.
Sur Internet, on trouve, dans le magazine, on dcouvre.
Cest en tout cas notre objectif, et nous ferons tout pour
continuer mriter votre fidlit.
J ean Kaminsky
Programmez!
P
rin
ted
in
Fran
ce - Im
p
rim
en
Fran
ce -
B
E
LG
IQ
U
E
6
,4
5

- S
U
IS
S
E
1
2
FS
-
LU
X
E
M
B
O
U
R
G
6
,4
5

- C
an
ad
a 8
,9
5
$
C
A
N
D
O
M
S
u
rf 6
,9
0

- T
O
M
9
4
0
X
P
F - M
A
R
O
C
5
0
D
H

3
:H
I
K
O
N
B
=
^
U
Z
^
Z
]
:?
a
@b
@k
@a
@k
;
M
0
4
3
1
9
- 1
0
0
- F
: 5
,9
5
E
.NET
Mettre en oeuvre la 3D avec Nova SDK
Modifier le Ruban d'Office avec OpenXML
Programmation aspect sous .Net
PHP
Intgrer
Flex et PHP
100
Les100outils
indispensables
Les100premiers
diteurs franais
Les100mots
connatre
Web 2.0
Comment rfrencer un site web 2.0 ?
Spray : l'Ajax d'Adobe
Jai mme rencontr des dveloppeurs heureux !
Salaires : la vrit Histoire : les pionniers du logiciel.
Web 2.0
Evnement : Sybase PowerAMC 12.5
100
Numro
Programmez!
www.programmez.com
Mensuel - Septembre 2007 - N100
LE MAGAZINE DU DVELOPPEMENT

La modlisation
dentreprise
Numro
Numro 100 22/08/2007 17:23 Page 8
IBM.COM/TAKEBACKCONTROL/INFO/FR
IBM, le logo IBM et Take Back Control sont des marques dInternational Business Machines Corporation aux tats-Unis, dans dautres pays ou les deux. 2007 IBM Corporation. Tous droits rservs.
_LE JOURNAL DE NOTRE INFRASTRUCTURE
_53
e
JOUR : Donnes, e-mails, vidos... Nous sommes submergs
par les informations ! Elles sont enfermes dans des systmes
cloisonns. Impossible dy accder et de trouver la bonne info.
_Gilles rclame un coup de main, mais moi, jai le vertige!
_54
e
JOUR : Jai la rponse ! Grce aux solutions IBM de
gestion de linformation, nous avons une infrastructure qui
regroupe lensemble des informations, o quelles soient.
Les logiciels IBM centralisent et intgrent les donnes
structures et non structures. Les serveurs et systmes de
stockage IBM nous offrent la virtualisation dont nous avons
besoin pour amliorer leur utilisation.
_Nos infos sont exploitables, nous prenons nos dcisions les
pieds sur terre... pas plus haut.
:H
I
K
O
N
B
=
^
U
Z
^
Z
]
:?
a
@b
@k
@a
@k
Numro 100 22/08/2007 17:24 Page 9
2 7 Microsoft Corporation. Tous droits rservs. Microsoft, Visual Studio, le logo Visual Studio, et Votre potentiel, notre passion.
sont des marques de Microsoft dposes et/ou utilises aux tats-Unis et/ou dans dautres pays.
MIC7 17P-DP 42 x285 Pirate indd 1
10-11 22/08/2007 17:27 Page 10
Votre d : Crer des applis riches et dynamiques
pour PC ou mobiles.
Vos armes : Utilisez Visual Studio et Windows Vista
pour crer de la valeur et pas seulement des donnes.
Plus dinformations sur releveztouslesdes.com
15/ 5/ 7 11:29: 3
10-11 22/08/2007 17:27 Page 11
EN BREF
IDE
Eclipse 3.3, Europa et nouveaux packages !
Aprs avoir dvoil Callisto, la fondation Eclipse a sorti, dbut de lt,
Europa, une vritable distribution package comprenant 21 projets
Eclipse, le double de
Callisto. Ct chiffre,
Europa regroupe 310
dveloppeurs et 17 mil-
lions de lignes de code.
La principale nouveau-
t est larrive dun
ensemble SOA pour
crer des serveurs
dapplications et des
outils de dveloppe-
ment. Ct langage, les langages dynamiques font une apparition
remarque avec le projet DLTK.
Les projets les plus intressants dEuropa sont : Equinox (service de
dveloppement et de dploiement dun serveur dapplications), STP
(SOA Tools Project), Eclipse Modeling (mise jour du projet EMF suppor-
tant les nouveaux mcanismes de J ava 5), Mylyn (ex-Mylar, couche col-
laborative), DLTK (Dynamic Language Toolkit). Europa se base sur
Eclipse 3.3.
La fondation en a profit pour refondre les packages dveloppeurs, on
dispose dsormais de 5 packages cibls : Eclipse IDE pour les dvelop-
peurs J ava, J ava EE, C/ C++et Eclipse Classique.
Classique est le package standard contenant lIDE et les lments de
base mais sans les plug-in entreprise comme pour la modlisation, pour
la gestion des donnes. La version 3.3 apporte de nombreuses nou-
veauts : exploitation native de Vista par SWT, support de Windows Pre-
sentation Foundation (cela devrait amliorer le dveloppement sous
Windows), accs direct certaines fonctions pour aller plus vite, exten-
sion de la fonction annulation, nouveaux lments graphiques (notam-
ment les onglets), mise jour de la fonction de refactoring, splash
screen disponible via les API, possibilit de crer des tooltips plus com-
plexes, nouvelles API pour MacOS X et GTK. Pour le futur, la fondation
travaille sur la version 3.4 dont les objectifs restent dfinir clairement.
Les performances constituent un axe important, ainsi quune amliora-
tion des fonctions rechercher / remplacer. La M1 devrait tre disponible
rapidement.
Visual Studio 2008 : les bta sont l
Alors que la gamme Visual Studio 2008 nest pas attendue avant la fin
de lhiver 2008, les dveloppeurs peuvent dj tester lenvironnement
en version bta. On dispose ainsi des pr-versions des versions
Express, Standard, Professionnelle et de Team System. VS 2008 est la
premire version tirer pleinement parti de .Net 3.0 et de Vista, sans
oublier .Net 3.5 et Office 2007. Le dveloppement Office est dsormais
totalement intgr dans Visual Studio, ce qui va faciliter le travail du
dveloppement. Le dveloppement de Smart Client na pas t oubli
et bnficie dune profonde refonte. Avec lapparition de .Net 3.5, VS
2008 supporte bien entendu lensemble des nouveauts : Linq pour
laccs aux donnes et surtout les volutions des langages. La partie
Web bnficie aussi dune srieuse refonte avec le dveloppement Ajax,
le support de Windows Communication Foundation ou encore de frame-
work de Workflow. noter la prsence dun diteur XAML pour WPF ! Sur
le cycle de vie, VS 2008 sintgrera toujours plus avec Team System.
Ct test, lIDE renforce les fonctions de tests unitaires et des tests de
monte en charge.
Pour utiliser VS 2008, passez de prfrence par une machine virtuelle
ou sur une partition spare de votre partition de travail. Si vous avez
install une CTP de .Net 3.5 ou dOrcas, il faudra les supprimer.
NetBeans 6.0 : le chantier avance
Comme chaque anne, on attend la mise jour majeure de NetBeans.
lheure o nous crivons, nous en sommes la M10 de la v6. La phase
bta doit intervenir en septembre pour une version finale fin novembre.
Une des grosses
nouveauts de la v6
est le support de
Ruby/ Rails, comme
chez Eclipse. Le
module dinstallation
et de mise jour
sera lui aussi revu et
corrig. Toute la par-
tie dveloppement
web bnficie dune
importante modification (support des composants J SF Ajax, migration
des projets Sun Studio Creator, meilleur support des CSS et de javas-
cript). La mobilit (toujours pas disponible sous MacOS X) subit elle
aussi une profonde refonte avec un diteur de jeux J ava, un nouveau
designer mobile, de nouveaux composants (comme le PIM et les SMS),
une gestion de projet amliore. Sur la partie entreprise, UML et SOA
bnficient de nombreuses amliorations (diteur graphique WSDL,
interoprabilit avec les services .Net, dition des transformations dans
lditeur XSLT). La version 7.0 est dj planifie pour novembre 2008
(les premires versions exprimentales arriveront vers octobre).
MyEclipse 6.0 sur les rails
Lditeur Genuitec travaille activement la future version 6 de son di-
teur de dveloppement phare : MyEclipse, distribution Eclipse bien
connue des dveloppeurs J ava. MyEclipse 6 supportera Eclipse 3.3 et
Europa. Lobjectif de la v6 est de simplifier le dveloppement Ajax en
J ava EE 5, amliorer le dveloppement web en gnration ainsi que le
support de Windows Vista. La compatibilit des projets avec les ver-
sions antrieures sera assure au meilleur niveau possible (dixit ldi-
teur). Il faudra prvoir des tests de compatibilit avec le code existant
avant de migrer. Parmi les nouveauts annonces, on citera en vrac : un
designer J SF amlior, un connecteur Glassfish revu et corrig. La ver-
sion 5.5 (sortie en mai dernier) avait permis de supporter J ava EE 5,
dutiliser Eclipse 3.2, dtre compatible Vista et EJ B 3.
Actu
EN BREF
2
A LIRE dans le PROCHAIN NUMERO
Dossier : Les API Google UML et le dveloppeur
Octobre - N101,
Parution 30 septembre
12-13 22/08/2007 17:28 Page 12
PowerAMC
La MedIIsatIen
I'cheIIe de I'entreprIse
Qu est concern !
Administrateurs donnes, bases
de donnes, reposiIory, Sl
AnaIystes, concepIeurs, dveloppeurs
Architectes & urbanisIes, IoncIionnels
& applicaIiIs
kesponsabIes daIa reposiIory, rIrenIiel,
daIa warehouse, Iudes, mIhodes & ouIils
Chefs de projets
Matrise d'ouvrage
A G L N D A C O M P L L 1
& | N S C k | P 1 | O N
s u r w w w . s y b a s e . f r
lNVl1A1l0N
zo septembre zoo
Smnare gratut - ghoo - hoo
ChaIet de Ia Pcrte Iaune
Avenue de Nogent - 8os de Vncennes - )oz Pars
w w w . p o r t e | a u n e . c o m
Devenez membre du rseau des dve|oppeurs Sybase
Pour consu|ter & partcper : www.sybase.com/sdn
Programme
ghoo
: AccueiI
ghjo
: Duverture : Ies enjeux de Ia modIisation
LIendre la dmarche de modlisaIion l'chelle de l'enIreprise
en s'appuyanI sur les modles de donnes.
: tudes de cas d'entreprises
: 5tratgie, roadmap et dmonstration de nouveIIes fonctionnaIits
MIadonnes des chanes d'alimenIaIion (L1L, Lll, ...) pour une analyse
d'impacI de bouI-en-bouI.
ModlisaIion orienIe ob|eIs : UML z.o.
ModlisaIion des cubes MicrosoII SQL Server
1M
Analysis Services.
: CocktaiI
: AteIiers dcouverte & mise en pratique
ModlisaIion UML & implmenIaIion de la persisIance des donnes.
AlignemenI aux sIandards de l'enIreprise, exIensibiliI eI personnalisaIion.
PowerAMC, composanI de la plaIeIorme de gesIion des mIadonnes
eI des ux dcisionnels, xSIream 8l ConIrol CenIer.
ModlisaIion inIgre Donnes, Ob|eIs, Processus eI rIrenIiel
d'enIreprise.
SOA LnablemenI avec PowerAMC.
ModlisaIion dcisionnelle.
ghoo
: fin
21x285 indd 1 25/7/7 17:56:36
12-13 22/08/2007 17:29 Page 13
EN BREF
Programmez! - N100 SEPTEMBRE 2007 14
IDE
CodeGear dvoile son agenda 2008 - 2009
Lditeur prpare activement lavenir de Delphi. Lenvironnement doit
subir 3 mises jour jusquen dbut 2009. La premire est Highlander
qui doit sortir fin 2007. Il apporte le support complet de .Net 2 et les
dveloppeurs pourront migrer de VCL .Net avec VCL.Net. ECO IV sup-
portera bien entendu .Net et ASP.Net 2 et bnficiera dun nouveau
mapping de donnes. Delphi Tiburon doit fournir le support dUnicode et
des gnriques pour les dveloppements Delphi / VCL. Sortie prvue :
1re moiti 2008. Enfin, Delphi Commodore, fin 2008 / dbut 2009. La
principale nouveaut sera le dveloppement 64-bit. Au-del de Commo-
dore, CodeGear prvoit le dveloppement multicoeur et mobile, la possi-
bilit de crer des applications RIA, de la cross compilation vers
dautres systmes (Linux ? MacOS X ?).
Pour J Builder, le planning est lui aussi trs charg. Pas moins de 3 ver-
sions majeures jusquen 2009 : Bononza, Grasshopper et Optimus.
Bononza se concentre sur le dveloppement Web et J ava EE avec de nou-
veaux outils. De plus, son cur sera bas sur Eclipse 3.3 et tendra les
liens J Builder et StarTeam, le support du J DK 6. J Builder 2009 (grasshop-
per) supportera Eclipse 3.4 et continuera tendre les fonctions de cycle
de vie et de travail en quipe. Enfin, J Builder Optimus (J Builder 2010) sor-
tant courant 2009 doit prendre en compte lusine logiciel pour compo-
ser, assembler des applications. De plus, lditeur sortira prochainement
J gear, 4 add-on pour J Builder ou tout autre IDE bas sur Eclipse :
- Performance for Eclipse : bas sur OptimizeIt, il inclut un profiler, un
analyseur de thread, une couverture de code, des fonctions de qualit.
- LiveSource for Eclipse : construit sur Together LiveSource, il fournit un
roundtrip pour crer des modles UML partir dun code J ava
- Team Server for Eclipse : module de cycle de vie et de gestion de pro-
jets, facile installer, configurer
- Team Client for Eclipse : client pour se connecter Team Server.
J gear doit voluer lui aussi (la premire version est disponible). Pour les
premiers mois de 2008, il est prvu J gear Laredo pour prendre en comp-
te Eclipse 3.3 (et tre compatible J Builder 2008). Toujours en 2008, sui-
vra J gear Bumblebee qui sera compatible Eclipse 3.4. Par ailleurs,
CodeGear rorganise sa commercialisation. Lditeur nomm la soci-
t OpenWay, du groupe Logix, comme distributeur exclusif pour la France.
WEB
4D supporte Dreamweaver
4D propose depuis le milieu de lt 4D Ajax for Dreamweaver. Il sagit
dun plug-in pour la solution 4D Web 2.0. Il est maintenant possible din-
tgrer des objets cods avec le framework 4D Ajax dans ses sites web
crs dans Dreamweaver CS3, sans ajout de code (dixit lditeur). " En
effet, un simple clic sur une icne dans le plug-in 4D Ajax for Dreamwea-
ver suffit pour ajouter dynamiquement des fonctionnalits du framework
AJ AX de 4D dans un document HTML Adobe DreamweaverTM CS3 "
dclare Laurent Ribardire, prsident de 4D SAS.
SERVEUR
BEA lance sa virtualisation
WebLogic Server Virtual Edition a t lance fin juillet. La solution sap-
puie sur une J VM spcialement adapte : LiquidVM. Liquid VM est une
machine virtuelle J ava base sur celle de BEA, J rockit. Il sagit dune
technologie qui trouvera sa place dans les logiciels de lditeur. Mais
pour raliser la virtualisation applicative, BEA a mis au point sur une ver-
sion spciale de WebLogic : WebLogic VE sappuyant sur Liquid VM. Il
est capable de sexcuter sur un hyperviseur de type VMWare (qui joue-
ra le rle de pseudo systme) et ce, dans plusieurs instances. Cepen-
dant, lhyperviseur ne gre pas des lments comme laccs disques,
aux fichiers. Cest donc lenvironnement de le faire. Linstance joue en
quelque sorte le rle dun mount (pour monter les disques locaux ou dis-
tants). La virtualisation applicative permet de consolider sa partie ser-
veur comme on le ralise avec le matriel. Sur un mme matriel, on
peut donc excuter plusieurs instances de serveur dapplication (ici
WebLogic VE) et donc y crer des notions de disponibilit, de clustering,
de monte en charge, etc.
QUALIT
SonarJ : nouvelle build
dit par Hello2morrow, Sonarj est mis jour rgulirement. La build
364 est la dernire actuellement disponible. Elle fixe un bug quand on
dplaait des units de compilations. Courant juillet, la build prcdente
avait permis dintgrer le plug-in Maven dans loutil (plug-in Maven 2
apparu en mai dernier).
Actu
EN BREF
Agenda
SEPTEMBRE
19 Septembre 2007, Paris Espace Champeret, Salon emploi informaticiens
et ingnieurs IT. http:/ / www.kavesta.fr/ informatique/ index.htm
Du 25 au 29 septembre, Paris, Paris Expo, Hall 5 - Porte de Versailles
Apple Expo 2007. 24e dition. http:/ / www.apple-expo.com/
Le 27 septembre 2007, Palais des Congrs Porte Maillot - Paris. Salon Les
J eudis. www.lesjeudis.com
OCTOBRE
CNIT Paris La Dfense, du 2 au 4 octobre 2007. ERP, Solutions E-ACHATS,
Solutions MVI/ CRM, Solutions BI, Serveurs & Applications, Solutions
DEMAT, Solutions FINANCES. www.infopromotion.fr
Du 03 Octobre 2007 au 05 Octobre 2007. Paris Expo - Porte de Versailles
IP Convergence Expo - Rseaux - Tlcoms - Mdias. www.ipconvergence.fr
4, 5 octobre 2007, Paris, Cit des Sciences et de lIndustrie. Forum CAO-
EMPLOIS 2007 - 2me dition. J ournes de Recrutements ddis aux
mtiers de la CAO (Conception Assiste par Ordinateur). www.caoemplois.com
2 sminaires organiss par Quest Software Paris. 9 octobre 2007: Pour
une gestion optimise, automatise et pro-active des performances
(Oracle, SQL Server).
16 octobre 2007: Une administration Oracle simplifie avec le module DBA
de TOAD. http:/ / www.quest.com/ events/
ETRANGER
Barcelone du 15 au 18 octobre, Confrence Adobe Max.
www.adobemax2007.com
Bruxelles du 23 au 25 septembre 2007
Progress Technology World 2007
La confrence europenne des dveloppeurs Progress Software
http:/ / www.progress.com/ ptw/ 2007/ emea/ registration/ index.ssp
SMINAIRE GRATUIT
Sybase PowerAMC 12.5
La modlisation lchelle de lentreprise
Les nouvelles fonctionnalits - Ateliers - Cocktail
20 septembre 2007, Paris, Bois de Vincennes,
Chalet de la Porte J aune. www.sybase.fr
14 22/08/2007 17:29 Page 14
C
o
m
m
u
n
i
q
u

MDD - Model Driven Development


PowerAMC
Un outillage complet de conception et d'analyse
pour l'Architecture dEntreprise :
une approche pragmatique et incrmentale.
P
our beaucoup d'entre vous, MERISE est la
premire approche ayant offert plusieurs
niveaux dabstraction et de vues et ayant
pos les concepts de modlisation et
d'Architecture d'Entreprise. Pour d'autres,
UML s'impose comme un langage standardi-
s de modlisation en offrant une formalisa-
tion commune aux matrises d'ouvrage et ma-
trises d'uvre, jusqu'aux architectes et dve-
loppeurs. Sa notation apporte richesse de
diagrammes et facilit de lecture pour repr-
senter les diffrents points de vue de la
modlisation. UML rencontre le mme succs
que MERISE, sans avoir la mme porte
mthodologique. Pour les plus avancs, et
notamment pour les architectes et urba-
nistes, le framework de Zachman merge
comme le standard de formalisation des com-
posants de base de l'Architecture
d'Entreprise souvent utilis dans les travaux
de cartographie de l'organisation et des sys-
tmes d'information. Il est en revanche moins
populaire auprs des communauts de dve-
loppeurs ou des utilisateurs.
Bien que sduisante dun point de vue tho-
rique, chaque mthode propose ses avan-
tages et inconvnients. Pour les plus globales,
elles peuvent augmenter de faon significative
la complexit et la documentation en raison de
leur richesse. Elles peuvent par ailleurs gn-
rer des problmes d'appropriation. La combi-
naison de ces facteurs risque court terme de
contrarier les rsultats que les organisations
en attendent. Quoi qu'il en soit, les objectifs
dont elles ne doivent pas s'loigner sont de
faire coexister et interagir au sein d'un mme
rfrentiel d'entreprise les modles business
et les modles techniques, d'assurer le suivi
et l'analyse d'impact de tout changement sur
le systme d'information et inversement de
tout changement informatique sur le business,
en facilitant le dialogue entre matrise d'ouvra-
ge et matrise d'uvre, en intgrant les
normes et standards tout en conservant une
certaine indpendance car ils volueront dans
le temps.
PowerAMC est utilis ses
origines pour la modlisa-
tion des SGBD et dans le
cadre de MERISE ;
aujourdhui, il couvre le
plus large spectre de la
modlisation d'Entre-
prise, et augmente sa
couverture chaque
nouvelle version. En prs
de 25 ans, PowerAMC a capi-
talis sur ses forces et complt
sa couverture objet et processus, en restant
l'outil prfr de conception et de gnration
de modles de donnes dans l'hexagone.
Il est le seul outil offrir une forte intgration
entre les diffrentes techniques (donnes,
objets, processus), et tre la fois ouvert et
affranchi des mthodes ou standards, l'in-
verse de beaucoup d'outils qui restent soit
attachs certains standards, soit ne suppor-
tent pas les nouveaux standards XML, UML,
BPMN, etc. Pour les plus traditionnels, il est le
seul conserver la notation MERISE dont la
R&D a su tirer la substantifique moelle pour
construire des modles logiques UML trois
niveaux de dcomposition, tout en offrant sou-
plesse, flexibilit et extensibilit de manire
s'adapter tout environnement.
Cela induit plusieurs avantages. Gage de coh-
rence entre les modles, lintgration facilite
les modifications tout niveau du cycle de
dveloppement et rduit significativement les
efforts de dveloppement et de ringnierie
entre modles. Elle favorise ainsi le partage et
le dialogue entre matrise douvrage et matri-
se duvre et amliore la productivit en dve-
loppement.
Tlchargez la version dvaluation de
PowerAMC sur www.sybase.fr/ downloads
Pour en savoir plus, contactez-nous au
01 41 90 41 23
La modlisation de donnes est longtemps reste la mthode de conception de rfrence. Dsormais,
elle stend aux services et aux processus pour intgrer la dimension mtier ou transverse dans la
conception du systme d'information. Leader historique de la modlisation de donnes, PowerAMC
poursuit aussi son volution pour couvrir l'ensemble des aspects de la modlisation dEntreprise. Il
intgre la modlisation de donnes, oriente objet et processus mtier, et est complt par un
rfrentiel partag qui garantit la productivit ainsi que la cohrence des mtadonnes.
Si l'architecture dentreprise va amliorer lin-
teroprabilit et l'agilit du systme d'informa-
tion, PowerAMC vous permet d'outiller vos
dmarches d'architecture, de faciliter le dia-
logue entre matrise d'ouvrage et matrise
d'uvre et d'acclrer le dploiement de nou-
velles solutions.
15 SYBASE POWER 22/08/2007 17:30 Page 15
EN BREF
CONSTRUCTEUR
Apple : nouveaux outils, nouvelles
machinesen attendant Leopard
Dans moins de deux mois, Apple doit sortir son nouveau systme :
MacOS X 10.5 alias Leopard. Trs attendu depuis la disponibilit de
Windows Vista, Leopard apporte de nombreuses volutions et nouveau-
ts telles que le bureau virtuel, un modle de sauvegarde avec archiva-
ge (Time Machine), de nouvelles librairies graphiques (Core Animation),
une interface graphique modifie. Il intgrera aussi lapplication dual
boot : Boot Camp. Pour mmoire, MacOS X est un systme Unix 64-bit.
Xcode (lIDE dApple) subira une profonde refonte : volution du langage
(Objective C 2), support des nouvelles fonctions et API de MacOS X.
Xray sera le compagnon indispensable pour tester, optimiser et analyser
lapplication. Il intgre Dtrace, outil de trace issu de Sun.
En attendant, Apple a, courant aot, mis jour la gamme iMac et sur-
tout la partie logicielle : iLife et iWorks. Ct dveloppement, la nouvelle
version de iWeb. Cest un outil de conception de sites web dune ergo-
nomie redoutable. Le web 2 y fait son apparition. Ainsi, il devient trs
facile dintgrer une carte Google Maps ou une publicit AdSense. Sur
la partie album, on peut dposer 500 photos avec gestion automatique
de la pagination. Cette version semble toutefois souffrir de dysfonction-
nement, une mise jour est disponible pour fixer plusieurs problmes,
dont la publication de sites.
Comme prvu, Apple a lanc fin juin le iPhone. Succs commercial, ce
tlphone nouvelle gnration sera disponible en Europe et en France
dans quelques mois. Il fonctionne sur un MacOS X modifi. Pour le dve-
loppeur, Apple a lanc une section spciale iPhone
(developer.apple.com/ iphone/ ). Lapplication iphone fonctionne via
Safari, le navigateur embarqu. On ne dispose pas rellement de SDK.
Il faut coder en html, javascript, CSS, Ajax. Ds sa sortie, des dvelop-
peurs et bidouilleurs ont tent daller plus avant et surtout d accder au
systme embarqu Les outils de dveloppement commencent aussi
apparatre. Lun des premiers est WebOS AppsBuilder de Morfik. Len-
vironnement permet de crer des applications web 2 pour le tlphone
dApple. Les dveloppeurs internes ont pu porter des applications sur
ce portable (comme un jeu dchec). Rendez-vous lApple Expo du 25
au 29 septembre prochain Paris Expo, pour en savoir plus.
WEB
Zend tend son royaume
Zend a lanc durant lt la 5e version de Zend Guard, solution pour
grer le dploiement des applications. Cette version supporte PHP 5.2.
Elle propose une nouvelle interface (base sur Eclipse RPC) avec une
vue densemble pour configurer les informations de lapplication, grer
la scurit (date expiration des fichiers encods, configuration des
licences, obfuscation). Et propose aussi un diteur XML. Bref, un outil
incontournable pour dployer en toute scurit ses applications. Dispo-
nible au prix de 960 euros HT. Zend et IBM tendent leur partenariat
afin dapporter la plate-forme PHP des capacits de monte en charge
de base de donnes pour aider PHP mieux simposer dans les appli-
cations critiques. Le travail se concentrera sur Zend Core for IBM et DB2
afin de faciliter le dploiement des deux entits. Laccord prvoit une
meilleure intgration dExpress C dans Zend Core for IBM, un nouveau
support pour DB2, avec
accs aux serveurs de don-
nes hautes performances,
ou encore le support des par-
titions System i Linux, Blade-
Center System et des
serveurs System X. Zend
Core for IBM est une distribu-
tion PHP certifie et suppor-
te pour le dveloppement et
le dploiement dapplications. Elle comprend : Apache, PHP, le Zend Fra-
mework et DB2 Express-C. Dernire heure : lditeur offre une remise
de 15%sur lensemble de sa gamme aux lecteur de Programmez!
www.zend.com/ programmez
MODLISATION
WinDesign en version 8.0
La version 8 de WinDesign est en cours de finalisation et sera dispo-
nible courant septembre. Cette version propose trois nouveauts princi-
pales :- un nouveau module dadministration avec une gestion complte
des droits daccs.- Une meilleure gestion des profils avec accs aux
paramtres, simplifi. - Une ergonomie amliore, avec notamment
lajout de nouvelles fonctions pour aider le travail de lutilisateur. On dis-
pose aussi dun module Business Process fournissant toutes les vues
du systme dinformation (processus mtier, infrastructure, cartogra-
phie). Rappelons que WinDesign sarticule autour de 4 modules,
autour dun rfrentiel commun.: database, business process, object et
User Interface.
DISTRIBUTION
Kapitec distribue Unica
La distribution franaise Kapitec distribue en France loutil Affinium
NetInsight dUnica. Il sagit dun outil de web analytique, ddi lopti-
misation des sites et au marketing sur le web. Il transforme les donnes
transactionnelles en donnes dcisionnelles pour tre plus efficace
dans le marketing et le business de son site.
Actu
EN BREF
A LIRE dans le PROCHAIN NUMERO
Dossier : Les API Google UML et le dveloppeur
Octobre - N101,
Parution 30 septembre
16-17 22/08/2007 17:34 Page 16
Altova

XMLSpy

2007 The industry standard XML development environment.


Plongez au cur de
lintelligence XML
Avec XMLSpy

2007, approfondissez votre


connaissance du dveloppement XML.
Nouveauts dans lapplication 2007 version 3:
l
Intgration totale dIBM

DB2

9, le serveur de donnes pureXML


l
Prise en charge dOpen XML, le nouveau format de document Microsoft

Offce
l
Nouvelle fentre de requte pour bases de donnes, avec prise en charge
de SQL, SQL/XML et XQuery
l
Nouvel diteur CSS intelligent dot daides la saisie contextuelles
Altova

XMLSpy, lenvironnement de dveloppement XML de


rfrence, est indispensable pour modliser, diter,
transformer et dboguer des applications
XML. Dot dun designer graphique
original de schmas, dun gnrateur
de code, de convertisseurs de
fchiers, de dbogueurs, de
profleurs, dune intgration
totale des bases de
donnes, dune prise
en charge XSLT, XPath,
XQuery, WSDL, SOAP et dune
foule dautres fantastiques aides
et utilitaires XML, ce leader mondial
dans le domaine des diteurs
XML vous permettra doffrir une
nouvelle dimension vos projets.
Vous aussi, devenez un gnie
de la programmation !
Tlchargez XMLSpy

2007 ds
aujourdhui: www.altova.com
XMLSpy est galement disponible
au sein de MissionKit

, loffre
groupe Altova dj prime.
16-17 22/08/2007 17:35 Page 17
EN BREF
Programmez! - N100 SEPTEMBRE 2007 18
EN BREF
vnements
EN BREF
La gamme Expression est dsormais disponible
en version finale et en franais depuis plusieurs
semaines. On dispose des outils suivants :
- Expression Web : IDE pour dvelopper des
sites web statiques ou dynamiques avec les
langages Microsoft. Cest le remplaant de
FrontPage mais en beaucoup mieux !
- Expression Design : pour crer linterface
graphique de vos applications et sites avec
illustrations et graphismes.
- Expression Blend : outil de conception et
danimation des interfaces, en 3D et en
XAML. Il sinterface avec Visual Studio 2005
Express pour le code et la gestion des projets.
- Expression Media : outil de gestion des l-
ments graphiques, projets, sons et vidos.
Disponible aussi sous MacOS X.
La famille Expression Media sagrandira rapide-
ment car lditeur travaille activement sur
Media Encoder pour pouvoir gnrer des conte-
nus vidos (format Microsoft et VC-1, mais pas
EN BREF
Expression : en version franaise !
Depuis 2 ans,Microsoft nous parlait de la gamme Expression. Lditeur souhaitant investir le marchdes
graphismes et du dveloppement web professionnel,sur lequel les outils Adobe dominent largement.
de MPEG-4) puis de les
publier en quelques clics.
On dispose dun Media
Player qui joue le rle de
lecteur pour les contenus
si vous ne possdez pas
Expression Media. Fonc-
tionne sous Windows et
MacOS X et est gratuit.
Un package spcial est
disponible : Expression
Studio, qui comprend
tous les outils Expression
(Web, Design, Blend et Media) et inclut en stan-
dard, Visual Studio 2005 Standard. Noublions
pas que Design ne sera pas vendu part. Le
pack cote 599 dollars (environ).
Expression Design peut tre considr comme une version (trs) simpli-
fie d'Adobe Illustrator. L'interface, qui ressemble celle d'un logiciel
de graphisme vectoriel standard, est sobre et plutt sduisante. Assez
utilisable, Design risque pourtant d'tre mis au placard assez vite. En
effet, dans le cas de formes simples, Blend proposera une palette d'ou-
tils suffisante. Si jamais elle ne vous satisfait pas, il y a fort parier
que celle de Design n'y parviendra pas non plus. En situation d'urgen-
ce, vous pouvez toujours vous rabattre sur Illustrator. Crez vos objets,
copiez-les et collez-les dans Design, oui, a fonctionne ! Et pour une
cohabitation complte entre Illustrator et les logiciels de la gamme
Expression, essayez le plug-in dvelopp par Mike Swanson "Adobe
Illustrator to XAML" http:/ / www.mikeswanson.com / xamlexport/ .
Expression Design ne remplace pas Illustrator mais le complte.
Expression Blend, l'occasion de mettre le nez dans le code...
Si l'on fait rapidement le lien entre Expression Design et Illustrator, le
rapprochement entre Expression Blend et Flash est encore plus vi-
dent. Sans revenir sur l'tendue des fonctionnalits de Blend (ce
n'est pas le but de cet article), sachez qu'on y trouve tout ce qu'il faut
pour crer des applications de A Z et, oui, c'est possible, sans avoir
crire une seule ligne de code. Dans la pratique, ceux qui dsirent
raliser des choses plus complexes se rendront vite compte qu'on ne
peut pas tout faire partir de l'interface graphique de Blend et que,
de temps en temps, on n'aura d'autre choix que de travailler directe-
ment dans le code. Voil pourquoi une bonne connaissance de XAML
se rvlera vite indispensable en conditions relles. Enfin, un des
petits dtails agrables de Blend (qu'on retrouve dans Design) est
l'outil de dgrads de couleurs, vraiment trs pratique.
La collaboration graphistes/ dveloppeurs
dans un projet WPF/ Silverlight
Dans le cas d'un projet consquent, l'quipe "idale" sera constitue
de dveloppeurs d'un ct (sous Visual Studio), de graphistes de
l'autre (sous Blend), et d'un intgrateur. Cet intgrateur sera charg
de faire la passerelle entre les graphistes et les dveloppeurs; il devra
donc possder de solides bases dans les diffrents domaines, avoir
en tte les contraintes de chacun, et saura communiquer avec les uns
et les autres de manire ce que tout le monde puisse se com-
prendre. Trs souvent, cet intgrateur n'existera pas. Dveloppeurs et
graphistes devront donc collaborer troitement et se mettre d'accord
d'emble sur le point sensible, savoir l'intgration de la partie "inter-
face graphique" dans la partie "code" (ou l'inverse).
Et c'est l que les graphistes devront faire preuve de discipline : une
nomination claire des objets sera indispensable. Pour une relation
durable, connaissance de XAML et notions de programmation seront
les bienvenues. Attention, mme sur des projets pas forcment trs
lourds, Blend risque de "quitter inopinment" assez souvent et des
ralentissements sont prvoir...
Pour conclure, l'utilisation de ces logiciels en production, qui n'en
sont qu' leurs dbuts, est tout fait possible, mme si les utilisa-
teurs devront rester indulgents. Pour ma part, je pense que l'enthou-
siasme pour cette nouvelle technologie l'a nettement emport sur les
petits dsagrments causs par ces premires versions.
Antoine Leblonddesigner graphique indpendant
http:/ / www.tichat.com - antoine.leblond@gmail.com
Microsoft Expression Design et Blend en situation relle
18 22/08/2007 17:35 Page 18
EN BREF
Le Tour de France de PC SOFT
Lquipe technique de PC Soft a sillonn la France en dbut dt pour
illustrer les gains de productivit et les avantages techniques de la
version 11 de Windev, Windev Mobile et Webdev.
Plus de 5000 dveloppeurs et responsables informatique ont assist
ces prsentations, selon Virgil Saramito, directeur des ventes, dont
lapothose eut lieu Paris, la Mutualit (avec 1500 personnes),
aprs Montpellier, Lyon, Nantes, Bordeaux, Marseille, Genve,
Bruxelles, Lille et Strasbourg.
" Cest plus de 20%dassistance supplmentaire, par rapport 2006,
sur ce Tour de France technique que nous organisons depuis 3 ans, pr-
cise V. Saramito. Les clients sont friands de code, dastuces, cest une
formation gratuite "
Nouveauts pour certains, rappels pour dautres, les points dvelopps
abordent diffrents thmes. La confrence dbute avec la rpercussion
des modifications, lorsquun champ est rajout ou modifi dans une
base de donnes. Ainsi, une option de plus dans le champ civilit est
propage lensemble de lapplication, Il suffit de synchroniser le pro-
jet et lanalyse pour propager cette modification, ce qui sobtient en cli-
quant sur le menu Projet, autres actions. Lensemble des champs lis
la rubrique civilit est affect par cette modification unique. On ne
risque pas doublier un champ perdu au milieu dun projet gant.
Ce simple exemple donne le ton de la confrence, qui impressionne par
sa simplicit autant que par lefficacit de sa comprhension. Lquipe
de PC SOFT a automatis ce qui peut ltre, minimisant leffort du pro-
grammeur. Plus complexe, lanalyse dimpact prsente les cons-
quences dune modification. Par exemple si un paramtre est supprim,
on verra safficher lensemble des lignes de code o llment bientt
fantme est encore utilis.
On laura compris, ce tour de France poursuivait deux buts au moins.
Dun ct, sduire les prospects qui dsireraient acheter. Et de lautre
convaincre les utilisateurs quil existe une plthore de fonctionnalits
qui nont probablement pas encore t explores.
J acques De Schryver
Actu
EN BREF
19 22/08/2007 17:44 Page 19
EN BREF
Programmez! - N100 SEPTEMBRE 2007 20
Interview
EN BREF
ploitation (pour rpondre la
demande du march) peut compl-
tement changer la donne ;
- des problmes de performances et
de convivialit natifs peuvent se
poser ;
- l'quipe en charge du dveloppe-
ment doit penser en terme de multi-
plate-forme, et non d' une
plate-forme unique.
Ces problmes et la faon dont Qt
permet de les rsoudre sont prsen-
ts dans un sminaire web que
nous mettons disposition sur
notre site (Overcoming the Chal-
lenges of Cross-Platform, Rich-Client
Development).
P. : Quel jugement avez-vous sur le
march mobile et les technologies
mobiles en gnral ?
B.S. : Le march mobile reprsente
un domaine qui est, lui aussi, en
pleine volution et passionnant.
Trolltech peroit trs bien le poten-
tiel du portage des applications
bureautiques sur des appareils
mobiles. Les dveloppeurs Qt peu-
vent facilement matriser Qtopia,
notre plate-forme de dveloppement
logiciel mobile reposant sur Qt, afin
de cibler les appareils mobiles. En
outre, grce aux progrs des techno-
logies mobiles, des applications
innovantes bases sur le web peu-
vent tre mises disposition sur
des tlphones du march de
masse. Le march mobile est un
espace tudier de trs prs, et
Trolltech y est au cur.
Franois Tonic
TrollTech : expert en C++
et maintenant en Java
Trolltech est un diteur bien connu des dveloppeurs C++ qui veulent
construire une interface graphique multi-plate-forme, et la librairie Qt rend
bien des services. Lditeur a rcemment lanc la version J ava,en plus des
dclinaisons Windows,MacOS X,Linux et mobile. Nous avons pos quelques
questions Benoit Schillings (Chief Technology Officer de Trolltech) pour en
savoir plus sur leur vision du march et leur technologie.
Programmez : Quelle est la roadmap
pour les prochains mois ? Quelles
surprises attendre ?
Benoit Schillings :
Le dveloppement
de logiciels reste
un domaine pas-
sionnant. Trolltech
a cr TrollLabs,
qui permet de voir sur quelles nou-
velles technologies nous travaillons.
Certains lments pourront tre
incorpors dans Qt, d'autres devien-
dront de nouveaux produits. D'autres
encore ne seront pas dvelopps
davantage. Par exemple, TrollLabs
contient des informations sur WebKit
Qt, un moteur de navigateur dans Qt
que nous dveloppons. Nous envisa-
geons galement Qt pour la plate-
forme WinCE.
P : Quelles actions allez-vous mener
en France autour des solutions Qt ?
B.S. : Nous avons fait rcemment un
tour de France en proposant des Qt
QuickStarts dans diverses villes. Les
QuickStarts sont des introductions
d'une journe l'utilisation de Qt,
destines aux dveloppeurs qui s'in-
tressent au dveloppement multi-
plate-forme. Elles ont rencontr un
franc succs et nous allons sans
doute en organiser d'autres cette
anne, mais nous n'avons pas encore
arrt de dates.
P : Trolltech a sorti une dition J ava
de la librairie Qt, pourquoi cette
dcision ? Quelles diffrences tech-
niques entre la version C++et la
version J ava ? Quelle version de
J ava faudrait-il, et quels seront les
IDE supports ? N'avez-vous pas
peur des performances de Qt J ava ?
B.S. : Qt J ambi accrot les avantages
du dveloppement multi-plate-forme
pour les dveloppeurs J ava. Des
enqutes externes et nos propres
tudes clients indiquent que les dve-
loppeurs C++souhaitent introduire
J ava dans leur dveloppement et qu'il
existe un vaste march de dvelop-
peurs J ava. De plus, nous demandons
tous les ans nos clients leurs prf-
rences de langage, et J ava est ressorti
comme un choix clair. Il n'existe pas de
diffrences majeures entre les deux
versions, hormis le fait que Qt J ambi
permet le dveloppement J ava dans
Qt. Il supporte galement Eclipse. Avec
Qt J ambi, bon nombre de problmes
de performances lis au seul J ava sont
limins. Nous vous invitons tl-
charger la librairie et le constater par
vous-mme.
P : L' interface des systmes a
considrablement volu depuis
quelques annes. MacOS X fut l'un
des premiers introduire massive-
ment la 3D, les effets, une nouvelle
gnration d'interface (ainsi que
les librairies Quartz et le Core
Image), Vista fait la mme chose et
GNU Linux aussi. Que pensez-vous
de cela ? Quels dfis pour le dve-
loppeur ?
B.S. : Comme vous le soulignez, le
dveloppement a considrablement
volu. Il est ncessaire de parvenir
un dveloppement efficace entre
les diverses plates-formes. Les
dveloppeurs sont chargs d'intro-
duire ces nouveaux lments d'inter-
face utilisateur efficacement entre
de multiples plates-formes. C'est l
que Qt entre en jeu. Qt peut aider les
entreprises commercialiser leurs
produits plus rapidement en se char-
geant du code sous-jacent, ce qui
permet aux dveloppeurs de l'entre-
prise de se concentrer sur leur
valeur fondamentale. En outre,
comme Qt est multi-plate-forme, les
entreprises peuvent cibler aisment
diffrentes plates-formes.
P. : Quels sont les points communs
et les diffrences quand on dve-
loppe sur Windows, Linux et
MacOS X avec Qt ? Quels piges
faut-il viter ?
B.S. : Les quipes de dveloppe-
ment logiciel sont souvent confron-
tes un compromis difficile : les
performances ou la portabilit. Le
dveloppement d' applications
clientes riches et multi-plates-
formes peut tre un processus co-
teux et long, utilisant des structures
propritaires distinctes pour chaque
plate-forme cible. Parmi les dfis
types, on trouve :
- des problmes de taille et de com-
plexit, par exemple ;
- de nouveaux impratifs fonction-
nels imposent des amliorations en
parallle dans tous les ports ;
- diffrents systmes d'exploitation
voluent hors synchronisation ;
- l'ajout d'un nouveau systme d'ex-
NOUVEAU : donnez votre avis sur ce numro www.programmez.com
20 22/08/2007 17:37 Page 20
EN BREF
Webcasts exclusifs les 9 et 16 octobre 2007
Optimisez le dveloppement et simplifiez ladministration
de vos bases de donnes multi plateformes
SGBD
EN BREF
Lors de ces webcasts,
vous dcouvrirez les meilleures mthodes pour
simplifier la gestion quotidienne
de vos bases de donnes et
diagnostiquer rapidement
les sources de dgradation
des performances.
Assistez ces webcasts :
http://www.quest.com/fr/
Oracle 11g disponible !
En pr-version depuis plusieurs mois, cest mi-juillet que lditeur Oracle a
lanc officiellement (et au niveau mondial) la version 11g de sa base de
donnes. Oracle met en avant plusieurs fonctions : la qualit de service, la
scurit des donnes, la haute disponibilit 24 / 7, la monte en charge et
la mise en place " bas cot " des grilles informatiques. Lditeur prcise
que 400 fonctions ont t modifies, amliores ou introduites dans cette
11g. Lun des dfis fut de proposer aux entreprises une qualit de service
optimale dans la haute disponibilit et les grilles informatiques. Lditeur a
continu son travail sur la configuration, linstallation et ladministration,
afin de simplifier le travail des DBA et administrateurs. Lauto-configuration
et les automatismes devraient aider les responsables au quotidien (lauto-
configuration tant une tendance forte dans les environnements de don-
nes). Pour la gestion du changement, Oracle 11g introduit Oracle Real
Application Testing, pour aider les clients tester et grer le changement
dans leur environnement de production. Ct scurit des donnes, la repri-
se dactivit aprs un crash est un autre point important de cette 11g avec
un mcanisme de partionnement et de compression des donnes. En point
de mire, en plus de la reprise dactivit, le cycle de vie des donnes, une
autre tendance forte du march. La compression a bnfici dune atten-
tion particulire car cela permet de minimiser la place physique mais aussi
doptimiser le stockage ou encore la transmission des donnes. cela se
rajoute une refonte des larges objets (LOB) pour accueillir plus facilement
des donnes de diffrents types et plus volumineuses. Le XML nest pas
oubli avec le support natif et la possibilit de stocker des donnes XML
dans la base. Dautre part, Oracle lance aussi des sessions dentranement
Oracle 11g dans son universit maison. Ct dveloppement, Oracle met
niveau les outils de dveloppement pour tirer parti des nouveauts dOracle
11g (Oracle Application Express). Lenvironnement embarque un nouveau
compilateur J ava J IT, une intgration native avec Visual Studio 2005, la pr-
sence dun outil de migration dAccess Oracle ou encore un codage en
SQL et PL/ SQL amlior. Pour la version express rien nest encore annonc,
mais 11g sera sans aucun doute disponible en version express. La version
Linux a t dvoile mi-aot. Dautre part, lditeur en a profit pour toffer
son offre Entreprise Edition de la base de donnes qui comprend dsormais
les lments suivants : Real Application Testing, Advanced Compression,
Total Recall et Active Data Guard. Loutil Compression doit compresser les
donnes avec un ratio de 2 3. Total Recall permet de faciliter ladministra-
tion des archives et de mieux grer lhistorique et les changements de don-
nes.
Firebird 2.1 arrive bientt
La nouvelle version du SGBD open source, Firebird, la 2.1, est actuellement
en dveloppement. La bta est disponible depuis plusieurs semaines. Cette
version apporte une nouvelle implmentation des triggers, la possibilit de
crer des requtes rcursives dynamiques, des amliorations dans le langa-
ge SQL et sur le support dUnicode. Ct plate-forme, lenvironnement fonc-
tionne pleinement sur 32 et 64 (dont Windows 64). La partie sur linterface
distante a t largement amliore et on peut aussi faire du mirroring de
base via SQL. Actuellement, la version stabilise est la 2.0.1.
21 SOFTWARE 22/08/2007 17:37 Page 21
EN BREF
Programmez! - N100 SEPTEMBRE 2007 22
Perforce, systme de gestion de configuration logicielle, est disponible
sur de nombreuses plate-formes, si vous souhaitez tester Perforce sur
une plate-forme diffrente de Windows, consultez le lien suivant :
http:/ / www.perforce.com/ perforce/ demo/ testdrive.html
La version du serveur incluse sur le CD comporte toutes les fonctionna-
lits offertes par Perforce mais est limite deux utilisateurs et cinq
espaces de travail.
Installation de Perforce dans un environnement Windows
Linstallation du ser-
veur Perforce seffec-
tue par lexcution du
programme dinstalla-
tion " perforce.exe ". A
partir de lcran des
configurations Perfor-
ce, choisissez loption
" Perforce Administra-
tor Install (Typical) ",
puis continuez avec les crans suivants en conservant les paramtres
par dfaut. Si vous avez des privilges d'administrateur Windows, un
service Perforce sera cr pour vous avec un dmarrage automatique
du service. Si vous n'avez pas de privilges d'administrateur, vous
devrez dmarrer le serveur Perforce manuellement en excutant la com-
mande " p4d.exe " partir dune fentre de ligne de commandes.
Linstallation du client visuel Perforce P4V seffectue par lexcution du
programme dinstallation " p4vinst.exe ". Parcourez les diffrents
crans dinstallation en conservant les paramtres par dfauts.
Premiers pas avec Perforce
Pour utiliser Perforce pour la premire fois suivez ces tapes :
1. Excutez P4V partir du menu Perforce
2. A partir de la fentre des connexions cliquez le bouton " New " du
champ " Open Workspace "
3. Donnez un nom votre espace de travail et cliquez le bouton " OK "
4. Entrez " c:\ p4clients\ mon_espace " dans le champ " Root " et
cliquez le bouton " Save "
5. Cliquez le bouton " OK " de la fentre des connexions
Les tapes suivantes vous permettent dajouter vos premiers fichiers
dans le dpt Perforce :
1. A partir de l'explorateur de fichiers Windows, crez une arbores-
cences tests incluant des sous dossiers et fichiers sous le dossier
" c:\ p4clients\ myws " ( crer)
2. A partir de P4V, slectionnez longlet " Workspace " (en bas
gauche) et appuyez sur la touche F5 pour rafrachir larborescence de
votre espace de travail
3. Slectionnez larborescence cre au pralable et avec le bouton
droit de la souris cliquez " Mark for Add "
4. Cliquez le triangle rouge de la barre doutils (Ctrl+1) afin de visualiser
votre premier " changelist "
5. A partir de cet cran (" Pending changelists "), slectionnez "default"
et avec le bouton droit de la souris cliquez " Submit "
6. Entrez une description pour votre " changelist " et cliquez le bouton
" Submit "
Les tapes suivantes vous permettent de crer de nouvelles rvisions
pour les fichiers dans le dpt Perforce :
1. A partir de larborescence de votre espace de travail, slectionnez un fichier
2. Double cliquez le fichier afin de modifier son contenu partir de ldi-
teur dfini par dfaut pour lextension du fichier
3. Slectionnez le fichier et avec le bouton droit de la souris, cliquez la
commande " Submit "
4. Entrez une description pour votre nouveau " changelist " et cliquez le
bouton " Submit "
Allez plus loin avec Perforce
Ceci nest quun rapide aperu de ce que vous pouvez faire avec Perforce.
Perforce offre bien dautres fonctionnalits avances comme le Revi-
sion Graph et le Time Lapse View.
Un ensemble de vidos dmontrant les fonctionnalits les plus
attrayantes de Perforce sont accessibles partir de http:/ / www.perfor-
ce.com/ perforce/ demo/ testdrive.html
En cas de problme
Comme vous avez pu le constater, Perforce est trs facile installer et
utiliser. Dans lventualit dun problme dinstallation ou pour toute
autre question au sujet de Perforce, nhsitez pas contacter le sup-
port technique de Perforce (support@perforce.com) rput pour son
dynamisme et son efficacit.
Actu
EN BREF
Installation et dmarrage de Perforce
Un systme rapide de gestion de configuration logicielle
Sur le
CD ROM
22-Perforce 1p 22/08/2007 17:46 Page 22
Communiqu
MDD - Model Driven Development
Lexpertise C#pilote par le modle UML
C
omment tirer parti au mieux de la mod-
lisation UML des fins de production
automatise dun code de qualit,
maintenu en cohrence avec le modle ?
Lapproche MDA qui consiste exploiter le
modle par des mcanismes de transforma-
tion rpond prcisment cette problmatique
en assurant galement la traabilit entre le
code gnr et les modles. Avec Objecteering
6, Objecteering Software met disposition des
dveloppeurs C# une nouvelle gnration d'ou-
tils de dveloppement guid par le modle, en
s'appuyant sur les dernires avances de
MDA de UML2.1 et de C#.
Un haut niveau de services de guidage
et dautomatisation ddis C#
Objecteering 6 guide et automatise le dvelop-
pement C# en apportant la puissance de UML
et MDA la plate-forme Visual Studio .Net, de
Microsoft. Il apporte :
Une production automatise du code C#,
toujours cohrente avec le modle,
Le support de patterns de conception pour
plus de productivit,
Une production de documentation .Net auto-
matique, pour une aide en ligne HTML,
MSDN ou Visual Studio.
Un support complet de C# 2.0 partir de UML2
Une gnration automatise de la chane de
production (Makefile) partir du modle
Un support ddi du travail en quipe, avec
des " composants de modles " assurant la
diffusion de par ties applicatives C#/UML
vers dautres quipes.
Un reverse engineering C# (source et .net assem-
bly) pour reprendre les applications existantes
Un paramtrage puissant et ais, laide du
gnrateur, permettant dadapter la gnra-
tion de code C# son contexte avec la tech-
nologie MDA.
La richesse de UML2 traduite en C#
Objecteering 6 exploite au mieux les nouvelles
capacits du standard UML 2.1. Les templates
UML2 permettent ainsi efficacement de mod-
liser et gnrer les generics C#. La gestion des
rfrences d assemblies, couple un service
de contrle de cohrence sur leur bonne utilisa-
tion permet de grer finement les modes dim-
port C# avec leurs diverses options d'emploi.
Les associations sont pleinement exploites,
pour dduire les librairies de container appro-
pries. Les attributes sont supportes partir
du modle. Une assistance experte C# appor-
te un gain de qualit et de productivit au
niveau du modle. Par exemple, des rgles de
nommage par dfaut sont suppor tes et la
gestion des event, delegate, property, indexer
et C# container est intgre loutil.
Une gestion de cohrence
modle/code permanente
Avec Objecteering 6, le modle est le code : le
dveloppeur complte le modle UML par lal-
gorithmique des mthodes, tout en tant guid
dans loutil. La modlisation est intgralement
exploite, lutilisateur nayant jamais refor-
muler le modle en C#. Les complments de
code sont attachs aux lments du modle,
stocks dans le rfrentiel. A chaque instant
la cohrence du modle UML et du code C#
est garantie. Le dveloppeur peut ainsi diter
son application au niveau modle sous Objec-
teering ou au niveau code sous Visual Studio:
quand le modle est modifi, Objecteering re-
gnre le code de faon incrmentale et quand
le code est modifi, il assure la mise jour du
modle via son rfrentiel.
Une ergonomie ddie au
programmeur C#
Au sein du modle UML, le dveloppeur bnfi-
cie dune interface utilisateur spcifique C# : il
retrouve les notions C# (iterator, override, sea-
Objecteering Software, diteur de latelier
Objecteering 6, est le spcialiste franais
UML/MDA pour le dveloppement dapplica-
tions guid par le modle.
Sa suite doutils couvre le cycle de vie de la ges-
tion des exigences jusquau dploiement de
lapplication pour les cibles Java/J2ee, C#.Net,
C++, SQL, Corba et Fortran.
Pour plus dinformations :
www.objecteering.com
info@objecteering.com
Tl. : 01 30 12 16 60
Objecteering 6 optimise MDA et UML2 pour gnrer un code C# dun haut niveau
dexpertise : il maximise la productivit et la qualit des dveloppements C#.
led, etc.), dispose de boites de saisie ddie,
et de diagrammes UML spcifiques. Il dispose
de services ddis C# (Ndoc, patterns, etc.)
pour rendre son modle encore plus productif.
Les gains MDA au-del du code
Ar chi tectur depui s l ori gi ne pour une
approche MDA optimise, Objecteering per-
met de combiner les avantages du modle,
son indpendance des plateformes cibles et la
productivit en programmation. Son support
multi-langages permet de raliser des dvelop-
pements combinant C#, C++, Java, SQL, etc.
Le support intgr de lanalyse des besoins et du
dictionnaire permet dassurer une traabilit
maintenue depuis les exigences jusquau code
dans un mme environnement.
Objecteering 6 : Diagramme de classes, assistant C# et code gnr.
22-Perforce 1p 22/08/2007 17:46 Page 23
Dossier
Dveloppeur :
un mtier davenir !
tions, bref tre une source dinitiatives,
une force de proposition.
Veille technologique
Pour voluer et rester la pointe, le dve-
loppeur doit surtout avoir un esprit ouvert,
regarder ce qui se passe en dehors de son
domaine. Etre sectaire nest pas un avan-
tage. La veille technologique reste un tra-
vail indispensable, ainsi que la formation
ou lauto formation. Mais la SSII ou lentre-
prise doit aussi comprendre que pour main-
tenir des dveloppeurs leur meilleur
niveau, il faut investir et non pas attendre
quils fassent eux-mmes la dmarche. La
valorisation du mtier constitue un immen-
se dfi en France (mais pas seulement). Si
notre pays veut continuer peser sur le
march technologique, il nous faut des
dveloppeurs haut de gamme, bien forms
et comptents. Si la tendance pour les
entreprises est de dgrossir le service
informatique, le risque est de perdre,
terme, des comptences et une matrise
technique concurrentielle au sein de la
socit. La logique purement financire a
ses limites
Dans ce grand dossier spcial, nous allons
vous montrer que le mtier a volu mais
quil demeure dynamique.
Franois Tonic
Le mtier continue dvoluer, de muter. On
aura toujours besoin de dveloppeurs purs
et durs, mme si cette demande se rdui-
ra, hormis dans des secteurs trs prcis
comme lembarqu, le mobile qui ncessi-
tent de fortes comptences techniques. Le
niveau technique du dveloppeur constitue
un lment important. Si en plus, notre
dveloppeur matrise plusieurs langages et
un large ventail de technologies, il devient
alors un dveloppeur polyvalent plus quin-
tressant. Le dveloppeur mono langage
est bel et bien mort, mme dans le web.
Parler de double comptence nest pas une
nouveaut. Aujourdhui, un dveloppeur
travaille de moins en moins tout seul, il
doit possder un esprit collaboratif pour
communiquer avec lquipe, son environne-
ment. Il doit aussi pouvoir possder des
comptences architecturales et mtiers
pour comprendre le projet globalement et
non plus dans son petit coin. Mais au-del
de cela, le dveloppeur doit aussi tre
capable dapporter des ides, des solu-
Fini pour les uns, plein davenir pour les autres, le dveloppeur demeure un objet codant non iden-
tifi. Il y a quelques annes,on prdisait la mort du dveloppeur. Force est de constater que cela na
pas t le cas, et cest tant mieux.
24-33 mtier3 22/08/2007 17:47 Page 24
Programmez! - N100 SEPTEMBRE 2007 25
96
%
des dveloppeurs
aiment leur profession
Selon le Syntec Informatique, la quasi-totalit des dveloppeursa une perception trs positivede
son mtier. Explications.
L
e Syntec Informatique a prsent le
bilan 2006 et les perspectives 2007
dans les logiciels et services (L&S) : ce
domaine, en forte croissance, se porte bien.
Le Syntec a galement dress la " cartogra-
phie " du mtier de dveloppeur informa-
tique : 87%dhommes, 33 ans de moyenne
dge. Autre caractristique : cest une popu-
lation trs qualifie, dont la moiti est titulai-
re dun Bac+5. Mieux : 70%des dveloppeurs
sont de niveau Bac+4 ou Bac+5, un tiers pos-
sde un Bac+2 et 12%seulement le Bac.
Moins de turn-over chez les dvelop-
peurs que chez les autres informaticiens
En outre, les dveloppeurs sont relativement
fidles" leur employeur, puisque ltude
indique quils ont 5 ans danciennet en moyen-
ne dans lentreprise et peuvent prtendre une
volution partir de 3 ans et demi dexprien-
ce, en moyenne. Une diffrence par rapport
aux autres informaticiens. Selon une tude de
lObservatoire Social du Syntec Informatique,
tous mtiers confondus, prs dun tiers des
salaris a moins de deux ans danciennet
dans ltablissement o il travaille. Comment
expliquer ce turn-over relativement faible chez
les dveloppeurs ? Selon le Syntec Informa-
tique, dabord par " une perception trs positive
du mtier ". En effet, 96%dentre eux appr-
cient lintrt du dveloppement. Ils y trouvent
un "intrt intellectuel stimulant" et dfinissent
ce mtier comme" en volution permanente.
" Entre 15%et 36%dentre eux estiment quils
peuvent voluer au sein de leur entreprise, ce
qui signifie quils y trouvent de bonnes condi-
tions de travail (rmunration, travail au quoti-
dien) et un intrt professionnel suffisamment
attractif (perspectives de carrire, formations)
pour ne pas rejoindre dautres structures (deux
tiers dentre elles soulignent leurs difficults
recruter des " informaticiens ").
Un mtier en pleine mutation
et protiforme
Lorsquils dfinissent leur mtier, les dvelop-
peurs soulignent quil est en pleine mutation et
quil va exiger des niveaux de comptences et
dabstraction de plus en plus levs, une grande
polyvalence et la capacit travailler en rseau
ainsi que des qualits humaines et relation-
nelles. Dernier point : ltude montre que le dve-
loppement ncessite " de se rapprocher dautres
mtiers : concepteurs, architectes, intgrateurs
dapplication et de systmes " et conclut quil y
aura " de moins en moins de purs dveloppeurs."
Est-ce dire que le dveloppement est en voie de
disparition, alors que ceux qui le pratiquent sem-
blent heureux de le faire ? Ou alors que les dve-
loppeurs ne vont pas abandonner cette part de
leur mtier quils aiment mais quils vont enrichir
leurs comptences ? Ou encore que dautres
mtiers vont intgrer une part plus importante de
dveloppement quaujourdhui et quils seront
obligs dintgrer ou daugmenter cette fonction
dans leurs formations ? Quoi quil en soit, une
certitude : si leur mtier nest pas menac, les
dveloppeurs devront toutefois montrer court
terme une importante capacit dadaptation.
Claire Padych
Portrait du dveloppeur
Le Syntec a dress la " cartographie " du
mtier de dveloppeur informatique :
Masculin : 87%dhommes
Trentenaire : 33 ans de moyenne dge.
Diplm : 70%des dveloppeurs sont de
niveau Bac+4 ou Bac+5. Un tiers possde
un Bac+2 et 12%seulement le Bac.
Entre6% et 8% decroissance
prvuedans les L&S cetteanne
Selon le Syntec Informatique, dans un
contexte de croissance peu dynamique
puisque le PIB de la France tait de 2%en
2006 et pourrait tre aussi moyen en
2007, le secteur L&S tire son pingle du
jeu avec une croissance de 6,5%lan der-
nier. Elle pourrait tre sur des bases simi-
laires, de 6% 8%cette anne.
Un besoin de36 000 ingnieurs
et cadres informatiqueen 2007
Selon la mme tude 40 000 50 000 infor-
maticiens ont t recruts lan dernier (dont
10 000 15 000 crations nettes dem-
plois). En 2007, les deux tiers de profils
recherchs concernent la ralisation, le
conseil et le dveloppement et un tiers le
marketing, la vente et ladministration.
Lenqute BMO 2007 de lUndic/ Crdoc
indique de son ct que 36 325 ingnieurs et
cadres de l'informatique (sauf technico-com-
merciaux) pourraient tre recruts en 2007.
Les mtiers des diteurs : 3 200
entreprises, 73 000 personnes
Malgr 10 000 crations demplois prvues
en deux ou trois ans, le march de lemploi
reste tendu sur le secteur des consultants
fonctionnels et techniques, dveloppeurs,
commerciaux. Un nouveau mtier fait son
apparition : " responsable de loffre ".
Source : Opiiec, IDC, Syntec Informatique
24-33 mtier3 22/08/2007 17:48 Page 25
Programmez! - N100 SEPTEMBRE 2007 26
Dossier
PROGRAMMATION LINUX
Au cur du code :
les mtiersdu dveloppement
Le dveloppement mne tout condition daccepter de coder ! Cette maxime rpte sur tous
les tons par les recruteurs et les spcialistes souligne la ncessit denvisager plusieurs mtiers
mais aussi de rester lafft la fois des formations qui se multiplient et de faire de la veille sur les
technologies les plus en vue.
I
l y a ceux qui envisagent le dveloppement
comme une symphonie. Comme
Dominique Duflo, DRH de Sogeti France :
" un dveloppeur doit apprendre coder mais
sa valeur ajoute est la cration. Cest un
mtier dart. Il doit tre la fois capable de
rsoudre un problme fonctionnel et penser
la " maintenabilit " afin quune autre per-
sonne puisse poursuivre le projet. " Ou
comme J rme Renard, consultant chez EZ
Systems (dition de logiciel, gestion de conte-
nu en Open Source) : "Le code est indispen-
sable dans nos mtiers, mme pour un archi-
tecte. On entre dans le code, dans le cur du
code, en se demandant,
si lon ajoute telle ou telle
ligne, ce qui va se pas-
ser." Et Marc Boiteux,
dveloppeur expriment
chez Effisoft denchrir :
" Le code est trs impor-
tant dans nos mtiers. Il faut faire beaucoup
de dveloppement pour acqurir un niveau
intressant. Selon moi, il faut au moins coder
pendant 5 ans pour pouvoir se prsenter
comme dveloppeur ! Mais dvelopper nest
pas seulement coder. Il faut aussi accepter et
comprendre un cahier des charges, raliser
des tests techniques, faire de la recette, tre
capable de se synchroniser avec les autres
membres de lquipe. Faire un mtier dans le
dveloppement, cest la capacit de raliser
un produit compliqu et difficile. " Un aspect
soulign par Cyril Pierre de Geyer, architecte
technique et la tte dAnaska (formations
en Open Source) : " Le code est gratifiant si
lon considre que le dveloppeur est le cra-
teur ! Il faut penser intelligence dapplication
et ensuite, les mtiers dcoulent de cette
base. " Une ide partage par Olivier
Monreal, DG de Bewoopi, entreprise spciali-
se dans les technologies mobiles. " Le plus
important dans un recrutement est de dce-
ler la capacit de crer chez les dvelop-
peurs. Nous consacrons entre 10%et 15%de
notre CA en recherche pure, il faut des per-
sonnes motives qui soient galement sen-
sibles lergonomie. "
Marc Alcantara, directeur
stratgie et dveloppe-
ment chez Preceptel (start-
up de 4 ans, labellise
" entreprise innovante " et
spcialise dans les
licences oprateurs tl-
coms) nest dailleurs pas loin de penser que
cest le ct artistique de ses quipes qui a
permis la naissance de Padeo, le dernier pro-
duit n " de limagination des quipes ! Au
dpart, nous tions parti sur de la VOIP sur
ligne fixe. Et finalement, notre produit se dcli-
ne aux antipodes de lide de dpart, sur du
mobile. Grce plusieurs types dintelligence
et la projection sur serveur et sur mobile de
ce que nous voulions faire sans savoir si nous
le pouvions, les verrous technologiques ont
saut ! "
Homme de 33 ans,
francilien et Bac+5
Et il y a ceux qui essaient de dterminer un
portrait-robot du dveloppeur. LOpiiec (Obser-
vatoire des mtiers de la Branche) sest lanc
dans une tude magistrale " Les dveloppeurs
informatiques, enseignements et perspec-
tives" (novembre 2006/ janvier 2007) pour
tenter de percer le mystre du dveloppeur.
Rsultat : ltude estime la population des
dveloppeurs informatique 78 119 per-
sonnes ; dans 66%des cas, les dveloppeurs
travaillent au forfait. 61%des projets durent
de 2 6 mois et 38%des dveloppeurs ont eu
des formations au cours des trois dernires
annes, notamment techniques (30%).
Autres indications : 48%des dveloppeurs tra-
vaillent dans les grosses socits, tandis que
les plus petites structures (moins de 20 sala-
ris) reprsentent les deux tiers du secteur et
emploient un quart de dveloppeurs. Ils sont
56% travailler en Ile de France. Lensemble
de cette population travaille en majorit pour
les secteurs industrie (40%), banque (29%),
commerce et distribution (26%), medias tl-
coms (26%), assurances (20%).
LOpiiec note encore quune large majorit des
dveloppeurs est compose dhommes (87%)
avec une moyenne dge de 33 ans, mais que
Les activits
des dveloppeurs
Activits exerces Part des dveloppeurs
habituellement par qui les exerce
les dveloppeurs
dvelopper le programme dans le langage retenu 91%
participer l'analyse fonctionnelle
partir des besoins des utilisateurs 89%
participer l'analyse dtaille
(rdaction des spcifications techniques) 89%
vrifier laconformit du dveloppement avec le CDC 87%
concevoir l'architecture logicielle 84%
dfinir les procdures de test 83%
raliser les tests unitaires,identifier,
traiter les dysfonctionnements ventuels 83%
intgrer l'application dans le systme 82%
grer lamaintenance volutive 80%
raliser les tests d'intgration 79%
participer lamise en production et/ou l'industrialisation 78%
paramtrer les progiciels retenus pour l'architecture 77%
grer les configurations 77%
grer lamaintenance corrective 76%
suivre le planning 75%
participer/animer les runions techniques d'avancement 75%
raliser ladocumentation technique 68%
analyser et grer les risques lis au dveloppement 67%
raliser ladocumentation utilisateurs 64%
assurer une veille technologique 62%
former les utilisateurs 62%
encadrer une quipe 61%
rdiger un bilan de dveloppement 57%
suivre les cots 55%
rdiger le plan qualit 47%
Source : Opiiec " Les dveloppeurs informatiques,
enseignements et perspectives " (janvier 2007)
24-33 mtier3 22/08/2007 17:48 Page 26
Tlchargez sans conditions une copie gratuite de Perforce
sur www.perforce.com. Vous bnficiez dune assistance
technique gratuite pendant votre priode dvaluation.
Le module d'extension de Perforce pour Eclipse permet aux dveloppeurs
d'accder facilement au systme de GCL Perforce depuis leur interface IDE
Eclipse. Il propose les fonctionnalits suivantes :
Accs rapide l'historique complet des fichiers
Prise en charge complte du dveloppement collaboratif, avec possibilit
de fusionner les fichiers
Possibilit de travailler hors ligne lorsque la connexion avec le serveur
Perforce est indisponible
Outil de comparaison des fichiers et prise en charge du suivi des
dfauts intgrs
Prise en charge de la fonction de refactoring de l'environnement Eclipse
Le module d'extension de Perforce pour Eclipse prend en charge les
systmes d'exploitation Windows et Linux. Et ce n'est que l'un des
nombreux outils intgrs dans le systme de GCL Perforce.
Perforce Le systme rapide de gestion de configuration logicielle
Prsentation du module
d'extension de Perforce
pour Eclipse
Pour travailler avec Perforce dans une
interface IDE Eclipse.
Toutes les marques commerciales, dposes ou non, appartiennent leurs propritaires respectifs.
Module d'extension de Perforce pour Eclipse
24-33 mtier3 22/08/2007 17:49 Page 27
Programmez! - N100 SEPTEMBRE 2007 28
Dossier
PROGRAMMATION LINUX
Dnomination exacte des postes dans le dveloppement
60%dentre eux sont plus jeunes (entre 25 et
34 ans) et 50%sont au moins titulaires dun
Bac+5. Enfin, lOpiiec estime que 52%des
dveloppeurs seraient en SSII et 40%chez les
diteurs.
Les voies du dveloppement
convergent toutes vers le travail
collaboratif
Le rapport de lOpiiec indique : " le mtier de
dveloppeur informatique est en mutation. "
Une vidence aujourdhui. Car il nexiste pas
une mais de multiples voies, chappant par-
fois aux tudes. Pour Dominique Duflo, DRH
de Sogeti France, elles sont de trois ordres :
" les applications de gestion ; les applications
techniques ou scientifiques (par exemple le
logiciel embarqu) et les applications commu-
nicantes de type Web. Il existe donc plusieurs
filires professionnelles et des mtiers radica-
lement diffrents. Cest pourquoi je pense
quil ny a pas un mtier ou une voie unique
possible pour un dveloppeur mais plusieurs
et cest une richesse ! "
Elodie, IED chez Twinsoft (dition de logiciels
tlcoms pour le e-businees) a obtenu son
diplme en juillet 2006 et elle en est aujour-
dhui ce stade de rflexion sur les opportuni-
ts qui soffrent elle. " J e suis dans un
environnement o je peux dcouvrir tous les
mtiers, commencer par dvelopper le produit
pour aller la relation client. Mais si la sortie
de lcole javais une vision binaire avec les
architectes qui dterminent les spcificits et
les dveloppeurs qui les appliquent, jai vo-
lu : je suis maintenant convaincue quil faut
raisonner dune manire globale. Cest--dire
que dans tous ces mtiers du dveloppement,
mme pour quelquun qui se dirige davantage
vers laspect commercial ou endosse lhabit
de chef de projet, laspect technique doit abso-
lument rester ! "
Lautre leitmotiv qui revient dans toutes les
bouches est la double notion de " travail colla-
boratif " et " dquipe ", quelle que soit la fonc-
tion occupe. Ainsi, J rme Renard souligne :
" J aime la notion " dobjectifs ngocis " chez
Effisoft ! Par exemple si lon doit sortir un tat
en 15 jours, on peut sappuyer sur une quipe
avec des " rfrents ". Lun est charg de la
documentation, lautre de la traduction, le troi-
sime va soccuper des problmes tech-
niques Cette organisation permet une
rpartition des tches avec un objectif com-
mun. Cest toute la diffrence avec une SSII o
lon se retrouve seul face une situation, chez
un client et loin de sa socit ! Cest aussi tout
lintrt de rester dans une socit dans laquel-
le on se sent bien et avec laquelle on volue, en
multipliant les expriences de dveloppement
qui aiguisent lintrt et permettent dacqurir
des comptences rutilisables dans diffrentes
situations. " Mme proccupation pour Roland
Benedetti, managing director Europe du Sud
chez EZ Systems qui recherche des profils mul-
tiples " des jeunes et des moins jeunes respon-
sables mais capables de simpliquer en PHP ou
en gestion de contenu. Ce qui compte, cest
lexcellence, la comptence, et dtre capable
de travailler pour un but commun, " insiste-t-il.
Aline Corve, chef de projet chez SQLI estime
quant elle que " ce qui pche parfois dans
une quipe, cest la volont daller au-del de
ce qui figure dans le cahier des charges. Le rle
du chef de projet est de rpondre ce cahier
Source : Les dveloppeurs informatiques, enseignements et perspectives, Opiiec (novembre 2006/ janvier 2007)
Le DIF, vecteur de comptitivit
individuel et collectif
" Le DIF (droit individuel de formation) est un facteur de comptitivit
pour les dpartements IT des PME, " martle Hubert Barkate dAdhara.
" Aprs des dbuts plutt frileux, le DIF commence se faire connatre
chez les salaris et se mettre en place dans les entreprises.
Cependant, un cart important sest creus entre les grandes entreprises et les PME. Et
pourtant le DIF, de par sa dure et sa structure, se positionne comme un vecteur de pro-
ductivit trs important car proche des proccupations oprationnelles des entreprises. Ce
constat est dautant plus fort pour les quipes informatiques des PME souvent lorigine
de la valeur ajoute cre par lentreprise. Pour les salaris, cest la possibilit, chaque
anne, dacqurir de nouvelles comptences avec pour objectif damliorer leur employabi-
lit et leurs comptences techniques. Cette caractristique fondamentale est un atout pour
les entreprises qui souhaitent investir sur " lavenir " et fidliser leurs collaborateurs. Cette
notion sapplique particulirement aux PME gravitant dans le secteur des technologies pour
qui la fidlisation de leurs collaborateurs est un enjeu de comptitivit majeur. "
24-33 mtier3 22/08/2007 17:57 Page 28
Programmez! - N100 SEPTEMBRE 2007 29
PROGRAMMATION LINUX
Langages informatique Mthodes de conception
des charges et de remettre parfois de lordre
lorsque des dveloppeurs trop passionns sou-
haitent aller plus loin. Le respect du contrat est
notre priorit, il nest pas utile de rajouter des
lments qui nont pas t prvus lors de la
conception du projet. "
Les technologies en vue et celles
qui tendent disparatre
Mme si nombre dtudiants en cole dinfor-
matique rvent de devenir chef de projet et
que les chiffres montrent que cette voie est
particulirement emprunte par les dvelop-
peurs, il existe dautres possibilits. " LICD
peut voluer vers le conseil et larchitecture
technique. Etre " chef de projet " fait partie
dune volution naturelle, mais il ne faudrait
pas limiter la carrire de dveloppeur ce seul
objectif ", prcise Alexandra Lecordier, respon-
sable RH chez SQLI.
Hubert Barkate, prsident du groupe Adhara,
spcialis dans les formations avec 49
centres rpartis sur lensemble du territoire,
milite pour que les dveloppeurs de tous
niveaux se forment. Selon lui, les technologies
voluent sans cesse. " Les formations qui
sont les plus demandes sont : PHP ; J ava ;
.Net ; Web 2.0 Ajax; SQL Server 2005 Busi-
ness Intelligence. Et les moins demandes
sont le langage C, mais aussi lAS 400 ; Cobol;
Zope ; Perl ; VB script. Python est galement
moins recherch, mais je pense que cest tem-
poraire. Enfin, avec la sortie de la nouvelle ver-
sion Adobe CS3, la technologie Flex/ AIR, trs
prometteuse, sera probablement le produit
phare de la rentre. Quant Itil, on constate
qu'il y a assez peu de projets qui mergent
malgr une campagne de communication
importante depuis quelques mois ! "
Cette analyse est prcise par ltude " Dve-
loppeurs " de lOpiiec : 71%des dveloppeurs
travaillent sous Windows (contre 27%sous
Linux). UML, Merise et Oracle sont les trois
mthodes de conception les plus utilises (
respectivement 26%, 20%et 15%) et dans le
domaine des bases de donnes, les dvelop-
peurs citent Oracle (33%), SQL Server (28%) et
MYSL (27%). Pour ce qui est des tests enfin,
65%utilisent des " outils internes- tests
manuels " et ils sont tout de mme 26%
avouer " ne pas raliser de test ! "
Pourtant, les entreprises qui se spcialisent
sur diffrents secteurs dactivits ne recher-
chent pas toutes les mmes profils de dve-
loppeurs. " Les petites structures sorientent
vers PHP, MYSQL ou des langages Microsoft
tels que ASP.Net. Les grands groupes sont
davantage sur J ava et .Net, mais on constate
que J ava rsiste trs bien
la pousse de .Net ",
confie Stphane Rethore,
responsable de loffre IB
au sein du groupe Cegos.
" Larrive de Visual Stu-
dio 2005 a contribu un
nouvel engouement ", poursuit-il. " Toutes nos
formations se droulent en 5 jours environ, les
dveloppeurs peuvent bien sr changer de
niveau chaque volution de carrire. Les
dveloppeurs qui se forment ont tous les ges
et si lon peut parler dune tendance, cest
celle de C++vers J ava ", indique-t-il encore
avant de conclure : " les formations en Web
ont la cote. Nous avons davantage de sta-
giaires dans ce domaine que dans le client
riche. Ensuite, tout dpend de ce que
recherche lentreprise : du script en PHP qui
peut tre utilis de manire simple, ou qui se
complexifie en objet. Mais globalement, nous
voyons que les dveloppeurs voluent tout au
long de leur carrire professionnelle et com-
mencent parfois avec une formation simple
qui se renforce quelques mois aprs. Dans ce
mtier, lapprentissage est continu et je pense
que cest lune des motivations les plus impor-
tantes, commune des dveloppeurs de
niveaux diffrents. "
Lavis des entreprises sur les
qualits indispensables dans les
mtiers du dveloppement
" Il y a quelques annes encore, les recruteurs
ne recherchaient pas massivement des jeunes
diplms car ils devaient, dans un deuxime
temps, les former. Mais aujourdhui ils arrivent
sur un march du travail tendu avec une bonne
connaissance des nouvelles technologies et
se retrouvent face des socits qui ont de
gros besoins de recrutement, " souligne Eric
Toussaint, responsable marketing ple
experts chez Expectra. Autre cible privilgie
pour les entreprises : les dveloppeurs en
poste qui matrisent les technologies les plus
apprcies. " En 2001, jai mis mon CV sur
Internet car je souhaitais changer dentreprise.
En une semaine, jai reu une trentaine de
contacts. Seules 2 entreprises ntaient pas
des SSII, " raconte Marc Boiteux. Tous les
dveloppeurs confirment cet tat de fait qui
sest parfois ralenti au cours de la priode
2001-2003 mais qui a repris de plus belle
MTIER DAVENIR
Source : Les dveloppeurs informatiques, enseignements et perspectives, Opiiec (novembre 2006/ janvier 2007)
24-33 mtier3 22/08/2007 18:12 Page 29
Programmez! - N100 SEPTEMBRE 2007 30
Dossier
PROGRAMMATION LINUX
Evolution des DI dans leur entreprise
Nature des
dveloppements
depuis. Avec des propositions qui viennent par
le biais des chasseurs de tte ou danciens
collgues et qui font de cette population lune
des plus apprcie sur le march du travail.
" Nous recherchons des profils avec des com-
ptences techniques pour suivre un projet de A
Z, mais galement des dveloppeurs qui ont
des comptences fonctionnelles pour com-
prendre et connatre les environnements dans
lesquels ils doivent travailler. Chez SQLI, nous
privilgions toutefois la voie technique, mme
si le collaborateur volue vers les comp-
tences mtiers ", indique Alexandra Lecordier,
responsable RH chez SQLI et qui rsume les
desiderata des entreprises. " La nouvelle
gnration de dveloppeurs assemble, confi-
gure, lie, publie les nouveaux composants ",
souligne de son ct Olivier Picciotto, directeur
gnral de Twinsoft. " Il faut savoir crire un
peu de syntaxe, avoir une bonne connaissance
de loutil, tre capable dassembler les blocs,
savoir comment lapplication se comporte au
niveau fonctionnel. Et je pense quil faut envi-
ron 5 ans pour devenir chef de projet."
" Nous recherchons des profils Internet PHP
Linux, mais aussi C/ C++pour diversifier les
approches, " indique de son ct Olivier Mon-
real de Bewoopi.
Mais finalement, quel est le secret de la bonne
alchimie ? Marc Alcantara en a une petite
ide : " cest de former ces profils imaginatifs,
et de les faire monter en comptence. La
bonne quipe doit tre efficace en recherche
technologique et sur le plan fonctionnel. "
Mais tous ceux qui ctoient les dveloppeurs
ou viennent de ce milieu sont convaincus que
cest le temps qui permet lexpertise.
Offres demploi Cobol dans le Top 10
Dans un systme, par dfinition soumis aux volutions techniques multiples, une
recherche par " technologies " sur le site demploi lesjeudis.commontre les occurrences
qui reviennent sur un nombre global doffres. A noter que Cobol entre dans le Top 10 (en
date du 28/ 06/ 07) et confirme une analyse de lOpiiec dans son rapport "Dveloppeurs" :
" certaines anciennes technologies toujours largement utilises." De son ct, Stphane
Rethore, responsable de loffre IB au sein du groupe Cegos, souligne : " il y a plusieurs
annes, nous avons reconverti des cobolistes en java ! J e pense quil y a effectivement une
ncessit de former quelques jeunes Cobol pour pallier le papy-boom qui pourrait sam-
plifier dans les entreprises utilisatrices. "
Top 10 des technologies
J ava EE (310); J ava (244); C/ C++/ C#(215); .Net (156); SQL (102); PHP (59); Websphere
(35); Abap (33); Cobol (22); Cognos (20); Powerbuilder (19); VB (17); Asp (16); Windev (15);
Forms (12); SAS (12); Pacbase (11); Uml (11); Weblogic (10); Control M (9); Perl (8); Genio
(8); Graphtalk (8); Business Object (7); Delphi (6); RPG (6); XML (6); Natural (6); Ada (5);
CICS (5); VC++(4); Adelia (4); J boss (3).
Dabord des applications
Source : Les dveloppeurs informatiques, enseignements et perspectives, Opiiec (novembre 2006/ janvier 2007)
24-33 mtier3 22/08/2007 18:17 Page 30
Pour de plus amples informations:
infragistics.com/dotnet
grids scheduling charting toolbars navigation menus listbars trees tabs explorer bars editors
WINDOWS FORMS ASP.NET WPF JSF
sales-europe@infragistics.com
0800 667 307
NetAdvantagefor .NET 2007 Vol. 2
Concevez des tableaux de bord professionnels - Des graphiques stupfiants ainsi
que des nouveaux gauges fournissant instantanment une comprhension claire des
Key Performance Indicators
Executive Reports - Emmenez vos tableaux de bord au-del de vos applications grce aux
fonctionnalits export/import dExcel et PDF/XLS Document Exporting
Performance en temps rel - Nos Gauges peuvent afficher des donnes dynamiques pour
un rapport visuel de missions critiques et des informations mises jour rgulirement
Exprimentez linformation - Des graphiques specialiss enrichis pour les donnes
scientifiques, statistiques et financires permettant de prsenter les champs de donnes en
gauges linaires, digitales et radiaux
Elargissez une boite outils riche - ainsi que tout ce que le dveloppeur a besoin afin de
concevoir et de donner du style sans effort vos interfaces utilisateur: grilles, calendriers,
barres doutils, trees, menus, onglets, diteurs, Application Styling

et bien plus encore


La boite outils exceptionnelle pour la conception et le dveloppement de vos interfaces utilisateur
learn more: infragistics.com/charts
NetAdvantage

for ASP.NET Charts and Gauges


Windows Forms avec PDF Export et WinDesktopAlert

24-33 mtier3 22/08/2007 18:15 Page 31


et lanalyse dexperts de Sun
sur les dveloppeurs daujourdhui
et de demain
" Lapproche du langage dveloppeur a volu.
Avant, les cours sur C et C++avec des drivers
trs compliqus avaient beaucoup de succs.
Mais cette population de dveloppeurs sys-
tmes a migr vers des environnements plus
standardiss, en particulier depuis larrive de
J ava. Le but des formations aujourdhui est de
permettre davoir un socle technologique soli-
de pour excuter du code sur diffrentes
plates-formes. La notion dapprentissage dun
langage comme socle est aujourdhui un peu
en retrait car un langage comme J ava sen-
seigne de plus en plus au niveau des coles
dinformaticiens ", indique Philippe Perez, res-
ponsable de laspect formation chez Sun Edu-
cation. Son collgue Herv Bitteur spcialis
en logiciels au sein de lquipe formation chez
Sun complte : " Lvolution va vers la standar-
disation. Le dveloppeur aujourdhui ne refait
pas dexistant, il travaille la priphrie des
systmes existants. Le but de la formation est
de donner accs cette multitude de donnes
priphriques pour que le dveloppeur puisse
travailler de la manire la plus souple pos-
sible. Les informaticiens qui travaillent dans le
logiciel ont connatre et assimiler les pri-
phriques plutt que de coder dans quelque
langage que ce soit. Un important panorama
de technologies gravite autour de Sun : lint-
rt est de les faire connatre. La tendance va
vers le bon choix architectural : trouver les
bonnes technologies pour mener bien le pro-
jet dans les meilleures conditions, plutt que
dinventer de nouveaux langages. "
Et J ean-Marie Calmel, responsable des rela-
tions avec les entreprises chez Sun de conclu-
re : " J ose dire quil nexiste plus de " silo "
aujourdhui : un composant, le meilleur qui
soit, mais quon ne sait pas utiliser ou qui est
trop peu dvelopp, est inutile. On est dans le
temps du " time to market ", cest--dire que
lon na plus le temps de passer des annes
sur une application mais les dveloppeurs doi-
vent trs vite identifier le besoin du client et
tre capables dintgrer la solution adquate.
J ava est le moteur dune transition qui passe
du " je rinvente " " je rutilise ". Linstinct
du dveloppeur doit voluer : il doit aller voir
les composants prts pour raliser la fonction
dans les meilleures conditions. Cest la com-
plexit de dcision qui a augment. "
Claire Padych
Programmez! - N100 SEPTEMBRE 2007 32
Dossier
" De 10%, je suis pass 30% de dveloppement
dans mon quotidien "
Aprs avoir obtenu un Deug MIAS en 2001, Arnaud Caillieretz a obte-
nu un diplme dingnieur linstitut des sciences et technologies
(cole polytechnique universitaire rattache Paris 6).
Gnraliste au dpart, il se spcialise dans linformatique industriel-
le. Il intgre Sogeti o il commence par une mission dans le secteur
des finances pour un projet international. " J e faisais environ 10%de
dveloppement car jappartenais une quipe dintgration. "
Sa fonction volue en qualification. " Dun point de vue fonctionnel, jai appris faire
des scnarios de non-rgression qui prennent une part de plus en plus importante
dans ma mission. " Un autre projet se prsente lui. " Dans la phase de pr-production,
je joue le rle de dveloppeur, mais ma mission a volu vers lexpertise globale car lap-
plication est dj dveloppe.
J e passe aujourdhui environ 30%de mon temps dvelopper, et si je rentre beaucoup
dans le code, cest pour dtecter les points critiques et corriger les aspects qui peuvent
poser problme." Son niveau dexpertise a progress grce lexprience et il souhaite-
rait " voluer dans un sens de polyvalence pour aller vers la gestion technique ou larchi-
tecture ou encore la gestion dquipe. "
" Dans chaque projet,
je me rserve un peu de dveloppement ! "
Aline Corve est chef de projet. Moins de trente ans, issue dune
bonne cole (lEPF, ex cole polytechnique fminine) avec cinq ans
dexprience, son profil est activement recherch par tous les cabi-
nets de recrutement.
Son aventure professionnelle concide avec sa dernire anne
dtudes, puisquelle se spcialise en SRI (systmes informations et
rseaux). Puis elle intgre la filiale dune grande entreprise franai-
se, cote au Cac 40, travaille sur un trs gros projet mais ensuite, les perspectives sem-
blent samoindrir. " J e rvais de projets denvergure, complexes et de travailler en quipe
et rien de cela ne semblait arriver. "
Elle rejoint donc SQLI en tant que dveloppeur confirme et trouve dans cette entreprise
la dimension professionnelle et intellectuelle ncessaire pour progresser.
Quelques temps plus tard, elle accde au poste de chef de projet. " Lorsque nous
sommes face un nouveau projet, deux choix sont possibles. Soit nous avons carte
blanche, soit la technologie est impose par le client. Dans ce cas, il nous faut composer
avec cet impratif et nous capitalisons cette exprience en la faisant remonter dans ce
que nous appelons " la cellule architecte ". Cette initiative est trs intressante et per-
met daccrotre notre expertise gnrale par un travail collaboratif qui peut servir tout
moment. Une autre caractristique que japprcie chez SQLI est la possibilit de se for-
mer en permanence. Nous avons tous en commun un socle technique et je crois que si
on me retirait la possibilit de dvelopper, je serais malheureuse ! Et si je dveloppe
moins quavant, dans chaque projet que je suis, je me rserve un peu de dveloppement
pour rester en contact avec la technique. "
Elle a rcemment travaill avec Sqli Agency sur un projet commun et a particulirement
apprci de dcouvrir les impratifs de lquipe et les trsors de crativit mis en com-
mun pour concevoir un projet plusieurs mains.
24-33 mtier3 22/08/2007 18:15 Page 32
Programmez! - N100 SEPTEMBRE 2007 33
PROGRAMMATION LINUX
" 40% de mon temps est
employ au dveloppement "
Derick Rethans, architecte technique au sein
dEZ Systems et lead du projet EZ Components.
Il participe de faon trs active aux projets PHP
(notamment langage, Derick tant lun des prin-
cipaux dveloppeurs de celui-ci), Xdebug, SRM. Il livre sa vision du
monde du dveloppement
Programmez! : Pourquoi tes-vous devenu dveloppeur?
D.R. : J e ne sais pas vraiment " pourquoi " mais je sais comment !
Ainsi, lorsque javais 12 ans, jtais dj fascin par les ordinateurs.
A la diffrence des autres enfants, jouer ne mintressait pas beau-
coup ; je voulais essayer de faire faire lordinateur tout ce que je
voulais. De cette fascination provient mon ducation en informatique
qui a fait de moi un dveloppeur software.
P! Quel regard portez-vous sur le prsent de votre mtier et en parti-
culier sur les dlocalisations auxquelles votre mtier est confront ?
D.R. : J e ne crois pas que lexternalisation soit une menace relle
pour lindustrie du software en Europe. Les lments les plus
simples seront vraisemblablement dlocaliss tandis que la concep-
tion et la matrise de projet resteront en Europe.
P! : LOpen Source est-il une alternative pour rendre ce travail plus
intressant ?
D.R. : LOpen Source est seulement un outil pour les gens. Pour ma
part, je suis ravi dcrire du code qui sera plus accessible un public
plus large. Plus de gens utilisent ce code et, en retour, cela permet
aux utilisateurs de software de contribuer au produit avec leurs ides
et leurs spcificits. Il se cr donc plus dinteractivit ente les utili-
sateurs et les dveloppeurs.
P! : Codez-vous toujours? Et quel intrt y trouvez-vous ?
D.R. : J e continue dvelopper et environ 40%de mon temps y est
consacr. Ce qui mintresse, cest dcrire de nouveaux algo-
rithmes. J ai besoin de faire de nouvelles choses que je ne faisais
pas avant ou que je fais mieux maintenant parce que jai dvelopp
mes capacits dans ce domaine.
P! : Quelle est la place de PHP aujourdhui dans le duel entre .Net et
J ava/ J ave EE et dans le monde Web 2.0 ?
D.R. : PHP est le seul langage conu pour le Web. Les 2 autres lan-
gages, comme beaucoup dautres, produisent des solutions plus
gnriques. Cest pourquoi PHP gardera son avance pour les solu-
tions Web.
P! : En tant que clbre dveloppeur, quels conseils donneriez-vous
aux jeunes et aux autres ?
D.R. : Essayer de ne pas seulement regarder les plates-formes pro-
pritaires quand vous vous intressez au dveloppement software.
Les plus grandes entreprises sont trs fortes pour convaincre les
dveloppeurs de travailler avec elles, mais il y a tant de choses plus
intressantes faire
" Des dveloppeurs
capables de travailler "
Yannick Chapard, architecte
technique et cofondateur de
Clikeo, cration de sites
Internet et de e-commerce.
" Nous dveloppons en PHP 5,
cest le mme confort dutilisa-
tion que J ava. Il ny a que peu de contraintes et nous
avons choisi MYSQL comme base de donnes.
Nous sommes 4 au sein de notre socit et nous
sommes polyvalents.
Cest lavantage de travailler dans une petite struc-
ture o il faut tre oprationnel. Nous faisons ga-
lement appel des freelances, ce qui nous permet
daugmenter rapidement nos effectifs lorsquun pro-
jet lexige. Avec un DUT en informatique, il me
semble que le dveloppeur est tout fait efficace,
capable la fois dtre autonome tout en sachant
travailler en quipe.
J e pense vraiment que lon peut passer une carri-
re dvelopper. La meilleure preuve nous est don-
ne par les crateurs de Google qui dveloppent
encore et toujours ! "
Pour les entreprises, le " workshop " version Sun
" La dmarche " workshop " de Sun existe en France depuis 2002. Son originalit ?
Plutt que de se comporter en conseil ou en audit, son rle est dindiquer les orien-
tations technologiques possibles avec les DSI en intgrant les DRH et dans une
deuxime phase ou paralllement, de prparer les quipes. Lide est de faire
gagner du temps et viter " leffet de cascade ", lorsquil faut en catastrophe for-
mer des comptences internes. Nos workshops permettent une monte en com-
ptences et obligent les entreprises clientes participer pleinement au projet.
Cest un ensemble de cours avec des TP, pour faire voluer les comptences.
Lide est de mettre niveau les utilisateurs des technologies standardises, 6
9 mois aprs que les standards soient dfinis. " (J ean-Marie Calmel, responsable
des relations avec les entreprises et Herv Bitteur de lquipe formation chez Sun)
De gauche droite : J ean-Pierre Calmel (OEM Platforms Senior Architect), Philippe Perez
(responsable de laspect formation chez Sun Education ) et Herv Bitteur (de lquipe
formation, spcialis en logiciels).
MTIER DAVENIR
24-33 mtier3 22/08/2007 18:16 Page 33
Programmez! - N100 SEPTEMBRE 2007 34
Dossier
PROGRAMMATION LINUX
Salaires et emploi : Les mtiers
du dveloppement sont-ils rmunrateurs ?
Tous les indicateurs sont au vert dans linformatique : les fonctions autour du dveloppement sont
particulirement prises. Le plus grand risque des recruteurs est de voir leurs ressources happes
par la concurrence. Parmi toutes les solutions leur disposition pour conserver leurs forces vives
- et sduire les autres, " le package" global et personnalis se dveloppe. Il accompagne la
rmunration et les perspectives de carrire.
"
N
ous navons pas les moyens de
perdre nos lments ni dentrer
dans une guerre du recrutement
avec la concurrence ! " Dpit, Pascal Stopnic-
ki, confondateur dEffisoft en 1990 ? Pas le
moins du monde, car la tension du march de
lemploi " nous a permis dvoluer en termes
de rmunration, mais aussi de carrire. Un
recrutement se conoit avec des variables qui
sont la qualit de vie au travail, des perspec-
tives sur le long terme mais aussi du point de
vue de la rmunration ", indique-t-il sans
tabou. Soit un " package " qui, outre une
bonne rpartition entre
fixe et variable, propose
des solutions dpargne
entreprise " Surtout,
nous voulons que nos
collaborateurs se sentent
bien chez nous, " prcise-
t-il. Lun des dveloppeurs de lentreprise,
Mansour Tall, diplm de lESGI en poste
depuis un an, prcise ce critre : " lambiance
dans une entreprise est un lment fondamen-
tal : jai la nationalit sngalaise et jaurais pu
avoir des difficult pour obtenir les papiers
ncessaires. Effisoft ma permis de faire un
stage de fin dtudes et ensuite ma propos un
CDI en maidant pour les diffrentes formalits.
J e nai pas eu de difficults trouver un stage ni
un emploi. Lorsque jtais en phase de
recherche active, jtais sans cesse contact et
mme maintenant que je suis en poste, je reois
rgulirement des propositions. J e matrise
J ava, J ava EE, PHP, ASP, C++. Lcole ma per-
mis dapprendre les langages les plus impor-
tants tout en me donnant les moyens den
assimiler de nouveaux assez rapidement ! "
Roland Benedetti, managing director respon-
sable de lEurope du Sud chez EZ Systems (di-
tion de logiciel, gestion de contenu en Open
Source) insiste lui aussi sur la ncessit de
motiver les troupes par limplication au quoti-
dien des collaborateurs : " le systme de
bonus est li au succs de lentreprise ", sou-
ligne-t-il. Quant aux responsables de structures
plus importantes, eux aussi jouent la carte de
la fidlisation. Dominique Duflo, DRH de Sogeti
France souligne que lentreprise a " des rela-
tions particulires avec les personnes recru-
tes : elles se fixent un objectif professionnel
de 3 5 ans. Au cours de leurs missions, des
bilans priodiques sont faits, des plans de for-
mation sont envisags, une importante plate-
forme de-learning est leur disposition car
dans ces mtiers, il est indispensable dacqu-
rir en permanence les outils ncessaires pour
bien voluer. Et la carrire est chez nous trs
importante : nous sommes un groupe de
16 000 collaborateurs dans le monde dont
9 500 collaborateurs en France avec de mul-
tiples possibilits dorientation ! "
CMMI, lun des outils
privilgis de SQLI
" Nous nous appuyons sur le modle People
CMM pour que nos collaborateurs puissent
voluer selon leurs objectifs, leurs capacits
Mieux pay en Ile-de-France
Salaires dans le dveloppement
Salaire annuel Mdian, Mdian, Mdian, Maxi, Mini,
en Euros national Ile de France province national national
Infographiste 23 110 26 150 23 010 30 400 17 500
Dveloppeur 29 900 30 380 29 240 38 430 21 700
Analyste programmeur 30 750 33 850 26 890 34 030 21 130
Ingnieur dveloppement 34 330 37 100 34 150 46 980 25 440
Ingnieur informaticien 35 140 36 930 34 910 37 300 29 080
Responsable informatique 37 630 41 960 33 000 69 860 27 620
Source: Expectra, septembre 2006, "dveloppement"
Ltude " salaires " dExpectra sortie en septembre 2006 indique galement quun ing-
nieur dtudes R&D est, en moyenne, pay 12,6%de plus dans un grand groupe quen PME.
K
34-38 22/08/2007 18:29 Page 34
SOFTEAM Formation 2007 :
UML, Mthodes et Mthodologie
Introduction aux technologies objets et UML 1 j
Les diagrammes UML 2 j
UML pour la matrise douvrage et lexpression de besoins 2 j
Analyse et conception avec UML 4 j
Analyse et conception avec UML et un atelier de modlisation 5 j
Processus de dveloppement objets : Etat de lart 2 j
De UML.1.x UML.2.0 1 j
Mthodologie pour SOA 2 j
Architecture et Intgration
Architecture et intgration : la synthse 3 j
Architecture SOA 2 j
Architecture et approche MDA 3 j
Design Patterns avec Java / J2EE 3 j
Design Patterns avec .Net 3 j
Corba : Concepts et mise en uvre 4 j
Dveloppement de Web Services en Java 3 j
Dveloppement de Web Services en C# 3 j
Dveloppement Java /J2EE
Programmation oriente objet avec Java 4 j
Programmation Java avance 4 j
Dveloppement dapplications JEE 5 5 j
Dveloppement dapplications JEE 5 Front End 4 j
Dveloppement dapplications JEE 5 Back End avec EJB 3 3 j
Matrise du framework Struts 3 j
Matrise du framework JSF - Java Server Faces 3 j
Matrise du framework Spring 3 j
Mapping Objet / Relationnel avec Hibernate 3 j
Dveloppement dIHM avec Swing 3 j
Dveloppement dIHM avec Ajax 2 j
Dveloppement dIHM avec Eclipse RCP 4 j
Dveloppement dIHM avec SWT 2 j
Dveloppement de Web Services en Java 3 j
Dveloppement dapplications embarques avec J2ME 3 j
Dveloppement de portlets 3 j
Dveloppement .NET
Dveloppement dapplications .NET / C# 4 j
Dveloppement de Web Services avec C# 3 j
Principes et architecture de la plate-forme .Net 1 j
Conception et dveloppement avec .Net 2.0 5 j
Dveloppement dapplications Web avec ASP.Net 2.0 5 j
Programmation avec Microsoft ADO.Net 3 j
Dveloppement XML et autres langages
Dveloppement d'applications avec XML 4 j
Formatage et transformation de documents XML avec XSL 2 j
Dveloppement d'applications vocales avec VoiceXML 3 j
Dveloppement en PHP 3 j
Dveloppement dapplications avec C++ 3 j
Atelier Objecteering/UML
Objecteering UML Requirements 1 j
Objecteering UML Modeler 1 j
Objecteering Java Developer 2 j
Objecteering C# Developer 2 j
Objecteering C++ Developer 1 j
Objecteering UML Prol Builder 2 j
Objecteering MDA Modeler 2 j
SOA
SOA
SOA
SOA
SOA
SOA
Soyez prts pour les nouvelles
architectures SOA!
SOA est devenu en peu de temps le mot cl des dveloppements
logiciels. SOA nest toutefois quune nouvelle faon de faire qui
sappuie sur un ensemble de technologies existantes : UML, J2EE,
.Net, XML, etc. Matriser SOA implique ainsi matriser ces
technologies pour les associer efficacement au sein dune
nouvelle approche.
SOFTEAM, forte de son exprience en Mthodologie,
Architecture et Dveloppement, a construit un cursus
complet de formation SOA qui vous permet de dbuter ds
les phases amont, de poursuivre en architecture, et daller
jusqu la ralisation dans le langage de votre choix.
SOA
Cartographie
Mthodologie
UML
Architecture
Patterns
J2EE
.NET
XML et
WebServices
XML
EAI
BPM
Mthodologie
pour SOA
Frameworks
Urbanisation
Portail
Architecture
SOA
WebServices
en .Net
WebServices
en J2EE
Web Services
Q
u
i
n
t
e
&
s
e
n
s


3
6
1
2
Calendrier complet
et inscriptions en ligne
www.softeam.fr
Tl. : 01 53 96 84 00 - Fax : 01 53 96 84 01
Paris : 21 avenue Victor Hugo - 75016
Rennes - Nantes - Sophia Antipolis
34-38 22/08/2007 18:32 Page 35
Programmez! - N100 SEPTEMBRE 2007 36
Dossier
et les possibilits
quoffre SQLI ", indique
Alexandra Lecordier,
responsable RH chez
SQLI. Et poursuit : " tous
nos postes ont t pas-
ss au crible pour que
les collaborateurs puissent tre mobiles en
interne et explorent les voies que nous leur
proposons. Avec notre rseau dagences en
rgions, en Suisse, au Bnlux, au Maroc et
en Espagne, nous leur donnons aussi la possi-
bilit dvoluer gographiquement. Par
ailleurs, des entretiens semestriels et annuels
sont organiss avec les managers et relais RH
afin que le collaborateur puisse se projeter.
Enfin, des formations sont dispenses trs
rgulirement car ces mtiers techniques sont
en perptuelle volution. " Dans ltude de
lOpiiec " dveloppeurs informatiques, ensei-
gnements et perspectives " (janvier 2007), les
analystes soulignent limportance de miser
sur la polyvalence : la profession gagnerait
privilgier les certifications transversales, de
qualification professionnelle. Syntec informa-
tique a emprunt cette voie avec les CQP. Sys-
tmatiser les mthodes (gestion de projet) et
process qualit car aujourdhui, 9%seulement
des entreprises du secteur sont certifies ISO
9001 et 3%ont un niveau CMMI. " Conserver
dune faon ou dune autre la motivation ses
collaborateurs est donc lenjeu que se don-
nent nombre dentreprises. Pour Aline Corve,
chef de projet chez SQLI, cela passe par
dautres responsabilits : " outre mon travail
quotidien, jassume aussi un rle de RCT (res-
ponsable en capitalisation technique) qui me
permet davoir une approche de conseil de
rfrent sur dautres projets dont je nai pas la
responsabilit. Cette exprience me permet
de prconiser des solutions techniques, lutili-
sation de telle ou telle brique dans la phase
analytique par exemple. Le rle de RCT moffre
galement lopportunit de faire des interven-
tions ponctuelles sur dautres projets et par-
fois, lors de recrutements, dintervenir au
moment du test. "
Choyer ses employs
Le matre-mot qui arrive en complment de
" salaire " est " motivation ". Dans un march
o les dveloppeurs ont davantage la main
quil y a quelques annes, les ngociations
lembauche sont de plus en plus serres. En
effet, si les Franais obtiennent la palme dor
europenne de largent comme motivation
Les internautes ayant dpos un CV sur Cadremploi.fr et les employeurs ayant dpos leur offre ne
sont pas du tout daccord sur la rmunration dans linformatique.
S
o
u
r
c
e

:

C
a
d
r
e
m
p
l
o
i
.
f
r
,

j
u
i
n

2
0
0
7
.
Les internautes ayant dpos un CV sur Cadremploi.fr et les employeurs ayant dpos leur offre ne
sont pas du tout daccord sur la rmunration dans le domaine SI/ Telecom.
Comparaison entrelessalairesdclarsdansledomaineinformatiquepar les
candidatset lesrecruteurs, tousniveaux, toussecteurset toutesrgions
Comparaison entrelessalairesdclarspar lescandidatset lesrecruteurs,
tousniveaux, toutesrgions, secteur SI/ Telecom
Candidats
Recruteurs
34-38 22/08/2007 18:33 Page 36
Programmez! - N100 SEPTEMBRE 2007 37
Si de nombreuses entreprises cherchent renforcer
leurs quipes, elles doivent viter de dfavoriser leurs
collaborateurs en poste, mme si les nouveaux arri-
vants ngocient des rmunrations que nauraient
pas imagin ceux entrs prcdemment dans lentre-
prise. Pour viter davoir grer des conflits et des
dparts inopins, un grand nombre dentreprises ont
donc choisi de revaloriser lensemble des salaires.
Selon ltude de lOpiiec, de 15 36%des dvelop-
peurs voluent au sein de leur entreprise, 57%ont
exerc leur mtier dans plusieurs entreprises, entre
5 et 11%dentre eux voluent vers une autre entreprise
du secteur et ils sont de 3 11% quitter le secteur
pour aller vers une entreprise utilisatrice.
Audrey Beauvillard, responsable du dveloppe-
ment ressources humaines et du recrutement,
et Laurent Ellerbach, responsable des relations
dveloppeurs, designers et Enseignement sup-
rieur au sein de la division plates-formes et eco-
systme chez Microsoft France indiquent : " les
dveloppeurs .Net sont mieux pays (+20%) que
les dveloppeurs J ava qui sont eux-mmes
mieux pays (+10%) que les dveloppeurs
PHP+Ajax qui sont eux-mmes mieux pays
(+15%) que les dveloppeurs PHP. Bref, dans la
catgorie des dveloppeurs, les moins bien
pays sont les dveloppeurs PHP (et web en
gnral hors ASP .Net) et les mieux pays, les
dveloppeurs .Net."
Une premire rflexion sur cette affirmation : les
mtiers du dveloppement sont trs nombreux
et il nexiste pas de rgle commune.
" Les langages les plus demands par les recru-
teurs sont J ava/ J ava EE et .Net, " indique Eric
Toussaint, responsable marketing ple experts
chez Expectra. " En ce qui concerne lvolution
des comptences des dveloppeurs, il y a nces-
sit davoir des comptences croises, Micro-
soft et technologie open source, " confirme
Hubert Barkate, prsident dAdhara. " Chez
SQLI, les technologies les plus demandes sont
J ava, J ava EE et PHP ", prcise son tour Alexan-
dra Lecordier. En sachant que le circuit PHP
chappe, pour beaucoup, aux rseaux clas-
siques doffres demplois.
Enfin, une recherche par technologie sur le site
lesjeudis.com faite dbut juillet 2007, consa-
crait la victoire de J ava EE avec 325 propositions
demplois, suivi par J ava (259) et C/ C++/ C#
(209). En quatrime place arrivait .Net avec 154
offres, soit 111%de propositions demplois sup-
plmentaires sur J ava EE par rapport la tech-
nologie Microsoft. Dcidment, le conflit entre
monde propritaire et libre nest pas fini !
Dveloppeurs .Net : la meilleure rmunration ?
Comptences et salaires
Offres demploi
La rmunration, nerf de la (sur)vie de lentreprise
L'gedes informaticiens
Age
Moyen
Infographiste 32
Dveloppeur 29
Analyste programmeur 31
Ingnieur dveloppement 32
Ingnieur informaticien 30
Responsable informatique 38
MTIER DAVENIR
J ava EE
34-38 22/08/2007 18:47 Page 37
Programmez! - N100 SEPTEMBRE 2007 38
Dossier
PROGRAMMATION LINUX
" Un cycle de recrutement
la hausse "
Pierre Lamblin, directeur du dpartement Etudes et
Recherches lApec se rjouit des bons rsultats
dans le domaine du recrutement. " En 2006,
45 000 recrutements ont t faits dans linforma-
tique ; tout laisse penser que le record sera battu
cette anne, nous sommes partis pour un cycle la
hausse ! " Selon lApec, la fourchette des salaires
des IED (ingnieurs tudes et dveloppement) en
recherche demploi et en poste se situe entre 27 et
43 K avec une mdiane 33 K. Quant la rmu-
nration des architectes techniques, elle varie entre
35 et 55 K avec une mdiane 43 K.
S
o
u
r
c
e

:

O
f
f
r
e
s

e
m
p
l
o
i
s

A
p
e
c
,

j
u
i
n

2
0
0
7
En 2006, lApec recensait 6 898 offres demplois pour le mtier de dveloppeur, contre 1 878 offres en 2003.
En 4 ans, le volume demploi dans linformatique a presque doubl. A noter toutefois
quune offre nest pas forcment synonyme dun recrutement mme si la tendance la
hausse de lemploi est vidente.
Volume des offres demplois cadres diffuses par lApec pour les mtiers de dveloppeurs,chefs de projet,
architectes techniques et cadres sret/ scurit informatique - Evolution 2002-2006 -
Volume des offres demplois cadres diffuses par lApec
pour la fonction informatique - Evolution 2002-2006 -
principale du travail (58%, soit 10 points de
plus que la moyenne selon un sondage Mons-
ter de janvier 2007) ils sont suivis de prs par
les Britanniques (54%), Irlandais (53%) et
Belges (52%). Seuls 3%des Tricolores tra-
vaillent " pour se dpasser " (contre 13%de
Britanniques). Certes, la part des informati-
ciens nest pas explicite dans ce sondage,
mais tant fortement chasss, il y a fort
parier que le turn-over dont ils font preuve est
surtout motiv par des questions pcuniaires.
Ou des -cts qui leur permettent de bien
vivre lentreprise : les crches inter-entre-
prises commencent se multiplier. Selon ltu-
de de lOpiiec, 60%des dveloppeurs ont
entre 25 et 34 ans, ce qui signifie quils ont ou
vont avoir des enfants. Autres avantages mis
en avant, horaires modulables, site proche
dune ligne de RER ou de mtro en Ile-de-Fran-
ce, facilement accessible en province, bureaux
modernes, bonne mutuelle, esprit de corps
autour dune course en mer lorsque lentrepri-
se a investi dans un voilier, ou dun mara-
thon... Les exemples ne manquent pas.
Une autre enqute (observatoire Cadrem-
ploi/ LH2, juin 2007) va plus loin : 57%des 18-
39 ans seraient mme prts abandonner
une partie de leur salaire pour amliorer leur
qualit de vie (contre 39%des plus de 40
ans). Ltude montre encore que 54%de
cadres " ayant une fonction technique " sont
plus favorables un salaire moindre pour aug-
menter leur qualit de vie (contre 46%de
moyenne sur lensemble des cadres interro-
gs). Est-ce la consquence de la mauvaise
rputation de certaines pratiques des SSII qui
ont bris certains informaticiens ?
Nicolas Chabrier, PDG dEvaluan (socit ne
Mulhouse) nhsite pas faire le lien entre
lattitude de certaines SSII et le turn-over trs
prsent dans la profession. Ainsi, ltude
" Dveloppeurs " de lOpiiec indique quentre
23%et 63%des dveloppeurs dentreprises
de 6 salaris et plus ont chang de fonction
aprs trois ans et demi en poste. Et selon plu-
sieurs experts, sans doute en raison de mul-
tiples conjonctions comme la vie en
entreprise, la rmunration et les possibilits
de carrire, le turn-over aurait tendance sac-
centuer et les salaris rester moins de
temps encore en poste, hormis en province o
la tendance sinverse et o les opportunits
sont moins nombreuses qu Paris.
Les recruteurs nont pas fini de se perdre en
conjectures pour imaginer mille astuces en
vue de motiver leurs troupes sans trop mettre
la main au portefeuille Claire Padych
Lemploi en 2006
34-38 22/08/2007 18:50 Page 38
Programmez! - N100 SEPTEMBRE 2007 39
L'offshore : menace
ou nouvel Eldorado du dveloppement ?
Dans un contexte o se conjuguent comptitivit,innovation et retour sur investissements,la rduc-
tion du cot du personnel et son employabilit hors de l'Hexagone sont deux donnes principales
qui accompagnent les notions de flexibilit et de ractivit.
L
e prix du dveloppement ainsi que celui
de la recherche en dehors de nos fron-
tires pose diffrentes questions. Celle
du travail et de la rduction des cots pour
perdurer. Mais aussi celle du risque encouru
par les entreprises de perdre le contrle de
toutes leurs ressources comptentes, afin de
dgager une conomie que certains estiment
comprise entre 30%et 50%.
La mondialisation et la ncessit pour les
entreprises de gagner en comptitivit par la
rduction des cots ont entran une multipli-
cation des sites en dehors de la France. Le
mythe de l'offshore qui entrane une division
du travail et transfre des tches subalternes
des dveloppeurs moins chers est prsent
dans tous les esprits. Marxistes, libraux ou
sans opinion. Il se fonde sur plusieurs l-
ments tangibles : des sources convergentes
voquent des baisses de cot annuelles de
2% 4%, imposes par les entreprises
clientes des SSII qui trouvent, dans les solu-
tions d'offshore partiel, la possibilit de se
maintenir dans cette bataille des prix.
Toutefois, selon une tude du Syntec Informa-
tique de janvier 2006, l'offshore reprsentait
en 2005 moins de 2%du CA des SSII et entre
3 000 et 4 500 informaticiens travaillant pour
la France depuis l'tranger. J ean-Franois
Rambicur, prsident de la commission cono-
mie-marchs au sein du Syntec informatique
indiquait galement que la part de l'offshore
dans le chiffre d'affaires du secteur devrait
crotre et pourrait reprsenter de 4% 6%
l'horizon de 2009. Mais l'opration est, selon
J ean-Franois Rambicur, limite, dans la mesu-
re o l'on peut estimer le plafond thorique
des prestations offshorisables moins de
15 %du CA des services informatiques.
La maturit de la France en matire
d'offshore est trs faible
Notre choix s'est port sur le Maroc, car
c'est un pays qui possde de nombreux
atouts. En quantit et en qualit puisque
chaque anne, 40 000 informaticiens y sont
forms. C'est un pays proche de la France,
francophone. En outre, nous avons sign un
accord avec le gouvernement marocain, le
plan mergence qui nous offre un certains
nombre d'avantages, notamment fiscaux,
indique Yahya El Mir, prsident du directoire de
SQLI.
D'autres entreprises ont choisi de s'implanter
en Inde ou en Chine ou dans les pays de l'ex
bloc de l'Est, car, souligne le Syntec Informa-
tique, l'absence de centre offshore en propre
devient mme parfois un critre liminatoire
dans les rfrencements d'une SSII.
Demain sera donc offshore ou ne sera pas
Co-auteur de Conduite de projets informa-
tiques offshore (Eyrolles, 2005) et crateur
d'Outsourcing Advantage, qui aide les entre-
prises optimiser leurs projets informatiques
offshore, Eric O'Neill est plus nuanc. Son ver-
dict tombe : la maturit de la France en
matire d'offshore est trs faible.Et la premi-
re cause de cette sous-reprsentation franaise
dans les pays low-cost est, selon lui, la rticence
des DSI rarement favorables l'offshore.
Ceux-ci sont isols des problmatiques
SQLI partenaire
de l'Universit Mohamed 1
er
SQLI a sign un partenariat avec l'Universit Mohamed Premier en sep-
tembre 2006. Cette universit se situe Oujda, 700 km environ de la
capitale. C'est un centre de R&D / offshore entirement ddi aux tech-
nologies Open Source. L'entreprise bnficie, au sein mme de
l'Universit, d'un fort potentiel de ressources et de locaux entirement quips des tech-
nologies les plus avances. En contrepartie, les experts du groupe interviennent dans le
cadre de formations spcifiques et contribuent l'enrichissement des cursus scolaires.
Yahya El Mir
Titre : Un exemple d'offshore : les tests au Maroc
Source : Syntec Informatique, Etude position sur l'offshore , janvier 2006
MTIER DAVENIR
39-41 dev web 2p 22/08/2007 18:52 Page 39
Programmez! - N100 SEPTEMBRE 2007 40
Dossier
PROGRAMMATION LINUX
Le cas Alcatel-Lucent proccupe le Snat
Symbole de l'offshore qui ne concernerait plus seulement les OS dveloppeurs mais aussi
les spcialistes en R&D, la multinationale Alcatel-Lucent est au cur des dbats, avec un CA
de 18,6 milliards d'euros et 522 millions de bnfices en 2006. Dbut 2007, elle annonce un
plan de restructuration : 12 500 suppressions d'emplois, reprsentant prs de 16 %de son
effectif total. Or les emplois menacs en France sont ceux d'ingnieurs en R&D.
Au Snat, une proposition de rsolution tendant la cration d'une enqute charge d'exa-
miner les causes et les consquences du plan de licenciements annonc par Alcatel-Lucent,
date du 3 mai 2007 indique : Alcatel Lucent poursuit une stratgie industrielle essen-
tiellement base sur le redploiement vers l'Europe de l'Est et l'Extrme-Orient et sur une
implantation locale dans les pays forte croissance ou pays dits mergents dans les-
quels elle veut s'imposer. La dlocalisation de () certaines tudes vers la Chine est dj
une ralit. Alcatel avait d'ailleurs fait en 2001 l'acquisition de Shanga Bell qui regroupe
10 %des effectifs en R&D du groupe. La ncessit de prendre des parts de march en
Chine, face des concurrents qualifis de trs agressifs , et l'accs des financements
chinois ne peut en toute logique qu'amener le groupe renforcer son implantation dans un
pays o l'on vend plus de cinq millions de portables par mois. () La crainte () de voir
dans ce plan de restructuration une premire tape vers une dlocalisation du secteur R&D
des sites franais, est bien relle. Si personne ne nie le caractre trs concurrentiel de
ce secteur d'activit, il serait extrmement intressant de dfinir toutes les causes de ce
plan pour comprendre les grandes restructurations en cours () Le groupe Alcatel-Lucent
reoit de la collectivit des dizaines de millions d'euros de subventions directes chaque
anne. En 2005, l'Europe a affich des ambitions en matire de technologie de l'infor-
mation et de la communication la hauteur des enjeux qui sont considrables. ()
Aujourd'hui, la France et l'Europe risquent fort de voir passer trs rapidement le train sans
elles. () En dplaant sa R&D vers la Chine, Alcatel-Lucent joue la pntration renforce
des produits chinois en Europe, plutt que de contribuer - avec le reste de la filire et les
pouvoirs publics - mettre en oeuvre la stratgie de Lisbonne.
Ce cas restera-t-il isol ou une jurisprudence Alcatel-Lucent augurera-t-elle une nouvelle
distribution des cartes go-technologiques, dans laquelle, la Chine pourrait trel'usine
du monde tandis que l'Inde en serait le bureau d'tudes ? Menace ou fantasme, il
concerne l'ensemble des dveloppeurs IT.
commerciales et lorsqu'une quipe tourne
bien, ils ne comprennent pas la ncessit de
remettre en cause leur organisation.
Plus enclins que leurs DSI tenter l'aventure
offshore, les dirigeants, quant eux, ne mesu-
rent pas toujours ses limites : pour matriser
ses cots il faut absolument investir, inventer
un mode organisationnel diffrent et rflchir
un autre processus d'industrialisation. Cer-
tains imaginent que la dlocalisation suffit et
qu'elle produira des conomies immdiates,
sans mesurer les consquences des diff-
rences culturelles, structurelles. Ils vont droit
l'chec car ce ne sont pas des Franais
qu'ils ont face eux !
Une installation Bengalor ncessite un bud-
get transport plus lourd qu' Varsovie ou
Rabat, il faut des cadres capables de bien ma-
triser l'anglais ou mieux, la langue nationale
Bref, Eric O'Neill milite pour des structures
trs solides destines aux dveloppeurs
employs moindre cot et qui, loin du site
commanditaire, doivent se plier aux mmes
contraintes que les Franais : rendre un projet
dans les temps. Il connat parfaitement les dif-
frentes zones d'offshore et l'ultime risque : la
perte de tout contrle sur la production dloca-
lise. Un risque qui a conduit certaines entre-
prises amricaines adeptes de l'offshoring
outrance faire demi-tour par la rinternalisa-
tion (ou backsourcing) de leurs projets.
Claire Padych
Rsistance
la dlocalisation
Selon le Truffle 100 (avril 2007), 73%des
diteurs interrogs dclarent ne pas envi-
sager de dlocaliser leur R&D (contre 67%
en 2005). Raisons invoques : matriser
son savoir-faire est stratgique (66%), privi-
lgier la ractivit (59%) et la R&D est au
cur de notre activit (54%). La tendance
est confirme par Christophe Deshayes :
81 %des DSI franais estiment que l'in-
formatique dans son ensemble n'est pas
un candidat naturel l'externalisation, tan-
dis que 17% d'entre eux en admettent
l'ventualit mais la rservent des cas
bien particuliers comme l'hbergement de
sites web (75%des rponses) et la gestion
des tlcoms (73%des rponses) (Aprs
l'externalisation, le Backsourcing ? ,
Documental, 2005)
Dveloppement du march de l'outsourcing dans les pays d'Europe de l'Est et Centrale en volume de mar-
ch (Millions d'euros) en 2005 et en croissance annuelle moyenne 2005/ 09.
Source : Extrait de l'tude dveloppement du march de l'outsourcing en Europe Centrale et en Europe
de l'Est , Pierre Audoin Consultants, fvrier 2006.
,QWH
39-41 dev web 2p 22/08/2007 18:53 Page 40
PENSEZ
PAPALLELE
Les ccm||aIeurs eI b|b||cIhques scnI fa|Is |es uns cur |es auIres:
Les Ccm||aIeurs InIe|' C eI FcrIran ,-.-||e||e! -J!-!|(Jee! !.e ce e!
|,!||e! e ,e..-e ,J. ,.!e. -J |eJ ce -.|!e!J.e J|!|-eJ..
L'InIe|' HaIh kerne| L|brary 9.1 e! - !.e c|,|!| ce !| -!e-!|(Je J|!|-
!.e-cee (J| J.,-e! |e ,e..-e ce ce ,||e |c||cJe||ee! -|| (Je e||e
c-J!.e '|'||!e(Je .
Les InIe|' InIegraIed Perfcrmance Pr|m|I|ves eJ|ee!) |.,.e! ce !|
-J!ee! ,!||ee (J| -e|e.e! |e cee|,,ee! cJ !.-|!ee! ce ec|-. ce .,,!.-,|e
e! cJ |-|.
Les InIe|' Thread|ng Bu||d|ng B|ccks eJ|ee!) .e.J,e! ce .J!|e e.|ee
e! -ee ,J. |,||e. |e cee|,,ee! c-,||-!| J|!|-!.e-c .'J!e e! -,-'|e ce
!e. e -.e.
FAITES LE PAS SUIVANT
PITHE InfcrmaI|que
Tel 01 4Z 46 00 4Z
Fax 01 4Z 46 00 33
www.riIme.ccm
in!cQriIme.ccm
H|crc S|gma
Tel 01 30 BZ 04 54
Fax 01 39 69 93 31
www.micrcsigma.!r/inIel
inIelQmicrcsigma.!r
Ncuve||es Ed|I|cns des Ccm||aIeurs InIe|' C eI FcrIran 10.0
|... J J|:. .|
,|o|J||-.| ,.. |-
,-|:- ,J: ,J|J||-|-
|- :-|J ,|.: .|
,|o|J||-.|.
,-e |e|ce.
|-e||!e e e ce
J!|| |||e| '!e|
|- Je||e e.| .e |e e|||eJ. J,,.! ,J. .ee. ce -,,||-!| J|!|-
!.e-c J. w|c.*. ||Jx* e! |/ S* . SeJ|e |e ec|!| ,.e|e||e
ce ,||-!eJ. '!e| ,.,e! |e!ecJe c,!||-!| --ee e! ce
-,-|!e J|!|-!e-c| (J| ||Je! |- e!.|-!|. |-J!-,-.-|e|||-!|.
,e||*. .eJ,e.-!| -!||,ee ce cee. ce.J|-e ce 'J|e. e! |e
'|'||!e(Je -J!ee! ,!||ee ce !.J!| ce '| ce !.e-c|. ce
!.-|!ee! -!e-!|(Je e! ce J|!|ec|-.
||c|!| cJ ,||-!eJ. '!e| d.d |.e|e||e e! J.|e -e ce
'|'||!e(Je (J| J ,e.e!!e! ce e|. ce !.e-c ce |e ,.e|e. ,J..
|e /|' ce '|'||!e(Je !|ee! ,!e !|Je||ee! ce e|J!| ce
,.eeJ. ,-. ce |e - ,J..
ALLYS
Tel 01 47 63 93 44
Fax 01 47 63 93 44
www.allyssc!I.ccm
allysQallyssc!I.ccm
S0S 0eve|cers
Tel 0B Z5 07 06 07
Fax 0B Z5 07 06 0B
www.scsdevelcpers.ccm/inIel.hIm
in!csQscsdevelcpers.ccm
TransIec SAPL
Tel 03 BB 55 16 00
Fax 03 BB 55 16 09
www.IransIecclusIer.ccm
ccenIerQIransIec.de
'Z007 lnIel CcrpcraIicn, lnIel, le lcgc lnIel, leap ahead eI le lcgc lnIel leap ahead scnI des marques cu des marques depcsees de lnIel
CcrpcraIicn cu de ses liales aux EIaIs Unis d'Amerique eI auIres pays. Tcus drciIs reserves.
IntelPub0709Prog.indd 25/07/2007, 17:47 1
39-41 dev web 2p 22/08/2007 18:53 Page 41
Programmez! - N100 SEPTEMBRE 2007 42
Dossier
TEMOIGNAGES
Paroles de dveloppeurs
Alexandre Gueniot
25 ans, dveloppeur chez Microsoft
Programmez : Qu'est-ce qui a chang depuis
vos dbuts dans ce mtier ?
A.G. : Ntant professionnel que depuis peu,
cest difficile en ce qui me concerne de remarquer une grosse volu-
tion. J e crois que ce qui a le plus chang cest lchelle : le nombre
dutilisateurs, la taille des entreprises, le poids des investisseurs. On
est pass de lartisanal lindustriel, on a perdu un peu de libert cra-
tive, mais on a gagn le grand pari des pionniers du logiciel : dmocrati-
ser linformatique.
En France, le dveloppeur trane une mauvaise image : travail
ennuyeux, mal pay, pas d'volution ou de carrire, est-ce une rali-
t ou une lgende urbaine ?
A.G. : J e crois que cest une lgende urbaine. Cela dit, si la question se
pose cest bien que certains le pensent : on nest pas toujours respon-
sable de son image. Travail ennuyeux : Ce serait quand mme un comble
pour des personnes qui font en gnral ce mtier par passion. On ne reste
pas un poste quon naime pas. Mal pay : Cest vrai que les salaires
franais sont plus bas que les salaires amricains. Mais toutes les
petites start-up ne peuvent pas verser le mme salaire que les gants du
logiciel. Il faut aussi savoir faire des sacrifices quand on croit un projet,
en faisant un pari sur lavenir : ceux qui crent leur start-up commencent
gnralement sans revenu et survivent avec leurs conomies jusqu ce
quils aient leurs premiers clients. Pas dvolution de carrire : Ceux qui
sont dans le mtier depuis 5 ou 10 ans ont des postes plus enviables que
les nouveaux arrivants. Encore une fois a dpend des entreprises.
On prsente le dveloppeur comme un artiste ou comme un simple
excutant, dans quelle catgorie vous classez-vous ?
A.G. : On est toujours un peu les deux. Cest vrai quon rve tous davoir
le droit de vie et de mort sur chaque ligne de code et de laisser libre
cours notre dlire cratif, mais derrire il y a des clients, des chefs de
projets, des investisseurs et on ne peut pas faire nimporte quoi.
Stphane Mery
Senior Manager Software Development
chez ILOG.
Programmez : Pensez-vous que le mtier de
dveloppeur a toujours mauvaise rputation ?
S.M. : Nous avons la chance de travailler dans
une socit dans laquelle le dveloppeur est valoris. Il doit avoir des
comptences leves, savoir travailler en quipe (internationale), tre
pluridisciplinaire, savoir communiquer. Les SSII ninvestissent pas tou-
jours sur les personnes, mais la situation est trs disparate selon len-
treprise. J ai limpression que cela change un peu, mme si dans les
coles, en France, la culture scientifique reste trs forte et linforma-
tique est souvent, encore, perue comme un outil. Peut-tre effective-
ment que le mtier na pas bonne presse. Mais on y arrive aussi par
passion, le dveloppeur ambitionne de devenir architecte.
Comment voyez-vous lvolution du mtier ?
S.M. : J e pense que le dveloppeur mono langage nexistera plus. Le
mtier a beaucoup volu vers la conception / codage en mme temps.
Rmi Baudot
Responsable de la Formation chez BEA
Programmez : le mtier de dveloppeur vous semble-
t-il ennuyeux aujourdhui ? A-t-il une volution ?
R.B. : Le mtier ne semble pas ennuyeux
mme sil na pas bonne presse. Quand on
commence le mtier comme dveloppeur J EE, on pourrait le trouver
plus fastidieux quavant car on est (sans doute) plus encadr, donc
moins libre. Est-ce nfaste ? Cela va peut-tre sclroser le dvelop-
peur. Mais il y a peut-tre besoin de moins de dveloppeurs de gnie
quauparavant. Nous avons notre disposition, par exemple, des fra-
meworks. Il y a aussi des volutions en bien. Le dveloppeur va plutt
avancer vers larchitecture.
On parle souvent des problmes de formation, de connaissance de
ltudiant du monde rel, quen est-il rellement ?
R.B. : J y suis sensible. Il y a un manque dadquation entre lcole et
lentreprise. Les jeunes diplms ne savent pas apprhender
le monde de lentreprise, notamment sur les tests, les perfor-
mances. On est toujours en retard, et il manque du temps pour
former le dveloppeur. On fait des mises en production chaud, do
de gros problmes par la suite On na pas pris le temps des tests,
de la validation.
La formation est-elle utilise pour pallier ces manques ?
R.B. : Elle reste encore assez restreinte. Les entreprises nhsitent pas
raccourcir les cycles. Elles attendent (souvent) que le dveloppeur
sauto-forme. Il faudrait faire un gros effort sur le dveloppement
On critique rgulirement le salaire du dveloppeur, quelle est
votre perception de la situation ?
R.B. : On pourrait peut tre faire un effort, il existe un gros turn-over,
je pense que le dveloppeur franais a intrt rester (en France)
mais en allant vers un niveau plus lev.
Comment le dveloppeur peut-il voluer ?
R.B. : Il lui faut beaucoup douverture. Un langage nest quun
langage (finalement). On peut passer de lun lautre sans trop de
difficult, il ne faut pas hsiter participer des forums, des
communauts, lire la presse spcialise pour dcouvrir, approfondir
de nouvelles choses. Le dveloppeur peut tre (et doit tre) force de
propositions surtout dans les nouvelles architectures. On a, on aura,
besoin de dveloppeurs mtiers.
42-43 22/08/2007 18:54 Page 42
TEMOIGNAGES
Des dangereux effets de bord
de la pense unique
Toujours plus sensible l'argument marketing et toujours moins rceptive l'argument technique,
l'informatique franaise se prpare un sombre avenir.
Programmez! fte
son numro 100 et
peut tre fier d' un
beau parcours.
Membre de l'quipe
du magazine et fier
de l'tre, je fte ga-
lement mes 25
annes de dveloppe-
ment free lance. Une occasion de penser un
long parcours et de me dire que j'ai eu beau-
coup de chance. J 'ai eu de la chance car j'ai
appris l'informatique un moment o la diver-
sit, le bon sens et le got pour l'efficacit
taient de mise. J 'ai eu la chance de bnficier
de l'exprience de gourous du dveloppement
au savoir-faire tendu. J 'ai eu la chance de me
former, tout au long de ce parcours, beau-
coup de technologies. Tout un contexte qui
m'a jusqu'ici permet de travailler avec beau-
coup d'indpendance.
Quand le marketing
touffe la technologie
Tel la peau de chagrin de Balzac, ce monde
informatique si riche que j'ai connu est en train
de se rduire, de disparatre. Car malheureu-
sement en France, c'est l'argument marketing
qui de plus en plus l'emporte et prime devant
l'argument technique. Adieu la diversit, adieu
le choix technologique pertinent. Il y a pourtant
des formations remarquables en France, mais
les laurats partent l'tranger valoriser leur
comptences. Car aujourd'hui quoi qu'il arrive,
quoi qu'il s'agisse de faire, on le fait en J ava.
Bien sr je pourrais dire C#, mais cela ne chan-
ge rien. On sait bien que C#=J ava.clone('win-
dows'). Alors je dis J ava par commodit.
Profitant de la monte en puissance d'Inter-
net, le marketing de J ava a fait mouche.
Voyons ce qu'il nous dit et pour marquer les
esprits, opposons lui un vnrable vieillard de
60 ans: Lisp. J ava est portable. Lisp aussi.
L'argument est mme ridicule car quel langage
antrieur J ava et non estampill Microsoft ne
s'est pas proccup de la portabilit ? J ava
est gnraliste. Lisp aussi. J ava est l'aise
sur le rseau. Lisp aussi. J ava gre la mmoire
et dispose d'un ramasse-miettes. Mc Carthy
avait dj dot son premier Lisp d'un ramasse-
miettes. J ava apporte la scurit. Lisp aussi.
J ava permet la programmation objet. Non seu-
lement Lisp la supporte mais il supporte tous
les paradigmes, et l o J ava est verbeux, Lisp
est incroyablement expressif. J ava est un stan-
dard ? Non. Par contre Lisp est standardis
ANSI. J e pourrais continuer l'infini une com-
paraison rellement accablante. Le matraqua-
ge marketing a russi faire croire le contraire,
mais J ava n'apporte aucune innovation relle,
mme en regard du vieux Lisp. J ava apporte
seulement la lourdeur, la non tenue la char-
ge, les dpassements de dlais de dveloppe-
ment et l'explosion des budgets. Pourtant Lisp
et son modle de dveloppement incrmental
conviendrait si bien pour le dveloppement
rapide ainsi qu' l'eXtreme Programming la
mode en ce moment. Le paradoxe est incom-
prhensible, mais force est de reconnatre que
le marketing a russi son coup: la pense
unique rgne et sans se poser de questions on
dveloppe avec J ava (ou C#).
A l'Est le danger
Mais fondamentalement, quel est le problme,
quel est le danger ? Pourquoi pas le tout J ava
aprs tout ? Le danger est l'Est. On a beau-
coup parl il n'y a pas si longtemps du danger
du plombier polonais. L'informaticien polonais
est tout aussi dangereux, sinon plus. J 'ai
appris rcemment qu' un dveloppement
industriel a t ralis en Haskell en Pologne.
Haskell... langage de pointe, peut tre d'ave-
nir, totalement ignor en France. Mais pas
dans ces pays o on l'apprend avidement et
tous azimuts. J e parle de l'informaticien polo-
nais pour la boutade, mais la Russie, l'Inde et
l'Est en gnral comptent de plus en plus d'in-
formaticiens remarquablement brillants et aux
champs de comptences trs tendus. Alors
que va-t-il se passer ? Est-il besoin de signaler
qu'Internet aidant, s'il est un univers sensible
la mondialisation, c'est bien celui de l'infor-
matique ? Ces gens de l'Est ont besoin de tra-
vailler et ils en sont capables. Surtout, ils
deviennent bien plus capables et efficaces
que nous. Quand plus personne ne saura faire
de programmation systme en France, eux
sauront. Quand plus personne ne saura crire
rapidement, avec le langage adapt, un code
concis et efficace, eux sauront. Et non seule-
ment ils sauront le faire, mais ils sauront le
faire des cots trs bas. Alors je voudrais
que cet instant de rflexion, l'occasion de
notre numro 100, aide rveiller l'informa-
tique franaise, ce que, autre paradoxe, l'over-
dose de caf ne parvient pas faire.
J 'encourage les techniciens passionns par
leur mtier de convaincre les dcideurs frileux.
Parce que si nous continuons ainsi de nous
endormir dans la routine, si nous continuons
oublier ce que nous avons su faire, l'informati-
cien polonais viendra nous piquer notre boulot.
Et ce n'est pas lui qui sera blmer.
Frdric Mazu
fmazue@programmez.com
Achetez les magazines,
les articles en PDF et abonnez-vous en ligne
www.programmez.com
BOUTIQUE BOUTIQUE BOUTIQUE BOUTIQUE
TECHNIQUE
Pourquoi utiliser AspectJ
et la programmation aspect ?
Web Toolkit
Pro
gram
m
ez!
Printed in France - Imprim en France -
BELGIQUE 6,45 - SUISSE 12 FS -
LUXEMBOURG 6,45 - Canada 8,95 $ CAN
DOM Surf 6,90 - TOM 940 XPF - MAROC 50 DH
Pro
gram
m
ez!
www.programmez.com
3
:HIKONB=^UZ^Z]:?
a@a@t@i@k;
M
4319 - 98 - F: 5,95 E
Mensuel - Juin 2007 - N98
LE MAGAZINE DU DVELOPPEMENT
WEB 2
Combiner Ajax et Java avec Telosys
OUTILS L'intgration continue avec CruiseControl
J AVA
L'usine dveloppement Spring PYTHON Django : le framework web tout faire C++
Crez vos interfaces Gnome
S
G
B
D
XUL
Avant-premire :
PHP 6
Les nouvelles fonctions, ce qui change, migrer de PHP 5 6
Comparatif : Quelle base de donnes, pour quels besoins ?
Les critres pour bien choisir - Une avalanche de nouveauts
Matriser la
plate-forme Mozilla
Confrence
MySQL :
En attendant la v 6
S
G
B
D
XUL
Matriser la
plate-forme Mozilla
Construire un composant "glisser-dposer"
TECHNIQUE
Pourquoi utiliser AspectJ
et la programmation aspect ?
Web Toolkit
Pro
gram
m
ez!
Printed in France - Imprim en France -
BELGIQUE 6,45 - SUISSE 12 FS -
LUXEMBOURG 6,45 - Canada 8,95 $ CAN
DOM Surf 6,90 - TOM 940 XPF - MAROC 50 DH
Pro
gram
m
ez!
www.programmez.com
3
:HIKONB=^UZ^Z]:?
a@a@t@i@k;
M
4319 - 98 - F: 5,95 E
Mensuel - Juin 2007 - N98
LE MAGAZINE DU DVELOPPEMENT
WEB 2
Combiner Ajax et Java avec Telosys
OUTILS L'intgration continue avec CruiseControl
J AVA
L'usine dveloppement Spring PYTHON Django : le framework web tout faire C++
Crez vos interfaces Gnome
S
G
B
D
XUL
Avant-premire :
PHP 6
Les nouvelles fonctions, ce qui change, migrer de PHP 5 6
Comparatif : Quelle base de donnes, pour quels besoins ?
Les critres pour bien choisir - Une avalanche de nouveauts
Matriser la
plate-forme Mozilla
Confrence
MySQL :
En attendant la v 6
S
G
B
D
XUL
Matriser la
plate-forme Mozilla
Construire un composant "glisser-dposer"
MTIER DAVENIR
42-43 22/08/2007 19:05 Page 43
Programmez! - N100 SEPTEMBRE 2007 44
Dossier
TRIBUNE LIBRE
Les ingnieurs en Informatique
ne veulent plus coder
V
ingt ans aupara-
vant, lordinateur
veillait des pas-
sions dans la tte des tudiants brillant en
mathmatiques. Dans les dpartements de
recherche, les uns soutenaient une thse sur
les bases de donnes relationnelles quand
les autres mettaient au point un nouveau
compilateur. Aujourdhui, cest un objet com-
mun, omniprsent. Lingnieur en informa-
tique nest plus un technophile ; est-ce la
faute aux nouveaux environnements de dve-
loppement haut niveau ? Internet ? La faute
aux SSII et loutsourcing ? Le dveloppeur
semble tre louvrier de demain : quelle tte
bien faite pourrait se passionner pour un
objet si banal lors de son choix de carrire
scientifique ? Pourtant la demande de vri-
tables ingnieurs est bien l.
Dans les annes 90, si on voulait faire com-
muniquer deux PC entre eux, il fallait (parfois)
crire la main le code dencapsulation du
message, programmer lalgorithme denvoi et
de rception, grer la synchronisation des soc-
kets et vrifier que la mmoire et la CPU
tenaient le choc. Aujourdhui, un simple com-
posant J ava EE ou .NET fait le travail pour
vous. Ces frameworks techniques ont allg la
charge du dveloppeur et acclr les temps
de dveloppement dun logiciel. En mme
temps, ils en ont diminu la complexit, le
codage devenant un assemblage de librairies,
mme sil est toujours ncessaire dassem-
bler les morceaux. Rsultat : plus besoin de
mettre les mains dans le cambouis, mme si
pour loptimisation et dans des cas particu-
liers, il faut tout de mme y aller. La program-
mation est devenue plus oriente mtier (celui
de lutilisateur, de lentreprise) grce aux lan-
gages objets dans un premier temps, puis
grce des environnements techniques prts-
-compiler qui vous dchargent des problma-
tiques daccs aux donnes (comme les outils
de mapping), de communication, etc. Dun
autre ct, avec larrive dInternet, on a rendu
plus accessible la programmation rudimentai-
re pour les pages web, mais attention, le dve-
loppement Internet reste complexe pour les
gros projets et des langages et technologies
de type Flex, J SP, J avascript Avec le blog,
mme plus besoin de coder : on se limite au
choix des images et des couleurs
Au niveau professionnel, Lingniosit se
retrouve alors dans la passerelle mtier-logi-
ciel et non plus dans la cration du logiciel lui-
mme. Do cette rcente vocation pour le
mtier de Matrise douvrage. Le MOA, comme
disent les SSII, cest celui qui comprend le
mtier de lutilisateur, du client, et lexplique
ensuite aux dveloppeurs. Ils parlent le mme
formalisme. Avant, lingnieur communiquait
avec son utilisateur final. Aujourdhui le MOA a
le beau rle : linformaticien na plus qu faire
du lego partir de plans prmchs ! Dans le
btiment, cest larchitecte et louvrier. Le
parallle devient de plus en plus flagrant
mesure que les projets grandissent et sorga-
nisent : chacun son mtier
On comprend aisment que notre future lite
rencle plonger dans les langages de pro-
grammation. Linformatique est vue comme un
mtier banal, mondialis et appris dans toutes
les langues. Il sort autant dingnieurs en
informatique chaque anne des coles
Indiennes quil y en a en exercice en France.
Devant ce fait, ltudiant en informatique en
France se demande quelle va tre sa place
demain dans lentreprise. O sont les postes
cls en phase avec ma formation ? " J ai pas
fait les classes prparatoires pour taper du
code toute la journe derrire un cran ! ".
Pourtant, dans des secteurs exigeants comme
celui de la Finance de marchs, la demande en
dveloppeurs na jamais t aussi forte.
Cap Fi Technology, socit de conseil informa-
tique spcialise en Finance de Marchs,
souffre particulirement de la pnurie de dve-
loppeurs : les banques doublent ou triplent
leurs effectifs afin davoir le systme dinfor-
mation le plus performant et le plus innovant :
architecture N-Tiers, tenue de portefeuille en
temps rel, ferme de serveurs pour le calcul
de risques Inutile de prciser quelles veu-
lent les meilleurs et que le niveau technique
des quipes informatiques doit flirter avec lex-
cellence. Or, en choisissant la Finance comme
secteur dactivit, un jeune ingnieur est dis-
pos taper du code pendant un an au mieux
afin dvoluer rapidement vers du manage-
ment ou de la matrise douvrage. Sil possde
des aptitudes communiquer, il peut passer
par le support utilisateur en salle de marchs
avant dvoluer. Nous ne parlerons mme pas
des ingnieurs ayant une bonne formation en
mathmatiques, comme lEnsimag (Ecole
Nationale Suprieure dIngnieurs de Math-
matiques appliques Grenoble) et qui veu-
lent tre directement traders !
Quy a-t-il de plus stimulant
intellectuellement : piloter
un avion bard dassistance
ou le concevoir ?
Loutsourcing nest pas un risque fort car la
connaissance du mtier est primordiale. Un
DSI sous-traitera aisment la mise en place
dun outil de reporting mais ne confiera jamais
son modle de donnes une socit ext-
rieure. De mme que la proximit utilisateur
est essentielle dans la russite dun projet
mtier : la preuve en est que la mthode de
gestion du dveloppement dite itrative, c'est-
-dire avec des cycles courts allers-retours
entre la conception du logiciel et le client final,
est en plein essor. Le mtier dinformaticien
doit retrouver ses lettres de noblesse. Dans
les entreprises dpendantes comme les
Banques dinvestissement, Lingnieur dtudes
et dveloppement, le MOE en langage SSII,
nest pas assis derrire son cran toute la jour-
ne. Il prend en charge la responsabilit dune
partie dun projet, de la comprhension mtier
la livraison et maintenance en production,
avec des objectifs de dlai, scurit, rapidit
dexcution et disponibilit, trs contraignants.
Il est la fois larchitecte, louvrier et lassu-
reur de son ouvrage. Cest un mtier qui
sadresse des ingnieurs : excellente forma-
tion technique sur les nouveaux langages, les
cycles de projets comme sur le mtier et la ges-
tion de la relation utilisateur. Seuls ceux qui se
saliront les mains pourront prtendre une
volution de carrire ascendante les mettant
labri du spectre du dveloppeur quadragnaire.
Rodolphe Bellenguez
Directeur Associ (co-fondateur)
Cap Fi Technology
44 expert 1p 22/08/2007 18:55 Page 44
Programmez! - N100 SEPTEMBRE 2007 45
Dossier
TMOIGNAGE
Il y a une vraie attente des utilisateurs pour
crer de nouvelles expriences innovantes
Ces treize dernires annes,
jai vu le mtier du dvelop-
pement se transformer de
manire assez significative.
Les points positifs
Nouveaux paradigmes et technologies :
procdural, objet, vnementiel, centralis,
distribu, client lourd et lger, serveurs
dapplications (.NET et J ava).
Richesse des ateliers de dveloppement et
dferlante de mthodologies (UML, Agile,
CMMI, RUP, Lean,)
Un besoin de proximit au mtier et une
demande constante de crativit
Le revers de la mdaille
Malgr la disponibilit dateliers de dveloppe-
ment trs productifs, les dveloppeurs ont de
plus en plus de mal maintenir leurs connais-
sances du fait de la complexit des technolo-
gies. Paralllement les utilisateurs continuent
leur demander plus de " time to market "
avec moins de budget. Le dveloppeur volue
dans un environnement fortement contrai-
gnant et en mouvement permanent, o la
seule constante est le changement !
Le dveloppeur a toujours en France une mau-
vaise image. Gnralement on tendance
trs peu valoriser lingnierie logicielle, mis
part certaines entreprises qui dveloppent
une vraie expertise dans le dveloppement
spcifique dapplications mtier. Ayant acquis
une relle expertise dans le dveloppement
faon, elles ont obtenu la reconnaissance et
du poids auprs de leur direction. Elles sont
classes dans les " Early adopter ".
En France, dvelopper et avoir 32 ans, cest
avoir rat sa carrire car le mtier est vu
comme une tape. Les dveloppeurs qui ont
plus de 40 ans, je les rencontre uniquement
sur des projets internationaux. Lexpertise se
paie, ils rayonnent et sont extrmement pro-
ductifs et pertinents.
Ce type de profil manque souvent sur nos pro-
jets et pourrait redorer le mtier auprs des
utilisateurs et des directions.
Un artiste ou un simple excutant ?
Un dveloppeur est un ingnieur et il se doit
dtre cratif et innovant car au quotidien son
travail est loin dtre rptitif. Dailleurs, je
pense quil faut renommer la fonction pour parler
de " concepteur dapplication " pour mettre
laccent sur le cratif et lexpertise. Il y a une
vraie attente des utilisateurs pour crer de
nouvelles expriences innovantes. J e classe
donc le dveloppeur dans la catgorie "Artiste".
J ajouterai galement que le mtier est en plei-
ne transformation. En effet, les DSI externali-
sent leurs quipes techniques et mettent en
place des processus dindustrialisation sur
toute la chane de fabrication des projets. Lin-
dustrialisation offre aux dveloppeurs les
outils et les moyens pour laider se focaliser
sur les tches forte valeur ajoute et optimi-
ser sa crativit : plus de mtier, moins de
complexit technique, moins de travail rpti-
tif, plus de qualit et plus de productivit !
Quelques conseils
Cest un mtier passionnant qui volue trs
vite et qui offre des opportunits de missions
dans divers mtiers. La conception dapplica-
tion est au cur des objectifs conomiques de
toute entreprise, ce qui induit automatique-
ment beaucoup de pression mais aussi beau-
coup dattente en terme dinnovation.
Linvestissement personnel est important et
doit tre anim par la passion afin de crer
une vraie expertise. Il faut donc prparer son
parcours en commenant par se fixer des
objectifs de carrire et tre conscient qu
terme, seuls subsisteront les mtiers tech-
niques de haut niveau et ceux qui imposent
une proximit aux clients. Tout ce qui relve du
dveloppement standard sans valeur ajoute
pour le cur de mtier est, ou sera rapide-
ment externalis dans les pays faible cot
ou/ et industrialis. Dailleurs, la plupart des
DSI se consacrent lamlioration des proces-
sus pour passer dune logique MOA / MOE
une logique purement service. Le dveloppeur
motiv nest pas prs de sennuyer, et pour les
bons, je leurs conseillerai de dbuter dans une
socit de services spcialise en dveloppe-
ment et en architecture (demander la part du
chiffre daffaires sur les projets au forfait et
les expertises est un excellent indicateur).
Pour la technologie, lexpertise .NET est trs
demande.
Pour conclure, la mobilit ltranger reste
une exprience trs positive et apprcie des
recruteurs. Essayez de trouver des missions
dans des projets internationaux ou alors expa-
triez-vous.
Zaak CHALAL
Fondateur de Red FabriQ,
cabinet dexpertise et de
conseil en architecture et
industrialisation des dvelop-
pements. Contact :
zaak.chalal@redfabriq.com
Linformation permanente

Lactude Programmez.com : le fil dinfo quotidien

La newsletter hebdo: la synthse des informations indispensables.


Abonnez-vous, cest gratuit !
www.programmez.com
MTIER DAVENIR
45 22/08/2007 19:06 Page 45
Programmez! - N100 SEPTEMBRE 2007 46
Spcial 100
Pionniersdu logiciel
Au risque d'en oublier quelques uns nous avons choisi ici de mettre les projecteurs sur quelques
pionniers majeurs du logiciel. Certains sont devenus clbres, dautres sont mconnus. Chacun de
ces acteurs a t l'origine d'une tape importante de l'histoire du logiciel ou de la programmation.
TomKilburn
Le 21 juin 1948, le
premier programme
dordinateur sex-
cute sur une
machine connue
comme "The Baby".
Son auteur, Tom
Kilburn a conu et
construit la
machine, aid en
cela par son
compre Freddie
Williams alors
quil prside
une chaire
lUniversit de
Manchester. Il a
dcouvert les possibilits de linformatique Cambridge durant la guer-
re alors quil avait t affect des activits lies llectronique. Au
cours des trois dcennies qui ont suivi, Kilburn a men les dveloppe-
ments dautres ordinateurs innovants luniversit de Manchester.
GraceHopper
Ne le 9 dcembre 1906 New York, a enseign les mathmatiques
avant de s'engager dans la Marine amricaine en 1943. Elle est alors
assigne l'quipe de Howard Aiken pour travailler sur lordinateur
Mark I de Harvard et sera la premire personne le programmer. la fin
de la guerre, elle contribue au dveloppement des gnrations sui-
vantes de Mark. Cest elle qui dcouvre un jour une panne due la pr-
sence dun petit insecte dans un circuit. Le premier " bug " a fait son
apparition ! En 1951, Grace Hopper a conu le premier compilateur de
lordinateur Univac. Six ans plus tard, alors quelle est employe par
IBM, elle prne lide dun langage de programmation proche de lan-
glais et ses recherches aboutissent au COBOL. Elle a disparu en 1992.
GaryKildall
En 1973, Gary Kildall professeur d'informatique
l'Ecole Navale de Monterey lit une trange
annonce : un micro-ordinateur pour 25 dollars !
Intrigu, il se procure un microprocesseur Intel.
Le fondeur lui propose alors de raliser un simu-
lateur du 8080 sur leur mini-ordinateur PDP-10.
Comme 70 kilomtres sparent son domicile
d'Intel, Kildall a lide dcrire un systme d'ex-
ploitation pour le 8080 : le CP/ M, qui laisse son commanditaire indiff-
rent. L'apparition des premiers PC est propice CP/ M. Kildall fonde
Digital Research en 1976 et son systme se retrouve sur des centaines
de milliers de machines.
En 1980, lorsquIBM rend visite Microsoft afin dacqurir CP/ M, Bill
Gates arrange un rendez-vous avec Kildall. Ce dernier dirige une socit
florissante et commet lerreur de traiter les membres du projet IBM PC
la lgre. Dpits, ils sen retournent voir Gates qui saisit la balle au
bond et produit MS-DOS !
En 1991, Kildall a vendu Digital Research Novell. Il a disparu 3 ans
plus tard.
Douglas Engelbart
Spcialiste des radars l'US Navy, Engelbart a
t le premier avoir l'ide de coupler un cran
vido un ordinateur ds 1950. En 1963, il ima-
gine un accessoire pour piloter les objets
l'cran, l'anctre de nos souris actuelles. Ds
1968, Engelbart prsente le premier prototype
d'environnement graphique / souris. C'est gale-
ment au sein de son quipe qu'a t tabli en
1969 l'ARPANET, qui a plus tard donn naissance Internet. Engelbart
n'a pourtant tir aucun parti de ses inventions et a sombr dans l'oubli
aprs 1976. partir de la fin des annes 80, de nombreuses organisa-
tions ont mis en avant le travail innovateur qu'il avait accompli.
AlanKay
Si la programmation oriente objet a vu le jour,
c'est grce aux travaux raliss par Alan Kay sur
Smalltalk lorsqu'il oprait dans les centres de
recherches de Xerox au PARC (il y entra en
1970). Kay a cr le premier prototype d'ordina-
teur portable, le Dynabook (1972).
Kay rentre chez Atari en 1980 et rejoint Apple en
1984. Sil nest pas un dveloppeur n, il devient
une des ttes pensantes de la recherche dApple et sera un des Apple
Fellow de la Pomme au sein de lATG (Advanced Technology Group) jus-
qu sa fermeture.
Bill Gates
Passionn dinformatique ds son plus jeune
ge, Gates dsaronne les adultes par ses capa-
cits intellectuelles. Lorsque lAltair, le tout pre-
mier micro-ordinateur, est annonc la fin 1974,
il en crit le BASIC depuis luniversit dHarvard
et son langage tourne ds le premier essai. Il
cre alors avec son ami Paul Allen la socit
Le premier programme
46-51 pionier 22/08/2007 19:07 Page 46
Programmez! - N100 SEPTEMBRE 2007 47
PROGRAMMATION LINUX
Microsoft qui diffuse un BASIC tous les constructeurs de PC. Lorsque
IBM se met la recherche dun systme dexploitation pour son propre
PC, Gates parvient imposer un MS-DOS quil a rachet une petite
socit de sa ville natale, Seattle, et qui est alors adapt dans des
conditions dantesques la machine dIBM.
Une fois le MS-DOS prsent sur lIBM PC, Gates entreprend de le vendre
tous les constructeurs de compatibles PC. Il met ainsi en place une
extraordinaire vache lait puisque chaque PC vendu fait entrer des dol-
lars chez Microsoft ! Durant les annes 80, Gates bataille seul contre
tous pour imposer son systme graphique Windows dont personne ne
semble vouloir.
Lorsque la version 3.0 de Windows apparat en mai 1990, il simpose
de lui-mme et comme Microsoft est le seul diteur disposer dappli-
cations professionnelles comme Word et Excel, il devient lditeur n1
mondial, distanant ses concurrents sans espoir de retour dans la
foule, Gates devient lhomme le plus riche du monde.
Le procs de 1998 pour " abus de position dominante " a quelque peu
terni limage du gnie du logiciel. Gates sest rcemment refait une
rputation en consacrant une partie de sa fortune des actions philan-
thropiques.
SteveWozniak
Cest en 1970 que J obs a
fait la connaissance de ce
barbu surdou, de cinq
ans son an. Le coup de
foudre a t immdiat
pour cet ingnieur polo-
nais, expert ses heures
du piratage tlphonique.
Wozniak fait ses pre-
mires armes en 1974 en
crant une copie de Pong, difficilement commercialisable : la mention
" M... alors ! " apparat lorsque le joueur rate son coup. Comme Wozniak
adore les jeux, J obs qui suit un stage chez Atari linvite venir jouer gra-
tuitement durant la nuit.
Il demande bientt " Woz " sil saurait raliser un jeu : le Casse-brique.
Le zl barbu le conoit en quatre nuits de travail !
Wozniak entre par la suite chez HP mais assiste tout comme J obs
maintes runions de passionns de micro-informatique. Ayant dnich
un lot de microprocesseurs bon march, il entreprend de concevoir sa
propre machine, l'Apple 1 et J obs persuade une boutique d'en comman-
der une cinquantaine. Wozniak sattelle ensuite la ralisation dun
micro-ordinateur qui trancherait avec le bricolage de lpoque.
Prsent au printemps 1977, l'Apple 2 devient le premier succs de la
micro-informatique et un ordinateur mythique pour de nombreux dve-
loppeurs.
En 1980, lentre en Bourse dApple fait de Wozniak, comme de son
compre, des millionnaires. Pourtant, " Woz " se dsolidarise du projet
Macintosh cher J obs.
Dgot de voir cet ordinateur accaparer l'essentiel de lattention
mdiatique, il dmissionne dApple en 1985.
Il va essentiellement soccuper dactions caritatives dans le domaine de
l'ducation, mme sil continue garder un il sur les nouvelles tech-
nologies et donner son avis.
DanBricklin
En 1977, Dan a 26 ans et pour une raison obs-
cure, est persuad que sa profession - pro-
grammeur - est en voie de disparition. Il dcide
de se frotter au monde des affaires et entre-
prend Harvard un cursus sur l'administration
des entreprises. Au cours de ses travaux pra-
tiques, Dan Bricklin ralise qu'il perd un temps
considrable effectuer le calcul de simula-
tions financires. Il dcide donc de concevoir un logiciel ad hoc. Sur
l'Apple 2 que lui prte un professeur, il dveloppe les bases de Visi-
Calc, et ce faisant, invente le concept du tableur. VisiCalc program-
me sort en octobre 1977. Dans une lettre d' information,
linvestisseur Ben Rosen fait l'loge de VisiCalc et Son article a un
effet immdiat : plusieurs entreprises commandent des dizaines
d'exemplaires. Trs vite, son impact sur les ventes de lApple 2 est
majeur. Le premier logiciel best-seller de la micro-informatique est
n. Au cours des annes 90, Bricklin a explor le domaine de lcri-
ture manuscrite sur ordinateur. Il dirige aujourdhui une petite dition
de logiciel, Software Gardens.
Bill Atkinson
Employ d'Apple de la premire heure (1978),
Atkinson compte au moins quatre faits de gloi-
re son actif : QuickDraw (la partie graphique
du MacOS originel), MacPaint (un outil de des-
sin rvolutionnaire lors de la sortie en 1984),
HyperCard (un outil de programmation la por-
te de tous - 1987) HyperCard est considr
comme le premier environnement de dvelop-
pement graphique. Le quatrime n'est pas le moindre : Atkinson est
l'un des deux ingnieurs qui a persuad Steve J obs d'aller chez
Xerox voir les dveloppements raliss dans les laboratoires de
recherche du PARC c'est la suite de cette visite que J obs s'est
lanc fond dans le projet Macintosh. J obs ira PARC grce aussi
la persvrance de J eff Raskin, le vritable pre du Macintosh
(dcd le 26 fvrier 2005). J eff Raskin fut un des " thoriciens " de
linterface graphique, notamment grce son livre The Human Inter-
faceI. En 1990, Atkinson a cofond General Magic, mais la socit
n'a pas rencontr le succs. Il est depuis devenu photographe.
ShigeruMiyamoto
Nintendo a eu la chance de recruter en 1977,
presque par hasard, lun de ces surdous que
les sicles prodiguent au compte-gouttes. Avec
son air ahuri et son sentiment de dcalage, Shi-
geru Miyamoto ressemblait bien des anticon-
formistes de son poque. Lartiste maison va
pourtant crer le plus grand hit du jeu vido,
Super Mario (1985) 193 millions dunits.
Lorfvre Miyamoto a manifest un don inaltr transcender les tech-
nologies de son temps. En 1998, apparat le nouveau chef d'uvre de
celui qui est devenu quadragnaire : Zelda, The Ocarina of Time dgage
une extraordinaire magie et se voit saluer comme " le plus beau du
monde ". la tte dune quipe de 400 personnes, Miyamoto continue
de superviser plusieurs projets en parallle chez Nintendo.
L
o
u
i
s

F
a
b
i
a
n

B
a
c
h
r
a
c
h
46-51 pionier 22/08/2007 19:07 Page 47
Programmez! - N100 SEPTEMBRE 2007 48
Spcial 100
MitchKapor et JonathanSachs
Mitch Kapor est g de trente-deux ans lorsqu'il
fonde Lotus. Passionn de rock psychdlique, il
a successivement t disc-jockey et professeur
de mditation transcendantale. En 1977, il a
dcouvert la micro-informatique et vendu sa cha-
ne stro afin de faire l'emplette d'un Apple 2. Il
a ensuite ralis des logiciels pour Personal Soft-
ware qui dite le tableur Visicalc.
En 1981, suite la sortie de lIBM PC, Kapor estime qu'il faut dvelop-
per de toute urgence le VisiCalc de cette machine. Son tableur aura un
atout supplmentaire : il permettra de traduire les chiffres en gra-
phiques. Il reste confier l'criture du programme un dveloppeur de
talent. Kapor le repre bientt : J onathan Sachs est un personnage reti-
r, dont le plaisir essentiel consiste se retrouver devant un cran et de
programmer. Leur logiciel est baptis 1-2-3 du fait qu'il offre trois ser-
vices : tableur, graphiques et gestion de fichiers.
Kapor cre la socit Lotus en avril 1982 et contacte linvestisseur Ben
Rosen en vue dun lancement consquent. Plusieurs millions de dollars
sont consacrs la promotion de 1-2-3 auprs des entreprises. Lotus
prsente son tableur au Comdex de Las Vegas en novembre 1982 et en
l'espace de quelques jours, reoit pour plus d'un million de dollars de
commandes. Trois mois aprs sa sortie le 26 janvier 1983, 1-2-3 dtr-
ne VisiCalc la tte du hit-parade des ventes et devient le premier best-
seller de lIBM PC. Il va demeurer en tte des charts jusquen 1989 !
Kapor quitte la prsidence Lotus en 1986. Il va concevoir un autre logi-
ciel, Agenda, puis diversifier ses activits. Il a par la suite cofond lElec-
tronic Frontier Foundation qui travaille dfendre le droit la vie prive
et sest fortement impliqu dans lOpen Source.
Alexei Pajitnov
Cest en 1985 lAcadmie des Sciences de Moscou que le camarade
Pajitnov a dvelopp son infernal casse-tte. Il officie alors dans un
vtuste local o sentassent les chercheurs - il faut attendre des heures
avant de pouvoir utiliser lordinateur de linstitut. Au bout de quelques
semaines, on joue Tetris dans le moindre des instituts disposant dun
ordinateur Moscou et Pajitnov rve de faire publier son jeu dans le
reste du monde. Pas facile " Vous ne pouvez imaginer comment tait
la Russie cette poque. J ai donc dit mon boss de maider publier
Tetris et que je nexigeais aucune contrepartie "
Un agent britannique dcouvre
Tetris au cours dune visite
Budapest. Pour en obtenir les
droits, il adresse fax sur fax
lAcadmie des Sciences et
reoit un jour un tlex favorable.
Sans attendre, il vend Tetris
une filiale de Maxwell, un grou-
pe de presse britannique.
Tetris est un succs immdiat
dans le monde occidental o il se rpand comme une trane de poudre
ds la fin 1987. Hlas, Pajitnov ne peroit pas un centime sur les
ventes : lAcadmie des Sciences empoche tous les revenus lis
Tetris ! En 1989, Nintendo sapprte lancer la Game Boy. Son prsi-
dent Yamauchi dcide quil faut une version de Tetris pour cette console
de poche. Un agent oprant pour le compte de Nintendo se rend Mos-
cou, et propose lAcadmie des Sciences une offre comme il ne sen
refuse pas ! Maxwell intente un procs Nintendo et la bataille juridique
se prolonge durant plusieurs annes. Lors dune rencontre avec Gorba-
chev, Robert Maxwell va jusqu' demander que le prsident russe inter-
vienne pour casser le contrat avec Nintendo ! Sans succs.
Tetris fait exploser les ventes de la Game Boy et Pajitnov ne touche tou-
jours pas un kopeck sur ces millions de cartouches. Il faudra attendre
1996 pour que Pajitnov, qui a migr en Amrique et trouv un emploi
chez Microsoft, puisse enfin percevoir des droits sur Tetris !
PhilippeKahn
Il est difficile de faire la part des choses entre la
lgende et la ralit, au sujet de ce grand hbleur
qu'tait Kahn dans les annes 80. Cet ancien
professeur de mathmatiques Grenoble racon-
tait volontiers qu'il avait dcroch l'un de ses
contrats en faisant patienter plusieurs heures un
prospect tandis qu'il faisait semblant, de son
bureau, de rpondre toutes sortes de com-
mandes Ce qui est certain, c'est que Kahn a russi avec son Turbo
Pascal conu avec brio par sa socit Borland sise en Californie crer
le langage de programmation le plus populaire au milieu des annes 80.
Dans la foule, Borland ralise d'autres logiciels de qualit dont la base
de donnes Paradox et le tableur Quattro. Le rachat en 1991 de l'diteur
Ashton-Tate, diteur de dBase sonne toutefois le glas pour Borland, qui
accuse alors de lourdes pertes. En 1994, Kahn cre une nouvelle soci-
t, Starfish, qui invente le camraphone. En 2003, il a fond Fullpower
avec une spcialisation dans les technologies miniatures et sans fil.
RayOzzie
C'est avec un logiciel complexe et dpourvu de
toute ergonomie que Ray Ozzie a fait ses
preuves : Symphony qui sort chez Lotus en 1984
connat tout de mme quelques belles ventes
dans le sillage du best-seller 1-2-3.
Ozzie se rattrapera quelques annes plus tard en
ralisant Lotus Notes, un logiciel majeur de tra-
vail en groupe qui va sduire 120 millions d'utili-
sateurs. Il cre ensuite la socit Groove Networks, qui commercialise
un produit similaire Notes visant faciliter la collaboration au sein de
petits groupes. Aprs le rachat de cette socit par Microsoft, Ozzie
rejoint lditeur au poste de Chief Software Architect un poste aupa-
ravant tenu par Bill Gates lui-mme.
JohnCarmack
J ohn Carmack voque un premier de la classe
avec ses cheveux blonds impeccablement coif-
fs et ses lunettes. Signe particulier : il na de
cesse de se fixer des objectifs techniques en
apparence insurmontables et de les rsoudre
cote que cote. Vers la fin des annes 80, il fait
la connaissance de deux compres dont un
dnomm J ohn Romero. Ensemble, ils fondent id
Software en fvrier 1991, en Louisiane. Mai 1992 voit lentit produire
son premier jeu de tir avec vue subjective, Wolfenstein 3D. Ils dcident
46-51 pionier 22/08/2007 19:08 Page 48
Programmez! - N100 SEPTEMBRE 2007 49
PROGRAMMATION LINUX
dadopter le principe dune diffusion en shareware : l'dition propose un
niveau gratuit et les joueurs allchs peuvent acqurir les autres.
Pour Doom, Carmack invente un moteur graphique rvolutionnaire qui
donne l'impression de se dplacer en temps rel dans un dcor 3D, une
prouesse avec les ordinateurs de l'poque. Le 10 dcembre 1993,
Doom est envoy sur plusieurs sites de tlchargement, id Software
appliquant le mme modle de diffusion. Immdiatement, les serveurs
sont saturs de demandes et Doom devient un phnomne grande
chelle, d'autant qu'il est possible d'y jouer en rseau.
The Economist va saluer l'innovation dId Software en matire de distri-
bution. Id Software poursuit avec un autre hit, Quake, qui amplifie les
possibilits de jeu sur Internet. Carmack s'intresse prsent aux
fuses et aux vols spatiaux.
Linus Torvalds
Cest en 1991 que Linus Torvalds, un tudiant
sudois vivant Helsinki et alors g de 21 ans,
a dvelopp la base du systme Linux en sinspi-
rant du systme Unix. Il choisit de le diffuser sur
Internet et propose tout programmeur qui en
aurait le dsir de collaborer son amlioration.
sa grande surprise, il est submerg par les
rponses de participants.
Ds 1995, Linux commence prendre son essor. Des socits prives
telles que Red Hat ou Caldera semparent du phnomne et proposent
des versions de Linux plus adaptes une large diffusion. Vers la fin
des annes 90, Linux est devenu le systme dexploitation utilis sur un
bon tiers des sites Web.
Lorigine de la mascotte, le pingouin (Tux), est obscure. Torvalds a pro-
pos plusieurs versions, la plus drle tant relative au fait quil aurait
t mordu par un pingouin alors quil se trouvait en Australie, au zoo de
Canberra : " Ce pingouin froce ma transmis une maladie peu connue,
appele la "pingouinite", laquelle a pour effet de vous maintenir veill
durant des nuits entires penser aux pingouins tout en ressentant une
grande affection leur gard. "
Torvalds vit aujourd'hui aux USA et travaille pour l'Open Source Develop-
ment Lab. En 2006, Time Magazine l'a dsign parmi les personnages
ayant rvolutionn les 60 dernires annes aux cts des Beatles,
Mikhail Gorbachev ou J .K Rowling alors que Gates comme J obs
n'taient pas cits.
TimBerners-Lee
Si le destin dInternet a bascul, c'est parce
qu'en 1991, Tim Berners-Lee, un informaticien
du CERN en Suisse a dvelopp le World Wide
Web - ou "toile d'araigne mondiale". Grce ce
systme, il est devenu possible de crer ais-
ment des pages dinformations, et de crer des
liens entre divers serveurs dInternet.
Ds son apparition, la communaut Internet
accueille le World Wide Web (www) avec le plus vif intrt. Les principaux
serveurs dcident dsormais de prsenter dsormais leurs informa-
tions sous forme de pages crites dans le langage HTML de Berners-
Lee. Ds 1993, le Web devient un phnomne grand public.
Fin 1994, Berners-Lee est entr au MIT de Boston et a supervis
diverses volutions du Web.
Marc Andresseen
Nous sommes la fin 1992 et le Web vient tout
juste d'apparatre. Pour qu'il puisse sduire le
grand public, il manque un logiciel permettant de
naviguer simplement. Linitiative est prise par un
tudiant blond de 21 ans du NCSA dont le nom
trahit des origines scandinaves.
Aid de cinq autres programmeurs, Andreessen
consacre 8 semaines la cration de Mosaic.
Prt en janvier 1993, le logiciel est plac en diffusion gratuite sur le ser-
veur de la NCSA. Un phnomne de bouche oreille se dveloppe alors.
Le 8 dcembre 93, le New York Times estime que Mosaic est " lappli-
cation irrsistible tant attendue pour Internet ".
Marc Andreessen reoit alors un E-mail de J im Clark, ancien fondateur
de Silicon Graphics... Clark dsire que le programmeur cre une version
commerciale de Mosaic. Prt en septembre 1994, le nouveau logiciel
est baptis Netscape. Son succs est immdiat : en quelques mois, il
simpose comme le logiciel de choix pour surfer sur le Web. Le 8 aot
1995, lentre de Netscape la bourse de New York se traduit par une
demande frntique. C'est la premire start-up succs ne avec le
Web. L'arrive d'Internet Explorer de Microsoft stoppe l'essor de Nets-
cape qui a t acquis par AOL en 1998 puis abandonn. Andreessen a
depuis contribu plusieurs projets lis au Web, dont une plate-forme
de cration de rseaux sociaux.
James Gosling
Vers la fin des annes 80, une petite division de
Sun dirige par le canadien J ames Gosling tra-
vaille sur un projet de dcodeur pour la tlvision
numrique. De ces rflexions nat un langage de
programmation baptis J ava, du nom d'une vari-
t de caf apprcie par les chercheurs de Sun.
Le dcodeur ne voit pas le jour. En revanche, vers
1995, J ava apparat bien adapt Internet : en
dopant les pages Web de mini-applications, il devient possible de les
enrichir avec des animations, des sons, de l'interactivit... J ava s'est
rapidement impos comme un langage " universel " en quelques
annes, capable de rendre les applications indpendantes du systme.
En 1981, J ames conoit le premier diteur EMACS fonctionnant sur
Unix, le Gosling Emacs. J ames fut aussi la fin des annes 1980, lar-
chitecte de NeWS (Network extensible Window System), un systme
multi fentre dvelopp chez Sun.
RichardStallman(ouRMS)
Ds 1984, Stallman, avec son allure d'indcrot-
table hippie entame sa longue qute en faveur
du logiciel libre. C'est la suite de ses efforts
que vont natre des systmes tels que
GNU/ Linux (n en 1991 avec lutilisation du
noyau Linux), aujourd' hui utiliss par des
dizaines de millions d'utilisateurs. Cest lui qui
initie en 1985 un mouvement pour la cration
dun systme dexploitation libre appel GNU, compatible Unix puis cre
dans la foule la Free Software Foundation afin d'aider au financement
de logiciels dont le code source est rendu public. Stallman est aussi,
noublions pas, un dveloppeur. En juin 1971, il rejoint le laboratoire
46-51 pionier 22/08/2007 19:09 Page 49
Programmez! - N100 SEPTEMBRE 2007 50
Spcial 100
PROGRAMMATION LINUX
dintelligence artificielle du MIT et devient un membre de la communau-
t du hacking. Cest lui qui dveloppa en 1975 lditeur EMACS. Stall-
man part rgulirement en croisade pour dnoncer les dangers qu'il dit
percevoir dans les mcanismes de scurit avancs de Windows Vista
ou les lois restreignant la libre copie de chansons ou films protgs par
le droit d'auteur.
Rasmus Lerdorf
Lerdorf est n au Danemark mais a effectu ses
tudes au Qubec. En 1993, alors que le Web
prend son essor, il dveloppe son propre site afin
de prsenter son CV de programmeur. Dsirant
contourner les limitations du HTML, il met au
point quelques fonctions crites en C. Afin de
pouvoir y faire appel, il a l'ide de les inclure
dans des balises spciales entoures avec les
mention <? et ?>. PHP voit ainsi le jour vers novembre 1993. Intrigus,
d'autres Webmasters contactent Rasmsus afin de savoir comment il a
procd. En fvrier 1994, il publie la premire version de Personal
Home Page - PHP 1.0. Peu aprs, Rasmus dcroche un emploi l'uni-
versit de Toronto et peut ainsi faire voluer PHP, en y intgrant des
structures de programmation plus avances : boucles, intgration de
formulaires, support SQL... L'effort d'une communaut de dvelop-
peurs permet de produire les versions ultrieures de ce langage qui
devient la norme la plus rpandue en matire de dveloppement de
sites Web "dynamiques". Depuis 2002, Lerdorf est employ comme
ingnieur par Yahoo!.
Will Wright
On lui a souvent dit non, et l'His-
toire lui a chaque fois donn
raison. Gnie des mathma-
tiques, Will Wright avait d'abord
eu l'ide de Sim City, simulation
de gestion d' une ville, ds
1987. Son ide tait si originale
quaucun diteur ne voulait le
publier. Sim City a finalement
t publi par Maxis en 1989 et
a immdiatement rencontr un
succs mondial !
En 1991, Wright rcidive avec
une nouvelle ide brillante, les
Sims qui simulent prsent la vie quotidienne d'une personne sous tous
ses angles : amis, famille, profession, etc. Cette fois, la traverse du
dsert est plus longue; chaque runion marketing, Wright s'entend dire
que personne ne voudra jamais jouer cela !
Par chance, Electronic Arts rachte Maxis en 1997 et un franais, Luc
Barthelet, dcouvre alors le potentiel des Sims. Il donne alors les cou-
des franches ce drle d'individu passionn d'Intelligence Artificielle
il adore construire des robots. Les Sims sort en fvrier 2000 et
depuis, bat record sur record, ne quittant presque jamais le Top 10 des
ventes. Les diverses versions et extensions ont dpass les 80 millions
d'exemplaires. Wright est reparti depuis belle lurette sur un projet plus
fou encore, appel, Spore et visant simuler la cration progressive
d'un univers entier partir d'une simple particule !
Hans Moravec
Professeur de robotique Carnegie Mellon, Moravec s'est distingu en
prsentant en 1980 le premier prototype de robot mobile pilot par ordi-
nateur, capable de ngocier des obstacles non dtermins. Il s'est dis-
tingu par ses prdictions extravagantes sur la vie artificielle, allant
jusqu' prtendre que les robots pourraient un jour tre dots d'une
intelligence volutive. Depuis 2003, Moravec a fond une Seegrid, une
entreprise de robotique visant au dveloppement de robots totalement
autonomes.
LarryPageet SergeyBrin
Au printemps 1995, au campus
de Stanford, l'lve Sergey Brin
fait visiter les lieux un tu-
diant timide, Larry Page. Ces
deux surdous ne savent pas
encore qu' partir de 1996, ils
vont s'attaquer un problme
faramineux : crer un moteur de
recherches surpassant ceux qui existent alors. Un de leurs professeurs
leur souffle la piste suivre : tenir compte de la popularit d'un site en
fonction des liens qui pointent vers lui. PageRank voit ainsi le jour.
Les deux garons crent la socit Google en septembre 1998, avant
tout pour pouvoir encaisser le chque d'un professeur d'informatique
dsirant soutenir leur projet. Peu intresss par la russite financire,
Page et Brin continuent de se comporter comme d'ternels tudiants,
volontiers frondeurs. Entre temps, les consultations du moteur de
recherche s'envolent et les deux investisseurs de Google les persua-
dent tant bien que mal de la ncessi-
t d'embaucher un gestionnaire pur
et dur, qui sera Eric Schmidt, dbau-
ch de Novell.
L'insertion des liens publicitaires avec vente aux enchres des mots-
cls et une formule mathmatique complexe comme en raffolent ces
deux ingnieurs reprsente le deuxime tage de la fuse. Les reve-
nus de Google montent en flche et l'entre en Bourse d'aot 2004 est
triomphale. Ds l'anne 2006, Page et Brin sont entrs dans le Top 30
des hommes les plus riches du monde.
Janus Friis
et Niklas Zennstrom
KaZaa et Skype... Le danois
Friis et le sudois Zenns-
trom peuvent se targuer
d'avoir t l'origine de
deux des grands phno-
mnes en matire de logi-
ciels, avec une constante :
le P2P. Apparu en mars 2000, le trs controvers KaZaa serait le pro-
gramme le plus tlcharg du Web (370 millions de fois). Apparu en
2003, Skype est pour sa part devenue l'application de tlphonie sur IP
la plus populaire d'Internet. C'est
dire si la nouvelle aventure des deux
scandinaves, J oost, (tlvision sur
Internet) est suivie avec intrt.
Daniel Ichbiah
46-51 pionier 22/08/2007 19:15 Page 50
46-51 pionier 22/08/2007 19:23 Page 51
Programmez! - N100 SEPTEMBRE 2007 52
Spcial 100
Le Top 100des diteurs franais
Top 100 des Editeurs Franais (en M) (1)(2)(4)
Rang Socit CA CA CA
Edition Edition Total (3)
Monde France
1 Dassault Systemes 991 102 1180
2 Business Objects 843 76 1000
3 GLTrade 147 24 185
4 Atos Origin 133 10 5397
5 Cegid 128 124 228
6 Sopra Group 125 74 898
7 GFI Informatique 99 62 633
8 Ilog 83 24 145
9 Bull 75 15 1146
10 Linedata Services 67 15 148
11 Cegedim 66 56 540
12 Avanquest 65 8 74
13 Lectra Systemes 61 6 216
14 Esi Group 53 9 66
15 Cartesis (Business Objects) 52 29 92
16 Alcatel Genesys 44 10 145
17 Infovista 33 15 41
18 Viveo Finance 31 27 54
19 Capgemini 30 0 7700
20 Berger Levrault (Magnus) 29 29 53
21 Isagri 24 23 36
22 Xrt-CergFinance 23 14 33
23 Esker 21 3 25
24 EBP 21 19 24
25 Ares 20 20 433
26 Cast 19 9 23
27 Meta4 19 3 35
28 Fiducial Informatique 19 19 40
29 Pharmagest 19 19 67
30 Generix / Influe 18 15 45
31 Sab Ingnierie 18 15 27
32 Jvs Groupe 17 17 25
33 Coheris 16 14 32
34 Orsyp 16 9 24
35 IGE +XAO 15 10 20
36 4D 15 4 16
37 Prologue Software 15 8 28
38 Genapi 15 15 30
39 PC Soft 14 11 17
40 Cegi 13 13 86
41 InfologSolutions (DL Consultants) 13 11 21
42 Ever Team 12 10 16
43 Missler 12 8 25
44 Mega International 12 7 22
45 Cylande 12 7 22
46 Fininfo 11 11 138
47 Planisware 11 7 17
48 Itesoft 11 8 17
49 Agrostar 11 11 40
50 Ordirope 10 10 15
Top 100 des Editeurs Franais (en M) (1)(2)(4)
Rang Socit CA CA CA
Edition Edition Total (3)
Monde France
51 Silicomp 10 10 124
52 Horoquartz 10 10 25
53 Jouve 9 7 100
54 Harvest 9 9 10
55 Civitas 9 9 13
56 Corys Tess 9 6 16
57 Sigma 9 9 43
58 Staff and line 8 6 11
59 Dimo Gestion 8 8 12
60 Systar 8 8 16
61 A2iA 8 5 9
62 Esterel Technologies 8 6 12
63 VIF (vignon informatique) 8 7 11
64 Lefebvre Software 8 8 19
65 Medasys 8 7 12
66 Bodet 8 4 44
67 Axemble 7 7 22
68 Business Document 7 5 9
69 Lascom 6 6 10
70 Infologic 6 6 11
71 Spiral Group 6 5 15
72 Calystne & Mdiane 6 6 6
73 SIS 6 6 10
74 Qualiac 6 5 11
75 Sefas Innovation 6 2 9
76 Proginov 6 6 12
77 Infotel 6 5 70
78 Divalto (Interlogiciel) 6 6 7
79 Sylogis.com 5 5 8
80 Hardis 5 5 34
81 Access Commerce 5 5 9
82 Api Soft 5 5 6
83 IdealX 5 5 8
84 Silverprod 5 5 6
85 SNEDA 5 5 11
86 Sword 5 5 142
87 Winsoft 5 5 20
88 PS Soft 5 3 5
89 As Groupe 5 5 8
90 Fimasys 5 2 11
91 W4 5 4 5
92 ACA 5 5 12
93 Groupe DP Logiciels (H2I,Krier) 5 5 8
94 Asterop 4 4 5
95 Cassiopae (ex Orfi) 4 4 11
96 Siveco 4 4 7
97 Ciril SA 4 4 12
98 Digitech 4 4 7
99 AS Infor (Cegid) 4 4 7
100 Sinequa 4 3 4
I
l indique que le march fran-
ais des logiciels est le troi-
sime march europen, der-
rire lAllemagne et le Royaume-
Uni. Il pse plus de 8 200 M, en
croissance de plus de 5%. Les
outils reprsentent 25%, les pro-
giciels applicatifs 55%, et les
systmes 20%. LIndice fournit un
panorama dtaill de la position
des diteurs franais et trangers
sur les marchs franais et euro-
pen. Les 100 premiers diteurs
totalisent plus de 3 900 M (di-
tion seule, hors services), en pro-
gression de 12% par rapport
2005. Mais le march reste domi-
n par les amricains (63%),
comme le dmontre le " Top 150
des diteurs sur le march fran-
ais ", toutes nationalits confon-
dues. Le numro 1, Microsoft, a
un CA franais qui reprsente 12
fois celui du premier franais,
Dassault. Celui-ci figure au 10e
rang du Top 150.
Les 10 leaders internationaux
figurent dans lencadr ci-dessous.
J ean Kaminsky
CA dition logiciels en France
10Microsoft (US) 1244 M
20IBM (US) 545 M
30Oracle (US) 340 M
00
(et socits rachetes)
40SAP (Allemagne) 266 M
50Sage (UK) 227 M
60HP (US) 147 M
70Symantec
(incl. Veritas, US) 130 M
80Cegid (FR) 124 M
90EMC (US) 108 M
10 Dassault
Systemes(FR) 102 M
LAssociation Franaise Des Editeurs de Logiciels (AFDEL),en partenariat avec linstitut Pierre Audoin
Conseils a rendu public en juin son Indice PAC/AFDEL.
(1) Activit produits logiciels, logiciels systmes et d'infrastructures, outils.
(2) Ce classement repose sur les chiffres d'affaires produits (CA Licences +CA Maintenance et Support).
(3) CA Produits +Services.
(4) Les chiffres prsents sont des estimations de Pierre Audoin Consultants et n'ont pas t valids par les socits.
52-60 outils 22/08/2007 19:24 Page 52
Programmez! - N100 SEPTEMBRE 2007 53
Quand on parle outillage, chaque dveloppeur btit souvent son propre environnement avec des outils
commerciaux et/ou open source. Et le choix se rvle immense quel que soit le domaine. Pour ce 100
e
numro,nous vous proposons une slection de 100 outils commerciaux,open source,connus,mconnus,
dans tous les domaines, parmi lesquels il fut souvent difficile de choisir ! Impossible dtre exhaustif.
Dsol pour les absents de la liste. Consultez sur le site programmez.com notre guide des logiciels !
Les
100
outils
incontournables
TEST
.Test Parasoft
Loutil .Test reprsente le pendant de J test
(J ava) pour .Net de lditeur Parasoft. Il suppor-
te Nunit. Il sagit dun outil dautomatisation
des tests unitaires et danalyse de code. On
automatise la gnration et lexcution des
tests. Surtout, on vrifie votre code selon 500
rgles standard de dveloppement et on auto
corrige les erreurs dcouvertes selon 200
rgles de violations.
XML
< oxygen / > SyncRO Soft Ltd
diteur XML et debuggeur XSLT. Supporte les
bases de donnes XML, les schmas XML,
Relax NG ou encore les grilles XML. Lditeur
prend en compte chaque nouvelle version les
nouveauts et les avances du monde XML.
SGBD
4e Dimension 4D
Une des bases de donnes historique du
monde Mac, disponible aussi sous Windows.
Environnement complet pour dvelopper et
dployer des applications et bases de don-
nes grce un RAD trs complet. Dispose
dun serveur et de multiples plug-in. La nouvel-
le version possde un moteur SQL.
MODLISATION
AndroMDA AndroMDA.org
Outil open source de rfrence pour MDA. Il
sintgre Eclipse. Il peut gnrer pour Spring,
J ava et .Net. Il sinterface avec les principaux
outils de modlisation du march et supporte
la transformation des modles.
IDE
Anjuta Anjuta
EDI pour coder en C, C++. Il dispose de nom-
breux templates et offre toutes les fonctionna-
lits que l'on peut attendre d'un diteur de
cette classe : colorisation syntaxique, compl-
tion, compilation automatique... Il intgre ga-
lement la prise en charge de CVS et
Subversion et dispose d'un mcanisme de
plug-in. Disponible sous Linux.
CONSTRUCTION
ANT Apache
Outil dautomatisation de build pour les projets
quels que soient les langages. Dune grande
souplesse, on peut crire des scripts pour dfinir
les build. Il est largement utilis par les diteurs
et dveloppeurs. Une version .Net existe (Nant).
COMPOSANTS
API Google Google
Ce ne sont pas des outils mais des API et fra-
meworks ddis aux technologies et fonctions
Google. On en compte une trentaine pour la
publicit, la cartographie / golocalisation, les
donnes, la messagerie, les applications offli-
ne / online avec Gear, etc. Une mine dor pour
le dveloppeur web !
SOA
Aqualogic BEA
Comprend un ESB, un " annuaire " pour les ser-
vices web, un intgrateur de donnes ainsi quun
outil de gestion daccs et de scurit applicati-
ve. On dispose aussi dun outil pour orchestrer
les architectures complexes. Comprend aussi
BEA 360, ddi aux architectures SOA.
AJ AX
Backbase Backbase
Un des IDE Ajax les plus connus. Backbase
permet de crer des applications Ajax ( partir
du framework inclus en standard). Il prend en
charge les standards du web et ne requiert
pas de runtime.
Il inclut par dfaut plus de 50 objets widgets et
fonctionne sur de nombreuses plates-formes.
Pour lentreprise, lditeur a sorti Ajax 360,
incluant des services et du support, des
bonnes pratiques, une meilleure gestion du
cycle de vie.
GNRATION
Blu Age Netfective
Outil de gnration de code pour J ava EE et
.Net. Il utilise les diagrammes UML et pour lin-
terface sappuie sur XHTML. partir des
modles et mta modles, il gnre le code
pour la cible choisie.
DBOGAGE
Bugzilla Mozilla
Outil de suivi de bug et de modification de
code. Il sutilise individuellement ou en quipe.
Il gre la qualit logicielle ainsi que la soumis-
sion des patches. Il sintgre de nombreux
outils tiers et est une rfrence du march.
COMPILATEUR
C++ Compiler Intel
Compilateur C++ intgrant les libraires
hautes performances dIntel afin doptimiser
le code sur les primitives et toute opration
mathmatique. Disponible pour Linux, MacOS
X et Windows.
SGBD
Dossier ralis par Franois Tonic, Loc Guillois, Fabrice Dewasme, Aurlien Vannieuwenhuyze, Maxime Vialette. Et avec laide de Frdric Mazu.
52-60 outils 22/08/2007 19:25 Page 53
Programmez! - N100 SEPTEMBRE 2007 54
Spcial 100
Cach Intersystems
SGBD orient objet, Cach dIntersystems vise
lapproche au-del du relationnel pour gagner
en performance, en fiabilit. Comme les lan-
gages objets sont aujourdhui la rgle, pas
besoin de passer par du mapping relationnel
objet pour aller dun modle un autre. De
plus, les donnes peuvent tre modeles en
objets et lenvironnement a toutes les particu-
larit de lobjet (polymorphisme, hritage, etc.).
COMPOSANTS
ChartFX Software FX
crit ds le dpart nativement en C#, ChartFX
sutilise aussi bien avec VS 2005 quavec les
versions prcdentes ou Borland C#Builder. Il
est orient, comme son nom lindique, afficha-
ge de donnes, donnes. Il est expert en dia-
grammes et en manipulation de donnes XML.
SGBD
CodeBase Sequitter
Gamme doutils ddie aux bases de donnes
pour simplifier laccs aux donnes dans son
application. Loutil supporte les principaux
SGBD et langages du march (.Net, J ava, C,
C+, Python, etc.). Il ny a pas de licence
payer pour la distribution. Limplmentation de
CodeBase se fait par une API.
WEB
CodeCharge Studio Yes Software
Environnement de dveloppement dapplica-
tions web dynamiques avec prise en charge de
laccs aux donnes (support des principaux
SGBD). Ct langage, loutil supporte PHP,
ASP / ASP.Net, J SP, Perl, ColdFusion. Dans la
dernire version, il inclut un modle de repor-
ting web. Pour simplifier le travail, de nom-
breux assistants de crations sont
disponibles.
GNRATION
CodeFluent SoftFluent
Outil franais de fabrique logiciel, on part
dun modle XML pour gnrer le code .Net
(J ava en cours de finalisation). Tout est crit en
XML. Il permet de faire du mapping objet rela-
tionnel et supporte de nombreux outils tiers.
RAPPORT
Crystal Reports BusinessObjects
Un des outils de cration et de diffusion de
rapports les plus utiliss. Il sinterface ais-
ment avec J ava et .Net soit dans lenvironne-
ment de Crystal Reports ou via son
environnement de dveloppement. Les rap-
ports sutilisent aussi bien dans des applica-
tions desktop que web.
SGBD
DB2 9 Viper IBM
Avec Viper, IBM met niveau sa base DB2.
Elle inclut le support natif du XML. Viper pos-
sde en fait deux stockages et deux moteurs
pour pouvoir stocker les donnes relation-
nelles et les donnes XML. Pour le dveloppe-
ment, on dispose dun workbench bas sur
Eclipse. Il est possible dutiliser Viper avec
J ava, PHP, .Net. Linstallation et le dploie-
ment de lenvironnement se veulent plus
simples et plus rapides. Viper introduit aussi
de nouveaux mcanismes de compression de
donnes. Une mise jour est attendue dans
les prochains mois. Db2 9 Express-C est ldi-
tion gratuite de DB2.
SGBD
DbVisualizer Minq Software
Client SQL permettant la gestion de bases de
donnes. Db Visualizer offre les fonctionnalits
de visualisation du schma de base de donnes,
lexcution de requtes, analyse des perfor-
mances SQL etc. Ecrit en J ava, il se veut multi-
plate-forme et propose une multitude de
connecteurs (SQL Server, Oracle, postgreSQL).
QUALIT
DevPartner Compuware
dit par Compuware, DevPartner est une
gamme doutils pour les quipes de dvelop-
peurs et de testeurs travaillant en .Net et J ava.
Ldition Studio permet danalyser le code, de
diagnostiquer et de dtecter les erreurs,
danalyser la mmoire, de raliser une couver-
ture de code, danalyser les performances,
etc. Ldition Serveur se destine plutt aux
applications distribues. Loutil DevPartner
SecurityChecker permet danalyser le code
selon les rgles et politiques de scurit.
WEB
Dreamweaver Adobe
Environnement intgr pour dvelopper et
grer des sites web statiques ou dynamiques.
La version CS 3 supporte Ajax (framework
Spry) et les dernires technologies dyna-
miques ainsi quune refonte totale de lditeur
CSS. La rfrence du march. Sintgre aux
autres outils Adobe comme Photoshop.
IDE
EasyPHP easyphp.org
Solution tout en un pour dployer un serveur
web Apache sous Windows. Il intgre gale-
ment un serveur de bases de donnes MySQL
et PHP. Il fait partie de l'outil le plus utilis par
les dveloppeurs Web.
IDE / PLATE-FORME
Eclipse Eclipse
Environnement de dveloppement pour C, C++
et J ava. Modulaire, il est aujourdhui lun des
outils les plus utiliss par les dveloppeurs.
De nombreux IDE sappuient sur Eclipse (ex.
RadRails, J Boss IDE, ou encore Talend). Eclip-
se est aussi une plate-forme avec de nom-
breux projets et un client riche (Eclipse RCP).
La v3.3 est la dernire version en date.
IDE
Emacs gnu.org
Souvent oubli par les " jeunes ", Emacs
demeure lditeur de code de rfrence. Dune
souplesse et dune ouverture incroyable, il sait
tout faire ou presque : C++, C, J ava, Python,
Tcl, Lisp, SQL, XML, etc. Peu consommateur
en ressources systmes et en mmoire,
Emacs est parfait pour les gros projets.
WEB
Expression Microsoft
Grosse nouveaut de lt 2007, la gamme
Expression de Microsoft. Il sagit de nouveaux
outils de dveloppement et de design web
qui doivent concurrencer ceux dAdobe et
proposer de puissants outils sappuyant sur les
technologies du framework .Net 3.x. On dispose
dun outil de graphisme, Design, de conception,
Blend (concurrent de Flash), dExpression Web
(remplaant de FrontPage) et de Media / Media
Encoder. Les versions 2.0 sont dj en cours
de dveloppement et fourniront une meilleure
collaboration dveloppeur designer.
52-60 outils 22/08/2007 19:26 Page 54
Programmez! - N100 SEPTEMBRE 2007 55
PROGRAMMATION LINUX
SGBD
Firebird Firebird project
SGBD open source disponible sur Linux, Unix
et Windows. Elle est issue de Borland Interba-
se. Lenvironnement fonctionne en 32 et 64
bits. Il suit rigoureusement la norme SQL. La
version 2 a introduit de nombreuses nouveau-
ts : rcriture de lindexation, nouvelle inter-
face, scurit renforce, le support du 64-bit.
La version 2.1 est en cours de finalisation.
ANALYSEUR
Firebug
Plug-in pour firefox. Firebug analyse les feuilles
de styles et le code HTML pour vous aider y
dceler les anomalies. Il offre un dbuggeur
avanc pour J avascript.
WEB
Flash Adobe
Technologie et outils pour concevoir et
dployer des animations, des interfaces inter-
actives pour les sites web. Ce logiciel permet
la cration de graphiques vectoriels et de bit-
map, un langage script appel Action Script
permet la cration dapplications dynamiques.
WEB
Flex Builder Adobe
Flex est une plate-forme dveloppe par
Adobe, base sur MXML, Flash et des services
serveurs. Flex Builder est loutil de dveloppe-
ment ddi, bas sur Eclipse. Permet de crer
des applications riches.
SOA
FUSE Iona
Lditeur Iona a prsent une suite intgre
pour la SOA, le bus dentreprise (ESB), le mes-
saging, les web services : FUSE. Il se
concentre sur linfrastructure. Cette offre est
compatible avec loffre commerciale de ldi-
teur : Artix. FUSE est issue du rachat de Logic-
Blaze et de loffre open source Celtix (version
libre dArtix). Pour les entreprises, lditeur
propose des services et supports.
COMPILATEUR
GCC gnu.org
Lun des outils libres les plus utiliss. Il sagit
du compilateur pour C, C++, Objective C, J ava,
Ada et Fortran.
Trs extensible, au fil des versions, il na
cess de supporter de nouveaux outils et lan-
gages. Les dernires versions sont capables
dauto vectoriser la compilation.
SERVEUR
Glassfish Sun
Serveur dapplications de rfrence pour lim-
plmentation de J ava EE 5. Le projet initi par
Sun grossit rgulirement. La version 2 arrive-
ra bientt et la version 3 est dj prvue pour
lan prochain. La persistance de donnes se
base sur Toplink (Oracle).
La v2 doit apporter une architecture de cluste-
ring revue et corrige. Compatible NetBeans,
Eclipse, J Builder et IntelliJ .
IDE
Grasshopper 2.0 Mainsoft
Disponible gratuitement pour les dveloppeurs,
Grasshopper permet de dployer des applica-
tions ASP.Net et .Net 2.0 sur Linux ou toute
plate-forme ayant un serveur J ava EE, sans
avoir besoin de migrer le code ! Loutil compile
le code en bytecode J ava.
Pour un dveloppement dentreprise, Mainsoft
propose aussi Mainsoft for J ava EE Enterprise
Edition.
SOA
Hydra Rogue Wave
Rogue Wave, connu pour son expertise en
C++, sadresse aux services web et aux archi-
tectures SOA avec HydraSuite et en particulier
avec les outils HydraSCA, HydraSDO et
HydraExpress. Il est possible de construire
des SOA avec des web services C++, J ava ou
C#. Cest avant tout un environnement de
conception, de dveloppement et de dploie-
ment.
SGBD
Ingres Ingres
Base de donnes historique du march, de
retour depuis quelques annes en open sour-
ce. La version 2006 r2 simplifie linstallation
et amliore linterface utilisateur. Il supporte
la reprise dactivit aprs un crash ou encore
le clustering. Pour le dveloppement, on dispo-
se dHibernate, ODBC / J DBC, de PHP, dun
toolkit Eclipse, dUnicode, etc. Pour le dvelop-
pement, on peut utiliser OpenROAD, un RAD
fourni par Ingres.
INSTALLATION
InstallAnywhere Macrovision
Installeur 100 %J ava. Loutil supporte de nom-
breux systmes et est facilement extensible
avec une librairie de dveloppement. partir
dun unique projet, on cible lensemble des
plates-formes. Il supporte J ava / J ava EE. Un
format universel est mme propos pour tous
les systmes. Un module de dsinstallation
est inclus. Installation online et offline. Dve-
loppement en quipe et 64-bit support.
INSTALLATION
InstallShield 11 Macrovision
Environnement de cration dinstallation int-
grant son propre langage. partir dune mme
interface, il est possible de grer, crer et
gnrer des installeurs spcifiques diff-
rentes plates-formes. Les dernires versions
supportent Windows, .Net, les packages RPM,
.Net, Unix, MacOS X. Une fonction Essayer
Acheter existe aussi, ainsi que la possibilit de
mettre en place un systme dactivation du
logiciel et un service de notification de mise
jour pour prvenir lutilisateur de la disponibili-
t de patchs, nouvelles versions, etc.
TESTS
Insure++ Parasoft
Il a pour objectif de trouver et de rsoudre les
erreurs mmoire, fuites mmoire, les pro-
blmes dallocation, les conflits de dfinition
de variables, etc.
IDE
Intellij Jetbrains
Environnement de dveloppement J ava se
focalisant sur le code et le dveloppement. Il
prend en charge J ava, les langages web, Ruby
ainsi que des frameworks comme Rails et
GWT. LIDE intgre toutes les fonctions nces-
saires : refactoring, analyseur de code, dve-
loppement dentreprise, compltion du code,
travail en quipe, API disponibles, etc.
Abonnez-vous
3
numros
gratuits
coupon dabonnement p. 95
et sur
www.programmez.com
52-60 outils 22/08/2007 19:26 Page 55
Programmez! - N100 SEPTEMBRE 2007 56
Spcial 100
SOA
JBoss JEMS Jboss
Connu pour son serveur dapplication, J Boss
dispose aussi dune solide offre open source
pour le middleware dentreprise, avec J Boss
J EMS. Celui-ci constitue une fondation SOA
comprenant tous les outils pour crer son
middleware et mettre en place des services. Il
sest dot dun moteur de rgles mtiers et
surtout il dispose dun ESB.
IDE
JBuilder CodeGear
Un des plus populaires IDE J ava / J ava EE avant
lcrasante domination dEclipse. Sappuyant
jusqu rcemment sur son propre socle tech-
nique, J Builder a volu avec J ava et a intgr
toujours plus de fonctions et dditeurs spciali-
ss. Aujourdhui, J Builder sappuie sur Eclipse.
SERVEUR
Jonas OW2
Serveur dapplication J ava EE open source
gr par OW2 Consortium (ex-ObjectWeb). Il
est certifi J ava EE 1.4. Comme les autres
solutions dentreprise, le projet prend le virage
SOA en intgrant un gestionnaire de workflow
(Bonita), un moteur BPEL (Orchestra) et un por-
tail eXo Plaform. La version 5 actuellement en
dveloppement supportera J ava EE 5 et les
dernires versions de Tomcat et J etty. Pour les
EJ B 3, J onas 5 intgrera EasyBeans.
TESTS
Jprobe Quest Software
dit par Quest Software, J probe permet
danalyser et de tester en profondeur son
application J ava : couverture de code, mmoi-
re, performances, monte en charge. Permet
aussi de tester les portails J ava.
OUTILS
LabView National Instrument
Environnement de dveloppement pour crer
des applications de tests, de mesures et de
contrles. Trs utilis en industrie, il fonction-
ne sur Linux, Windows et MacOS. La dernire
version prend en charge le multicoeur. Un
module de modlisation des systmes com-
plexes est disponible.
GUI
Leonardi Lyria
Outil de gnration dinterface graphique, Leo-
nardi sappuie sur un mta modle qui fournit
une structure du projet (il peut tre gnr par
rtro ingniering). Ensuite, on paramtre. Le
dveloppeur peut lier son modle un modle
de donnes, puis loutil gnre linterface.
Idal pour crer rapidement des squelettes,
des maquettes.
TESTS
LoadRunner HP
Solution de validation de performance leader
du march, supportant l'ensemble des applica-
tions et intgrant des solutions de diagnostics.
DEBOGAGE
Mantis Mantis
Cet outil en ligne permet l'dition de rapports
de bogues. Il ne dispose pas de wiki intgr et
doit recourir une solution externe. De plus, il
n'offre pas d'interface web pour Subversion.
Cependant il reste un outil trs utilis pour son
efficacit grer les rapports de bogues.
GESTION
Maven Apache
Outil libre de gestion de projet et dautomatisa-
tion de build, linstar du projet Ant, mais plus
simple (modle bas sur XML comme Ant).
Maven est surtout fait pour les projets J ava.
Pour dcrire le projet, il utilise le Project Object
Model. Un de ses points forts est la facilit de
mise en uvre et la partie rseau.
MODLISATION
Mia-Generation Mia
un des outils les plus rputs du march. Il uti-
lise des rgles de gnrations. Il supporte
UML (dont les profils UML), possde un
moteur de gnration bas sur les templates,
propose un cycle itratif. Il est multi-langage
(J ava, C#, XML, etc.) et supporte de nom-
breuses technologies et bases de donnes, ce
qui permet de lutiliser sur des projets varis.
IDE
MyEclipse Genuitec
MyEclipse est un IDE bas sur Eclipse mais
entirement repackag pour mieux utiliser
Eclipse, simplifier sa prise en main et amlio-
rer le dveloppement J ava. Lenvironnement
suit les volutions de la fondation Eclipse. La
v6 sappuie sur Eclipse 3.3 et intgre Europa,
la " distribution Eclipse intgrant 21 projets ".
Les dernires volutions de J ava et J ava EE
sont supportes. Un excellent outil J ava.
SGBD
MySQL MySQL
Le SGBD libre le plus utilis au monde ! Actuel-
lement en version 5.x. Eprouv depuis des
annes, MySQL volue au fur et mesure. Il
propose diffrents moteurs de stockage (ce qui
est trs pratique) et possde des fonctions
avances dans la haute disponibilit, le cluste-
ring, le transactionnel. Utilisable avec la plupart
des langages et outils de dveloppements,
cest un outil incontournable.
IDE
NatJxT Nat System
Atelier de dveloppement client riche bas sur
Eclipse. Il permet de dvelopper des projets
purs web ou J ava EE. Il est capable de gnrer
en RCP et Ajax. NatJ xt doit vous permettre de
rduire le temps et les cots de dveloppe-
ment des applications mtiers.
IDE / PLATE-FORME
Netbeans Netbeans
IDE pour C, C++et J ava. Aussi complet quEclip-
se, il possde une interface meilleure et sur-
tout un constructeur visuel dinterface. Intgre
de nombreux plug-in en standard. Comme Eclip-
se, il dispose dune plate-forme technique et
des kits spcialiss (entreprise, mobilit).
COMPOSANTS
NetAdvantage Infragistics
Suite de composants prts lemploi pour
enrichir facilement ses applications en suppor-
tant les dernires interfaces, les dernires
technologies. Plusieurs dizaines dobjets sont
prts lemploi (bouton, grilles, tableaux,
champs, etc.). NetAdvantage est disponible
pour WPF (.Net 3.0), ASP.Net, Windows Forms,
J SF, Swing / J FC.
WEB
Nvu
Outil visuel de cration de pages web. Il per-
met de concevoir des pages HTML et des CSS.
Il se veut rapidement matrisable. Libre, il fonc-
tionne sur MacOS X, Windows, Linux. Il ne
52-60 outils 22/08/2007 19:26 Page 56
Programmez! - N100 SEPTEMBRE 2007 57
PROGRAMMATION LINUX
devrait pas connatre dvolutions. Un fork
existe sous le nom de Komposer. Son succes-
seur sera Mozilla Composer.
MODLISATION
Objecteering Objecteering
Environnement complet, capable de faire aussi
bien du MDA que du MDD. Il sagit dun envi-
ronnement complet de modlisation UML 2. Il
prend en compte les profils UML. Il propose
aussi bien la modlisation, le design, que les
tests. Il peut se synchroniser avec Eclipse et
des outils de cycle de vie tiers. Il peut gnrer
du code J ava, C++, C#, SQL, Corba ou Fortran.
WEB
OpenLaszlo Laszlo
Technologie comparable Flash et compatible
avec cette dernire. La compilation du code par
le SDK gnre des applicatifs en Flash et DHTML.
Son principe rside en la cration dinterfaces
graphiques via le LZX qui est une grammaire XML
laquelle sont ajouts des scripts dactions
crits en javascript. IBM et Sun travaillent active-
ment sur cette technologie ouverte.
MDA
OptimalJ Compuware
Un des premiers outils MDA du march dont il
implmente en profondeur les spcifications
de lOMG. Il vise la plate-forme J ava / J ava EE.
Ldition architecte permet de modliser et de
gnrer lensemble de larchitecture.
SGBD
Oracle 11g Database Oracle
Incontournable sur le march, Oracle a sorti
durant lt la version 11 de sa base de donnes.
Plusieurs centaines de nouveauts et damliora-
tions. Lune des avances est lauto diagnostic et
administration de loutil pour faciliter le travail au
quotidien. La 11g tend le support de nouveaux
types de donnes (images, RIFD, vido). Le
support du XML a t amlior.
SGBD
Oracle Database Express Edition Oracle
Dclinaison gratuite dOracle Database.
Actuellement base sur la 10g, cette version
allge permet de dvelopper et de dployer
des bases de donnes Oracle sans contrainte.
Cette dition est limite un processeur par
machine, 4 Go de donnes par utilisateur et
un Go de mmoire. Le SGBD inclut par
dfaut loutil de dveloppement Application
Expression.
IDE
Oracle JDevelop Oracle
Oracle dite aussi des outils de dveloppe-
ment, lun dentre eux est J develop, un IDE gra-
tuit. Il permet de dvelopper en J ava / J ava EE.
Il incorpore aussi une approche MDA. Il inclut
par dfaut Struts, Ant, J unit, Xdoclets, CVS
(pour la gestion du code). Un SDK permet de
personnaliser et tendre loutil.
GESTION
Perforce Perforce
Outil de gestion de configuration rapide et per-
formant. Il sinterface avec de nombreux lan-
gages et outils de dveloppement. Il gre les
tches faire dans le projet, possde son
propre rfrentiel. On dispose dune partie
serveur, et dune partie client. Il gre les
branches et sintgre trs bien avec des outils
de qualit. Implmente aussi les triggers.
SGBD
Pervasive PSQL 9 Pervasive
Base de donnes pour les ISV qui construisent
et maintiennent des applications cruciales aux
missions. A lintention des petites et
moyennes entreprises. Pervasive PSQL vous
offre la performance, des capacits d'intgra-
tion et un faible cot total de proprit.
IDE
PHPEdit WaterProof
Un des IDE PHP les plus connus. Il propose un
puissant diteur de code, un module de
debug, la compltion du code, un navigateur
de code ainsi quun profileur. La version 2.1
supportera PHPUnit, un framework de tests !
Cette version permettra une meilleure intgra-
tion avec les bases de donnes et un module
FTP volu.
QUALIT
PolySpace PolySpace
PolySpace est particulirement utilis dans le
milieu de l'informatique embarque, plus sp-
cialement celui des transports, de la dfense
et de l'industrie. Il permet l'analyse de code
J ava et C et mriterait tre plus connu et
plus utilis. Son efficacit est reconnue et le
retour sur investissement peut tre important
sur les projets critiques.
MODLISATION
Power AMC Sybase
dit par Sybase, PowerAMC est un des outils
de modlisation UML et Merise les plus
connus. Il est possible aussi de modliser des
processus mtiers et donnes dun systme
dinformation. Pour chaque modlisation, la
gnration de code issue du modle est alors
possible. La puissance de cet outil est gale-
ment dmontre par sa facult de raliser du
reverse engineering. Il peut satisfaire la
connexion toutes les bases de donnes exis-
tantes et permet la gnration de code en
J AVA, .net, Power builder et Webservices.
COMMUNICATION
PuTTY
Utilitaire permettant aux utilisateurs de Win-
dows la possibilit de se connecter une
machine Unix via un accs SSH ou RSH. Trs
lger et performant, le shell semble tre ex-
cut en natif sur le poste hte. Avec Putty, on
peut galement se connecter en Telnet. Vous
pourrez galement utiliser PSCP et PSFTP.
LIBRAIRIE
Qt Trolltech
dit par Trolltech, Qt est une des librairies
dinterface les plus connues et les plus utili-
ses. Elle permet de crer des interfaces utili-
sateurs multi-plates- formes en C++et depuis
peu en J ava (Qt J ambi). Qt est aussi disponible
pour lembarqu et les terminaux mobiles.
IDE
Rational Professional Bundle IBM
Rational propose des dizaines doutils pour le
dveloppeur, larchitecte, lentreprise. Ce pac-
kage spcial regroupe tous les outils (bass sur
Eclipse) ncessaires pour concevoir des appli-
cations et architectures portails, J ava, J ava EE
et SOA. Il inclut des outils de tests comme
Functional Tester, Manual Tester. Pour lorgani-
sation du projet, on dispose de loutil Rational
Unified Process (mthodologie RUP).
ATELIER
Rational Software Architect IBM
Outil phare de la gamme Rational, il sagit dun
atelier complet de conception, de dveloppe-
ment bas sur J ava EE, UML et lapproche
52-60 outils 22/08/2007 19:27 Page 57
Programmez! - N100 SEPTEMBRE 2007 58
Spcial 100
PROGRAMMATION LINUX
MDD. Il utilise une API EMF et sappuie aussi
sur les templates J ET. Un outil trs complet !
MODLISATION
Rational XDE IBM
Un des outils majeurs de Rational : loutil de
modlisation UML 2.0, XDE. Il propose le dve-
loppement pilot par modle. Il supporte les
designs patterns, les templates de code, le
modle MDA.
RGLES
Rules for .Net Ilog
Loutil dIlog permet de crer rapidement des
rgles mtiers sous .Net partir dun document
Office et de pouvoir facilement les grer, les
dvelopper, les maintenir sous Visual Studio.
Ces rgles se destinent aux applications .Net,
Web et services web. En J ava, on utilisera J rules.
CONTENU
Spip Spip
Systme de gestion de contenu open source,
trs utilis de par le monde. Il est crit en PHP.
Il permet de mettre en ligne rapidement, sur
un site, du contenu. Il est collaboratif et facile-
ment extensible. Il simplifie largement la ges-
tion de contenu pour le non spcialiste.
SGBD
SQL Anywhere Ianywhere
Base de donnes taille pour les applications
mobiles. On dispose dune dition serveur
pour les applications dentreprises, dune di-
tion personnelle pour les applications de
petites tailles. UltraLite est un SGBD fonction-
nant avec 300 Ko de mmoire sur les princi-
paux systmes mobiles.
SGBD
SQLBase Unify
Base relationnelle taille pour le monde de
lembarqu. Lenvironnement propose dans sa
dernire version un module de rplication et
de synchronisation avec les clients desktop et
entre le serveur et les SGBD Oracle et Micro-
soft. Elle propose un triple cryptage DES.
SGBD
SQL Server 2005 Microsoft
Base de donnes de Microsoft. Dans sa ver-
sion 2005, SQL Server apporte au cur de la
base les notions dobjets, le support natif de
.Net et du XML. Il sinterface parfaitement
avec les applications .Net et Visual Studio. Il
embarque aussi sa propre version de SQL et
amliore considrablement les mcanismes
de rcupration. Un important effort a t fait
sur la monte en charge, le clustering, la haute
performance. Une dition mobile existe. On
trouve galement une dition gratuite,
Express, et limite dans la taille des donnes,
le nombre de processeurs, la mmoire vive.
FRAMEWORK
Spring
Cet outil apporte la fois un support pour la
programmation oriente aspect et implmente
bien le modle MVC. Il est couramment
employ dans les architectures en couche. Il
intgre de nombreuses librairies dont Hiberna-
te, J SF, les EJ B des modules pour la scurit
ou encore les services web.
FRAMEWORK
Struts Apache
Struts apporte la rigueur du pattern MVC et
une librairie de tag pour aider le dveloppeur
construire des formulaires rapidement. Ce fra-
mework supporte les interfaces volues en
Ajax tout comme le protocole SOAP pour les
services web.
SOURCE
Subversion tigris.org
Trs utile pour mettre en place une gestion des
fichiers sources mais peut galement servir
pour la documentation de projet. Chaque dve-
loppeur dispose d'une copie locale du dpt
des sources.
GESTION
Surround SCM Seapine
Edit par Seapine, Surround SCM est un outil
de gestion de configuration. Il gre les phases
des projets, les branches, les rfrentiels. Il
supporte les annuaires LDAP et ActiveDirecto-
ry, le protocole WebDav ou encore la fonction
de fusion. Il sintgre aux autres outils Seapi-
ne comme TestTrack Pro pour la gestion et le
suivi des erreurs, des bugs, des requtes.
SOA
Systinet HP
Outil de gouvernance SOA, Systinet offre un
environnement de gestion trs complet que ce
soit pour la gouvernance, le rfrentiel, lan-
nuaire, lexposition et la consommation de ser-
vices.
Permet de mettre en place des politiques dac-
cs entre les utilisateurs et les fournisseurs
de services.
IDE
SweetDev Studio IDEO
IDE de dveloppement J ava bas sur Eclipse.
SweetDev est un framework J ava EE contenant
de nombreux objets prts lemploi, drivant
de Struts. Le studio doit permettre dacclrer
le dveloppement Web. Le framework sinter-
face avec dautres IDE comme J Builder.
SGBD
Talend Open Studio Talend
Dorigine franaise, cette solution amliore
l'intgration des donnes d'entreprise de
manire innovante. L'approche graphique est
efficace et permet la ralisation avec succs
des diffrentes oprations de consolidation ou
de migration de donnes que l'on peut tre
amen rencontrer dans le cadre de projets
d'informatique dcisionnelle ou lors de la
refonte d'un systme d'information.
OUTIL
Team Developer Unify
RAD pour rduire les phases de dveloppe-
ment (design, dveloppement, dploiement). Il
supporte Vista et le 64-bit Windows. Il intgre
un explorateur de donnes, un outil de repor-
ting, une gestion de code source en quipe. Il
sadapte aux grandes et petites quipes. Il
prend en charge les web services J ava et .Net.
MODLISATION
Together Borland
Environnement complet de modlisation UML
pour les architectes et dveloppeurs. Il prend
en charge UML 2 et le BPMN pour grer et
gnrer des processus mtiers. Il permet de
gnrer du code partir du modle, de lanaly-
ser. Prend aussi en charge MDA.
Une des rfrences du march. Fonctionne
pour J ava et .Net.
DBOGAGE
Trac Edgewall
Application en ligne permettant l'dition et le
suivi de rapports de bogues. Il permet une
quipe de testeurs de publier facilement des
tickets sur une version donne du logiciel en
phase de test ou de recette. Chaque ticket
comporte un niveau de criticit ainsi qu'une
description.
Le traitement de celui-ci est ensuite affect
un dveloppeur. Le chef de projet, quant lui,
peut suivre l'volution de la stabilit de son
projet. Outil trs utile pour une quipe de dve-
loppement.
52-60 outils 22/08/2007 19:29 Page 58
52-60 outils 22/08/2007 19:34 Page 59
Programmez! - N100 SEPTEMBRE 2007 60
Spcial 100
PROGRAMMATION LINUX
MODLISATION
UModel Altova
Outil de modlisation UML pour les archi-
tectes, chefs de projets et dveloppeurs. Sup-
porte UML 2.1.1. Il peut transformer les
schmas XML en diagrammes UML. La gnra-
tion de code partir du modle se fait en J ava
et C#, avec synchronisation modle code.
Possibilit de crer le modle partir dun
code. Un outil trs puissant dot dune bonne
interface graphique.
SCURIT
Visual Guard Novalys
Visual Guard permet de crer un rle pour
chaque utilisateur afin de scuriser laccs
aux diffrentes parties de lapplication.
Chaque rle est associ un groupe de per-
missions qui dfinit ce que lutilisateur est
autoris faire, voir et/ ou modifier dans lap-
plication et dans la base de donnes. Par
exemple, vous pouvez cacher des informations
confidentielles comme les salaires.
IDE
Visual Studio 2005 Microsoft
IDE dit par Microsoft pour la programmation
Windows et .Net. Il permet de dvelopper pour
les diffrentes ditions de .Net et supporte
tous les langages .Net. Trs puissant, il
intgre lensemble des fonctions ncessaires
aux dveloppeurs (compltion, diteur dinter-
face, debug, compilateur, gestion de projet,
interface avec Team System, dveloppement
web, etc.).
Une gamme Express, gratuite, est disponible
pour dcouvrir le dveloppement .Net (diteur
Visual Studio allg). La version 2008 alias
Orcas sortira en fvrier 2008.
TESTS
Vtune Intel
Gamme doutils danalyse de performances
pour les applications C, C++, Fortran, J ava,
.Net. Permet de raliser du tuning fin sur les
processeurs Intel. Supporte les codes 32 et
64 ainsi que les dernires gammes de proces-
seurs. Disponible sous Linux et Windows.
WEB
Web Performance Suite Web Performance
Web Performance Suite est une suite doutils
de tests Web conus pour les sites Web qui
utilisent les technologies standard comme les
formulaires Web, J 2EE, ASP, .NET/ C#, PHP,
Ruby, ColdFusion, J ava, etc.
SOA
WebMethod Suite SoftwareAG
Suite au rachat de WebMethod par Softwa-
reAG, le nom CrossVision disparat au profit de
WebMethod Suite. Suite doutils incluant des
modules de gouvernance, de composition
dapplications composites, de BPM, fonctions
dintgration de linfrastructure applicative
existante, outils de modlisation et dorches-
tration. Prsence dun rfrentiel unique.
Cette suite intgrera terme (courant 2008)
les lments CrossVision et ceux provenant
des outils WebMethod.
ATELIER
Windev PC Soft
Atelier de Gnie Logiciel dvelopp par la
socit PC Soft utilisant le W-Langage. Mais il
est aussi possible dutiliser dautres langages
comme J ava, C++et .Net. Cet outil dclin en
deux versions (Windev , Windev mobile) se
veut facile dutilisation et offre un confort de
dveloppement apprci de tout dveloppeur
voulant raliser une application rapidement.
Une dition Web existe, WebDev.
MODLISATION
WinDesign WinDesign
Trs puissant outil de modlisation, orient
entreprise. La gamme comprend 4 modules :
database pour concevoir des bases de don-
nes (avec fonction reverse), business pro-
cess pour la modlisation de processus
mtier, object pour la modlisation UML et
enfin UserInterface pour la maquettage dinter-
face utilisateur. La version 8 apporte une nou-
velle gestion des profils de paramtrages et un
tout nouveau module dadministration.
TEST
Workstation VMware
Solution de virtualisation pour les postes de
travail. La version 6.x permet aux dvelop-
peurs Eclipse et Visual Studio de dboguer
dans des environnements virtuels, trs pra-
tique pour raliser des tests sous plusieurs
environnements cibles.
SGBD
Xcalia Studio Xcalia
Lditeur spcialis dans le mapping relation-
nel objet propose un puissant diteur gra-
phique pour crer le mapping objet J ava. Il
gnre les metadonnes XML et les docu-
ments lis. Il permet dviter de coder une
grande partie de la couche de mapping.
XML
XMLSpy Altova
Environnement de dveloppement ddi XML
et ses drivs. Il propose un diteur XML, un
designer de schmas, des convertisseurs, des
debuggeurs spcialiss, une gnration de
code (J ava, C#, C++). Pour les services web,
on dispose dun diteur graphique WSDL, dun
client et dbuggeur SOAP. Un gestionnaire de
projet est disponible. Sintgre Visual Studio
et Eclipse. Lditeur propose aussi une suite
complte intgrant lensemble des outils XML
de la socit (dition architecte et dvelop-
peur).
DIVERS
XULRunner Mozilla
XULRunner permet dexcuter les applications
crites en XUL sans avoir passer par un logi-
ciel compatible XUL comme Firefox. Il inclut le
moteur Gecko et une grande partie des API de
Firefox. Le dveloppeur peut alors utiliser cette
plate-forme pour concevoir son application et
bien utiliser les possibilits de XUL. Xulrunner
servira de socle de dveloppement aux appli-
cations Mozilla.
IDE
Zend Studio Zend
Edit par Zend, Zend Studio est rapidement
devenu une rfrence dans les outils de dve-
loppement PHP. Il inclut un puissant diteur,
des modules de debug, danalyses, doptimi-
sations. Il sinterface avec Subversion pour la
gestion des sources.
Il supporte Internet Explorer, FTP pour le
dploiement ou encore Zend Framework, ainsi
que les code snippets. Les web services ne
sont pas oublis (gnration aise des fichiers
WSDL).
On trouve aussi Zend Engine. Une approche
diffrente du dveloppement PHP avec ce fra-
mework. Il reprend les ides clef de J ava et
.NET et tente de reprendre le modle qui a fait
le succs de Rails, notamment en ayant une
dimension Web 2. Supporte linternationalisa-
tion, les services web, etc.
52-60 outils 22/08/2007 19:29 Page 60
Programmez! - N100 SEPTEMBRE 2007 61
Spcial 100
Les
100
mots
connatre
Linformatique est le nid idal pour les anglicismes, acronymes, sigles, abrviations, franglais. Et de
temps en temps, avouons quon en abuse un peu. Comment choisir 100 mots ? Voil un exercice
quasi impossible car chaque dveloppeur,architecte,responsable aura sa propre liste avec des points
communs et des divergences. Nullement exhaustive,cette liste a le mrite de vous donner quelques
bases et sans doute lenvie daller plus loin.
Nous vous invitons courant septembre explorer la rubrique dictionnaire sur notre site www.programmez.com et
dy dposer vos dfinitions.
Dossier ralis par Franois Tonic, Loc Guillois, Fabrice Dewasme, Aurlien.Vannieuwenhuyze, Maxime Vialette. Et avec laide de Frdric Mazu.
A
bstraction
En informatique, labstraction est une forme
dindpendance de quelque chose par rapport
quelque chose dautre. Labstraction vite
(aussi) aux dveloppeurs de mettre trop la
main dans la plomberie interne.
ACL
Acronyme de Access Control List, cette exten-
sion des contrles daccs classiques de
POSIX permet dassigner un jeu de droits (lec-
ture (r), criture (w) ou excution (x)) nimpor-
te quel utilisateur ou groupe au lieu du seul
propritaire, groupe et " autres " utiliss clas-
siquement.
Agilit
Les mthodes agiles sont des mthodes de
conception logicielles plaant les demandes
du client au centre des proccupations. Elles
cherchent par cette approche pragmatique
compltement radiquer " leffet tunnel ".
Exemple de mthode agile : XP, U.P
Ajax
Ajax nest pas un langage, mais un ensemble
de techniques et de langages que lon combi-
ne. Ajax sappuie sur HTML / xHTML, DOM,
J avaScript, XML, XSLT et XMLhttprequest. On
lidentifie au web 2.0. Son principal avantage
est d'viter des reconstructions/ recharge-
ments complets de page Web, en permettant
le rafrachissement d'une ou plusieurs zones
seulement, au moyen de requtes asyn-
chrones. De nombreux frameworks Ajax exis-
tent (plus de 70) et des environnements de
dveloppement Ajax sont aussi disponibles.
Algorithme
Moyen de prsenter la rsolution dun calcul
nonc et qui se prsente sous forme dune
suite doprations. En dveloppement, les
algorithmes sont trs utiliss, notamment
dans le graphisme, les oprations de calculs.
Il existe de nombreux algorithmes : gn-
riques, de rsolution dquation, de cryptage,
dindexation, squentiel, rparti, etc.
Analyseur lexical (ou analyse lexicale)
Cest la transformation dun ensemble de
caractres en un ensemble de lexmes (ou
token) dites units lexicales. Une fois ce traite-
ment ralis, le rsultat est envoy lanaly-
seur syntaxique
Analyseur syntaxique (ou analyse
syntaxique,ou parser en anglais)
Il sagit dun programme exploitant la structure
dun texte. Cela suppose que le contenu analy-
s soit formalis, et est vu comme un lment
dun langage formel. Un ensemble de rgles de
syntaxes est appliqu (=grammaire formelle).
Intervient souvent aprs une analyse lexicale.
AOP
LAspect-Oriented Programming (programma-
tion oriente aspect), est une nouvelle faon
d'aborder la programmation. Avec le dcoupa-
ge des applications en modules, diffrents
niveaux d'abstraction peuvent tre perus
(gnralement lis au dcoupage applicatif en
couche). La programmation par aspect appor-
te plus de modularit dans les dveloppe-
ments. De nombreux "tisseurs d'aspects"
existent dans les diffrents langages mais l'un
des plus clbres reste certainement AspectJ .
Il permet de sparer les lments techniques
des descriptions mtiers dans une application.
AOP nest pas li un langage.
Application concurrente
Une application est concurrente lorsqu'elle a
plusieurs flux d'excution en parallle. Les
applications distribues et multithread sont
deux exemples d'applications concurrentes.
Application multithread
Une application multithread est une application
dont le flux d'excution se divise en flux paral-
lles appels processus lgers ou threads dans
l'espace d'adressage d'un processus unique.
Arbre syntaxique
Arbre permettant de reprsenter la syntaxe
dun objet. En compilation, larbre syntaxique
abstrait reprsente la structure syntaxique
dun code source.
Asynchrone
Lasynchronisme qualifie deux processus qui ne
se droulent pas au mme moment. Au sein dun
programme, les appels de mthodes sont faits de
faon synchrone, cest--dire que lappelant attend
le retour de lappel pour continuer son excution.
En asynchrone, lappelant continue immdiate-
ment son excution aprs un appel. Lappel rali-
se son traitement de faon indpendante.
61-66 22/08/07 19:35 Page 61
Programmez! - N100 SEPTEMBRE 2007 62
Spcial 100
B
ase de donnes
Plus communment appel SGBD (systme de
gestion de base de donnes). Une base de
donnes est un ensemble structur et organi-
s pour stocker, manipuler, grer des don-
nes. Il existe de nombreux types de SGBD :
objet, relationnel, dcisionnel, gographique,
etc.
Byte-code (ou pseudo-code)
Code " intermdiaire " entre le code source et
le code excutable. Il nest pas utilisable tel
quel sur un processeur. Il ncessite une
machine virtuelle qui traduit et excute le byte-
code. J ava et .Net utilisent ce type de code.
C
losure (en franais fermeture)
Terme de programmation fonctionnelle. Une
closure ou fermeture est l'ensemble constitu
d'une fonction et des variables lies, non glo-
bales, de son environnement lexical. Les
objets de la Poo, ensembles de membres pri-
vs et de mthodes (ou fonctions) de traite-
ment, prsentent une analogie avec les
closures de la programmation fonctionnelle.
Collaboratif
Dsigne un environnement permettant de faire
collaborer, travailler ensemble plusieurs indivi-
dus dune mme quipe ou non. Aujourdhui,
collaboratif sest impos dans les outils de tra-
vail en quipe. Les diteurs travaillent rguli-
rement sur de nouvelles solutions toujours
plus souples, comme IBM avec la technologie
J azz. Collaboratif dsigne aussi un mode de
multitche.
Compilation / compilateur
Traduit un code source en code machine. Cest
la compilation qui fournit une application ex-
cutable. Les compilateurs modernes permet-
tent doptimiser le code par des directives ou
options de compilation. Lors de la compilation,
interviennent les phases danalyses lexicales,
syntaxiques, smantiques. Il existe diffrentes
sortes de compilations comme la compilation
croise ou encore la compilation distribue.
Composant
Brique logicielle. Un composant est un l-
ment dun systme, dune application ayant
des fonctions prdfinies et est capable, tho-
riquement, de communiquer avec dautres
composants. Dans le dveloppement, un com-
posant est souvent synonyme dextensions,
de plug-in, dadd-in que lon rajoute son envi-
ronnement intgr (IDE). On parle aussi de pro-
grammation oriente composant, cest--dire
une programmation ayant une approche modu-
laire de larchitecture applicative.
Constructeur
Mthode dfinie dans une classe et invoque
lors de l'instanciation de la classe, c'est--dire
lors de la construction de l'objet. Un construc-
teur n'a jamais de valeur de retour.
Couplage faible
Par opposition au couplage fort. Aussi nomm
couplage lche ou lger. Dsigne une relation
faible entre deux entits, permettant une gran-
de souplesse de programmation, de mise
jour. Ainsi, chaque entit peut tre change ou
modifie sans que cela impacte le reste de
lapplication. Le couplage fort, au contraire,
tisse un lien puissant, lavantage est davoir,
souvent, des performances et une optimisa-
tion meilleures mais rend lensemble plus rigi-
de toute modification du code, de
lapplication.
Cryptographie
Ensemble des techniques mathmatiques per-
mettant de chiffrer un message afin de le
rendre inintelligible et permettant d'assurer la
scurit de celui-ci.
D
compilation
Action permettant de reconstituer tout ou par-
tie du code source dune application. Il sagit
dune technique de rtro-conception.
Dploiement
Action permettant la diffusion dune applica-
tion. On peut utiliser un installeur ou simple-
ment un tlchargement. Il existe des
dploiements ne ncessitant pas dinstalla-
tion physique locale. Pour une application
dentreprise, on peut dfinir une politique de
dploiement.
Design Pattern (motif de conception
ou encore patron de conception)
Concept aidant rsoudre un problme rcur-
rent. Il dcrit la solution au problme darchi-
tecture que lon rencontre.
Il sagit de procds de conceptions, des
bonnes pratiques. Ce nest pas du code, car le
design pattern est le plus souvent indpen-
dant du langage.
DOM (Document Object Model)
Recommand par le W3C, DOM est une API
reposant sur la reprsentation dun document
XML ou HTML, sous forme darborescence de
nuds. DOM dfinit galement les mthodes
et proprits permettant de manipuler les don-
nes (Ajout, suppression, modification).
E
ncapsulation
Lencapsulation permet de mettre quelque
chose dans une autre chose. Dans la program-
mation objet, cela permet de cacher une infor-
mation dun objet et dexposer uniquement les
mthodes de manipulation. La notion varie
selon les langages.
Erasure
Lors de lutilisation de types gnriques, lera-
sure qualifie lopration de traduction des
classes passes en paramtres du type brut de
faon maintenir une compatibilit binaire avec
les anciennes versions du langage.
Ainsi, aucun moment le code dune classe
gnrique ne peut connatre le type de la
classe passe en paramtre de la classe
gnrique brute.
Expression rgulire
Il sagit dune chane de caractres dcrivant
le contenu de chanes. Cette description se
fait selon la convention ayant servi crer lex-
pression. Chaque outil et langage spcifie sa
manire lexpression rgulire.
F
ramework
Lorsque l'on traduit ce terme anglais, on obtient
" cadre de travail ". En informatique, un frame-
work est un socle structurant permettant la
mise en oeuvre rapide d'une solution. Il exige
de la part des dveloppeurs un effort d'appren-
tissage. Les frameworks les plus clbres sont
ceux permettant de btir une application MVC :
Rails, Struts, Spring, CakePHP.
G
nricit
Capacit qu'a un mme code s'appliquer
des types diffrents et arbitraires.
H
tml (hypertext markup language)
Langage de base des pages web utilisant des
balises. Il a volu au fur et mesure des ver-
sions, une version 5 est envisage.
De nombreuses variantes existent : xHTML
(HTML bas sur XML), DHTML (HTML dyna-
mique), cHTML (HTML pour mobile).
61-66 22/08/07 19:36 Page 62
Programmez! - N100 SEPTEMBRE 2007 63
PROGRAMMATION LINUX
I
DE
Integrated Development Environment ou EDI
(Environnement de Dveloppement Intgr en
franais) est un programme permettant de
dvelopper des applications. Les IDE peuvent
regrouper de nombreuses fonctionnalits : un
diteur de texte, un compilateur, un debugger,
des fonctions telles que l'auto-compltion, le
refactoring, ... Les plus clbres supportent
d'ailleurs plusieurs langages, parmi eux, nous
pouvons citer Eclipse, Visual Studio.
Installation
Action qui consiste installer, mettre, sur un
ordinateur, un terminal, une application, un
composant. On peut utiliser diffrentes tech-
niques dinstallation : locale en passant par un
installeur (programme permettent dinstaller
lapplication), en rseau. Linstalleur est un
environnement de cration dinstallation (ex. :
Installshield).
Intgration
Le dveloppement d'un logiciel se dcoupe en
plusieurs phases. Aprs l'analyse du besoin,
la conception et le codage, viennent les tests
qui vont notamment permettre d'aboutir un
produit valid. Durant la phase d'intgration,
les dveloppeurs vont regrouper leurs travaux
respectifs afin de mettre disposition une
nouvelle version qui sera livre au client.
Intgration continue
Pratique popularise par l'XP (eXtreme-Pro-
gramming), cela consiste raliser au mini-
mum une fois par jour la tche d'intgration
des diffrents dveloppements raliss par
l'ensemble des membres d'une mme quipe
de programmeurs. Dans un projet, l'une des
tches les plus critiques tant justement l'int-
gration de l'ensemble du code source, il est
ncessaire d'automatiser cette action. De
nombreux outils comme CruiseControl permet-
tent d'industrialiser cette tche.
Internet
Rseau interconnect mondial utilisant le pro-
tocole TCP/ IP. Son origine remonte aux
annes 1960 au ministre de la dfense am-
ricain. Internet se mit en place en diffrentes
tapes. En 1991, au Cern, on cre le WWW.
Mosaic, le premier navigateur, voit le jour en
1993.
Itration
Au sens gnral, une itration reprsente un
des passages dans une boucle de rptition.
Au sens mthodologique, ce terme est
employ pour dsigner un des passages au
travers de toutes les phases de ralisation
dun projet laide dune mthodologie itrati-
ve comme UP (Unified Process).
J
ava
Langage orient objet cr par Sun et offi-
ciellement prsent en mai 1995. Un de ses
crateurs est J ames Gosling. Thoriquement,
le mme code J ava sexcute partout sur une
J VM (machine virtuelle J ava). En pratique, les
diffrences dimplmentation des J VM peu-
vent gner lexcution du code et ncessite-
ront alors des adaptations.
J ava est donc la fois un langage et une plate-
forme dexcution. J ava se dcline aussi en
entreprise avec J ava EE et sur les mobiles
avec J ava ME. La version standard est J ava
SE. J ava simposa avec les applets J ava pour
Internet. Les applets sont de petites applica-
tions J ava que lon embarque dans des pages
web. J ava est aujourdhui en open source avec
le projet OpenJ DK.
Java EE (Java Entreprise Edition)
Architecture dfinie par SUN, utilisant le langa-
ge J AVA et dfinissant une plate-forme pour le
dveloppement dapplication N-Tiers.
Javascript
Langage de script initialement dvelopp par
Netscape. Le premier moteur J avascript dans
un navigateur remonte 1996. Ce langage
permet de manipuler simplement et rapide-
ment des objets. Il sexcute directement
dans le navigateur. On peut manipuler des don-
nes, des documents HTML via DOM.
JSR
J ava Specification Request. Il qualifie un pro-
cessus de demande de ralisation de spcifi-
cations complmentaires pour le langage J ava
ou des systmes tirant parti du langage. Mis
en place par Sun, le processus de J SR est
maintenant ouvert.
M
ashup
Combinaison dans une application (composi-
te), un site web de contenus provenant de dif-
frentes sources (site, application, base de
donnes, etc.). Trs pratique pour rcuprer
les informations que lon souhaite dans un
tableau de bord, par exemple, ou un portail.
Message Driven Architecture
Architecture pilote par les messages, tire
massivement parti de lasynchronisme. Elle
dcompose un systme en un ensemble de
petites tches lmentaires qui peuvent sex-
cuter de faon indpendante et qui sont
dclenches sur rception dun message
Middleware
Ce terme regroupe des logiciels et les couches
techniques, utiliss comme intermdiaires
avec d'autres logiciels / couches. Littrale-
ment, ce terme est la composition de middle
(milieu) et software (logiciel). Ces logiciels /
couches fournissent gnralement des ser-
vices avancs lis aux besoins de communica-
tion inter applications, comme des moniteurs
temps rel et transactionnels, de la scurisa-
tion ainsi que la srialisation.
Migration
La migration est le passage dune version dun
logiciel une autre ou dun logiciel un autre.
En dveloppement, la migration dsigne lacte
par lequel on change totalement ou partielle-
ment le code dune application, dun compo-
sant. Il sagit souvent de changer de langage
ou de version de langage, ou encore dun
changement technologique.
Modlisation / Conception
Etape prliminaire a tout dveloppement dap-
plication faisant appel une grande capacit
dabstraction de la part du concepteur. La
conception permet de prendre les dcisions
stratgiques et techniques afin de rpondre
aux besoins fonctionnels du nouveau systme
applicatif mettre en place.
Les moteurs de rgles
Ce type de moteur se base sur un rfrentiel
de rgles permettant de paramtrer le compor-
tement de l'application. De nombreux mtiers
utilisent ce mcanisme, particulirement les
banques qui ont besoin d'une ractivit imm-
diate lors de configurations de nouvelles
offres commerciales, du changement des
taux, ... De nombreux produits proposent des
implmentations du principe du moteur de
rgle comme J Boss Rules ou J Rules, ...
N
oyau (ou kernel)
Au cur du systme dexploitation. Il gre les
processus et les ressources fondamentales,
assure la communication entre les services,
les couches. Le noyau fournit un niveau dabs-
61-66 22/08/07 19:36 Page 63
Programmez! - N100 SEPTEMBRE 2007 64
Spcial 100
traction entre le matriel et les applications. Il
existe de nombreux types de noyau : micro-
noyau, nano-noyau, exo-noyau.
O
bfuscation
Technique permettant dobfuscer un code
source, cest dire de le rendre incomprhen-
sible en le modifiant grce des outils spci-
fiques, cela vite de rendre visible le code
toute personne. Il peut prvenir toute action de
reverse engineering.
Oprateurs boolens
Une des bases de la programmation. Le terme
boolen est un hommage George Boole. En
codage, le boolen a pour valeur peut tre 0
ou 1 (soit vrai ou faux). Les oprateurs boo-
lens dont l'valuation retourne un boo-
len, permettent d' effectuer des tests
logiques. Ces oprateurs sont l'galit, la non
galit ainsi que les ET et OU logiques (nots
==!=&& || en C+=ou J ava).
Optimisation
En programmation, on parlera volontairement
doptimisation du code en modifiant celui-ci
pour optimiser son fonctionnement, ses per-
formances, lutilisation des ressources
comme la mmoire. Cette optimisation peut
se faire notamment grce des tests de char-
ge, un monitoring de lapplication.
P
aradigme
Une reprsentation permettant de voir les
choses, le monde, exemple : le paradigme
objet (=modle objet).
Persistance
La persistance est un mot employ pour quali-
fier le fait de permettre une application dex-
ploiter ses donnes mme aprs un arrt ou
un crash : les donnes persistent mme aprs
un arrt. Classiquement, la persistance des
donnes se fait dans une base de donnes (en
utilisant un framework comme Hibernate par
exemple) mais elle pourrait aussi se faire sur
disque par la srialisation.
Pointeur
variable contenant une adresse mmoire. Les
pointeurs typs sont les plus rpandus (appa-
rus avec le C), ajoutant un type au pointeur.
Polymorphisme
Le polymorphisme permet d'appliquer un
mme algorithme des types diffrents. Il
existe plusieurs polymorphismes: polymorphis-
me de compilation, polymorphisme d'excu-
tion et polymorphisme paramtrique.
Porte
Une porte est le contexte dans lequel une
valeur et son expression sont associes. On
distingue les portes statiques ou lexicales
qui dfinissent les associations la compila-
tion (Pascal, Common Lisp) et les portes
dynamiques qui diffrent l'association l'ex-
cution. (Emacs Lisp).
Processus
Le terme processus est trs large et dsigne
une suite doprations normalises excutes
par une ou plusieurs personnes ou systmes
informatiques. Les processus peuvent tre
des processus dentreprises ou en informa-
tique des " workflows ".
Programmation distribue
Une application distribue est une application
dont le flux excution se rpartit sur deux ou plu-
sieurs machines relies entre elles par un rseau.
Programmation fonctionnelle
Paradigme de programmation tel qu'un pro-
gramme se rduit en l'valuation de fonctions
mathmatiques sans tat. Dans ce paradigme,
les fonctions ont une smantique de valeur et
peuvent tre passes en argument d'autres
fonctions, ou retournes par des fonctions.
Certains langages fonctionnels, dits impurs,
admettent l'effet de bord, sous la forme d'af-
fectation de variables. Par exemple Lisp ou
Scheme. Les langages fonctionnels purs tels
Miranda, Haskell, Clean ne l'admettent pas.
Programmation imprative
Paradigme de programmation qui dfinit une
suite d'tats successifs dans une machine ou
dans un objet.
Programmation objet
Paradigme de programmation qui consiste en
la dfinition et la collaboration d'entits logi-
cielles simples, les objets. Un objet est l'asso-
ciation de donnes et de leur fonctions, ou
mthodes, de traitement.
Protocole
Dans les rseaux, on parlera de protocole de
communication (ex. : protocole rseau). Un
protocole est spcifique pour un type de com-
munication. lorigine, le protocole est une
couche indpendante entre plusieurs
machines. Aujourdhui, le protocole dsigne
lensemble des rgles de communication sur
des machines diffrentes ou la mme.
Exemple ; http, RPC, SMTP, DHCP, FTP, TCP/ IP.
Le protocole fournit les critres ncessaires
ltablissement de la communication, sa vites-
se, ses fonctions, la scurit, etc.
R
AD
Rapid Application Development. Le concept
dun environnement RAD est de proposer aux
dveloppeurs tous les outils et fonctions per-
mettant de coder plus rapidement, de propo-
ser une interface graphique, etc. On assimile
souvent RAD aux diteurs visuels dinterface
utilisateur mais ces diteurs ne sont quune
partie dun RAD mme si le RAD est trs orien-
t interface et prototypage pour acclrer la
conception et viter de passer par les diff-
rentes phases du dveloppement.
RCP
Rich Client Platform, en franais nous utilisons
le terme de client riche. Depuis de nom-
breuses annes, l'opposition s'est faite entre
les clients dits"lgers" (excuts par l'inter-
mdiaire d'un navigateur web) et les clients
dits "lourds" (installs localement sur l'ordina-
teur). Le terme "client riche" se veut tre entre
ces deux concepts en alliant ainsi le meilleur
des deux mondes. Le terme de plate-forme est
utilis car, comme dans le cas d'Eclipse RCP,
ces applications reposent sur un socle tech-
nique permettant le support des plug-in, l'inter-
face graphique.
Rcursivit
Principe important de la programmation. Une
fonction ou un algorithme contenant un appel
lui-mme est dit rcursif.
Refactoring
Procd auquel ont recours les dveloppeurs
pour remanier du code dj crit sans toucher
une ligne de code et en respectant les rgles
syntaxiques du langage. Il est propos sous la
forme dune srie doutils dans les diffrents
IDE afin de rapidement gnraliser un concept
(move to parent), changer le packaging (move),
extraire une interface ou encore gnrer des
getters/ setters.
Rification
La rification consiste transformer un
concept en objet informatique. Linstance p de
61-66 22/08/07 19:37 Page 64
Programmez! - N100 SEPTEMBRE 2007 65
PROGRAMMATION LINUX
la classe Point est une rification des coordon-
nes dun point.
Repository
Ce terme est souvent utilis en gestion docu-
mentaire pour dsigner le systme permettant
le stockage de contenu et les mta-donnes
associes. La J SR 170 spcifie en J ava com-
ment sont stocks, recherchs, rcuprs et
versionns des contenus.
Rseau
Pour faire simple, un rseau est constitu de
plusieurs machines interconnectes locale-
ment ou distance. Internet est un type de
rseau, comme le rseau local, le rseau wifi,
etc. Un rseau repose sur des protocoles de
communications pour se connecter, changer.
Le rseau possde une topologie daccs.
Rtro-ingnierie
(ou reverse engineering)
Souvent nomm rtro-conception. partir
dune application, dun composant, la rtro-
conception doit permettre de retrouver le
code, la structure de donnes, par exemple,
dans une application ou une base mal docu-
mente.
RFC
L'acronyme de ce sigle est "Request For Com-
ment". Il s'agit de documents dcrivant des
propositions d'innovations, de mthodologies
ou de protocoles applicables Internet. Cer-
tains de ces documents sont devenus des
standards aprs leur adoption par l'IETF (Inter-
net Ingineering Task Force)
RIA (Rich Internet Application)
Les RIA sont des applications Web offrant les
mmes possibilits que les applications auto-
nomes. Les possibilits offertes par ces appli-
cations sont nombreuses : glisser-dplacer,
auto-compltion
S
CM
ou Source Code Management,
regroupe toutes les solutions de gestion du
code source, que ce soit CVS, Subversion,
Source Safe, Team Foundation Server, ...
Ces solutions permettent la fois de grer le
versionning du code source et de faciliter le
travail en quipe. Des notions de branche, rvi-
sion sont les concepts les plus utiliss de ces
solutions.
Script
Une suite dinstructions simples, souvent peu
structures. Le langage de script est un langa-
ge non compil.
SDK
Les Software Development Kit sont des pac-
kages spciaux des langages de dveloppe-
ment, de technologies permettant aux
programmeurs d'utiliser le langage ou la tech-
nologie. Le SDK permet dimplmenter une
application, une fonction, un langage, une tech-
nologie. Il inclut des exemples, de la documen-
tation, des outils, etc. On peut citer : la J DK,
DirectX SDK. Pour la conception de pilotes, on
parlera de DDK (Driver Developer Kit).
Scurit
La scurit dun systme est fondamentale
car elle qualifie sa vulnrabilit ou non des
attaques externes permettant de rcuprer,
modifier ou dtruire des informations confiden-
tielles, propres lentreprise. La mise en
uvre de la scurit peut se faire tous
niveaux, que ce soit sur le systme de fichiers,
le systme dexploitation, les bases de don-
nes, les applications, les protocoles...
Session
Excution d'un programme pour un utilisateur
donn. Lors d'une application web, chaque
utilisateur possde une session (instance du
programme) qui lui est propre permettant
de vhiculer des donnes rfrant cet
utilisateur.
SOA
Architecture oriente services. Il sagit dun
type darchitecture base sur des services ou
des applications composites. SOA est avant
tout un concept et non une technologie ou un
outil. SOA est apparu dans la mouvance des
web services et utilise largement les spcifica-
tions de ces services. Des spcifications
propres au SOA sont en cours de dfinition.
Surcharge
Permet de redfinir un oprateur ou une fonc-
tion pour une utilisation diffrente de celle ori-
ginalement dfinie. Sutilise beaucoup dans la
programmation oriente objet. On parlera
aussi de surcharge rseau ou serveur.
Synchronisation
Permet de maintenir un ou plusieurs systmes
dans un tat identique. On parle souvent de
synchronisation de systmes de fichiers, ou
encore de synchronisation de caches dobjets.
Syndication
Anglicisme. Basiquement il sagit de reprodui-
re, de diffuser du contenu plusieurs diffu-
seurs. En informatique, la syndication est
souvent lie la diffusion de tout ou partie
dun contenu dun site web disponible sous
forme dun flux RSS quun autre site rcupre
via une agrgation de flux.
Syntaxe
La syntaxe dans le monde informatique est
lensemble des rgles pour crire un code
selon les paramtres, les commandes, les
mthodes, les fonctions. On parlera de syn-
taxe J ava, C#, C++, etc. Pour coder, il faut
connatre la syntaxe du langage.
Systme d'exploitation
(ou Operating System en Anglais)
Ensemble de programmes faisant un lien entre
le matriel, lutilisateur et les applications. Un
systme se compose dun noyau, de biblio-
thques, doutils, dapplications, de pilotes,
etc. Il prend en charge la communication avec
le matriel, les rseaux, etc. Citons : MS-DOS,
GNU Linux, Windows, Solaris, MacOS, etc.
T
ests applicatifs
Lors du dveloppement d'applications il est
ncessaire de raliser ce que l'on appelle des
batteries de tests. Ces derniers sont classs
en plusieurs catgories : test unitaire (permet-
tant de valider une fonctionnalit spcifique,
ceci est gnralement effectu via des frame-
works comme J Unit), test de non rgression
(permettant de s'assurer qu'une nouvelle ver-
sion de l'application ne provoque pas des
rgressions par rapport une version prc-
dente), test de monte en charge (permettant
de s'assurer du flux maximum pouvant suppor-
ter l'application) et les tests fonctionnels (la
phase de recette ralise avant la livraison
d'une application).
Thread
Processus lger (ou encore tche lgre). Un
thread permet dexcuter des fonctions ind-
pendamment de lapplication (elle nest pas
bloque) et des autres processus. Dans ce
dernier cas, on parlera de multithreading. La
programmation multithreading est la base du
dveloppement moderne mais savre difficile
matriser car il faut grer le thread, la priori-
61-66 22/08/07 19:37 Page 65
Programmez! - N100 SEPTEMBRE 2007 66
Spcial 100
PROGRAMMATION LINUX
t, la concurrence, la synchronisation, etc.
diffrencier du multitche qui est la possibilit
pour un systme de faire fonctionner plusieurs
applications simultanment.
Typage
Fournir un type une donne, par exemple
type boolen, entier, rel. Dans les langages,
on donne aux pointeurs ou aux tableaux un
type. On parle aussi de typage statique ou
dynamique. Par exemple le typage dynamique
est apport par la valeur manipule par la
variable. Le typage fort permet de scuriser le
type et dviter les erreurs de typage.
U
ML
(Unified Modeling Language)
Le langage de modlisation unifie est utilis
dans la conception d'applications. Orient
Objet, il permet de modliser graphiquement
les donnes et traitements.
Unicode
Norme consistant dfinir pour chaque carac-
tre de nimporte quelle langue et criture un
identifiant numrique et un nom unique.
Unix
Systme cr en 1969. Il est multi-utilisateur
et multitche. Il existe de nombreuses
variantes dUnix, souvent propritaires. Au
dbut rserv aux entreprises, Unix est dispo-
nible aussi dans le grand public, notamment
avec MacOS X et Linux sen inspire largement.
De nombreux Unix se basent sur le System V
dATT ou sur BSD.
Urbanisation
En informatique, l'urbanisation reprsente une
vision moderne de l'organisation du systme
d'information de l'entreprise. Elle consiste le
dcouper en modules indpendants de tailles
variables, ce qui permet d'accrotre l'volutivit
du systme tout en maintenant une forte inter-
oprabilit. Les architectures orientes services
sont une mise en oeuvre de cette approche.
Utilisabilit
Notion permettant d'valuer la qualit d'une
interface homme machine. L'utilisabilit va
plus loin que l'ergonomie puisque celle-ci se
focalise sur l'utilisation des logiciels et permet
d' en amliorer la qualit au travers de
mthodes objectives et rationnelles telles que
GOMS. L'utilisabilit est galement spcifie
par la norme ISO 9241.
V
irtual Machine
Le concept de machine permet d'excuter plu-
sieurs environnements sur un mme ordina-
teur. Initialement utilis pour la virtualisation
des systmes d'exploitation, de nombreux
outils sont apparus tels que VMware, Virtual
PC, Xen, Qemu... En programmation, le terme
de machine virtuelle a t introduit, la place
de celui d'interprteur, par Sun Microsystems
avec la J VM (J ava Virtual Machine) permettant
dexcuter un programme J ava sur diffrents
systmes rendant le code indpendant du sys-
tme. Microsoft a adopt la mme approche
pour .Net.
VRML
(Virtual Reality Modeling Language)
Langage orient objet permettant la manipula-
tion dobjets 3D.
W
3C
consortium international visant dfinir et
promouvoir des spcifications lies au monde
du web. Il fut fond en 1994. Son travail
concerne larchitecture, linteraction, linter-
oprabilit, la mobilit, linternationalisation
ou encore laccessibilit. W3C travaille aussi
sur des domaines moins connus comme le
web smantique, la scurit. Il existe dautres
consortiums comme lOASIS.
Web 2
Concept du " nouveau web " plaant lutilisa-
teur au cur de lapplication web, du site. On y
parle beaucoup de collaboration, de rseau
social. cela sajoutent les aspects tech-
niques avec Ajax, le RIA, javascript, le blog,
etc. Cest aussi larrive de la publicit en
ligne comme Google AdSense. Linterface
dynamique et interactive est une autre
constante du web 2.
Web Services
Le service web est une petite application
contenant une ou plusieurs fonctions, expose
sur Internet ou en interne. Le service web sert
changer des donnes sur Internet travers
le protocole HTTP. Il repose sur des standards
dont les plus connus sont : UDDI, SOAP,
WSDL. Le service web apporte une grande
souplesse darchitecture et applicative.
Widget
Composant dune interface graphique (ex. : un
bouton, une listbox). Aujourdhui, on parle de
widget pour dsigner les gadgets. Ce sont de
petites applications (en javascript, html, ajax,
etc.) sinstalle sur le bureau de son systme
dexploitation ou utilisable sur un navigateur.
Workflow
Le workflow dsigne gnralement la reprsen-
tation informatique dun processus. Comme
en langage objet, il convient de distinguer le
modle de workflow et son instance. Un mod-
le de workflow peut suivre la spcification de
langage du WFMC (Workflow Management Coa-
lition) ou son propre formalisme. Un modle
de workflow ne peut donner lieu une instan-
ciation quau sein dun runtime compatible.
WYSIWYG
Ce que vous voyez est ce que vous obtenez.
Concerne l'origine les documents destins
tre imprims et signifie quentre ce que lon a
lcran et ce que lon aura au final sur papier
aprs impression,il ne doit pas y avoir de diff-
rence. En programmation, et particulirement
au niveau interface, il ne doit pas y avoir de dif-
frence entre linterface cre dans un IDE, un
RAD et linterface utilise par lutilisateur. Mal-
heureusement, cela nest pas toujours vrai,
notamment pour les sites Web car suivant le
navigateur, la prsentation peut changer selon
limplmentation des langages et standards.
X
ML
eXtensible Markup Language. XML est un lan-
gage de balisage dfini par le W3C. Il inclut le
support dUnicode ou encore des espaces de
noms. Trs souple, XML utilise aussi la notion
de schma permettant de dfinir la structure
dun document et de sy conformer. Il simpo-
se comme le format dchange par excellence
quels que soient lapplication, le langage. XML
est la base de nombreux drivs (appels
dialectes). Cependant, ils ne sont pas toujours
compatibles entre eux.
XSL
Langage permettant de dfinir la prsentation
des documents XML.
61-66 22/08/07 19:37 Page 66
Programmez! - N100 SEPTEMBRE 2007 67
Dossier Web 2.0
EN BREF
Penser une architecture Web 2.0
Avant mme de pouvoir concevoir une architecture Web 2.0, il faut bien comprendre de quoi il sagit
et les diffrentes implications que cela peut engendrer. A la diffrence de ce que nous avons connu
jusqualors, le Web 2.0 est avant tout la rflexion de son mtier en tant que plate-forme de service
rutilisable distance.
U
n des grands atouts de lessor de Web
2.0 est lutilisation de nos services
par des sites externes, qui non
contents dutiliser notre source dinformation,
vont venir lenrichir avec leurs propres valeurs
ajoutes, afin de fournir un service encore
plus prcis lutilisateur final. Cette rflexion
du Web en tant que plate-forme de services
nous amne directement vers des architec-
tures de type SOA (Service Oriented
Architecture) gnralement formats mul-
tiples. On entend par l que la majorit des
services 2.0 prsents sur la toile aujourdhui
prsentent diffrents formats de communica-
tion. Nous retrouvons bien entendu le format
SOAP, mais le plus utilis tant REST qui, en
fait, se rsume un change XML sur le pro-
tocole HTTP. Il ne faut pas oublier le RSS qui
est un des formats de syndication de linfor-
mation les plus rpandus ce jour. Un nou-
veau format fait son apparition qui se base
sur J SON (J avaScript Object Notation) permet-
tant aux sites tiers utilisateurs du service,
dinjecter directement des balises scripts
dans leurs pages afin de rcuprer les don-
nes dans un format traitable au sein dune
page. Mais cela ne se limite pas seulement
transfrer les donnes au format J avaScript,
cette nouvelle solution rsoud certaines pro-
blmatiques, dont notamment le cross-
domain qui jusqu lors nous empchait dap-
peler directement un service hors de son
domaine. Cette mthodologie se basant sur
linclusion de balises <script> dans vos
pages, aucune notion de scurit nest alors
prise en compte par le navigateur. Le pendant
de ceci rside dans le fait que le service ren-
voie bien les donnes annonces et non pas
des informations malicieuses car, contraire-
ment un appel REST o vous pourrez contr-
ler la validit des donnes avant des les ren-
voyer au navigateur, vous ne pourrez rien vri-
fier avant injection des donnes dans votre
page. La diversit des formats de communi-
cation est donc un atout majeur dune archi-
tecture Web 2.0.
Grer linformation
Un autre aspect prendre en compte lors de la
mise en place dune architecture de type Web
2.0 est la gestion de linformation. Lenrichis-
sement des contenus et la masse dinforma-
tion exponentielle lie au Web 2.0 nous amne
rflchir la hirarchisation et classification
des donnes. Il ne faut pas oublier quune
information mal classe est souvent perdue
au milieu de notre site et donc pas forcment
consomme. Lapparition des systmes de
"tagging" nest pas un effet de mode Web 2.0,
mais bien une ncessit de classification
simple et efficace de linformation. A ne sur-
tout pas ngliger, cette partie de votre archi-
tecture se doit dtre simple et efficace pour
lutilisateur final qui se veut maintenant acteur
et non plus consommateur de vos services.
Cette notion de lutilisateur devenant " co-
acteur, co-developpeur " de votre service est
aussi primordiale pour le succs dun site Web
2.0. Prenez lexemple dAmazon ou deBay qui
ont t prcurseurs dans limplication de lutili-
sateur au sein de leur plate-forme. Amazon ne
cre pas son contenu, il le rcupre de
sources externes. Sa grande valeur ajoute
rside dans lenrichissement de ce contenu
par lutilisateur au travers de commentaires,
de notations etc. Cette implication de lutilisa-
teur dans la plate-forme Amazon amne une
valeur ajoute qui fait le succs de ce type de
service. Lenjeu de la classification devient
donc encore plus important car votre systme
se doit de pouvoir grer de linformation en
provenance directe de vos utilisateurs. J e
pense quun des plus beaux exemples de
cette notion est le systme Wiki et plus prci-
sment Wikipdia pour une implmentation
concrte. Toute linformation du systme Wiki-
pdia provient directement des utilisateurs,
mais elle est classe, hirarchise et donc
facilement consommable.
Dun point de vue beaucoup plus technique,
les nouvelles technologies de dveloppement
Web 2.0 mises notre disposition amnent
aussi tout un lot de questions primordiales la
mise en place de votre site. Effectivement, il y
a encore quelques annes, aucune question
ne se posait, larchitecture reposait sur un
mode serveur o les pages taient " rendues "
vers le navigateur par la couche serveur. Mais
lapparition dAjax fait quaujourdhui le ser-
veur nest plus forcment latout matre. Il faut
pour cela se poser les bonnes questions,
avant mme de commencer dvelopper. J e
prendrais ici pour exemple limplmentation du
GuideTele (http:/ / www.guidetele.com) qui tire
pleinement partie dAjax. Le service GuideTele
puise son information dune source extrieure
qui, soit dit en passant, se rsume aux don-
2
e
partie
67-69 22/08/07 19:32 Page 67
Programmez! - N100 SEPTEMBRE 2007 68
Dossier Web 2.0
EN BREF
nes techniques relatives un programme :
chane, date, heure, titre Une premire
phase denrichissement de cette information
donc lieu pour venir ajouter des avis, nota-
tions, bandes annonces provenant du systme
dinformation GuideTele permettant de se dif-
frencier des autres outils. Une fois cette
phase dacquisition et consolidation des don-
nes effectues, nous avons d rpondre
quelques questions primordiales :
- Qui doit faire le rendu HTML de la grille ?
- Le serveur doit-il transfrer autre chose que
des donnes ?
- Allons-nous utiliser SOAP, REST, J SON ?
Les rponses ces diffrentes questions ont
t primordiales dans les choix darchitectures
et technologies lis lapplicatif GuideTele et
surtout au modle conomique de notre client.
Rien que le fait de choisir entre SOAP, REST,
J SON pour le transfert entre le navigateur et le
serveur peut engendrer des diffrences en
terme de kilo-octets transfrs. De surcrot, la
volumtrie dutilisateurs accdant au service
est telle que nous devions faire le choix le plus
pertinent afin de limiter la bande passante au
maximum.
Le problme du rendu
La deuxime grande question laquelle nous
avons d rpondre concerne le rendu HTML de
la grille. Devait-il tre fait par le serveur ou par
le navigateur ? Larrive dAjax dans les cycles
de dveloppement soulve toujours cette
question qui peut sembler anodine, mais qui
engendre des enjeux importants lorsque lon
traite un nombre lev dutilisateurs en simul-
tan. Effectivement, si le serveur soccupe du
rendu, vous allez augmenter votre charge CPU
pour le calcul des pages, augmenter votre
consommation de bande passante pour trans-
frer ces dernires. Cependant, faire un rendu
en J avaScript est tout aussi coteux pour luti-
lisateur et dpend entirement de sa puissan-
ce hardware. Il ne faut pas oublier que
J avaScript peut devenir trs coteux en
mmoire lorsque vous devez traiter un grand
nombre dinformations en une seule passe, et
la phase de rendu est certainement lune des
plus onreuses en terme CPU dun applicatif
Ajax. Il vous faut donc bien tudier la charge
dinformations traiter chaque appel Ajax
afin de prendre la bonne dcision. Dans notre
cas, les informations traitent dune journe de
programme pour un ensemble de chanes et
sont donc traitables ct ClientSide. Le fait
davoir choisi cette option a beaucoup dim-
pact pour lapplicatif. Tout dabord, le serveur
ne distribue que des donnes, ce qui allge
grandement la bande passante consomme.
De plus, ne soccupant pas de la partie
"rendu" HTML, sa charge CPU est diminue et
permet donc de pouvoir rpondre plus de
requtes en simultan. La contrepartie de
cette dcision a t la mise en place des fonc-
tions de rendu en J avaScript. Tout dabord,
cela implique un dveloppeur Ajax confirm au
sein de votre quipe qui sera mme de gn-
rer du HTML pour visualiser les donnes. De
plus, en fonction de la volumtrie de donnes
reues, tout un cycle doptimisation est nces-
saire pour ne pas saturer la charge CPU du
poste de lutilisateur final.
Comme nous venons de le constater, penser
une architecture Web 2.0 ne se rsume pas
lexposition de son mtier par une couche
SOA, cela implique bon nombre de questions
qui assureront le succs de votre site. Pour
ma part, je pense primordial de toujours gar-
der lesprit que lutilisateur final se veut
acteur de votre service et non pas simplement
consommateur !
Aurlien Verla
Online Strategies Manager
Wygwam http:/ / www.wygwam.com
Le site d'O'Reilly passe Ruby
Il y a quelques mois O'Reilly, diteur de livres dinformatique, a dcid de
refondre entirement son site web et son systme d'information. Le choix
technologique s'est port sur Ruby et plus particulirement sur Ruby on
Rails. L'application Ruby sert pour le site et aussi pour l'intranet l'ensemble des services :
ditorial, commercial, marketing). Et elle repose sur une base de donnes centralise.
On peut ainsi voir le site internet comme une interface publique notre base de donnes.
Notre choix s'est port sur Ruby On Rails car il permet, grce son architecture MVC et le
langage Ruby, de pouvoir interfacer un systme de donnes rapidement et facilement. pr-
cise J ulien Boulnois (dveloppeur, O'Reilly). Pour les dveloppeurs maison, Ruby on Rails
permet de concevoir rapidement des applications complexes. La partie la plus dlicate
concerne la conception de la base de donnes, Ruby On Rails permettant ensuite de crer
une interface autour de cette base poursuit J ulien Boulnois. Pour l'hbergement, l'diteur
passe par plusieurs dedibox (http:/ / www.dedibox.fr/ ) avec un systme de clustering. Si Ruby
est trs apprci, quelques dfauts peuvent survenir. Les dveloppeurs ont mis en viden-
ce un temps de rponse parfois plus long qu'avec PHP mais le problme peut tre contour-
n pour un renforcement de la partie matriel. Au final, cette solution se rvle nettement
plus conomique puisque le temps/ dveloppeur gagn, grce la facilit du dveloppement,
vaut largement l'investissement de matriel. conclut J ulien Boulnois.
Lomniprsence de la video.
67-69 22/08/07 19:33 Page 68
67-69 22/08/07 19:34 Page 69
Programmez! - N100 SEPTEMBRE 2007 70
Dossier Web 2.0
Accessibilit
et rfrencement
Les sites " nouvelle gnration "
reposent sur des librairies et frameworks
toujours plus nombreux.
Ces composants, s'ils permettent
de crer des sites et applications d'une
grande richesse fonctionnelle, introduisent
de nouvelles problmatiques.
C
elles-ci doivent tre prises en compte diffrents stades de la
conception pour viter des cueils parfois trs pnalisants. Mais
cela ne va pas forcment de soi.
Accessibilit
L'une des principales difficults, lorsque l'on a fait le choix du " tout
Ajax ", consiste maintenir une accessibilit compatible avec les handi-
caps de certains utilisateurs, mais galement avec les diffrents termi-
naux susceptibles d'tre utiliss pour accder votre ralisation.
A dire vrai, ces contraintes ne sont pas propres au web 2.0 ; et depuis
toujours, elles posent de srieux problmes aux concepteurs web, qui
rechignent souvent les respecter. Le recours Ajax a ajout de nou-
velles contraintes, mais il ne faut pas oublier celles dj existantes, sur
lesquelles nous ne reviendrons pas. Nous vous invitons vous rendre
sur www.accessiweb.org pour prendre connaissance des techniques
mettre en place pour permettre aux personnes handicapes d'accder
vos contenus le plus confortablement possible.
Pour ce qui concerne les sites web 2.0, la premire des questions se
poser est : quid des utilisateurs qui ne peuvent excuter de code J avas-
cript ? Evidemment, a limite les possibilits de fonctionnalits Ajax.
Ensuite, la disposition des contenus doit tenir compte des diffrents
types d'affichage, comme les terminaux mobiles par exemple.
Le nombre d'incompatibilits entre les interfaces riches qu'offrent le
web 2.0 et les contraintes d'accs que rencontrent d'une part les per-
sonnes handicapes et d'autre part les nouveaux terminaux (mobiles
notamment) est tel qu'il faut envisager de nouvelles solutions pour
garantir l'accs au plus grand nombre, des contenus.
Le meilleur moyen aujourd'hui d'assurer cet accs est finalement
simple : il s'agit de prvoir en quelque sorte un mode " dgrad " de l'in-
terface. Dgrad du point de vue de l'interface naturellement, pas des
contenus. L'quation est assez simple : pour exclure le moins d'utilisa-
teurs de l'accs au contenu, il faut simplifier au maximum le contenant.
Google a t lun des premiers a prendre clairement ce parti, en dve-
loppant GMail, la fois en mode web 2.0 et en HTML traditionnel. En
clair, et nous verrons dans la section suivante que cela est judicieux
plusieurs titres, il faut prvoir plusieurs versions du site.
Le problme de laccessibilit des sites web 2.0 reste majeur pour les
groupes de travail concerns, car les documents existants ne peuvent
sappliquer tels quels aux sites interface riches. Le W3C, organisme
en charge des normes sur le web, travaille activement la ralisation
dun document de rfrence nomm " Accessible Rich Internet Applica-
tions " par lintermdiaire du Web Accessibility Initiative (WAI). De
mme, diffrentes associations europennes ont collabor pour mettre
au point le label " Euracert ", garantissant la conformit dun site avec
les directives tablies par des organismes tels que le W3C (mais pas
seulement). Ces ressources seront terme les plus solides pour rgler
la majeure partie des problmes daccessibilit en web 2.0, comme
elles le sont aujourdhui pour le HTML traditionnel.
Rfrencement
En effet, le rfrencement est un vritable problme pour les sites trop
" ajaxiss ". La problmatique rejoint celle de l'accessibilit dans ce
sens que les contenus sont indexs par des robots, qui font prcis-
ment partie des clients souffrant d'un point de vue technique d'une
accessibilit limite, notamment eu gard leur incapacit excuter
du code J avascript.
D'un certain point de vue, le recours massif Ajax nous confronte
nouveau un problme que l'on pensait faire partie du pass : celui des
frames ! Le principe est le mme : comme les contenus sont chargs
dynamiquement, en fonction d'actions de l'utilisateur, et que ces
actions ne sont pas la porte des robots, ceux-ci ne peuvent accder
l'intgralit des contenus. En outre, ce mcanisme fait que le site ne
dispose plus que d'une adresse, ce qui pose galement problme pour
l'enregistrement de favoris sur des contenus prcis.
Pour contourner ces deux problmes, il existe des solutions. Pas trs
confortables, mais qui permettent cependant de sortir, au moins par-
tiellement de l'impasse. Pour ce qui concerne les robots, le plus simple
consiste tout simplement leur fournir un contenu dans un format qui
leur est adapt, en vous basant sur la chane " User-Agent " que ceux-ci
fournissent lorsqu'ils consultent les pages d'un site.
Cela peut tre implment directement au niveau de serveurs web
comme Apache, grce au module Rewrite, qui va pouvoir, si le User-
70-71 22/08/07 19:30 Page 70
Programmez! - N100 SEPTEMBRE 2007 71
EN BREF
Agent correspond une chane ou une expression rgulire donne,
renvoyer la requte vers une nouvelle adresse :
RewriteCond %{HTTP_USER_AGENT}Bot
RewriteRule (.*) / bot/ $1 [L]
En plaant ceci dans un fichier .htaccess, la racine de votre site, chaque
fois qu'une requte GET sera effectue, si l'utilisateur contient le terme
'Bot' dans son User-Agent, l'adresse initialement demande sera pr-
fixe de '/ bot' pour aller chercher les fichiers dans un dossier spcial.
L'intrt est simple : si index.php propose un contenu au sein d'une inter-
face Ajax, il sera possible cependant d'alimenter le robot en contenu per-
tinent sur le site en le redirigeant sur une version minimaliste, ne
comprenant pour ainsi dire que du contenu, et des liens vers d'autres
pages du site, qui seront elles aussi places dans le dossier '/ bot/ '.
Imaginons par exemple un bot/ index.php qui retournerait le contenu suivant :
<h1>Mon site monsite.com</ h1>
<h2>Ceci est la description de mon site</ h2>
<h3>Premire section</ h3>
<ul>
<li><a href='/ rubrique1/ sujet1.php'>Sujet 1</ li>
<li><a href='/ rubrique1/ sujet2.php'>Sujet 2</ li>
<li><a href='/ rubrique1/ sujetn.php'>Sujet n</ li>
</ ul>
<h3>Deuxime section</ h3>
<ul>
<li><a href='/ rubrique2/ sujet1.php'>Sujet 1</ li>
<li><a href='/ rubrique2/ sujet2.php'>Sujet 2</ li>
<li><a href='/ rubrique2/ sujetn.php'>Sujet n</ li>
</ ul>
Grce ce genre de page, le robot sera capable de " crawler " le site, en
accdant de lui-mme aux diffrents sujets (contenus) prsents dans le
site. Ce qui nous amne devoir rgler notre deuxime problme : celui
des URL, car elles seront indexes par le robot, qui les proposera donc
dans les rsultats de recherche du moteur pour le compte duquel il a
parcouru votre site.
En effet, dans un site " tout-Ajax ", une adresse telle que
" / rubrique1/ sujet1.php " n'a pas grand sens, puisqu'Ajax permet de
ne pas recharger les pages, et donc par consquent, interdit de changer
l'URL en cours.
Il faut donc prvoir dans votre site une autre rcriture d'URL, celle-ci
pour vos utilisateurs :
RewriteRule / (.*)/ (.*)\ .php index.php?rubrique=$1&sujet=$2
Ce faisant, vous pouvez dans votre page index.php prvoir de tester
l'existence de ces deux variables :
if(isset($_GET['rubrique']) && isset($_GET['sujet']))
{
/ / chargement du contenu concern
/ / directement dans la page d'accueil
}
else
{
/ / chargement de la page d'accueil " normale "
}
Cet exemple est schma-
tique, et appellerait sans
doute de nombreux amnage-
ments pour tre utilis effec-
tivement en production, mais
l'ide est l : en fonction du
type de client, j'adapte le
contenu, et la manire de le
prsenter.
Parmi les amliorations lui
apporter, il faudrait ajouter un
moyen pour l'utilisateur de
placer un contenu donn en
favori. Cela est possible,
sans que l'URL ait t relle-
ment charge, mais... en
J avascript. Alors certes, ce
n'est pas parfait, mais cela permet dj d'alimenter les robots et de
permettre d'accder, par un lien direct, autre chose que la page d'ac-
cueil standard du site. Nous avons donc contourn deux problmes
essentiels.
Pour un moteur comme Google, il est galement possible de gnrer un
fichier Sitempa, au format texte ou XML, pour lui indiquer les URL des
pages visiter plutt que de recourir au mcanisme de rcriture d'URL.
Mais ceci est plus limitatif (tous les moteurs n'usent pas de ce genre de
fichier), et ncessite une dclaration dudit fichier auprs du moteur. La
rcriture d'URL a le mrite d'tre (presque) universelle.
Conclusion
Ajax et le web 2.0 illustrent parfaitement un principe qui est, en infor-
matique pour le moins, presque aussi vrai que la loi de Murphy (qui veut
que le pire est nettement plus probable que le moins grave, comme la
fameuse tartine avec sa confiture etc.) : plus c'est simple d'un ct,
plus c'est compliqu au moins d'un autre ct !
En l'occurrence, pour apporter au plus grand nombre une interface plus
agrable utiliser, il faut d'une part redoubler (et c'est un euphmisme)
d'effort et d'ingniosit au niveau du code, mais en outre, il faut beau-
coup plus d'effort pour assurer une accessibilit correcte, et un rfren-
cement efficace.
Tout ceci amne se dire qu'il est prfrable de bien rflchir l'impact
rel du recours Ajax en terme d'ergonomie, et d'intrt pour l'utilisa-
teur, avant de s'embarquer dans des dveloppements ncessairement
plus longs et compliqus que ne le demanderait une interface un peu
plus traditionnelle.
Il ne faut par ailleurs pas perdre de vue qu'Ajax n'est que l'une des com-
posantes du web 2.0. Une autre, tout aussi essentielle, est la grande
interaction que le service (site ou application) offre l'utilisateur. Et ce
point n'est pas tant dpendant de la technique mise en oeuvre que de la
conception mme de l'ensemble.
Gauthier Delamarre
70-71 22/08/07 19:30 Page 71
Programmez! - N100 SEPTEMBRE 2007 72
Dossier Web 2.0
EN BREF
Rentabiliser votre site web 2.0
De nombreux modles d'entreprises et/ou sites ont fait l'essor du modle Web 2.0 comme Wikipdia,
AdSense (Google), Flickr, LinkedFeed, Netvibes, Technorati, Dailymotion, YouTube, My Virtual OS
(bureau virtuel) ou encore la plate-forme Live de Microsoft qui permet la socit d'entrer de plein
fouet dans l're du SaaS (Software as a Services : consommez les applications sous forme de
service avec un mode de montisation la consommation) facteur cl de l'mergence du Web 2.0.
C
hacun de ces projets couvre de
manire totale ou partielle un ou plu-
sieurs des 7 facteurs mentionns pr-
cdemment. Mais au-del de ces qualifica-
tions de projet de type Web 2.0, des ques-
tions fondamentales restent en suspens :
Comment rentabiliser ou, selon le terme la
mode, montiser un site Web 2.0 ?
Quel marketing est adapt un site Web 2.0 ?
Du classique au plus fin
Le grand classique des liens sponsoriss au
travers de la plate-forme de Google Adsense
ou encore de Microsoft adCenter semble clai-
rement tre la tte de course des moyens de
montisation. Combien de fois n'avez-vous
pas dj constat la prsence de ces petites
zones prsentes sur un site web, un blog, une
communaut ? Observez bien durant votre
navigation sur la toile ! Les communauts,
blogs, sites de services gratuits et/ ou payants
en regorgent et la capacit d'optimisation de
l'insertion de celles-ci est devenu une qualit
qui elle-mme se montise prix d'or. Mais ce
n'est pas tout, la russite d'un tel mode co-
nomique dpendra galement de la volum-
trie, et invitablement, du sujet trait ainsi que
du type de contenu diffus (webcast ou pod-
cast de plus en plus la mode, contenu 3D de
plus en plus pris comme les mondes virtuels,
contenu textuel, images, ). L'ergonomie et
l'incorporation de ces parasites publicitaires
dans l'environnement visuel du consommateur
restent un lment cl de la russite de la
montisation de votre projet. Rmunr au
clic, ce mode conomique peut trs vite deve-
nir rentable si vous rpondez favorablement
aux critres mentionns ci-dessus et plus prin-
cipalement au critre qui est la volumtrie
de visiteurs. Mais ce n'est pas tout, d'autres
modes de montisation sont porte de main
si votre volumtrie le permet, comme l'abon-
nement une rgie publicitaire o il vous fau-
dra avoir les bonnes entres afin de ne pas
vous retrouver sur le carreau lors des distribu-
tions de budgets de campagne ou encore l'ad-
hsion un programme d'affiliation, voire la
vente directe ou indirecte par prescription sur
un blog web 2.0. Le paiement sous forme
d'abonnement ou de consommation la
demande de site ou de service web 2.0 reste
galement une piste ne pas ngliger. Une
dernire approche de montisation retrouve
rgulirement sur des blogs dits Web 2.0 est
la montisation au travers de prestations
directes ou indirectes bases sur les comp-
tences mises en avant au travers de celui-ci :
veille technologique, reporting,
Mais ce n'est pas tout, la montisation ne
pourra se passer que si vous russissez pra-
lablement votre marketing de site Web 2.0.
Contrairement aux projets de type Web 1.0 se
basant principalement sur des notions de taxo-
nomy (classement dit standard), le Web 2.0
travaille son marketing au travers d'une
approche base sur la folksonomy que nous
pourrions qualifier de classement par les utili-
sateurs, engendrant ainsi le Marketing Viral
au travers des recommandations propages
d'utilisateurs utilisateurs eux-mmes. Des
mthodes de cooptation par les utilisateurs
mmes sont un bel exemple de russite, appli-
qu dans l'univers du Web 2.0.
L'utilisateur tant mis au centre de cette nou-
velle approche du Web, il devient ainsi acteur,
consommateur voire propritaire des donnes
disponibles ! L'explosion des blogs ces der-
Exemple d'un tableau de bord d'une publicit avec Google Adword. Ci-dessous, Google Maps.
A
M
E
N
R
C
S
P
A
R
I
S
:
B
4
2
1
5
2
7
7
9
7
I
N
W
E
B
W
E
T
R
U
S
T
:
N
o
u
s
c
r
o
y
o
n
s
a
u
w
e
b
V
o
i
r
c
o
n
d
i
t
i
o
n
s
G

r
a
l
e
s
d
e
V
e
n
t
e
s
u
r
w
w
w
a
m
e
n
f
r
*
P
r
i
x
a
u
0
1
/
0
1
/
2
0
0
7
T
o
u
s
c
e
s
t
a
r
i
f
s
s
o
n
t
c
o
n
c

s
p
o
u
r
u
n
e
n
g
a
g
e
m
e
n
t
a
n
n
u
e
l
72-74 22/08/07 19:27 Page 72
A
M
E
N

R
C
S

P
A
R
I
S

:

B

4
2
1

5
2
7

7
9
7
.

I
N

W
E
B

W
E

T
R
U
S
T

:

N
o
u
s

c
r
o
y
o
n
s

a
u

w
e
b
.

V
o
i
r

c
o
n
d
i
t
i
o
n
s

G

r
a
l
e
s

d
e

V
e
n
t
e

s
u
r

w
w
w
.
a
m
e
n
.
f
r
.

*
P
r
i
x

a
u

0
1
/
0
1
/
2
0
0
7
.

T
o
u
s

c
e
s

t
a
r
i
f
s

s
o
n
t

c
o
n
c

s

p
o
u
r

u
n

e
n
g
a
g
e
m
e
n
t

a
n
n
u
e
l
.

(1
)
D
u

l
u
n
d
i

a
u

s
a
m
e
d
i

d
e

9
h


1
8
h

a
u

0
8
9
9

7
0

9
0
0
1

(
1
,
3
4

l
'
a
p
p
e
l

p
u
i
s

0
,
3
4

/
m
n
)
.

(2
)
G
a
r
a
n
t
i
e

s
a
t
i
s
f
a
i
t

o
u

r
e
m
b
o
u
r
s


s
o
u
s

1
0

j
o
u
r
s
.

A
M
D
,

l
e

l
o
g
o

A
M
D

o
p
t
e
r
o
n

e
t

s
e
s

d

c
l
i
n
a
i
s
o
n
s

s
o
n
t

d
e
s

m
a
r
q
u
e
s

d

p
o
s

e
s

d
e

A
d
v
a
n
c
e
d

M
i
c
r
o

D
e
v
i
c
e
s

I
n
c
.

*
*

O
f
f
r
e

d
'
u
n
e

v
a
l
e
u
r

d
e

4
1
2
,
6
2

T
T
C
,

r

s
e
r
v

e

a
u
x

3
0
0

p
r
e
m
i
e
r
s

c
l
i
e
n
t
s

a
y
a
n
t

s
o
u
s
c
r
i
t

s
u
r

u
n
e

p

r
i
o
d
e

d
e

6

m
o
i
s

m
i
n
i
m
u
m


u
n

s
e
r
v
e
u
r

d

d
i


D
U
O

a
v
e
c

s
y
s
t

m
e

d
'
e
x
p
l
o
i
t
a
t
i
o
n

W
i
n
d
o
w
s
.
serveurs ddis DUO
N O M S D E D O M A I N E - H B E R G E M E N T - C R A T I O N D E S I T E - E - C O M M E R C E - R F R E N C E M E N T
Vous n'avez pas nous prier
pour vous offrir deux fois plus
de performance !
NOUVEAU
Serveurs ddis DUO
Pour les professionnels
les plus exigeants, AMEN
lance la nouvelle gamme
de serveurs ddis DUO
base sur des processeurs double
coeur, disques durs en RAID, pour
vous offrir 2 fois plus de puissance.
DUO 1000 99 ht/mois*
(118,40 ttc/mois*)
AMD Opteron 1210 - 2x1,8GHz - RAM 1GB
Disque dur 2x160GB - Raid Soft
2 adresses IP - Interface Plesk 8 jusqu' 100
domaines - Trafic illimit
DUO 2000 149 ht/mois*
(178,20 ttc/mois*)
AMD Opteron 1212 - 2x2,0GHz - RAM 2GB
Disque dur 2x200GB - Raid 1 matriel
4 adresses IP - Interface Plesk 8 jusqu' 300
domaines - Trafic illimit
DUO 4000 199 ht/mois*
(238,00 ttc/mois*)
AMD Opteron 1214 - 2x2,2GHz - RAM 4GB
Disque dur 2x250GB - Raid 1 matriel
6 adresses IP - Interface Plesk 8 jusqu' 300
domaines - Trafic illimit
Nous avons foi en un idal de services, surtout lorsquil vous permet de bnficier des dernires avances
techniques : architecture rseau redonde, bande passante ddie 2GB, haute disponibilit (99,9%),
assistance technique par mail et tlphone 6j/7
(1)
. Quant notre Garantie satisfait ou rembours
(2)
,
elle vous permettra datteindre la srnit absolue. Si vous croyez au web, vous croirez en nous.
Pour plus de renseignements 0 892 55 66 77 (0,34 / min) ou www.amen.fr
Compatibles &
Microsoft Expression Web
vous offre tous les outils
dont vous avez besoin
pour crer des sites web
dynamiques de qualit
professionnelle:
cration CSS, prise en charge
XML, ASP.NET 2.0, DHTML,
XHTML, CSS, Javascript
OFFERT** !
72-74 22/08/07 19:28 Page 73
Programmez! - N100 SEPTEMBRE 2007 74
Dossier Web 2.0
EN BREF
nires annes : blogosphre ou vlogo-
sphre en est un bon exemple.
Certaines approches marketing trs concrtes
au travers de l' exploitation des rseaux
sociaux comme YouTube, MySpace, FaceBook
ou Mixi semblent trs adaptes ce type de
marketing. Les blogs permettent aux marques
d'tablir un dialogue informel avec leurs
consommateurs, voire de tester de nouvelles
ides de produits et la raction de leurs
clients. L'incorporation de messages publici-
taires dans des webcasts ou podcasts permet
galement d'optimiser votre marketing web
2.0 et mme d'en profiter pour garantir au pas-
sage la gratuit du contenu.
En conclusion, la cl du succs d'un modle
marketing dans l'univers Web 2.0 semble clai-
rement attache au degr d'implication des
utilisateurs au sein du projet.
Et l'entreprise Web 2.0
dans tout ?
La dfinition d'une entreprise de type Web 2.0
est tout aussi hasardeuse. Les exemples cits
prcdemment dans cet article tendent faire
croire que toute entreprise peut aujourd'hui,
quels que soient ses moyens, s'attaquer au
march du Web 2.0. Il est par contre intres-
sant de se rendre compte que les socits
Web 2.0 natives bnficient d'un avantage non
ngligeable. Celles-ci ne doivent pas abandon-
ner leurs anciens schmas conomiques
associs de leurs modes de revenus initiaux.
De manire pragmatique, la rentabilit ou le
ROI (Retour on Investment) d'une entreprise
dite Web 2.0 ne se calcule pas de manire tra-
ditionnelle. Effectivement, la valeur d'une
socit de cette catgorie n'est pas implicite-
ment lie son Chiffre d'Affaires ni ses
rsultats. De nombreux exemples regorgent
aujourd'hui du web (Netvibes, DailyMotion,
SecondLife, ).
Quel intrt alors ? Le positionnement sur un
march, l'acquisition d'une technologie parti-
culire, la construction d'un portefeuille
clients animeront alors les entreprenautes
2.0. L'objectif principal de ceux-ci restant trs
rgulirement la recherche de Business
Angels, voire acheteurs de leur solution ds
celle-ci mise en place !
Grgory Renard
CTO Wygwam
Microsoft Regional Director -
Microsoft MVP
INETA Lead Belgium
L
a montisation du web est un des sou-
cis des entreprises, des diteurs et de
bon nombre de sites. Le web 2.0 n'a
pas forcment rvolutionn mais renforc
l'utilisation de la publicit. Et le phnomne
SaaS risque d'accentuer la tendance.
Le SaaS, ou comment rendre un logiciel dispo-
nible sous forme de service, est une orienta-
tion de plus en plus forte. Mais attention ne
pas tomber dans la facilit. Il y a tout d'abord
les diteurs mergents venant du Web qui peu-
vent rapidement dfinir une application en
SaaS et il y a les diteurs traditionnels qui doi-
vent apprendre faire du service, car, on ne
transpose pas tel quel un logiciel en service. Il
faut de la valeur, un intrt. Il existe une ten-
dance sur la vente de logiciels en services qui
sera forte dans les prochaines annes. Va-t-
elle dcoller lentement ou rapidement ? Les
acteurs traditionnels auront une nouvelle
concurrence. Il faut s'y prparer en anticipant
analyse Robert Raiola (directeur marketing
EMEA, Adobe). Une action pro-active est donc
ncessaire pour les diteurs. Car il faut tre
capable d'apporter aux utilisateurs un nou-
veau lien en ligne, avec une interface riche,
une interactivit, des fonctionnalits. L'envi-
ronnement Popfly de Microsoft en est un bon
exemple ou encore tous les traitements de
texte en ligne. Il y a quelques mois, le web
bruissait qu'Adobe lancerait rapidement un
Photoshop en ligne, financ par la publicit.
Pour l'diteur, mettre Photoshop tel quel n'est
pas une vidence. On ne sait pas faire Photo-
shop sur le web. Il faut apprendre dvelopper
sur le web des solutions qui tournent bien
prcise Robert Raiola. Quoi qu'il en soit la
servicisation des logiciels est en marche.
De la pub si je peux segmenter
Comme dj dit plus haut, il y a aujourd'hui dif-
frents composants publicit. Le modle domi-
nant actuellement est le modle gratuit. Et les
sites capables d'attirer du monde et de seg-
menter leur audience (ge, sexe, localisa-
tion) peuvent montiser plus facilement leur
site, en ciblant l'audience. Cela fonctionne,
mais c'est un modle centralis poursuit
Robert Raiola. Les liens sponsoris et les
Une publicit
en ligne renforce
mots cls sont deux des modles les plus fr-
quents. On peut aussi trouver un modle pseu-
do gratuit : je propose un logiciel, un service
gratuit qui amnera un logiciel ou service
payant si l'utilisateur est content. On voit aussi
l' mergence de la cartographie en ligne
comme Virtual Earth ou Google Maps, le
potentiel publicitaire peut tre intressant la
condition de gnrer un trafic trs important
ou de proposer un service prcis.
La vido constitue un autre march essentiel.
Les sites comme MySpace, YouTube, DailyMo-
tion attirent des millions de personnes chaque
jour. La vido constitue de facto un support
publicitaire. Ainsi, sur des sites comme AlloCi-
n, les bandes annonces proposent une publi-
cit courte avant les images du film. Il y a
une vraie valeur. L'utilisateur accepte la publi-
cit. On peut voir des vidos de qualit et on a
la dmarche d'aller chercher la vido , com-
mente Robert Raiola.
L, il s'agit d'un cas intressant car l'utilisa-
teur cherche l'information, le contenu et si la
publicit existe dans ce contenu, il l'accepte,
condition qu'elle soit non intrusive. Les mca-
nismes d'overlay dans la vido, permettant
d'inclure des textes, d'inclure une autre
vido, facilitent cela et surtout, on peut faire
de l'overlay la vole sans refaire un encoda-
ge (selon l'environnement choisi). On peut
donc imaginer une publicit dynamique, faire
des campagnes. L'overlay peut aussi avoir une
valeur d'information, par exemple sur une
vido, en mettant un marqueur pour afficher
une fiche sur un produit intressant. Un
constat semble tout de mme s'imposer : la
pub en ligne doit se faire de manire non intru-
sive pour l'utilisateur qui ne doit pas la subir
(au risque d'tre rejete), mais l'accepter.
Bref, la pub en ligne devient plus interactive,
plus visuelle, comme c'est le cas aujourd'hui
avec des bannires interactives.
Plus que jamais, la montisation du web est
l'ordre du jour. Mais cette publicit peut aussi
se faire grce au buzz, on l'a bien vu avec le
phnomne iPhone d'Apple. Mais attention, il
faut pour cela une complicit entre la marque
et son public conclut Robert Raiola.
Franois Tonic
72-74 22/08/07 19:29 Page 74
Programmez! - N100 SEPTEMBRE 2007 75
Dveloppement Web
Intgrer facilement FLEX et PHP
Cet article va traiter lintgration de PHPMySQL avec Flex 2.0, ce qui vous permettra de dvelopper
des applications RIA laide de Flex et doffrir une application dynamique vos utilisateurs grce
au langage PHP.
F
lex 2.0 a t initialement conu par Macromdia puis rachet par
Adobe. Son rle principal est de permettre le dveloppement
dapplications internet riche (RIA) bases sur Flash, ActionScript
3.0 et MXML. Lavantage de Flex est doffrir une grande portabilit des
applications tant donn que la plupart des ordinateurs actuels sont
quips du lecteur Flash.
Outils de dveloppement
Adobe met la disposition des dveloppeurs loutil FlexBuilder. Cet outil
est bas la plate-forme Eclipse et tlchargeable ladresse suivante :
http:/ / www.adobe.com/ devnet/ flex/ ?tab:downloads=1
Interaction entre Flex et PHP
Linteraction entre Flex et PHP peut seffectuer de deux faons diff-
rentes. La premire consiste utiliser les composants AMFPHP et
FlashRemoting. La seconde, lemploi des HTTPServices.
Utilisation d AMFPHP et Flash Remoting
La figure 1, montre de faon gnrale linteraction entre Flex et PHP. O
lon peut constater lemploi des composants AMFPHP et FlashRemoting.
Figure 1 : Schma gnral
Principe
Le principe consiste dfinir un ensemble de services crits en PHP,
stocks dans un rpertoire du composant AMFPHP. AMFPHP contient un
fichier gateway.php dont le rle est de communiquer avec lensemble
des services PHP un peu la manire dune passerelle.
Pour que Flex puisse utiliser la passerelle et par consquent utiliser les
services, un moyen de communication doit tre mis en place. Flash
Remoting jouera le rle dinterlocuteur entre Flex et la passerelle en
fournissant les interfaces API ActionScript ncessaires (figure 2).
Figure 2 : Schma dtaill
Installation des composants
Tout dabord, il convient de tlcharger Flash Remoting et AMFPHP. Atten-
tion, ce composant ne sera fonctionnel que si Flash est install. AMFPHP
se trouve ladresse : http:/ / sourceforge.net/ projects/ amfphp/
Pour linstaller, il suffit de dcompresser
larchive la racine de votre serveur Web.
Dans le rpertoire amfphp\ amf-core\ app
se trouve le fichier servant de passerelle :
gateway.php. Les services, quant eux,
sont placer dans le rpertoire amf-
php\ services.
Figure 3 : Arborescence
du rpertoire AMFPHP
Utilisation des HTTPServices
Lutilisation des HTTPServices est similaire la mthode prcdente.
En effet, la mthode consiste appeler un service PHP situ sur le ser-
veur Web, mais contrairement lutilisation dAMFPHP, un traitement
supplmentaire est intgrer consistant traduire le rsultat de la
requte au format XML.
Illustration par lexemple
Afin dillustrer les concepts noncs auparavant, je vous propose de
dvelopper une petite application dcoupe en deux parties. La premi-
re mettra en uvre les composants AMFPHP et FlashRemoting, pour la
seconde, nous utiliserons les HTTPServices.
Prparation de lenvironnement.
Pour pouvoir raliser lapplication, vous devez possder les lments
suivants :
- un serveur LAMP ou WAMP correctement configur.
- Flash Remoting
- AMFPHP
- FlexBuilder
Lapplication
J e vous propose de dvelopper un applicatif permettant de grer
lensemble des produits dun petit magasin informatique et de fournir
une interface de configuration dordinateur. Linterface de gestion des
produits (composants informatique) devra permettre de lister
lensemble des produits du magasin, de les lister selon une catgorie
spcifique, dajouter et de modifier un produit, den supprimer de faon
logique et dfinitive.
LANGAGE : PHP
DIFFICULT :

APPLICATION : WEB
SOURCE : oui
75-80 22/08/07 19:17 Page 75
Programmez! - N100 SEPTEMBRE 2007 76
Dveloppement Web
Figure 4 : Modlisation UML
Cet article ayant pour objectif de vous noncer les principes dutilisation
de Flex et PHP, il nest donc pas envisageable de dtailler lensemble
des mthodes de lapplication. Par consquent, nous allons nous
contenter de lister lensemble des composants informatiques du maga-
sin en utilisant les deux mthodes dinteraction possibles. Nanmoins,
vous trouverez lexemple complet et comment sur le CD Rom.
FLEX PHP AMFPHP FLASHREMOTING
Base de donnes
Crons tout dabord la base de donnes laide du script fourni sur le
Cdrom accompagnant ce magazine.
Cration du projet FLEX
A la racine de votre serveur web, crez un rpertoire nomm "configPC"
puis crz un nouveau projet dans FlexBuilder comme suit :
File >new >Flex Project
How will your flex application access data ? : Basic
>Next
Project Name : flxConfigPc
Folder : racine_de_votre_serveur_web\ configPc
>Next
Main Application File : flxConfigPc.mxml
Output Folder : bin
>Finish
Mise en place de la passerelle
Cration de la classe
Crez un rpertoire " Scripts " la racine de lapplication Flex. (figure 5)
Figure 5 : Rpertoire "Scripts"
Ltape suivante consiste crer une nouvelle classe " ConnectionPas-
serelle " dans le rpertoire nouvellement cr. Le menu de cration de
la classe vous est propos laide du clic droit sur le dossier " Scripts ".
La figure 6, vous montre les paramtres saisir pour la cration de la
classe. A noter, lutilisation de la super classe " flash.net.NetConnec-
tion " permettant dexcuter des traitements sur un serveur distant.
Figure 6 : Cration de la classe "ConnexionPasserelle"
Le code
package scripts
{
import flash.net.NetConnection;
import flash.net.ObjectEncoding;
public class ConnexionPasserelle extends NetConnection
{
public function ConnexionPasserelle( sURL:String )
{
objectEncoding =ObjectEncoding.AMF0;
if (sURL) connect( sURL);
}
}
}
On note limport des classes NetConnection et ObjectEncoding, cette
dernire permettant de savoir comment les objets sont reprsents
dans AMF. Lurl de la passerelle est alors passe en paramtre, si cette
dernire existe, la connexion seffectue.
Les services PHP
Les services PHP seront dfinis dans un fichier se trouvant dans le
rpertoire " services " dAMFPHP. Il suffit donc de crer le fichier " ser-
vicesConfigPc.php " dont le contenu sera le suivant :
class servicesConfigPc{
/ / -- Definition des services
LANGAGE : PHP
DIFFICULT :

APPLICATION : WEB
SOURCE : oui
75-80 22/08/07 19:18 Page 76
de remise sur l'ensemble
de la gamme produits !
Zend Studio
Fonctions ddition avances
Support PHPdoc, code folding, templates,
auto-compltion, inspecteur d'objet...
Debugger
Excution des pages pas pas
directement depuis le navigateur,
Proling avanc pour analyser les
performances script par script.
Support natif de SVN et CVS
Permet le travail collaboratif, favorisant
le respect des bonnes pratiques.
Avec Zend, PHP est entr dans l're de l'entreprise.
Offre spciale rserve aux
lecteurs de Programmez !
Pour bncier de cette offre sur les
produits Zend Studio et Zend Guard
rendez-vous directement sur notre
site www.zend.com/programmez
Pour tout achat en volume ou pour
la Zend Platform, appelez-nous au
01 48 55 02 02 et citez Programmez
Zend Guard
Garantie de lintgrit des sources
En rendant le code source illisible,
Cuard prvient de toute modication
dapplications en production.
Protection de la proprit
intellectuelle
Empche lingnierie inverse, Permet de
crer des versions dessai et des licences.
Combinaison de lobfuscation et du
cryptage
Le code original est dabord obfusqu
puis crypt pour une protection
maximale.
Zend Platform
Supervision complte des
applications PHP en production
Enregistrement des vnements (erreurs,
scripts lents, vnements personnaliss)
avec leur contexte (GET, POST,
SESSIONS)
Dveloppement, recettage et
maintenance facilits
Permet, en liaison avec Studio, le
dbogage et le proling des scripts
directement depuis la liste des
vnements.
$XJPHQWDWLRQVLJQLFDWLYHGHV
performances
Des mcanismes de cache (OP-Code,
contenu) permettent d'amliorer les
performances sans modication du code.
Zend Technologies 5, rue de Pome, Parc de Nanteuil, 9J110 Posny sous 8ois Tl: 01 48 55 02 00 www.zend.com/fr
Pourquoi rester l'ge de pierre ?
15%
75-80 22/08/07 19:19 Page 77
Programmez! - N100 SEPTEMBRE 2007 78
Dveloppement Web
CF FIGURE 8
/ / -- Les services
CF FIGURE 9
}
function servicesConfigPc()
{
$this->methodTable =array
(
"servListeComposants" =>array
( "description" =>"Liste les composants",
"access" =>"remote"
),
"servListeComposantsCategorie" =>array
( "description" =>"Liste les composants selon une categorie",
"access" =>"remote"
),
"servListeCategories" =>array
( "description" =>"Liste les categories",
"access" =>"remote"
),
"servAjoutComposant" =>array
( "description" =>"Ajout d'un composant",
"access" =>"remote"
),
"servModificationComposant" =>array
( "description" =>"Modification d'un composant",
"access" =>"remote"
)
);
}
/ / servListeComposants
function servListeComposants (){
/ / connexion la base de donne MySQLavec nomd'hte, login etpassword
$db =mysql_connect("localhost","userMYSQL","passMYSQL");
/ / Selection de la base de donne
mysql_select_db("db_configurateur", $db);
/ / Requete
$Requete ="select CP.idComposant, CP.nomComposant,
CP.prixComposant, CAT.nomCategorie, CAT.idCategorie
Fromtb_composant CP, tb_categorie CAT
where CP.fkCategorie =CAT.idCategorie";
$Resultat =mysql_query( $Requete );
while ($row =mysql_fetch_object($Resultat)) {
$TableauDeComposants[] =$row;
}
/ / Renvoi le tableau de composants
return ($TableauDeComposants);
}
/ / servAjoutComposant
function servAjoutComposant($nomComposant, $prixComposant, $id
Categorie)
{
/ / connexion la base de donne MySQLavec nomd'hte,
login et password
$db =mysql_connect("localhost","userMYSQL","passMYSQL");
/ / Selection de la base de donne
mysql_select_db("db_configurateur", $db);
/ / Requete d'ajout
$Requete = "insert into tb_composant (nomComposant,
prixComposant, fkCategorie) values('$nomComposant','$prixComposant',
'$idCategorie')";
$Exexution =mysql_query( $Requete );
return($Execution);
}
Cration de linterface graphique
Linterface graphique se compose de deux onglets. Le premier permet-
tant la gestion des composants informatiques, le second la ralisation
dune configuration dun ordinateur.
Figure 7 : Onglet Composant
Lister lensemble des composants
Cration du script
La premire tape consiste crer un fichier ActionScript dans le rper-
toire " Scripts ". Nous nommerons ce fichier " Composants " il com-
prendra le code suivant :
/ / -- import du Responder qui permet de rcuprer les informations
/ / provenant du service appel
import flash.net.Responder;
LANGAGE : PHP
DIFFICULT :

APPLICATION : WEB
SOURCE : oui
75-80 22/08/07 19:19 Page 78
Programmez! - N100 SEPTEMBRE 2007 79
Dveloppement Web
/ / -- Import du script de connexion la passerelle --
import scripts.ConnexionPasserelle;
/ / -- Instanciation de la classe ConnexionPasserelle --
public var gateway : ConnexionPasserelle;
/ / -- Tableau contenant les rsultats de la requte --
[Bindable] / / Permet linterface graphique daccder a la variable listingComposant
public var listingComposants:Array;
/ / -- Fonction permettant de lister tous les composants
public function listerComposants()
{
/ / -- Nouvelle connexion la passerelle
gateway =new ConnexionPasserelle( "http:/ / localhost/ amfphp/ amfphp
/ gateway.php" );
/ / -- Appel du service servListeComposants
gateway.call( "servicesConfigPc.servListeComposants", new Responder
(actionResultat, actionErreur));
}
/ / -- Action raliser si le service envoie un rsultat
public function actionResultat( resultat : Array ) : void
{
listingComposants =resultat;
}
/ / -- Action raliser si le service renvoie une erreur
public function actionErreur( fault : String ) : void
{
trace( fault );
}
On note lappel du fichier passerelle " gateway.php " par la spcification
de son url (http:/ / localhost/ amfphp/ amfphp/ gateway.php) il convient
donc dadapter ce chemin en fonction de votre configuration.
Interaction avec linterface graphique
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http:/ / www.adobe.com/ 2006/ mxml" layout
="absolute" creationComplete="listerComposants()">
<mx:TabNavigator borderStyle="solid" x="60" y="100" width="900"
height="542">
<!-- Composants -->
<mx:VBox label="Composants" width="1000" height="509">
<!-- Canevas -->
<mx:Canvas width="863" height="509">
<!-- Import du script des composants -->
<mx:Script source="scripts/ Composants.as"></ mx:Script>
<mx:DataGrid id="grilleComposants" dataProvider="{listingComposants}"
x="53" y="100" width="700" rowCount="10">
<mx:columns>
<mx:DataGridColumn headerText="Catgorie" dataField="nom
Categorie" width="200"/ >
<mx:DataGridColumn headerText="Composant" dataField="nom
Composant" width="400"/ >
<mx:DataGridColumn headerText="Prix" dataField="prixComposant"
width="100"/ >
</ mx:columns>
</ mx:DataGrid>
</ mx:Canvas>
</ mx:VBox>
<!-- Configurateur -->
<mx:VBox label="Configurateur" width="863" height="509">
<!-- Canevas -->
<mx:Canvas width="863" height="509">
</ mx:Canvas>
</ mx:VBox>
</ mx:TabNavigator>
</ mx:Application>
On constate que lors de laffichage de la page, la fonction " listerCom-
posant " du script composant.as est appele (creationComplete). On
retrouve la variable " listingComposant " qui permet dalimenter le Data-
Grid. Enfin, chaque colonne du datagrid est remplie en fonction dun
champ prcis, dont le nom (dataField) correspond celui dfini dans le
service PHP.
Figure 8 : Listing des composants
Emploi des HTTPServices
Nous allons maintenant ritrer le listing des composants, mais cette
fois laide des HTTPServices. Pour commencer, crez un rpertoire
nomm " scriptsPHP " dans le projet flxConfigPc. Ajoutez ensuite au
rpertoire nouvellement cr un document de type "File " nomm "
configurateur.php "
Le code PHP :
<?php
/ / connexion la base de donne MySQLavec nomd'hte,
login et password
$db =mysql_connect("localhost","userMysql","passMysql");
LANGAGE : PHP
DIFFICULT :

APPLICATION : WEB
SOURCE : oui
75-80 22/08/07 19:20 Page 79
Programmez! - N100 SEPTEMBRE 2007 80
Dveloppement Web
PC/ scriptsPHP/ configurateur.php" useProxy="false">
</ mx:HTTPService>
Si lon souhaite que le chargement soit effectu ds le lancement de
lapplication, il convient dajouter ce code suivant :
<mx:Application xmlns:mx="http:/ / www.adobe.com/ 2006/ mxml"
layout="absolute" creationComplete=" listerComposant(); configurateur
XML.send()" width="1062" height="854">
La dernire tape consiste mettre en place le Datagrid et spcifier
son dataProvider :
<mx:DataGrid x="64" y="55" dataProvider="{configurateurXML.
lastResult.composants.composant}" width="800" height="273">
<mx:columns>
<mx:DataGridColumn headerText="Catgorie" dataField="nomCategorie"
width="200"/ >
<mx:DataGridColumn headerText="Composant" dataField="nomComposant"
width="400"/ >
<mx:DataGridColumn headerText="Prix" dataField="prixComposant"
width="100"/ >
<mx:DataGridColumn headerText="IdComposant" dataField="idComposant"
width="100" visible="false"/ >
<mx:DataGridColumn headerText="IdCategorie" dataField="idCategorie"
width="100" visible="false"/ >
</ mx:columns>
</ mx:DataGrid>
Lors de lexcution de lapplication, le rsultat obtenu doit tre iden-
tique celui de la premire partie de cet article.
Conclusion
Vous voil en mesure dintgrer Flex au langage PHP via les deux
mthodes abordes tout au long de cet article. Il convient de noter que
ces deux mthodes se valent et portent leur diffrence sur le mode
dexploitation des donnes. En utilisant les HTTPServices, les donnes
doivent tre absolument formates en XML lors de la rcupration mais
galement lors de lenvoi de donnes aux diffrents services. Charge
vous dopter pour la mthode qui vous convient le mieux.
Vous pouvez trouver lexemple en ligne de lapplication dcrite dans cet
article ladresse http:/ / aurelienv.no-ip.org/ hberge gracieusement
par la socit Infogest de Valenciennes (www.igiste.com)
Aurlien Vannieuwenhuyze
Ingnieur concepteur / ralisateur
Sylis France (www.sylis.com)
LANGAGE : PHP
DIFFICULT :

APPLICATION : WEB
SOURCE : oui
/ / Selection de la base de donne
mysql_select_db("db_configurateur", $db);
/ / Requete
$Requete = "select CP.idComposant, CP.nomComposant,
CP.prixComposant, CAT.nomCategorie, CAT.idCategorie
Fromtb_composant CP, tb_categorie CAT
where CP.fkCategorie =CAT.idCategorie
And CP.supprComposant =0";
/ / Resultat de la requete
$Resultat =mysql_query( $Requete );
/ / Transformation du rsultat en XML
$ExportXML="<composants>";
while ($Composants =mysql_fetch_object ($Resultat))
{
$ExportXML.="<composant>";
$ExportXML.="<idComposant>".$Composants->idComposant."
</ idComposant>";
$ExportXML.="<nomComposant>".$Composants->nomComposant."
</ nomComposant>";
$ExportXML.="<prixComposant>".$Composants->prixComposant."
</ prixComposant>";
$ExportXML.="<idCategorie>".$Composants->idCategorie."</
idCategorie>";
$ExportXML.="<nomCategorie>".$Composants->nomCategorie."</
nomCategorie>";
$ExportXML.="</ composant>";
}
$ExportXML.="</ composants>";
mysql_free_result($Resultat);
print ($ExportXML)
?>
On constate que le rsultat renvoy est sous la forme XML :
<Composants>
<Composant>
<idComposant>1 </ idComposant>
<nomComposant>nomdu composant </ nomComposant>
</ Composant>
</ Composants>
Mise en place dans linterface Flex
La premire chose faire est dinvoquer le service via la balise HTTPService :
<mx:HTTPService id="configurateurXML" url="http:/ / localhost/ Config
Donnez
votre avis
sur ce numro
www.programmez.com/magazine_satisfaction.php
Aidez-vous les uns les autres
FORUM : dialogue et assistance
www.programmez.com
75-80 22/08/07 19:20 Page 80
Programmez! - N100 SEPTEMBRE 2007 81
Dveloppement Web
EN BREF
Spry: lAJAX selon Adobe
Depuis lacquisition de Macromedia, beaucoup de dveloppeurs web attendaient la nouvelle
version de DreamWeaver, lenvironnement de dveloppement de sites web le plus utilis au
monde. La version 9 est lance sous le nom de DreamWeaver CS3 et fait partie intgrante de toute
loffre graphique dAdobe.
O
utre une interface homognise avec la suite dAdobe et des
connecteurs intelligents avec PhotoShop et Fireworks, la grande
nouveaut de cette dition rside dans lintrusion de librairies
AJ AX : le framework Spry. Dvoil il y a plus dun an sur le labs
(labs.adobe.com), Spry exprime la volont de simplifier lajout de com-
portement Ajax dans vos sites web : gestion dynamique de donnes XML,
effets visuels volus, widgets... La simplicit de ce framework plaira aux
designers web et ceux qui ont quelques notions de dveloppement web.
Ddi lexprience utilisateur, Spry viendra en complment des frame-
works Ajax professionnels (BackBase, Symfony, Dojo) pour lintgration
aux SI des entreprises. Pour dcouvrir Spry, je propose de vous exposer
les concepts de base du framework en manipulant de la donne XML. J e
finirai en ajoutant au code quelques effets visuels et en tendant les pos-
sibilits de Spry avec les widgets intgrs dans Dreamweaver CS3.
XMLDataSet : la source de donnes Spry
La technologie AJ AX connat un norme succs car elle permet de faire
voluer le paradigme du web classique. Lobjectif est de charger une fois
la vue (le cadre applicatif) pour se concentrer ensuite sur lchange de
donnes structures (au format XML). Lexprience utilisateur sen trouve
amliore car cela minimise le rafrachissement de pages, amliore les
temps de rponse et sollicite moins de bande passante. Les changes de
donnes au format XML sont excuts par le code J avaScript de vos pages
HTML. J e vais dvelopper une page HTML qui reprsente dynamiquement
de la donne XML et change la demande de source XML. Lobjet XMLDa-
taSet du framework Spry est la clef de vote de cette architecture.
Reprsenter un fichier XML dans un tableau HTML
Voici la structure du fichier albums1.xml de description dun album pho-
tos que je souhaite traiter.
<?xml version="1.0" encoding="iso-8859-1"?>
<gallery>
<photos>
<photo nom="acropole" original="athenes.jpg" vignette="vathenes.jpg"/ >
<photo nom="tour eiffel" original="paris.jpg" vignette="vparis.jpg"/ >
<photo nom="grande muraille" original="chine.jpg" vignette="vchine.jpg"/ >
<photo nom="big ben" original="londres.jpg" vignette="vlondres.jpg"/ >
</ photos>
</ gallery>
Dans mon code HTML, je commence par charger deux librairies, J avaS-
cript du framework Spry (Xpath.js pour naviguer dans mes donnes
XML, et SpryData.js pour charger et manipuler la donne) :
<head>
<script type="text/ javascript" src="../ ../ includes/ xpath.js"></ script>
<script type="text/ javascript" src="../ ../ includes/ SpryData.js"></ script>
</ head>
J e dfinis ensuite un objet XMLDataSet qui va charger le contenu de
mon fichier XML :
<script type="text/ javascript">
var dsAlbum=new Spry.Data.XMLDataSet("data/ album1.xml", " gallery/
photos/ photo ");
</ script>
Le premier paramtre de ma fonction XMLDataSet est le chemin vers
mon fichier XML. Vous pouvez aussi indiquer ici le chemin vers un script
(PHP, J SP, ASP, CGI) qui effectue un traitement et renvoie du XML. Le
second paramtre est une expression XPath qui indique quels sont les
nuds qui mintressent. Dans cette exemple, je veux afficher tous les
nuds " photo ", ainsi je navigue dans ma structure XML jusqu
atteindre ce nud. Lobjet dsAlbum est donc le rsultat de cette expres-
sion, un tableau dobjets que lon pourrait reprsenter ainsi.
[
{"@nom": "acropole", "@original": "athenes.jpg", "@vignette": "vathenes.jpg"},
...
{"@nom": "big ben", "@original": "londres.jpg", "@vignette": "vlondres.jpg"}
]
Le symbole @ permet datteindre un attribut du nud XML. Pour
atteindre un lment, il suffit dindiquer le nom du fils. Par exemple, si
je manipule cette source XML :
<employe id=345>Michael Chaize</ employe>
Si je demande afficher employe, jobtiens Michael Chaize. Si je
demande afficher employe/ @id renvoie 345.
Mon DataSet tant dfini, je rajoute une rgion dynamique pour le repr-
senter dans ma page HTML. J e rajoute une rgion Spry :
<body>
81-83 22/08/07 19:10 Page 81
Programmez! - N100 SEPTEMBRE 2007 82
Dveloppement Web
<div spry:region="dsAlbum">
</ body>
La rgion est automatiquement relie et lcoute de mon DataSet. Si
les valeurs de celui-ci sont mises jour, la rgion va automatiquement
se rafrachir pour actualiser laffichage des donnes. Vous pouvez indi-
quer quune mme rgion dynamique est relie plusieurs sources de
donnes. Il suffit de les nommer spares dun espace :
<div spry:region="dsAlbumdsPhotographes dsExpositions">
Il ne reste plus qu dcider la faon dafficher les donnes, dans un
tableau HTML par exemple :
<div spry:region="dsAlbum">
<table border="1">
<tr>
<th scope="col">Nom</ th>
<th scope="col">Chemin</ th>
<th scope="col">Vignette</ th>
</ tr>
<tr>
<td>{dsAlbum::@nom}</ td>
<td>{dsAlbum::@original}</ td>
<td>{dsAlbum::@vignette}</ td>
</ tr>
</ table>
</ div>
Ce tableau naffiche que la premire ligne de mon DataSet XML.
Nom Chemin Vignette
acropole athenes.jpg vathenes.jpg
Pour afficher toutes les lignes de mon DataSet, jutilise lobjet spry
:repeat en rindiquant le DataSet. La boucle sera automatique sur ll-
ment HTML, ici le tag <TR>, la ligne de mon tableau.
<tr spry:repeat="dsAlbum">
J e rcupre bien lintgralit de mon fichier :
Nom Chemin Vignette
acropole athenes.jpg vathenes.jpg
tour eiffel paris.jpg vparis.jpg
grande muraille chine.jpg vchine.jpg
bigben londres.jpg vlondres.jpg
Pour effectuer un simple tri sur mes colonnes, jai juste insrer la com-
mande spry:sort (en prcisant le champ XML qui servira de tri alphanu-
mrique) :
<th scope="col" spry:sort="@nom">Nom</ th>
Il suffit de cliquer sur len-tte des colonnes pour que la donne soit
automatiquement trie ct client. Dsormais je souhaite charger dyna-
miquement dautres fichiers XML qui dcrivent eux aussi des albums
photos. Le tableau devra donc se mettre automatiquement jour ds le
chargement dune nouvelle source XML. J appelle la seconde source
album2.xml. Pour modifier la source de donnes, je vais utiliser une
liste droulante qui servira de slecteur entre album1 et album2.
<select onchange="dsAlbum.setURL(this.value); dsAlbum.loadData();">
<option value="data/ album1.xml" selected>Set 1</ option>
<option value="data/ album2.xml">Set 2</ option>
</ select>
A chaque changement de la valeur de la liste, le chemin vers la nouvelle
source est modifi (setURL) dans le dataSet et le chargement de la don-
ne XML est lanc (loadData). Cela fonctionne immdiatement car la
rgion dynamique est lcoute des changements du dataSet.
Voici lintgralit du code HTML et apprciez le peu de lignes qui sont
ncessaires pour mettre en place cet affichage dynamique :
<html>
<head>
<title>Spry et mes photos</ title>
<script type="text/ javascript" src="include/ xpath.js"></ script>
<script type="text/ javascript" src="include/ SpryData.js"></ script>
<script type="text/ javascript">
var dsAlbum=new Spry.Data.XMLDataSet("data/ album1.xml", " gallery/
photos/ photo ");
</ script>
</ head>
<body>
<select onchange="dsAlbum.setURL(this.value); dsAlbum.loadData();">
<option value="data/ album1.xml">Set 1</ option>
<option value="data/ album2.xml">Set 2</ option>
</ select>
<div spry:region="dsAlbum">
<table border="1">
<tr>
<th scope="col" spry:sort="@nom">Nom</ th>
<th scope="col" spry:sort="@original">Chemin</ th>
<th scope="col" spry:sort="@vignette">Vignette</ th>
</ tr>
<tr spry:repeat="dsAlbum">
<td>{dsAlbum::@nom}</ td>
<td>{dsAlbum::@original}</ td>
<td>{dsAlbum::@vignette}</ td>
</ tr>
</ table>
</ div>
</ body>
</ html>
Affichage des images et effets visuels
Maintenant que je sais rcuprer des donnes XML et les manipuler, je
vais amliorer laffichage de mon album photo. J utilise tout dabord lob-
jet spry:repeat pour afficher toutes les vignettes dcrites dans le XML.
<div id="thumbContainer" spry:region="dsAlbum">
<img src="vignettes/ {dsAlbum::@vignette}" spry:repeat="dsAlbum"
class="thumbs" onclick="dsAlbum.setCurrentRow('{ds_RowID}');"/ >
</ div>
81-83 22/08/07 19:10 Page 82
Programmez! - N100 SEPTEMBRE 2007 83
EN BREF
<a onclick="Spry.Effect.DoFade('region1', {duration:1000,from:100,
to:20,toggle:true});>mon lien </ a>
La fondue sapplique llment region1. Leffet dure une seconde et
rduira lopacit 20%. Sur lalbum photo, je vais rajouter un effet
Shake qui remuera la photo chaque nouvelle apparition.
<img src="vignettes/ {dsAlbum::@vignette}" spry:repeat="dsAlbum"
class="thumbs" onclick="dsAlbum.setCurrentRow('{ds_RowID}');Spry.
Effect.DoShake('main');"/ >
Voici le code source complet de lalbum photo (jai juste supprim ici les styles) :
<html xmlns="http:/ / ns.adobe.com/ spry">
<head>
<title>Ajax AlbumDemo</ title>
<script type="text/ javascript" src="include/ xpath.js"></ script>
<script type="text/ javascript" src="include/ SpryData.js"></ script>
<script type="text/ javascript" src="include/ SpryEffects.js"></ script>
<script type="text/ javascript">
var dsAlbum=new Spry.Data.XMLDataSet("data/ album1.xml", "gallery/
photos/ photo");
</ script>
<style type="text/ css">
<!--
...
-->
</ style>
</ head>
<body>
<div id="thumbContainer" spry:region="dsAlbum">
<img src="vignettes/ {dsAlbum::@vignette}" spry:repeat="dsAlbum"
class="thumbs" onclick="dsAlbum.setCurrentRow('{ds_RowID}');Spry.Effect.
DoShake('main');"/ >
</ div>
<div id="main" spry:detailregion="dsAlbum">
<img src="photos/ {dsAlbum::@original}"/ ><br / >Name:{@nom}
</ div>
</ body>
</ html>
Spry et Adobe DreamWeaver CS3
Voici comment en quelques lignes de code, le framework Spry vous per-
met de crer des rgions dynamiques relies de la donne XML et de
lillustrer graphiquement laide deffets visuels. Spry, cest aussi un
ensemble trs complet de widgets directement accessibles dans linter-
face de DreamWeaver CS3. Ces widgets permettent de proposer luti-
lisateur des contrles de navigation avancs, comme laccordon, les
zones extensibles, les onglets, les barres de menu et aussi des com-
posants de formulaires intelligents qui valident sans rafrachissement
les valeurs saisies.
Site : http:/ / labs.adobe.com/ technologies/ spry/
Michal Chaize
Consultant Avant-Vente chez Adobe
Ma nouvelle rgion dynamique thumbContainer rpte cette fois ci des
tags <img>. J utilise lvnement onclick pour indiquer Spry quel est
llment courant. J ai indiqu prcdemment que le dataSet reprsen-
tait le XML en mmoire comme un tableau dobjet. A chaque clic sur une
image, Spry va pointer automatiquement lindex du tableau sur la ligne
o se trouve limage courante. Le fait dobtenir simplement quelle est la
vignette slectionne va permettre dafficher la photo originelle.
J affiche la photo originelle dans une autre rgion dynamique.
<div id="main" spry:detailregion="dsAlbum">
<img src="photos/ {dsAlbum::@original}"/ ><br / >Name:{@nom}
</ div>
Pour amliorer la disposition des vignettes et de la photo sur la page, je
vais juste dclarer quelques styles CSS.
<style type="text/ css">
<!--
img.thumbs {
float:left;
height: 60px;
...
}
#main {
position:absolute;
left:476px;
...
}
#thumbContainer {
left:23px;
top:127px;
...
}
-->
</ style>
La rgion dynamique des vignettes sera ainsi gauche de la page et la
photo droite.
Effets visuels avec spry
Pour ajouter un effet visuel chaque affichage de photo, je charge la
librairie des effets Spry.
<script type="text/ javascript" src="include/ SpryEffects.js"></ script>
Plusieurs effets sont accessibles, tous trs saisissants graphiquement.
- Fade : fondue progressive
- Highlight : Modifie le fond dun lment pour le mettre en valeur
- Blind Up / Down : Apparition par le haut ou le bas dun cache
- Slide Up / Down : Dplacement vertical de llment
- Grow : Redimensionnement progressif
- Shake : remue llment
- Squish : Disparition en diagonale
Lappel de ces effets est trs simple. Pour effectuer une fondue par
exemple sur une rgion dynamique " region1 ", il suffit dun appel
J avaScript :
81-83 22/08/07 19:11 Page 83
Programmez! - N100 SEPTEMBRE 2007 84
Technique
Les technologies AOP dans le monde .NET
En avril 2007, Microsoft a sorti la version 3.0 de son Entreprise Library. Parmi les nouveauts, on
trouve lApplication Block Policy Injection destine faire de lAOP, acronyme signifiant Aspect
Oriented Programming (programmation orient aspect). J e vous propose de profiter de cette
nouveaut pour faire le point sur cette technique, notamment en comparant diffrents tisseurs
disponibles pour la plate-forme .NET, en termes de performance.
L
AOP est un modle de programmation qui a pour but de faciliter
le dveloppement et la maintenance dune application. Avec de
lAOP il sera possible dassocier, a posteriori, un certain nombre
de traitements (appels galement aspects) une ou plusieurs
mthodes. Gnralement, il est possible dappliquer des traitements
avant et/ ou aprs lappel des mthodes, ou encore suite une excep-
tion (Erreur! Source du renvoi introuvable.). On pourra, par exemple, ra-
liser des oprations de trace en entrant et/ ou en sortant des mthodes
slectionnes. Le vocabulaire du domaine varie lgrement selon ldi-
teur. On appellera donc tisseur ou injecteur la brique logicielle charge de
lier les mthodes aux traitements souhaits. On distingue 2 catgories
de tisseurs : les statiques et les dynamiques. Les tisseurs statiques
injectent du code dans la solution en phase de compilation. AspectDNG
(1) est un exemple de tisseur statique. Les tisseurs dynamiques au
contraire, se basent sur lutilisation dun proxy gnr lexcution
(Erreur! Source du renvoi introuvable.). Dans la pratique, les tisseurs sta-
tiques sont beaucoup plus rapides, car ils ne gnrent pas de proxy et
donc ne subissent pas de surcharge. En contrepartie, les tisseurs dyna-
miques offrent gnralement, une plus grande souplesse lexploitation.
Ils permettent par exemple, dajouter/ supprimer les traitements en
phase de maintenance, ce qui nest pas possible avec les tisseurs sta-
tiques. Dans le cadre de cet article, nous nous intresserons unique-
ment la famille des tisseurs dynamiques, dont fait partie lApplication
Block Policy Injection de Microsoft. Les tisseurs utilisent des proxies.
Cela signifie que les classes traites par AOP seront, soit instancies
directement travers une fabrique spcifique, soit wrappes quand lins-
tance tisser existe dj. Une fois ce proxy disponible, il sutilise de
manire transparente, en lieu et place de lobjet cible. Lopration de
cration ou de wrapping, ainsi que le proxy lui-mme, peuvent tre plus
ou moins performants. Cest tout lintrt de les comparer pour faire son
choix. Parmi les quelques tisseurs dynamiques pour le Framework.NET,
jai retenu les composants suivants pour ce benchmark : lEntreprise
Library de Microsoft, Spring.NET (2), Aspect#(3), NAspect (4) et Rapier-
Loom.NET (4) . On notera que seuls les composants Entreprise Library et
Spring.NET ont t tests dans leur version finale.
Lapplication block Policy Injection
Cet Application Block a lavantage dtre trs simple dutilisation. Les
classes sur lesquelles greffer des aspects doivent cependant respecter
certaines contraintes : soit hriter de la classe MarshalByRefObject, soit
implmenter une interface. On notera que cette dernire contrainte est
impose par les tisseurs Aspect#et Spring.NET. Cependant, contraire-
ment aux tisseurs Rapier-Loom.NET et NAspect, les mthodes intercep-
ter nont pas besoin dtre virtuelles. Par la suite, tout peut tre gr par
configuration. Notons, quil est possible de prconfigurer la classe en
appliquant certains attributs (Tags) aux mthodes. Cette dernire, moins
flexible, ne sera pas utilise dans le cadre des tests de performance.
Exception faite de Rapier-Loom.NET, tous les tisseurs tests peuvent ga-
lement tre grs dans le fichier de configuration. LApplication Block est
fournie avec un certain nombre daspects prts lemploi, ce qui nest
pas le cas des autres tisseurs. Microsoft les nomme Handlers, dautres
les nommeront Method Interceptor. On peut galement crer ses propres
Handlers, ce qui ouvre la voie de nombreuses possibilits. Cest cette
fonctionnalit de lApplication Block qui sera utilise dans le cadre du
benchmark. Enfin, lEntreprise Library offre une documentation de bonne
facture. Ce nest pas toujours le cas des autres tisseurs. Ainsi, si celle de
Spring.NET est trs abondante, celle des autres laisse dsirer.
Le benchmark
On peut voir donc, quattractive au premier abord, lAOP apporte son lot
de contraintes quil faut intgrer en phase de conception. Ensuite, il faut
garder lesprit que les tisseurs dynamiques font usage dun proxy.
Ceci implique une certaine surcharge lexcution.
Le tableau 1 synthtise un comparatif de performance entre les diff-
rents tisseurs retenus. Les rsultats sont exprims en millisecondes.
Les tests ont t raliss sur un Pentium 4 3.2Ghz avec 2Go de RAM,
sur .NET 2.0.
Itrations
Tisseurs 1 000 10 000 100 000
Entreprise Library v3 (create) 291 738 5214
Entreprise Library v3 (wrap) 289 683 4640
Rapier Loom.NET 2.0 RC1 246 259 385
AspectSharp v2.1.1.1 (RC) 200 659 5491
NAspect v1.0 (2007-05-19) (6) 66 200 1553
Spring.NET v1.0.2 16 106 1025
Tableau1:synthsedesrsultats
On remarque, lvidence, quen dessous de 10 000 itrations, le tis-
seur de Spring.NET est nettement le plus performant. La conception de
Rapier Loom.NET lui assure une parfaite monte en charge, mais des
performances comparativement moindres, en utilisation moins intensive.
(1) http:/ / aspectdng.tigris.org
(2) http:/ / www.springframework.net
(3) http:/ / www.castleproject.org
(4) http:/ / www.puzzleframework.com
(5) http:/ / www.dcl.hpi.uni-potsdam.de/ research/ loom
(6) Lors des tests, le composant NAspect a rvl que le mode wrapping
(mthode CreateWrapper) gnrait des messages inappropris sur la console.
Les tests ont donc t limits lutilisation de la mthode CreateProxy.
84-85 22/08/07 19:08 Page 84
Programmez! - N100 SEPTEMBRE 2007 85
PROGRAMMATION LINUX
Le code
Voici le code ayant servi tester le composant de lEntreprise Library.
Afin dviter tout traitement parasite, un CustomHandler a t utilis et
la mthode intercepte ne fait aucun traitement. Le mme algorithme a
t repris pour le test de tous les autres tisseurs, garantissant ainsi une
cohrence dans les rsultats.
public interface IEntLibTest
{
void Test();
}
/ / / <summary>
/ / / La classe tisser.
/ / / </ summary>
public class EntLibTest : IEntLibTest
{
/ / / <summary>
/ / / Mthode qui ne fait rien.
/ / / Histoire de prendre en compte les temps d'appel.
/ / / </ summary>
public void Test(){}
}
/ / / <summary>
/ / / Handler personnalis.
/ / / </ summary>
[ConfigurationElementType(typeof(CustomCallHandlerData))]
public class EntLibTestAdvice : ICallHandler
{
public EntLibTestAdvice(NameValueCollection col) {}
#region ICallHandler Membres
public IMethodReturn Invoke(IMethodInvocation input,
GetNextHandlerDelegate getNext)
{
/ / On peut placer un traitement pralable ici.
IMethodReturn msg =getNext()(input, getNext); / / l'appel
/ / puis un autre aprs l'appel ici.
return msg;
}
#endregion
}
/ / / <summary>
/ / / Cette classe contient les mthodes qui grent les tests.
/ / / </ summary>
public class EntLibTester
{
/ / / <summary>
/ / / Lance le test en utilisant le mode Wrap.
/ / / </ summary>
public void RunWrap()
{
Stopwatch sw =new Stopwatch();
int max =1;
bool flag =false;
while (!flag)
{
sw.Start();
for (int i =0; i <max; i++)
{
IEntLibTest test =PolicyInjection.Wrap<IEntLibTest>(new EntLibTest());
test.Test();
}
sw.Stop();
Console.WriteLine("Iterations:{1}, Dure:{0}ms",
sw.ElapsedMilliseconds, max);
flag =(max ==100000 ? true : false);
max =(max ==10000 ? 100000 : max);
max =(max ==1000 ? 10000 : max);
max =(max ==1 ? 1000 : max);
}
}
/ / / <summary>
/ / / Lance le test en utilisant le mode Create.
/ / / </ summary>
public void RunCreate()
{
Stopwatch sw =new Stopwatch();
int max =1;
bool flag =false;
while (!flag)
{
sw.Start();
for (int i =0; i <max; i++)
{
IEntLibTest test =PolicyInjection.Create<EntLibTest, IEntLibTest>();
test.Test();
}
sw.Stop();
Console.WriteLine("Iterations:{1}, Dure:{0}ms",
sw.ElapsedMilliseconds, max);
flag =(max ==100000 ? true : false);
max =(max ==10000 ? 100000 : max);
max =(max ==1000 ? 10000 : max);
max =(max ==1 ? 1000 : max);
}
}
}
Conclusion
Avec larrive de lEntreprise Library 3, la plate-forme .NET se dote dun
nouveau tisseur. LAOP est une solution trs avantageuse pour amlio-
rer tant la lisibilit du code, que la productivit des dveloppeurs. Si le
composant de lEntreprise Library est celui que jai trouv le plus pra-
tique utiliser, celui-ci nest pas des plus performants. On prfrera
donc Spring.NET quand la performance est primordiale.
J ol Descombes - SQLI
84-85 22/08/07 19:09 Page 85
Programmez! - N100 SEPTEMBRE 2007 86
Code
CMake, le make plus ultra
des outils de construction
Encore peu connu, son adoption comme outil de construction de KDE 4 va le propulser sur le devant
de la scne. Et c'est juste titre. Dcouvrons le.
P
rogrammez! 96 vous a prsent SCons, l'outil de construction
de projet bas sur Python. Nous examinons aujourd'hui CMake.
Si avec les deux outils, le but est d'aboutir la construction
d'un projet, chacun sa propre philosophie, et donc, son domaine
d'application. Scons a une philosophie la Python. C'est un couteau
suisse et un outil de haut niveau dans le sens o la configuration
d'une construction (simple) se configure rapidement, en peu de lignes.
Avec CMake les choses sont diffrentes. Avec CMake on rentre dans
tous les dtails de la construction, mme si, bien entendu, les dpen-
dances classiques entre fichiers .h et .c sont automatiquement
gres. En fait CMake n'est pas un outil de construction de projets
proprement parler. C'est un outil de gnration de makefile tout ce
qu'il y a de classique, et aussi, sous Windows, de projets Visual Studio
si on le souhaite. Une fois les makefiles ou les projets Visual Studio
gnrs, la construction proprement dite est effectue de manire tra-
ditionnelle.
Enremplacement des autotools
Toute personne qui a un jour compil un projet Open Source a t
confronte au trio de commandes:
./ configure
make
make install
Les deux dernires commandes assurent la compilation et l'installation
de l'application au moyen de makefile. Rien d'extraordinaire ici. Tout
l'sotrisme de la chose est concentr dans le script configure. Celui-ci,
tout au long d'une excution souvent bien trop longue, met d'innom-
brables messages du genre de celui-ci:
checking for sys/ types.h... yes
Quand yes fait partie du message, pas d'inquitude. Parfois no appa-
rat, mais le script continue son travail et la construction d'un projet
amput de certaines fonctionnalits sera malgr tout possible, parfois
il s'arrte et la construction du projet sera impossible sur votre systme
en raison de l'absence de librairies, de fichiers en-tte ou pour une
autre raison. En rsum, configure vrifie si votre systme est capable
d'accueillir totalement ou partiellement un projet et selon le rsultat de
ses cogitations un (ou plusieurs) makefile sera gnr pour la construc-
tion venir avec la commande make.
Lancer un script configure est la porte de tous. Mais si vous avez
dvelopp une application que vous souhaitez pouvoir tre compile sur
diverses plates-formes ou mme sur des Linux diversement configurs,
vous devrez crer vous mme le script configure et c'est l que l'affaire
1
se gte srieusement. Vous devrez crire un fichier configure.ac rempli
de macros m4 hermtiques et utiliser les autotools que sont autoconf,
automake et libtools. Le premier gnrant le fameux script configure,
les deux autres gnrant les makefile partir des prototypes que sont
les makefile.am. Sans vouloir critiquer ces outils qui ont rendu des ser-
vices inestimables, force est de reconnatre que les utiliser est prou-
vant pour de multiples raisons, dont la connaissance requise de
plusieurs langages et syntaxes. C'est ici que CMake intervient. Son rle
est identique celui du script configure mais il travaille partir d'un ou
plusieurs fichiers de commandes crites dans un langage homogne et
infiniment plus intelligible que les macros m4. Lorsque CMake a termi-
n son travail, qui est incomparablement plus rapide que l'excution
d'un script configure, les makefile classiques sont gnrs et il ne reste
plus qu' les utiliser non moins classiquement. CMake est donc un outil
de choix pour remplacer les autotools vieillissants (euphmisme..) et
pour le dveloppement multi plate-forme. En effet, vous pouvez avec lui
non seulement prparer une construction de projet sous Unix mais
aussi sous MacOS X, sous Windows avec possibilit de gnrer des
makefile pour nmake, mais aussi des projets Visual Studio comme nous
l'avons dit.
Vous avez encore la possibilit d'utiliser sans difficult de nombreux
compilateurs diffrents. Par sa nature, il est clair que CMake est essen-
tiellement ddi aux applications crites en C ou C++. Il est toutefois
cens prendre en charge J ava, possibilit que votre serviteur n'a jamais
essay. En outre CMake est extensible au moyen de commandes per-
sonnalises. Alors tout est il parfait dans le monde de CMake ? Pas tout
fait. Mme s'il n'est pas ardu et ingrat comme le sont les autotools, il
est, ncessairement, complexe. Or il est regretter que sa documenta-
tion ne soit pas la hauteur de l'outil et qu'elle rende sa prise en main
difficile. Cette documentation n'est que la description de commandes
en vrac. L'utilisation de ces commandes ne saute pas aux yeux de prime
abord. Est-ce voulu ? Comme pour d'autres projets Open Source, une
documentation payante venant sous la forme d'un livre vous est propo-
se. Cependant, une fois la prise en main effectue, la puissance et les
avantages de CMake apparaissent et l'on comprend que le projet KDE 4
l'ait adopt. Et votre serviteur ne serait pas surpris si l'avenir CMake
devenait le nouveau standard pour la construction des projets Open
Source. Cela semble souhaitable du moins. Vous trouverez CMake
http:/ / www.cmake.org. Son installation est une simple formalit.
Notrecahier des charges
Nous allons crire un projet en C de type Hello World, compos
d'un programme principal et d'une librairie construite sparment dans
son propre rpertoire. Nous voulons que le projet puisse tre construit
sous Unix, mais aussi sous Windows. Nous voulons que sous Unix la
prsence de la librairie Curses soit dtecte et que si la librairie est pr-
2
86-89 22/08/07 19:04 Page 86
Programmez! - N100 SEPTEMBRE 2007 87
sente, notre application soit dote d'une fonctionnalit supplmentaire.
L'absence ventuelle de la librairie sera signale sans faire chouer la
construction, et si nous sommes sous Windows, la librairie ne sera pas
recherche du tout. Enfin, nous voulons que sous UNIX, et sous UNIX
seulement, l'excutable produit soit install dans un rpertoire bin et
que la librairie soit installe dans un rpertoire lib, tous deux sous-rper-
toires d'un rpertoire qui sera spcifi au lancement de la construction
du projet.
Organisationdes sources
Celle-ci est naturellement arborescente. A la racine nous dpo-
sons les sources de l'application principale. Dans un sous-rpertoire
baptis hellolib nous dposons les sources de la libraire, y compris les
en-ttes. Chaque rpertoire du projet doit se voir attribuer un fichier de
commandes l'intention de CMake. Le lecteur trouvera notre projet sur
le Cd-Rom accompagnant le magazine ou sur notre site. Regardons nos
sources. Tout d'abord l'en-tte de la librairie.
/ * fichier hellolib.h */
#ifndef HELLOLIB_
#define HELLOLIB
extern void helloworld(void);
#endif
Rien remarquer. L'emploi de CMake est transparent ici. Voyons main-
tenant le code de la librairie:
/ * Fichier hellolib.c */
#include <stdio.h>
#ifdef WIN32
__declspec( dllexport ) void helloworld(void);
#endif
void helloworld(void)
{
puts("Programmez!");
puts("Abonnez vous! :-)");
}
Le seul point remarquer est la compilation conditionnelle. Sous Win-
dows et sans la dclaration d'exportation, notre librairie serait bien
gnre sous la forme d'un fichier .dll, mais le fichier .lib ne serait pas
gnr, la librairie n'exportant aucune fonction. Ceci est spcifique aux
outils Windows et n'a sur le fond, rien voir avec l'utilisation de CMake
proprement dit. Voici maintenant le code de l'application:
#include <stdio.h>
#include "hellolib/ hellolib.h"
#include "config.h"
int main(int argc, char *argv[])
{
helloworld();
3
#ifdef CURSES_FOUND
puts("Ce programme est li la librairie curses");
#endif
return 0;
}
Le code est tout simple. On remarquera nouveau une compilation
conditionnelle. Rien voir cette fois avec une spcificit de plate-forme.
Il s'agit simplement de la "fonctionnalit" que nous ajoutons l'applica-
tion si la libraire curses a t dtecte au moment de la compilation.
L'ajout se fait en fonction de la dfinition de la macro CURSES_FOUND
dont on se doute qu'elle rside dans le fichier en-tte config.h. Cepen-
dant, nous n'crivons pas nous-mmes ce fichier. CMake le gnrera
pour nous. Nous comprenons donc que le choix de CMake comme outil
de construction a ici une rpercussion directe sur le code de l'applica-
tion. Les unixiens sont habitus cela puisque le script configure peut
gnrer un tel en-tte. Mais cette pratique est moins habituelle sous
Windows.
Premiers pas avec les CMakeLists
Pour que CMake fonctionne correctement, chaque rpertoire et
sous-rpertoire d'un projet doit comporter un fichier de commandes du
nom de CMakeLists.txt. Ce fichier est un simple fichier texte. Faisons-nous
la main avec le CMakeLists.txt du sous-rpertoire hellolib de notre projet.
SET (hellolib_src hellolib.c)
ADD_LIBRARY (hellolib SHARED ${hellolib_src})
IF (UNIX)
INSTALL(TARGETS hellolib DESTINATION "lib")
ENDIF (UNIX)
Les commandes CMake ne sont pas sensibles la casse. En revanche,
les paramtres entre parenthses le sont. En observant cet exemple,
nous constatons que le jeu de commandes CMake va au-del d'un
simple jeu de commandes pour tre finalement un vritable langage.
Comme avec un langage, nous pouvons dclarer et dfinir des
variables, ce que nous faisons avec la commande SET. La variable
dclare est hellolib_src. Son type est une liste. Ici hellolib.c est le seul
lment. Si nous avions eu plusieurs fichiers sources pour notre librai-
rie, nous aurions crit:
SET (hellolib_src hellolib_src hellolib.c hellolib2.c
hellolib3.c hellolib4.c)
En sparant chaque nom de fichier par un espace et en allant la ligne
autant que de besoin. Dans l'exemple, la tabulation de la deuxime
ligne n'est pas requise. Nous pouvons aussi procder des itrations
sur les lments d'une liste au moyen du sandwich de commandes
FOREACH/ ENDFOREACH. Voici un exemple qui affiche chaque lment
l'un aprs l'autre :
SET (FICHIERS hellolib.c hellolib1.c hellolib2.c
hellolib3.c hellolib4.c)
4
LANGAGE : C
DIFFICULT :

APPLICATION : BUILD
SOURCE : oui
Donnez votre avis sur ce numro www.programmez.com/magazine_satisfaction.php
86-89 22/08/07 19:05 Page 87
Programmez! - N100 SEPTEMBRE 2007 88
Code
FOREACH(FICHIER ${FICHIERS})
MESSAGE(${FICHIER})
ENDFOREACH(FICHIER)
La valeur d'une variable, simple ou liste, est rcupre avec la syntaxe
${}. On remarquera bien la dernire ligne de l'exemple: le paramtre de
le commande ENDFOREACH est FICHIER et non FICHIERS.
En ce qui concerne la commande SET, il est utile de savoir qu'elle peut
aussi dfinir ou modifier des variables d'environnement. Nous renvoyons
le lecteur la documentation pour cela. Revenons notre
CMakelLists.txt. La deuxime commande, comme son nom l'indique,
ajoute une librairie. Ajout quoi ? Au projet naturellement. Nous y revien-
drons un peu plus loin. Les trois dernires lignes de notre exemple
concernent l'installation de la librairie. Comme nous voulons que cette
installation se fasse sous UNIX uniquement, nous testons tout naturelle-
ment la variable UNIX que CMake aura automatiquement cre si nous
travaillons sur une plate-forme de type UNIX. La commande INSTALL est
claire. Son effet, comme on s'y attend, se rpercute sur la cible install du
makefile qui sera gnr. En revanche l'utilisation de IF recle un pige
qui mrite qu'on s'y attarde. Supposons que sous Windows nous souhai-
tions mettre un message avertissant l'utilisateur que la librairie ne sera
pas installe. Voici ce que l'on est tent d'crire de prime abord :
IF (UNIX)
INSTALL(TARGETS hellolib DESTINATION "lib")
ELSE (WIN32) #<-- !! NON !!
MESSAGE("La libraire ne sera pas installe")
ENDIF (UNIX)
C'est tentant mais cela ne fonctionnera pas et aggravera votre ulcre
l'estomac tant que vous ne serez pas habitus CMake (ou mis en
garde par Programmez! :). La rgle est que si la commande IF a test
UNIX, tout le reste doit suivre de mme. Nous avons alors deux solu-
tions la premire est de traiter chaque plate-forme l'une aprs l'autre:
IF (UNIX)
INSTALL(TARGETS hellolib DESTINATION "lib")
ENDIF (UNIX)
IF (WIN32)
MESSAGE("La libraire ne sera pas installe")
ENDIF (WIN32)
Mais nous pouvons aussi imbriquer si nous le souhaitons condition de
le faire comme ceci, en remarquant bien le ELSE (UNIX):
IF (UNIX)
INSTALL(TARGETS hellolib DESTINATION "lib")
ELSE (UNIX)
IF (WIN32)
MESSAGE("La libraire ne sera pas installe")
ENDIF (WIN32)
ENDIF (UNIX)
Signalons malgr tout qu'il est possible de faire fonctionner le premier
exemple au moyen de cette commande:
SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
Aprs quoi il devient possible d'crire :
IF (UNIX)
INSTALL(TARGETS hellolib DESTINATION "lib")
ELSEIF (WIN32)
MESSAGE("La librairie ne sera pas installe")
ELSEIF (APPLE)
MESSAGE("Croquez la pomme :)")
ELSE ()
MESSAGE("O tes vous ?")
ENDIF ()
Toute la question tant de savoir si c'est une bonne ide, car ce n'est
pas la pratique tablie et il est sans doute prfrable de se conformer
cette dernire pour ne pas obfusquer des CMakeLists complexes.
Recherchesur lesystmehte
Nous regardons maintenant le CMakeLists.txt principal, la raci-
ne du projet. Voici son contenu:
PROJECT(hello)
IF (UNIX)
MESSAGE("-- Recherche de la librairie curses")
FIND_PATH (CURSES_INCLUDE_DIR curses.h / usr/ include)
FIND_LIBRARY (CURSES_LIBRARY NAMES curses PATH / usr/ lib)
IF (CURSES_INCLUDE_DIR AND CURSES_LIBRARY)
SET (CURSES_FOUND TRUE)
ENDIF (CURSES_INCLUDE_DIR AND CURSES_LIBRARY)
IF (CURSES_FOUND)
MESSAGE("-- Librairie curses trouve")
INCLUDE_DIRECTORIES (${CURSES_INCLUDE_DIR})
ELSE (CURSES_FOUND)
MESSAGE(
"-- !! Librairie curses
absente de votre systme !!")
ENDIF (CURSES_FOUND)
ENDIF (UNIX)
ADD_SUBDIRECTORY (hellolib)
SET (hello_src main.c)
ADD_EXECUTABLE (hello ${hello_src})
CONFIGURE_FILE (${CMAKE_SOURCE_DIR}/ config.h.cmake
${CMAKE_BINARY_DIR}/ config.h)
INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR})
TARGET_LINK_LIBRARIES (hello hellolib ${CURSES_LIBRARY})
5
86-89 22/08/07 19:05 Page 88
Programmez! - N100 SEPTEMBRE 2007 89
LANGAGE : C
DIFFICULT :

APPLICATION : BUILD
SOURCE : oui
IF (UNIX)
INSTALL(TARGETS hello DESTINATION "bin")
ENDIF (UNIX)
Maintenant que nous sommes familiariss avec le maniement de
CMake, ce code se comprend facilement. Nous commenons par dfinir
le nom du projet. Puis, si et seulement si nous sommes sur UNIX, nous
recherchons curses dans les rgles de l'art, savoir la librairie et ses
fichiers en-ttes. En cas de succs, le rpertoire d'inclusion est ajout
au projet. Sinon nous mettons un message d'avertissement qui ne fait
pas chouer la construction. Si l'absence du curses tait rdhibitoire,
nous aurions simplement crit:
MESSAGE(FATAL_ERROR "FATAL: Librairie curses introuvable")
Il n'est pas toujours ncessaire de rechercher aussi explicitement une
librairie. CMake vient avec des commandes de recherche de package
toutes prtes pour les librairies courantes. Ces commandes sont docu-
mentes. Ainsi pour curses, nous pouvions simplement crire:
FIND_PACKAGE (Curses QUIET)
Aprs la recherche de curses, nous ajoutons le rpertoire hellolib notre
projet. Cet ajout fait que CMake ira dans le sous-rpertoire, et comme il y
trouvera le CMakeLists.txt vu plus haut, il s'occupera de la construction
de la librairie. Viennent ensuite les commandes de construction de l'ex-
cutable sur lesquelles nous ne nous arrtons pas. Plus intressante est
la commande CONFIGURE_FILE qui provoquera la gnration de l'en-tte
config.h partir d'un fichier config.h.cmake que voici :
#ifndef CONFIG_H_
#define CONFIG_H_
#cmakedefine CURSES_FOUND 1
#endif
Nous cherchons curses donc, automatiquement, une variable
CURSES_FOUND va exister, qui prendra la valeur 1 ou 0 selon le rsultat
des curses, pardon des courses :) Aurions nous cherch la libraire X11
que X11_FOUND eut t dfinie, etc.
Revenons notre CMakeList.txt. Nous ajoutons ensuite le rpertoire
contenant config.h aux rpertoires d'inclusion. Le reste des com-
mandes tombe sous le sens, nous ne nous y attardons pas non plus.
Constructionduprojet
Impatients, nous lanons la construction de notre projet, depuis
sa racine. Nous voulons que l'installation soit faite sous / home/ fred:
cmake -DCMAKE_PREFIX_INSTALL=/ home/ fred .
make
make install
Sous UNIX, un makefile est un makefile. Sous Windows nous disposons
de multiples types de cibles. Pour gnrer un simple makefile l'atten-
tion du NMake de Microsoft, nous procdons ainsi :
6
cmake -G "NMake Makefiles" .
Mais si nous voulons gnrer un projet pour Visual Studio, la commande
devient
cmake -G "Visual Studio 8 2005" .
Et pour connatre tous les cibles possibles, y compris pour des compila-
teurs non Microsoft, on donnera cmake --help. A moins que l'on ne pr-
fre utiliser l'outil graphique de CMake.
Enguisedeconclusion
Nous avons vu que CMake est un outil trs complet, qui permet
de grer un projet dans les moindres dtails. Nous n'avons pas num-
r toutes ses possibilits ni ses finesses, loin s'en faut. Par exemple il
est possible, facilement, de spcifier des proprits pour un source,
proprits qui feront que lui et lui seul sera compil avec des options
particulires. Nous avons vu que CMake est parfait pour remplacer les
autotools ou mme pour migrer un projet de Linux vers Windows et
Visual Studio. De ce fait, il devrait logiquement s'imposer rapidement
comme un standard de L'Open Source.
Frdric Mazu- fmazue@programmez.com
7
86-89 22/08/07 19:06 Page 89
Programmez! - N100 SEPTEMBRE 2007 90
Code
Hbergez votre site dans un
ordinateur PC "headless" Soekris
De nos jours, chacun peut envisager d'tre son propre hbergeur. Ce ne sont pas les possibilits qui
manquent. Cet article vous propose quelques pistes et solutions, profitant de la richesse des outils
et des logiciels Open Source.
T
oute personne qui dispose d'une connexion permanente
Internet peut crer et hberger son site, dans la mesure o le
dbit montant de la connexion est suffisant pour ce que l'on
souhaite faire. Dans les pages qui vont suivre, je vais vous dcrire les
choix que j'ai faits, ainsi que les procds et les logiciels que j'ai adop-
ts, pour la cration et l'hbergement de mon site personnel. Cet
article ne veut pas entrer dans les dtails, mais plutt prsenter une
dmarche et des solutions intressantes. Si vous tes curieux et
qu'un point vous semble obscur, je vous retrouverai avec plaisir sur
notre forum pour en discuter.
Choixdumatriel
Un site doit pouvoir tre atteint via son nom de domaine. Vous
pouvez en acheter un auprs de votre fournisseur d'accs Internet,
ainsi qu'une adresse IP fixe. Cependant, un abonnement (gratuit)
DynDNS pour mettre en correspondance un nom de domaine, choisi sur
http:/ / www.dyndns.com, avec une IP dynamique est la solution que j'ai
choisie et que je vous recommande pour un site personnel. Dans ce
cas, votre modem/ routeur ADSL (j'utilise la "box" officielle de mon FAI)
se chargera du rafrachissement DynDNS chaque fois qu'une nouvelle
adresse IP vous sera attribue. Cette solution est idale car elle vite
que l'ordinateur qui hberge votre site ne soit directement accessible
via Internet. Au lieu de cela, la "box" sert de pare-feu et se charge de
rediriger les connexions entrantes vers la machine. Si vous voulez
connecter la machine directement au Net, DynDNS fournit de petits logi-
ciels qui s'occuperont alors du rafrachissement. Nous devons mainte-
nant choisir un ordinateur. En thorie, tout vieux PC est parfait pour ce
travail et c'est l'occasion de recycler une machine prime. Mais avec
deux problmes potentiels: la consommation d'lectricit et le bruit des
ventilateurs. J 'ai opt pour une autre solution, un PC headless Soekris
net4801 (http:/ / www.soekris.com) (Fig. 1).
Il s'agit d'un PC sans cran ni clavier, construit autour d'une AMD
Geode 266 Mhz (quivalent un Pentium I) avec 256 Mo de Ram. On
peut y incorporer une carte Compact Flash et/ ou un disque dur 2.5"
(disque dur de portable). La machine comporte en outre une interface
srie RS232 et trois interfaces Ethernet avec possibilit de booter sur
l'interface eth0. L'avantage de cette solution est une consommation
lectrique trs faible, 15W, et l'absence de bruit car le Geode ne chauf-
fant pas, il n'y a pas de ventilateur. Le seul bruit, trs trs faible est
celui du disque 2.5" que j'ai mont. Totalement ngligeable, et sinon, vu
sa taille, la machine peut facilement tre range dans un placard :-) Un
autre intrt de cette solution est l'exercice d'y installer le systme
d'exploitation, car l, pas question de le faire depuis un CD-Rom ou un
lecteur de disquette :-)
1
Choixdusystmed'exploitation
La machine, toute petite qu'elle est, doit tourner 24/ 24H et tre
fiable. Un systme d'exploitation srieux s'impose donc. Les candidats
sont OpenBSD, FreeBSD et Gnu/ Linux. OpenBSD prsente l'avantage
de pourvoir booter en pxeboot (voir plus loin) et s'installer directement
depuis Internet, mais je le connais mal. FreeBSD est aussi une solution
intressante, mais j'ai choisi Linux que je pense connatre assez bien ;)
Quel Linux ? Debian est un candidat excellent car capable lui aussi de
s'installer pxeboot. Red Hat le fait aussi mais cette distribution est lour-
de et trs incommode pour la Soekris. J e pense qu'il est sage de l'vi-
ter. J 'ai naturellement choisi ma distribution prfre : Gentoo. Un des
avantages est que cette distribution s'auto-compile. On peut ainsi opti-
miser au mieux les excutables, ce qui est bien venu, vu la faible puis-
sance du Geode. Les paranoaques de la scurit hurlent au scandale
lorsque je leur dis que gcc est prsent sur mon serveur. Ca ne m'em-
pche pas de dormir. Si certains ont dj essay de casser mon site,
personne n'y est pas encore parvenu :-)
Avant tout, communiquer avec leBIOSdelaSoekris.
Pour cela utiliser un ordinateur quip d'un Linux. Connectez
celui-ci la Soekris l'aide d'un null-modem cble. Ensuite lancer le ter-
minal minicom sur l'ordinateur. Depuis minicom, rglez le port srie du
PC 19 600 bauds. Mettez la Soekris sous tension. Vous obtenez dans
minicom un affichage semblable celui de l'illustration ci-contre (Fig.2).
Une fois dans le BIOS, vous pouvez essayer les diffrentes commandes
(mal) documentes par le manuel. Mais il vous faut imprativement
3
2
Fig.1 : Le PC Soekris, une toute petite bote sympathique.
90-92 22/08/07 19:02 Page 90
Programmez! - N100 SEPTEMBRE 2007 91
obtenir l'adresse MAC de l'interface rseau qui servira booter Linux.
Pour cela tapez dans minicom
boot f0
La Soekris va essayer de booter sur l'interface rseau, ce qui va
chouer bien videmment. mais l'issue de cet chec, vous verrez
l'adresse MAC de la carte Ethernet affiche dans minicom :) Notez cette
adresse quelque part car vous en aurez besoin pour configurer un ser-
veur DHCP.
Boostraper Gentoo dans laSoekris
Gentoo est parfait, mais il n'est pas prvu de l'installer depuis le
rseau. Bien sr, on peut jouer petit, installer Gentoo dans une Com-
pact Flash ou un disque 2.5" sur une autre machine. Dmonter la Com-
pact Flash ou le disque et le monter dans la Gentoo. Mais il est bien
plus amusant et ventuellement conomique de booter depuis l'interfa-
ce rseau. Cela dit comment faire ? Cela parat impossible. Pourtant ce
ne l'est pas. Avec la richesse des outils Open Source et la magie des
systmes de fichiers Linux, c'est mme facile. La dmarche que je
dcris n'est d'ailleurs pas rserve Gentoo, mais peut tre applique
la distribution de votre choix. Fondamentalement, une distribution
Gentoo s'installe, aprs formatage d'un disque, par le dsarchivage
d'une archive dite stage3 qui contient les binaires constituant un syst-
me minimum. Ce dsarchivage est fait sur le dit disque et dans la parti-
tion destine tre la racine du systme. Aprs dsarchivage, on
chroote sur la racine et on poursuit l'installation Mais avant de pouvoir
faire a dans la Soekris, il faut au moins qu'un noyau y soit charg, et
un systme de fichier racine mont. Donc il faut procder par tape. La
premire tape consiste booter Soekris comme une machine sans
disque du tout avec la mthode pxeboot. La dmarche est trs claire-
ment explique, en franais, http:/ / www.gentoo.org/ doc/ fr/ diskless-
howto.xml. Etudiez ce document. Mme si vous voulez installer une
autre distribution, les indications sont valables. Une fois le document
assimil, il n'y a que peu ajouter. Sur la machine matre (le PC clas-
sique), nous devons faire deux oprations supplmentaires dans le sys-
tme de fichiers destine Soekris. D'abord y dposer une archive
stage3 (non dcompresse donc) et qui servira aprs le boot rseau
4
(alias pxeboot). Ensuite chrootez vous une fois dans ce systme de
fichiers (sur le PC) pour dfinir un mot de passe pour root. Quitter le
chroot. Vrifiez que tous les dmons (nfs, dhcp et tftp) sont lancs cor-
rectement et que le matre est bien dmarr sur un noyau supportant la
fonctionnalit de serveur nfs. Vrifiez aussi que le service DHCP de
l'ventuelle "box" de votre fournisseur d'accs soit bien dsactiv, afin
d'viter un conflit avec le serveur DHCP de l'ordinateur matre. Tout est-
il prt ? Pas tout fait :) J e vous conseille d'ajouter :
console=ttyS0,19200n81
la ligne APPEND du fichier default du pxeboot, ceci afin d'avoir la
sortie de la Soekris redirige dans minicom. Rebootez maintenant
la Soekris, puis bootez sur l'interface rseau, en deux commandes
successives dans minicom:
reboot (puis Ctrl-p pour avoir la main)
boot f0
Instant magique, a marche ! :-) Quelle est la situation ce stade ?
Nous avons un Linux qui tourne dans la Soekris mais dont le systme
de fichier racine est sur l'ordinateur matre, situation normale pour le
dmarrage que nous avons effectu. Nous pouvons saisir des com-
mandes dans minicom comme dans un terminal Linux normal. Mais
nous devons maintenant nous affranchir du matre, ce qui est la deuxi-
me tape. C'est facile. fdisk tant disponible, nous pouvons formater le
disque 2,5" de la soekris. Supposons ceci fait, avec par exemple une
racine devant tre sur / dev/ hda3. Il est temps de donner dans minicom
deux commandes dont la magie est tourdissante :
mkdir / mnt/ soekris
mount / dev/ hda3 / mnt/ soekris
Qu'avons nous fait ? Depuis Soekris nous avons cr un point de mon-
tage dans le systme de fichier qui rside sur le matre, puis nous avons
mont notre disque local Soekris sur ce systme de fichiers distant. Et
a marche! Linux, c'est quand mme quelque chose :) Maintenant il suf-
fit de dcompresser le stage 3 dans / mnt/ soekris, c'est--dire finale-
ment sur notre disque local Soekris. Chrootez dans / mnt/ soekris. Ca y
est! Vous tes dans la place. Il vous suffit de poursuivre la procdure
d'installation classique de Gentoo (http:/ / www.gentoo.org/ doc/ fr/ gen-
too-x86-quickinstall.xml). Bien sr, vous n'oublierez pas d'inclure le
dmon ssh dans votre squence de dmarrage afin de pouvoir vous
connecter distance aprs le redmarrage. Lors de ce redmarrage,
vous repasserez par le BIOS de la Soekris et vous le configurerez pour
booter automatiquement sur le disque 2.5. C'est termin. Vous dispo-
sez d'un Linux embarqu qui vous emmnera d'amusements en satis-
factions :)
Choixd'unserveur Web
La richesse du monde Open Source est telle que le choix est un
vrai embarras. J 'ai commenc par servir des pages statiques avec
Apache. Avec l'intention de faire des pages dynamiques plus tard. Mais
avec quoi? Vu la faible quantit de mmoire, pas avec J ava, c'est sr.
Php serait trs bien. J 'ai pens aussi Ruby on Rails, ou mme Djan-
go que je prfre Ror, avec lighttpd pour conomiser des ressources.
5
LANGAGE : -
DIFFICULT :

APPLICATION : SERVEUR
SOURCE : non
Fig.2 : Communication tablie avec le BIOS de la Soekris, via un terminal minicom.
90-92 22/08/07 19:03 Page 91
Programmez! - N100 SEPTEMBRE 2007 92
Code
Mais d'un autre ct je ne voulais pas que ma Soekris ne soit qu'un ser-
veur Web. C'est aussi un serveur de courrier. PostgreSQL et d'autres
bonnes choses y tournent. Et malgr tout cela, je ne veux pas d'une
machine qui passe son temps crire dans sa partition de swap. Php,
Ror, Django sont tous des outils formidables, mais un peu gourmands
en ressources, voire lents, dans le contexte. Alors je me suis dit.
Puisque l'environnement est tout petit, il faut voir grand :) Et j'ai opt
pour un trs grand langage, injustement mconnu et incompris: Erlang.
J 'ai logiquement choisi Yaws, un serveur d'application crit en Erlang.
Pourquoi ce choix ? Parce que Erlang est un langage extrmement per-
formant car conu pour piloter des systmes en temps rel. Et aussi
parce que Erlang est un langage concurrent. Quand Yaws tourne dans
un systme Erlang, je peux y faire tourner d'autres applications en paral-
lle. Des applications connexes mon site Web ou totalement tran-
gres comme des outils d'administration, et les faire communiquer
entre elles. Ce qui est remarquable est qu'un processus supplmentai-
re lanc dans un noeud Erlang ne cote que 300 octets en moyenne. Vu
de l'extrieur Yaws ressemble Php. Voici titre d'exemple, ma page
d'accueil rduite sa plus simple expression:
<html>
<head></ head>
<body>
<erl>
out(A) ->
Peer =A#arg.client_ip_port,
Ip =element(1, Peer),
Port =element(2, Peer),
H =A#arg.headers,
{html, "<p>"
++f("Votre adresse IP est: ~w.~w.~w.~w<br>",
[element(1,Ip), element(2,Ip),
element(3,Ip), element(4,Ip)])
++f("Vous utilisez actuellement le port: ~w<br>", [Port])
++f("Votre navigateur pr&eacute;tend &ecirc;tre: <br>~s",
[H#headers.user_agent])
++"</ p>"}.
</ erl>
</ body>
</ html>
Nous avons du code Erlang insr dans le HTML, mais ce n'est que l'as-
pect extrieur des choses. Car au sein de Yaws une page Web devient
un processus Erlang comme un autre et comme tel peut communiquer
avec tout le systme. Ainsi faire une interface Web d'administration de
la Soekris est un jeu d'enfant. J e fais encore tourner, dans le mme syst-
me Erlang, l'quivalent du vieux service Internet time ( l'heure d'hiver :)
du port 13, mais sur le port 13013. Vous pouvez essayer depuis votre
machine avec un petit coup de telnet:
telnet fmazue.is-a-geek.net 13013
Cot de ce service: 200 octets. J e laisserai ce service actif pendant
deux mois aprs parution de cet article. Au total, le runtime Erlang qui
fait tourner Yaws et tout le reste utilise moins de 5 Mo, ce qui est imbat-
table. Depuis que je suis pass Erlang, ma Soekris n'a jamais crit
dans sa partition de Swap :) J 'espre, par cet article et l'occasion du
numro 100 de Programmez! vous avoir fait dcouvrir de nouvelles pos-
sibilits sortant des sentiers battus et qui renouvelleront votre plaisir de
faire de l'informatique.
Frdric Mazu- fmazue@programmez.com
LANGAGE : -
DIFFICULT :

APPLICATION : SERVEUR
SOURCE : non
En rsum
Pour amorcer un Linux sur le rseau en pxeboot, il vous faut :
- Une machine capable de booter sur une interface rseau telle que
la Soekris.
- Un ordinateur matre quip d'un Linux. Sachant que les outils
logiciels mentionns ci-dessous font partie de toute distribution
Linux qui se respecte, sur cet ordinateur matre devront tre pr-
sents:
-- un mulateur de terminal tel que minicom.
-- Un noyau compil avec support des fonctionnalits serveur NFS.
-- Un serveur DCHP configur pour attribuer une adresse IP l'inter-
face rseau de la machine esclave. (Soekris)
-- un serveur TFTP configur pour uploader un noyau dans la machi-
ne esclave.
-- un noyau compil avec support des fonctionnalits client NFS.
C'est ce noyau qui sera upload dans la machine esclave.
-- Une arborescence destine devenir le systme de fichier racine
de l'esclave. Typiquement pour une distribution Gentoo cette
arborescence est le contenu de l'archive stage3 d'installation de
Gentoo. On pourra ajouter tout ce qui pourra sembler pertinent
cette arborescence.
-- L'utilitaire de dmarrage rseau pxeboot correctement configur.
-- Et enfin une bonne dose de patience, si vous tentez pour la pre-
mire fois ce genre d'aventure :)
FORUM
dialogue et assistance www.programmez.com
90-92 22/08/07 19:03 Page 92
Programmez! - N100 SEPTEMBRE 2007 93
Code
Dcouverte du Nova SDK
Nova SDK est un moteur 3D temps rel construit sur .NET 2.0 et DirectX 9.0c. Il permet dintgrer
au sein dune application Windows Forms un rendu 3D rapide de qualit. Tout au long de ce
premier article nous allons nous attacher dcouvrir le modle objet de Nova.Pour dcouvrir Nova
de manire ludique nous allons dvelopper un petit jeu de bowling. Cet exercice nous permettra
de passer en revue les points dentre et les concepts clef dun moteur 3D moderne.
Le Nova SDK est bas sur deux assemblies que nous devrons rfrencer :
Vertice.Nova.dll
Vertice.Nova.Interop.dll
De plus pour accder aux services mathmatiques et gomtriques de
base, il nous faut rfrencer les assemblies de DirectX Graphics :
Microsoft.DirectX.dll
Microsoft.Direct3D.dll
Microsoft.Direct3DX.dll
Avant de nous lancer dans la mise en place du jeu proprement parler il
nous faut construire notre Windows Form. Cette dernire se compose
dun bouton pour lancer une nouvelle partie et dun panel dans lequel
nous ferons nos rendus :
Dans lvnement Load de notre formulaire nous allons nous occuper
dinitialiser Nova SDK via sa mthode statique : NovaOmegaCore.Laun-
ch. Cette mthode prend un premier paramtre qui est la cl denregis-
trement. Dans notre cas, nous pouvons faire passer une chane vide
(ceci indique Nova de passer en mode dmonstration. Le moteur reste
entirement fonctionnel mais cessera de fonctionner au bout de
5 minutes). Pour librer les ressources associes au moteur il suffit
dappeler la mthode statique NovaOmegaCore.Stop dans lvnement
FormClosing de notre formulaire.
Notre scne
Le point central dun monde 3D est constitu par la scne. Une scne
est une entit qui regroupe tous les acteurs de notre simulation :
Une ou plusieurs camras qui reprsentent les points de vue
Des objets gomtriques qui vont tre dessins avec un habillage
issu de matriaux
Des lumires pour clairer les objets
Comme Nova se charge de toute la gestion (mmoire, accs, sauvegar-
de), cest via la mthode statique NovaOmegaCore.CreateScene que
nous allons rcuprer une instance de notre scne. Puis cest au
travers des mthodes CreateObject, CreateLight, CreateCamera et
CreateFVFMaterial que nous allons instancier nos objets.
Le rendu
Pour que notre rendu soit fluide il est important de donner la main le
plus souvent possible au moteur de rendu. Nous allons un peu dtour-
ner le fonctionnement de la boucle de messages des Windows Form
pour nous allouer un maximum de temps pour faire notre rendu. Pour
cela, dans le fichier Program.cs, nous allons mettre ce code en place :
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 f =new Form1();
f.Show();
while (f.Created)
{
f.Render();
Application.DoEvents();
}
}
Ainsi, nous allons pouvoir appeler notre fonction de rendu aussi souvent
que possible sans asphyxier le traitement des messages de notre fentre.
La fonction de rendu est une simple fonction qui encapsule lappel la
mthode scene.Render.
internal void Render()
{
/ / On active le controle de la carte graphique
NovaOmegaCore.BeginRender(pnlZoneRendu);
/ / Dessin de la scne
maScene.Render();
/ / On libre l'accs et on copie le tout sur pnlZoneRendu
NovaOmegaCore.EndRender(true);
}
LANGAGE : C#
DIFFICULT :

APPLICATION : 3D
SOURCE : oui
93-96 22/08/07 18:58 Page 93
Programmez! - N100 SEPTEMBRE 2007 94
Code
Nous pouvons noter juste lappel aux mthodes BeginRender et
EndRender qui se charge douvrir les canaux de communication avec la
carte graphique et qui transfre le rsultat vers le panel de rendu (pnl-
ZoneRendu).
Les objets de notre bowling
Notre jeu va se construire autour de la reprsentation suivante :
Un sol
Une boule
9 quilles
Nova est capable de charger des scnes toutes prtes et dj habilles
en provenance doutils comme Autodesk 3ds Max. Ceci dit dans notre
cas nous allons nous contenter de construire nos objets " la main ".
Pour ce faire nous allons nous appuyer sur les fonctions de crations
paramtriques des objets de Nova : CreateAsBox, CreateAsSphere et
CreateAsCylinder.
Ces trois fonctions vont nous gnrer une structure gomtrique pour
chacun de nos objets :
Le sol : une bote de 10 m sur 40 m
Les quilles : Des cylindres de 30 cm de rayon sur 1 m de haut
La boule : une sphre de 40 cm
Une fois gnrs, nos objets doivent tre habills. Pour ce faire nous
allons utiliser des matriaux. Un matriau dfinit la couleur de lobjet en
fonction de lclairage direct et de lclairage ambiant.
Nous allons pouvoir habiller notre boule de rouge, le sol de vert et les
quilles de bleu. Pour clairer tout cela, une source lumineuse suffit (en
plus de lclairage ambiant). Cette source sera ponctuelle et position-
ne non loin du joueur. Pour reprsenter ce dernier, nous allons utiliser
une camra qui est caractrise par une position et une cible (lendroit
que regarde la camra).
Intgration de la physique
Nova SDK intgre un moteur physique qui va nous permettre de simuler
linteraction entre les diffrents acteurs de notre bowling.
Pour activer la physique il suffit de crer un simulateur et de demander
la scne dactiver loption :
/ / On cre un simulateur de physique
maScene.GlobalDomain.CreateVortexEngine(new Vector3(0,-9.0f, 0), 0.5f);
maScene.Physics =true;
Notre simulateur est cr avec une vitesse de simulation (0.5) et un vec-
teur indiquant la direction de la gravit (on prendra ici un vecteur proche
de la gravit terrestre).
Chaque objet souhaitant intgrer la simulation physique doit indiquer
plusieurs points :
Type de proxy le reprsentant : Sphre ou bote dans la majorit des cas
Masse
Type dinteraction souhait : RigidBody (pour interagir pleinement) ou
Animated (pour ne pas subir les effets de la physique)
Subir ou non la gravit
Exemple pour une quille :
quille.PhysicGeometryType =NovaObject.PhysicGeometryTypes.Box;
quille.PhysicState =NovaObject.PhysicStates.RigidBody;
quille.Mass =0.5f;
quille.HasPhysicsGravity =true;
Les capacits dynamiques des objets (frictions et capacit de restitu-
tion) sont spcifies sur les matriaux :
revetementQuille.Friction =0.1f;
revetementQuille.SlidingFriction =0.1f;
revetementQuille.Restitution =0.9f;
Dans cet exemple, le revtement des quilles renvoient beaucoup dner-
gie lors dun choc et est trs adhrent (trs peu de friction).
Une fois que les objets physiques sont dfinis, la scne se charge de
faire vivre le tout. Nous pouvons par la suite interagir avec les objets
physiques en leur appliquant des forces localises via la mthode
NovaObject.ApplyImpulse.
Gestion de la souris
Nous allons permettre lutilisateur de notre jeu de se dplacer autour
de la piste et de lancer la boule depuis son point de vue. Pour cela, nous
allons capturer le dplacement de la souris et dplacer notre camra
(via sa proprit Position) le long dun cercle centr sur la piste :
private void pnlZoneRendu_MouseMove(object sender, MouseEventArgs e)
{
NovaPickInfo pick =maScene.Pick(e.X, e.Y);
if (pick.Hit)
{
Cursor =Cursors.Hand;
}
else
Cursor =Cursors.Default;
if (e.Button ==MouseButtons.Left)
{
angle +=((float)(e.X - initialX)) / 100.0f;
joueur.Position =new Vector3(20.0f * (float)Math.Sin(angle),
2.0f, -20.0f * (float)Math.Cos(angle));
initialX =e.X;
}
}
De plus, en utilisant la mthode NovaScene.Pick nous allons pouvoir
changer le curseur de la souris si cette dernire passe au-dessus de la
boule. Pour que la boule puisse tre slectionne par la mthode Pick, il
suffit juste que sa proprit Pickable soit vraie.
Pour lancer notre boule, nous allons ragir au clic droit sur cette derni-
re pour lui appliquer une force :
private void pnlZoneRendu_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button ==MouseButtons.Left)
{
initialX =e.X;
}
LANGAGE : C#
DIFFICULT :

APPLICATION : 3D
SOURCE : oui
93-96 22/08/07 18:59 Page 94
Linformation la carte
P
R
O
G

1
0
0
OUI, je mabonne ! ou abonnement en ligne : www.programmez.com
Offre limite,
valable jusquau
31 octobre 2007
Le renvoi du prsent bulletin
implique pour le souscripteur
l'acceptation pleine et entire de
toutes les conditions de vente de
cette offre.
Conformment la loi Informatique
et Liberts du 05/01/78, vous
disposez d'un droit d'accs et de
rectification aux donnes vous
concernant.
Par notre intermdiaire, vous
pouvez tre amen recevoir des
propositions d'autres socits ou
associations.
Si vous ne le souhaitez pas, il vous
suffit de nous crire en nous
prcisant toutes vos coordonnes.
ECO
1
Recevez le magazine
chaque mois
et conomisez 20
11 Numros
45

Au lieu de 65,45
(Prix au numro)
(Prix France mtropolitaine)
TECHNIQUE
Pourquoi utiliser AspectJ
et la programmation aspect ?
W
eb Toolkit
P
r
o
g
r
a
m
m
e
z
!
P r i n t e d i n F r a n c e - I m
p r i m
e n F r a n c e -
B E L G I Q U E 6 , 4 5
- S U I S S E 1 2 F S -
L U X E M
B O U R G 6 , 4 5
- C a n a d a 8 , 9 5 $ C A N
D O M
S u r f 6 , 9 0
- T O M
9 4 0 X P F - M
A R O C 5 0 D H
P
r
o
g
r
a
m
m
e
z
!
www.programmez.com
3
: H
I
K
O
N
B
=
^
U
Z
^
Z
]
: ?
a
@ a
@ t
@ i
@ k
;
M

4
3
1
9 - 9 8 - F
: 5
, 9
5
E
Mensuel - Juin 2007 - N98
LE MAGAZINE DU DVELOPPEMENT
WEB 2
Combiner Ajax et Java
avec Telosys
OUTILS
L'intgration continue
avec CruiseControl
J AVA
L'usine dveloppement Spring
PYTHON Django :
le framework web tout faire
C++
Crez vos interfaces Gnome
S
G
B
D
X
U
L
Avant-premire :
P
H
P
6
Les nouvelles fonctions, ce qui change, migrer de PHP 5 6
C
om
paratif :
Quelle base de donnes, pour quels besoins ?
Les critres pour bien choisir - Une avalanche de nouveauts
M
atriser la
plate-form
e M
ozilla
Confrence
M
yS
Q
L
:
En attendant la v 6
S
G
B
D
X
U
L
M
atriser la
plate-form
e M
ozilla
Construire un composant
"glisser-dposer"
1_98 21/ 5/2 7 16:14 Page 1
P
r
o
g
r
a
m
m
e
z
!
P r i n t e d i n F r a n c e - I m
p r i m
e n F r a n c e -
B E L G I Q U E 6 , 4 5
- S U I S S E 1 2 F S -
L U X E M
B O U R G 6 , 4 5
- C a n a d a 8 , 9 5 $ C A N
D O M
S u r f 6 , 9 0
- T O M
9 4 0 X P F - M
A R O C 5 0 D H
P
r
o
g
r
a
m
m
e
z
!
www.programmez.com
3
: H
I
K
O
N
B
=
^
U
Z
^
Z
]
: ?
k
@ a
@ t
@ g
@ a
;
M

4
3
1
9 - 9 6 - F
: 5
, 9
5
E
Mensuel - Avril 2007 - N96
LE MAGAZINE DU DVELOPPEMENT
TECHNIQUE
Dbugger en Python
C++
Le multithread
avec boost
Construire un projet
avec SCons
SCURIT
Comprendre et utiliser
la cryptographie
courbe elliptique
VISTA
Crer vos gadgets
C# 3.0
Tout savoir sur
le prochain C#
J ava :
Dcouvrez
Eclipse Callisto
14 outils de modlisation
pour bases de donnes
Nouveaux outils
W
EB 2.0
Tous les projets dvoils : Web 3, Singularity,
lOS de demain selon Microsoft, Web OS, exokernel,
clavier virtuel, encre numrique, ordinateur quantique,
Service Modeling Language, L5G
V
i
r
t
u
a
l
i
s
a
t
i
o
n
COMPARATIF : 6 logiciels au service du dveloppeur
S
p

c
ia
l
F
U
T
U
R
F
U
T
U
R
U
M
L
2
Panorama
1_96 19/ 3/2 7 2 :11 Page 1
-
3
0
%
1
2
Lisez chaque mois le
magazine
au format PDF
(tlchargement)
11Numros
30

Tarif Monde entier


Inscription en ligne uniquement :
www.programmez.com
TECHNIQUE
Pourquoi utiliser AspectJ
et la programmation aspect ?
W
eb Toolkit
P
r
o
g
r
a
m
m
e
z
!
P r i n t e d i n F r a n c e - I m
p r i m
e n F r a n c e -
B E L G I Q U E 6 , 4 5
- S U I S S E 1 2 F S -
L U X E M
B O U R G 6 , 4 5
- C a n a d a 8 , 9 5 $ C A N
D O M
S u r f 6 , 9 0
- T O M
9 4 0 X P F - M
A R O C 5 0 D H
P
r
o
g
r
a
m
m
e
z
!
www.programmez.com
3
: H
I
K
O
N
B
=
^
U
Z
^
Z
]
: ?
a
@ a
@ t
@ i
@ k
;
M

4
3
1
9 - 9 8 - F
: 5
, 9
5
E
Mensuel - Juin 2007 - N98
LE MAGAZINE DU DVELOPPEMENT
WEB 2
Combiner Ajax et Java
avec Telosys
OUTILS
L'intgration continue
avec CruiseControl
J AVA
L'usine dveloppement Spring
PYTHON Django :
le framework web tout faire
C++
Crez vos interfaces Gnome
S
G
B
D
X
U
L
Avant-premire :
P
H
P
6
Les nouvelles fonctions, ce qui change, migrer de PHP 5 6
C
om
paratif :
Quelle base de donnes, pour quels besoins ?
Les critres pour bien choisir - Une avalanche de nouveauts
M
atriser la
plate-form
e M
ozilla
Confrence
M
yS
Q
L
:
En attendant la v 6
S
G
B
D
X
U
L
M
atriser la
plate-form
e M
ozilla
Construire un composant
"glisser-dposer"
1_98 21/ 5/2 7 16:14 Page 1
P
r
o
g
r
a
m
m
e
z
!
P r i n t e d i n F r a n c e - I m
p r i m
e n F r a n c e -
B E L G I Q U E 6 , 4 5
- S U I S S E 1 2 F S -
L U X E M
B O U R G 6 , 4 5
- C a n a d a 8 , 9 5 $ C A N
D O M
S u r f 6 , 9 0
- T O M
9 4 0 X P F - M
A R O C 5 0 D H
P
r
o
g
r
a
m
m
e
z
!
www.programmez.com
3
: H
I
K
O
N
B
=
^
U
Z
^
Z
]
: ?
k
@ a
@ t
@ g
@ a
;
M

4
3
1
9 - 9 6 - F
: 5
, 9
5
E
Mensuel - Avril 2007 - N96
LE MAGAZINE DU DVELOPPEMENT
TECHNIQUE
Dbugger en Python
C++
Le multithread
avec boost
Construire un projet
avec SCons
SCURIT
Comprendre et utiliser
la cryptographie
courbe elliptique
VISTA
Crer vos gadgets
C# 3.0
Tout savoir sur
le prochain C#
J ava :
Dcouvrez
Eclipse Callisto
14 outils de modlisation
pour bases de donnes
Nouveaux outils
W
EB 2.0
Tous les projets dvoils : Web 3, Singularity,
lOS de demain selon Microsoft, Web OS, exokernel,
clavier virtuel, encre numrique, ordinateur quantique,
Service Modeling Language, L5G
V
i
r
t
u
a
l
i
s
a
t
i
o
n
COMPARATIF : 6 logiciels au service du dveloppeur
S
p

c
ia
l
F
U
T
U
R
F
U
T
U
R
U
M
L
2
Panorama
1_96 19/ 3/2 7 2 :11 Page 1
2
,7
3

le num
ro
2
3
Vous devez justifier
de votre statut dtudiant
Economisez 26
11 Numros
39

Au lieu de 65,45
(Prix au numro)
(offre rserve France mtropolitaine)
TECHNIQUE
Pourquoi utiliser AspectJ
et la programmation aspect ?
W
eb Toolkit
P
r
o
g
r
a
m
m
e
z
!
P r i n t e d i n F r a n c e - I m
p r i m
e n F r a n c e -
B E L G I Q U E 6 , 4 5
- S U I S S E 1 2 F S -
L U X E M
B O U R G 6 , 4 5
- C a n a d a 8 , 9 5 $ C A N
D O M
S u r f 6 , 9 0
- T O M
9 4 0 X P F - M
A R O C 5 0 D H
P
r
o
g
r
a
m
m
e
z
!
www.programmez.com
3
: H
I
K
O
N
B
=
^
U
Z
^
Z
]
: ?
a
@ a
@ t
@ i
@ k
;
M

4
3
1
9 - 9 8 - F
: 5
, 9
5
E
Mensuel - Juin 2007 - N98
LE MAGAZINE DU DVELOPPEMENT
WEB 2
Combiner Ajax et Java
avec Telosys
OUTILS
L'intgration continue
avec CruiseControl
J AVA
L'usine dveloppement Spring
PYTHON Django :
le framework web tout faire
C++
Crez vos interfaces Gnome
S
G
B
D
X
U
L
Avant-premire :
P
H
P
6
Les nouvelles fonctions, ce qui change, migrer de PHP 5 6
C
om
paratif :
Quelle base de donnes, pour quels besoins ?
Les critres pour bien choisir - Une avalanche de nouveauts
M
atriser la
plate-form
e M
ozilla
Confrence
M
yS
Q
L
:
En attendant la v 6
S
G
B
D
X
U
L
M
atriser la
plate-form
e M
ozilla
Construire un composant
"glisser-dposer"
1_98 21/ 5/2 7 16:14 Page 1
P
r
o
g
r
a
m
m
e
z
!
P r i n t e d i n F r a n c e - I m
p r i m
e n F r a n c e -
B E L G I Q U E 6 , 4 5
- S U I S S E 1 2 F S -
L U X E M
B O U R G 6 , 4 5
- C a n a d a 8 , 9 5 $ C A N
D O M
S u r f 6 , 9 0
- T O M
9 4 0 X P F - M
A R O C 5 0 D H
P
r
o
g
r
a
m
m
e
z
!
www.programmez.com
3
: H
I
K
O
N
B
=
^
U
Z
^
Z
]
: ?
k
@ a
@ t
@ g
@ a
;
M

4
3
1
9 - 9 6 - F
: 5
, 9
5
E
Mensuel - Avril 2007 - N96
LE MAGAZINE DU DVELOPPEMENT
TECHNIQUE
Dbugger en Python
C++
Le multithread
avec boost
Construire un projet
avec SCons
SCURIT
Comprendre et utiliser
la cryptographie
courbe elliptique
VISTA
Crer vos gadgets
C# 3.0
Tout savoir sur
le prochain C#
J ava :
Dcouvrez
Eclipse Callisto
14 outils de modlisation
pour bases de donnes
Nouveaux outils
W
EB 2.0
Tous les projets dvoils : Web 3, Singularity,
lOS de demain selon Microsoft, Web OS, exokernel,
clavier virtuel, encre numrique, ordinateur quantique,
Service Modeling Language, L5G
V
i
r
t
u
a
l
i
s
a
t
i
o
n
COMPARATIF : 6 logiciels au service du dveloppeur
S
p

c
ia
l
F
U
T
U
R
F
U
T
U
R
U
M
L
2
Panorama
1_96 19/ 3/2 7 2 :11 Page 1
-
4
0
%
3
ETUDIANT NUMERIQUE
M. Mme Mlle Entreprise : ........................................................................................ Fonction : ...................................................
Nom : ........................................................................................ Prnom :....................................................................................................................................
Adresse : .........................................................................................................................................................................................................................................
Code postal : ............................................... Ville : ...................................................................................................................................................................
Tl : ........................................................................................ E-mail : ....................................................................................................................................
J e joins mon rglement par chque lordre de Programmez !
J e souhaite rgler rception de facture
A remplir et retourner sous enveloppe affranchie :
Programmez ! - Service Abonnements - 22 rue Ren Boulanger - 75010 Paris.
abonnements.programmez@groupe-gli.com
Programmez! Programmez!
LEMAGAZINEDUDVELOPPEMENT
ABONNEMENT 1 an ECO au prix de 45 TTC. Tarif France mtropolitaine.
Tarifs hors France mtropolitaine : CEE et Suisse : 51,83 - Algrie, Maroc, Tunisie: 55,95 - Canada : 64,33 - Tom : 79,61 - Dom: 62,84 - Autres : nous consulter
ABONNEMENT 1 an ETUDIANT (11 numros) au prix de 39 TTC. Offre limite la France mtropolitaine.
Photocopie de la carte dtudiant obligatoire

95-100 22/08/2007 19:37 Page 53


Code
Le rendu final donne donc :
Conclusion
Nous avons donc, tout au long de cet article, dcouvert certaines fonc-
tionnalits de Nova et notamment, son interaction avec .NET et Win-
dows Form. De trs nombreuses options sont disponibles en particulier
au niveau des textures, des formats de scnes, des interactions et des
collisions. Dans un futur article, nous nous pencherons sur le charge-
ment de scnes plus riches et sur les visites virtuelles laide du
moteur de collisions. Une nouvelle version est prvue courant sep-
tembre.
Liens utiles
- Tlchargement de Nova SDK : http:/ / www.vertice.fr/ files/ Nova
Omega 5.8 SDK.msi (Version gratuite limite 5 minutes dexcution)
- DirectX : http:/ / msdn.microsoft.com/ directx
David CATUHE
Directeur R&D - David.catuhe@bewise.fr - Bewise/ Vertice
LANGAGE : C#
DIFFICULT :

APPLICATION : 3D
SOURCE : oui
else if (e.Button ==MouseButtons.Right)
{
NovaPickInfo pick =maScene.Pick(e.X, e.Y);
if (pick.Hit)
{
boule.ApplyImpulse(new Vector3(0, 0, 25.0f), pick.ImpactPoint);
}
}
}
La force est applique sur la boule au niveau du point cliqu.
Gestion des ombres
Pour finaliser notre simulation et lui donner un aspect un peu plus ra-
liste, nous allons demander Nova de simuler des ombres portes en
temps rel. Pour cela, on demande NovaOmegaCore dactiver le sten-
cil buffer (un buffer de travail ncessaire dans les cas des ombres por-
tes) et les ombres :
/ / Activation du calcul des ombres
NovaOmegaCore.Shadows =true;
/ / Activation de l'utilisation du Stencil Buffer
NovaOmegaCore.UseStencil =true;
Notre lumire va tre dfinie comme mettrice dombres :
lumiere.ShadowMethod = NovaLight.SupportedShadowMethods.Shadow
Volumes;
Finalement, chaque objet qui enverra de lombre va senregistrer auprs
de la lumire :
quille.CastShadows =true;
quille.ReceiveShadows =true;
lumiere.ShadowGenerator.AddShadowCaster(quille);
LINFORMATION PERMANENTE
Abonnez-vous
au format NUMERIQUE (PDF)
Tarif unique pour LE MONDE ENTIER
30
(abonnement exclusivement
en ligne sur
www.programmez.com)
COUPON DABONNEMENT page 95 de ce numro ou www.programmez.com
3 NUMEROS GRATUITS
Faites des conomies, abonnez-vous !
Exemple : en France, vous gagnez 20 euros, soit plus
de 3 numros !
ETUDIANTS
Tarif abonnement spcial 39
(France mtropolitaine exclusivement)
93-96 22/08/07 18:59 Page 96
Programmez! - N100 SEPTEMBRE 2007 97
Code
Modifier le ruban de Word 2007 avec Open XML
Open XML est un format flexible : structure base sur lOpen Packaging
Convention, intgration de donnes mtiers, etc. ; la nouvelle interface de Office
2007 lest tout autant avec son nouveau mcanisme de ruban. Dans cet article
nous allons ajouter un composant personnalis au ruban Office et celui-ci ne
sera pas fourni par lapplication mais par le document au format Open XML.
L
a possibilit dtendre le ruban de la suite Office sappelle
RibbonX (Ribbon Extensibility). RibbonX permet de dfinir et de
composer une interface pour le ruban partir dune description
au format XML, ce qui simplifie de beaucoup la cration de composant
personnalis. Ce composant sera constitu dun bouton et dune
mthode permettant de grer lvnement du clic en ajoutant " Hello
world ! " dans le document en cours.
Cration de linterface avec RibbonX
La premire tape pour pouvoir intgrer une interface est bien videm-
ment de la crer, et cest ce que vous allez faire en crant un rpertoire
nomm guiPerso et un fichier XML portant un nom quelconque, par
exemple guiPerso.xml pour le reste de larticle. Nous allons utiliser le
contenu du listing 1 pour dfinir linterface :
<customUI xmlns="http:/ / schemas.microsoft.com/ office/ 2006/ 01/ customui">
<ribbon>
<tabs>
<tab id="OngletPerso" label="Mon Onglet">
<group id="GroupeExemple" label="Programmez!">
<button id="btnDisBonjour" label="Dire Bonjour !" size="large" on
Action="ThisDocument.DireBonjourEnAnglais" / >
</ group >
</ tab>
</ tabs>
</ ribbon>
</ customUI>
La signification de llment customUI est aise comprendre tout
comme celle de ribbon. Concernant la dfinition de linterface nous pou-
vons remarquer llment tabs qui contient lensemble des onglets dfi-
nis, avec lintrieur un lment tab pour chaque onglet. A lintrieur
dun onglet nous allons trouver un groupe lment group - qui ras-
semble plusieurs contrles, parmi lesquels notre bouton, dfini par
llment button, dont on spcifie le libell et laction qui sera excute
lors dun clic. Nous en avons termin avec linterface en elle-mme,
penchons nous maintenant sur le comportement du bouton.
Dfinir le comportement du bouton
Ouvrez Office Word 2007 et enregistrez le document vierge avec lex-
tension .docm, extension qui autorise le document intgrer et poten-
tiellement excuter la ou les macros quil contient. Nous allons en
crer une qui contiendra la fonction DireBonjourEnAnglais qui sera ex-
cute par notre bouton. Ouvrez lditeur Visual Basic situ dans longlet
Dveloppeur, et activez si nces-
saire (en fonction de vos options
de scurit) les macros dans votre
document, puis saisissez le listing
2 dans ThisDocument :
' Insre "Hello world !" au dbut du document
Sub DireBonjourEnAnglais(ByVal control As IRibbonControl)
DimMonTexte As String
MonTexte ="Hello world !"
DimMyRange As Object
Set MyRange =ActiveDocument.Range
MyRange.InsertBefore (MonTexte)
End Sub
Enregistrez et fermez le document.
Rassembler linterface et le comportement
Maintenant, nous avons dun ct linterface dans un fichier XML, lui-
mme contenu dans un rpertoire ; et de lautre le document contenant
une macro spcifiant le comportement de notre interface. Afin de relier
ces deux parties, nous allons tre amen ouvrir larchive et modifier
le contenu de plusieurs parties. Tout dabord, renommez le document
avec lextension .zip et ouvrez le document avec votre outil de gestion
darchive ZIP prfr. Ajoutez le rpertoire cr dans la premire partie
et contenant le fichier de dfinition de linterface de manire ce que ce
rpertoire se retrouve la racine de larchive. Extrayez la partie de rela-
tion partie, c'est--dire le fichier .rels contenu dans le rpertoire _rels
la racine de larchive. Ouvrez le fichier et insrez la ligne suivante :
<Relationship Id="rId5" Type="http:/ / schemas.microsoft.com/ office/ 2006/
relationships/ ui/ extensibility" Target="guiPerso/ guiPerso.xml"/ >
Replacez le fichier de relations modifi dans larchive son emplace-
ment dorigine, puis renommez larchive avec son extension dorigine :
.docm. Ouvrez le document pour observer le rsultat (activer les macros
si vos options de scurit le dsactivent par dfaut) :
Conclusion
La structure dun document Open XML est par nature flexible. Lintgra-
tion dune interface graphique et dune logique derrire celle-ci, mme
limite, dmontre bien la puissance du format et la volont dOpen XML
daller un cran au-del du simple document bureautique tel que ltaient
les anciens formats binaires.
J ulien Chable- Dveloppeur/ Consultant Wygwam
LANGAGE : XML
DIFFICULT :

APPLICATION : OFFICE
SOURCE : oui
97 22/08/07 18:50 Page 97
Programmez! - N100 SEPTEMBRE 2007 98
Livres
PAR FRANOIS TONIC
car le dveloppeur demeure un acteur majeur
de linterface numrique.
Lorient objet, 3e dition
Difficult : ****
Editeur : Eyrolles
Auteur :
Hugues Bersini
Prix : 32
Si la programmation objet est un paradigme de
programmation incontournable, sa bonne com-
prhension conditionne lensemble de votre
code. Or, lobjet nest pas une entit facile
matriser et bien mettre en uvre. Outre
lexplication classique, lauteur propose une
approche pdagogique base dexercices.
De nombreux exemples sont donns en C++,
J ava 5, Python, PHP 5, C#et UML 2. Louvrage
aborde aussi divers autres domaines comme
la persistance, les design pattern. Seul regret :
labsence de la scurit.
Collections Expert IT
Editions Eni
- GNU/ Linux Fedora
spcial scurit(39 ) :
la scurit demeure un
problme pour tout
administrateur, utilisa-
teur et dveloppeur.
Les auteurs se focali-
sent sur la scurit
(les attaques, les mesures prendre, les
mcanismes utiliser) sur la distribution Fedo-
ra. Tous les grands domaines y passent : les
scanneurs, les ports, les intrusions, etc. Une
bonne initiation.
- Le registre Windows Vista (39 ) : comme
tout bon Windows qui se respecte, Vista pos-
sde une base de registre. Le lecteur pourra
ainsi dcouvrir les joies et malheurs de la base
de registre avec les nouveauts, les fonctions
avances, les manipulations possibles, etc.
Une partie aborde Windows Scripting Host
(mais pas de Powershell). Ensuite, on rejoint
lutilisation avance de Vista avec quelques
techniques de gestion et des applications
matriser.
Le guide du codeur
Micro Application
- VBA pour Office 2007 (20 ) : non VBA nest
pas totalement mort avec Office 2007. Les
auteurs dtaillent outil par outil les possibilits
de programmation avec VBA. De nombreux
SQL par
lexemple
Difficult : ****
Editeur : OReilly
Auteur :
Anthony Molinaro
Prix : 48
La base de donnes est incontournable mais
sa matrise ne va pas de soi pour un dvelop-
peur et encore moins les requtes SQL ! Stan-
dard depuis des annes, il volue lentement et
est disponible dans les principaux SGBD du
march. SQL na jamais t votre favori ? Ce
livre vous montre par lexemple ce que lon
peut faire avec et surtout comment bien le
faire. Les fonctions sont regroupes par th-
matique pour faciliter la recherche : lecture
denregistrement, tri, tables, chanes, dates,
etc. Le contenu est trs concret. On dbute
par lexpos du problme puis la solution par
le code. Avantage indniable : la solution est
faite selon le SGBD, lauteur prend en compte
SQL Server, PostgreSQL, Oracle, MySQL et
DB2 ! Louvrage ne prend pas en compte les
dclinaisons spcifiques du SQL dOracle ou
de Microsoft. Convient quel que soit son
niveau ! Un livre indispensable.
Interfaces numriques
Difficult : ***
Editeur : Lavoisier
Auteur : collectif
Prix : 55
Quest-ce quune inter-
face numrique ?
De quoi se compose-t-
elle ? quoi sert-elle ?
Loriginalit de cet
ouvrage est dtre le
rsultat de longues heures de dbats,
dchanges entre artistes, professeurs, des
acteurs de lindustrie. Lapproche se fait par
les aspects sociaux, cognitifs, de linformation
ou encore de la communication. On dcouvre
que linterface nest pas fige dans son
concept mais volue sans cesse et surtout
explore de nouveaux domaines, et lannonce
de Microsoft Surface la dmontr dernire-
ment. Il est passionnant de comprendre les
diffrentes visions que peut avoir une interfa-
ce, comment modifier linteraction homme
machine et limpact de linterface sur cette
relation. Le dveloppement nest pas oubli
exemples permettent de mieux comprendre le
code et mettre en pratique plus rapidement.
Pratique et plutt complet.
- PHP 5 solutions et composants open source
(15,74 ) : loin de lhabituel apprentissage de
PHP, ce guide se propose de vous montrer la
puissance du langage via des solutions et
composants prts lemploi ! Et le choix se
porte sur la messagerie, les forums, le e-com-
merce, lintgration de services externes, lin-
tgration dAjax dans PHP, etc. Pratique avant
tout, avec du code, des exemples et une expli-
cation claire.
OpenOffice 2.1
Difficult : ***
Editeur : Dunod
Auteur :
Rmy Lentzner
Prix : 29,50
Vous utilisez ou voulez
utiliser OpenOffice
2.1 ? Cet ouvrage va
sans doute vous aider mieux connatre cette
suite bureautique. Lauteur y dtaille les
modules traditionnels, au niveau des fonc-
tions, de lutilisation : traitement de texte, pr-
sentation, tableur, base de donnes. Pour
lutilisateur averti, il y aura les macros et la
programmation basic et une prsentation des
API. La bonne ide est de prsenter linterac-
tion possible entre une base de donnes et
OpenOffice, dommage que la partie J ava se
rsume quelques lignes. Autre regret, lab-
sence dune partie spcifique ODF ou encore
linteroprabilit avec les fichiers Microsoft
Office et OpenXML.
Ruby on Rails vite et efficace
Difficult : **
Editeur : Dunod
Auteur : collectif
Prix : 19,90
Vous voulez tre rapi-
dement oprationnel
sur Rails ? Voici une
bonne ide de lecture.
On dbute par la pr-
sentation de Ruby. Puis cest au tour de lActi-
ve Record, de lchafaudage, des vues, dAjax.
Ce livre est plutt une grande introduction
Rails et non une formation la programmation
Rails, cependant, on bnficie dun guide de
rfrences, dune liste doutils.
98 22/08/07 18:48 Page 98
info@business-innovation.org www.business-innovation.org
Vous avez des produits ou solutions innovantes BUSINESS INNOVATION est votre village, contactez-nous :
Vous donnent rendez-vous sur lespace BUSINESS INNOVATION
du 25 au 29 septembre 2007 sur le stand D035-D043
APPLE EXPO PARIS 2007, HALL 5
PARIS EXPO, PORTE DE VERSAILLES
LINNOVATION SEXPOSE APPLE EXPO
LEMKE SOFTWARE - 4D - AQUAFADAS - MARK/SPACE - EX-CINDER - SOFTWARE MACKIEV - POWERDATA
NEWARETECH - APPLICATION SYSTEMS PARIS - SOFT EXPANSION - TANDBERG DATA
COMPUTERS UNLIMITED - 8SENS - RESSOURCES SI - ATEMPO - APC - OPALE - OPENOFFICE...
BUSINESS INNOVATION
Couv 100 23/08/2007 17:04 Page 99
Couv 100 22/08/2007 17:15 Page 100

You might also like