<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7507435703802867291</id><updated>2011-07-30T18:15:55.961-07:00</updated><category term='dictature'/><category term='optimisation'/><category term='brawngp'/><category term='université'/><category term='persistance'/><category term='web'/><category term='ignorance'/><category term='boite de nuit'/><category term='C'/><category term='carburant'/><category term='punk'/><category term='nuit'/><category term='annotations'/><category term='informatique'/><category term='glassfish'/><category term='gwt'/><category term='récursion'/><category term='open source'/><category term='député'/><category term='persistance ignorance'/><category term='openjpa2'/><category term='soupcons'/><category term='metalcore'/><category term='gouvernement'/><category term='scolaire'/><category term='supporters'/><category term='C++'/><category term='alcool'/><category term='éleves'/><category term='boite'/><category term='cocufication'/><category term='dégout'/><category term='programmation'/><category term='grand'/><category term='metamodel'/><category term='hadopi'/><category term='spring'/><category term='inhumain'/><category term='windows'/><category term='privilèges'/><category term='jee6'/><category term='formule 1'/><category term='mariage'/><category term='fac'/><category term='jee'/><category term='dotnet'/><category term='football'/><category term='assemblée nationale'/><category term='jpa2'/><category term='blocages'/><category term='apache'/><category term='hibernate'/><category term='java EE'/><category term='orienté objet'/><category term='EJB3'/><category term='java'/><category term='infidelité'/><category term='criminel'/><category term='libre'/><category term='prix'/><category term='virginité'/><category term='ravitallement'/><category term='logiciel libre'/><category term='brawn'/><category term='héritage'/><category term='button'/><category term='netbeans'/><category term='Java Base de données'/><category term='parents'/><category term='logiciel'/><category term='HxC'/><category term='politique'/><category term='comité'/><category term='annotation'/><category term='metal'/><category term='professeurs'/><category term='jpa'/><category term='chine'/><category term='tromperie'/><category term='mobilisation'/><category term='hémicycle'/><category term='microsoft'/><category term='NHibernate'/><category term='publicité'/><category term='adultere'/><category term='cours'/><category term='Cursed'/><category term='generation'/><category term='hardcore'/><category term='openjpa'/><category term='.NET'/><category term='grand prix'/><category term='sensations'/><title type='text'>DarkVenoM</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-7626502100715814858</id><published>2010-05-30T02:38:00.000-07:00</published><updated>2010-05-30T02:41:09.191-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><category scheme='http://www.blogger.com/atom/ns#' term='jee6'/><category scheme='http://www.blogger.com/atom/ns#' term='persistance'/><category scheme='http://www.blogger.com/atom/ns#' term='metamodel'/><category scheme='http://www.blogger.com/atom/ns#' term='generation'/><category scheme='http://www.blogger.com/atom/ns#' term='openjpa2'/><category scheme='http://www.blogger.com/atom/ns#' term='jee'/><category scheme='http://www.blogger.com/atom/ns#' term='openjpa'/><category scheme='http://www.blogger.com/atom/ns#' term='jpa2'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Generation de classes  de méta-model</title><content type='html'>L'un des apports les plus intéressants de JEE6 est sans aucun doute JPA 2, en effet cette version apporte une multitude de nouvelle fonctionnalité par rapport a JPA 1 afin d'accroitre la productivité des développeurs. Certes la plupart des nouveautés de JPA 2 sont des fonctionnalités qui existaient déjà dans Hibernate 3.3. Mais JPA2 a le mérite de standardiser la gestion de la persistance des objets Java et donc de faciliter la migration entres ORM. Une fonctionnalité qui m'a tout particulièrement plu dans JPA2 est l'utilisation de méta modèle,  elle permet de ne plus référencer les champs des objets a persister dans les requêtes de types criteria avec des chaines de caractères, mais avec des classes un peu particulières appelées méta modèles. Je vous engage à lire la documentation d' Hibernate 3,5, d' EclipseLink et d' OpenJPA 2 pour plus d'information sur le sujet. Bien évidement ces classes doivent êtres crées a partir des classes des objets a persister. Bien évidement, il existe des outils pour générer automatiquement ces classes «&amp;nbsp;méta modèles&amp;nbsp;». Bien évidement  Hibernate 3.5, EclipseLink et  OpenJPA 2 fournissent des outils pour générer ces classes.&lt;br /&gt;&lt;br /&gt;N'étant pas un fan de JEE, j'ai pris l'habitude d'utiliser Spring, néanmoins je souhaite gérer ma persistance avec JPA2, j'ai donc tenté d'utiliser EclipseLink qui est censé être compatible. C'est probablement le cas mais j'ai été confronté a une anomalie (l'absence de génération automatique du schéma au démarrage du serveur&amp;nbsp;) lorsque j'ai voulu l'intégrer avec Spring, et je pense qu'il va falloir alourdir la configuration de l' ORM à cause du weaving ce qui ne m'enchante guère. Bref j'ai essayé d'intégrer Spring et Hibernate 3.5 , mais là j'ai été confronté a des anomalies assez étranges, morceau choisi : un ClassCastException, il n'arrivait pas à caster la classe PostgreSQLDialect en Dialect, c'est bête, la classe Dialect est la classe mère de PostgreSQLDialect, je soupçonne Hibernate 3.5 d'être incompatible avec Spring 3.0.2 . Par contre OpenJPA 2 a marché du premier coup, sans anomalie. Je ne vous le cache pas, jusqu'à présent je n'était pas un fan d' OpenJPA, a l'époque de JPA 1 cet ORM se contentait d'implémenter  la norme et n'offrait pas toute les fonctionnalités d' Hibernate 3.3 et n'offrait pas non plus les performances de TopLink essentials et d' Hibernate. Je rajouterais que OpenJPA bien qu'il soit soutenu par la prestigieuse fondation Apache manque sérieusement de «&amp;nbsp;street credibility&amp;nbsp;» par rapport à ses concurrents, en effet, Hibernate a pour lui le fait d'avoir influencé JPA, on sait que sans Hibernate, JPA ne serait pas ce qu'il est aujourd'hui. Hibernate est de surcroit l' ORM Java le plus utilisé, je  soupçonne en outre NHibernate d'être l' ORM .NET le plus utilisé. Faut-il le rappeler Hibernate est soutenu par Red Hat proclamé leader du middleware open source. EclipseLink a pour lui le fait qu'il soit soutenu par la fondation Eclipse (et donc probablement par IBM), qu'il est le cœur de TopLink (l' ORM d' Oracle), qu'il est donc soutenu par Oracle, il est de surcroit l'implémentation de référence de JPA  2. Voilà de quoi justifier la crédibilité d' Hibernate et d' EclipseLink. Cela dit, OpenJPA  étant la seule implémentation de JPA  que j'arrive a faire fonctionner simplement avec Spring 3 c'est dorénavant celle ci que je privilégierais.&lt;br /&gt;&lt;br /&gt;OpenJPA 2 propose de générer ces classes de méta-modèle. L'inconvénient du générateur de classe d' OpenJPA 2 est qu'il génère les classes  de méta-modèle dans le même package que les classes des objets a persister, en soit ce n'est pas dramatique, mais ça m'embête un peu. Les classes de méta-modèle font pour ma partie intégrante de la couche de persistance, on a besoin de ces classes uniquement pour faire des requêtes, ces classes ne devraient pas êtres accessibles en dehors des packages relatifs à la persistance. Vous l'avez compris je souhaite que le générateur d' OpenJPA 2 puisse générer les classes dans un autre package. Cet ORM étant libre j'ai donc téléchargé le code source et je l'ai modifié afin qu'il puisse prendre en compte cette fonctionnalité. Cela se fait en rajoutant a la commande de génération le paramètre -Aopenjpa.destpackage=nom.du.package.&lt;br /&gt;&lt;br /&gt;Vous pouvez télécharger ce générateur sur ce lien : (n'hésitez pas à me contacter si le lien ne marche plus)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.megaupload.com/?d=J479TUTT"&gt;http://www.megaupload.com/?d=J479TUTT&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-7626502100715814858?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/7626502100715814858/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=7626502100715814858' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/7626502100715814858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/7626502100715814858'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2010/05/generation-de-classes-de-meta-model.html' title='Generation de classes  de méta-model'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-8918356868277568889</id><published>2010-03-13T03:20:00.001-08:00</published><updated>2010-03-13T03:20:44.747-08:00</updated><title type='text'>Cette jeune demoiselle...</title><content type='html'>&lt;div style="margin-bottom: 0cm;"&gt;Cette jeune demoiselle que je ramasse chaque trimestre à la petite cuillère, je ne peux m'en défaire. Je me fait un plaisir de sécher ses larmes, de lui redonner confiance en elle, de lui faire comprendre qu'elle vaut plus que c'est qu'elle croit valoir. Je l'aide dans ses conquêtes et sans trop le vouloir, je fini par en faire parti, je deviens alors le calineur, puis l'officiel. Je la connais par cœur, je lis dans ses yeux comme dans un livre, je me méfie d'elle parce qu'elle me connait bien elle aussi, mais pas  autant que je ne la connais. Elle me considère comme l'homme parfait, on se connait depuis quelques années, je ne sais pas si c'est moi qui a évolué jusqu'à correspondre a ses critères, ou si c'est elle qui a modifié les siens pour que j'y corresponde. Peut-être que j'y ai toujours correspondu dans le fond. Elle voit en moi des qualités que nulle autre n'a pu voir jusqu'à présent. On semble faut l'un pour l'autre et pourtant, je me suis échappé. Je l'ai laissé seule, je me suis arrangé a ce qu'elle ne souffre pas trop. Je ne voulais pas ou plus être dépendant d'elle, je voulais pouvoir me convaincre que je pouvais vivre sans elle, je me suis en quelque sorte désintoxiqué d'elle. Durant l'année qui a suivi je ne suis sorti qu'avec des femmes qui lui ressemblait, comme celle ci qui est grande avec un teint halé,  celle là qui a la même coupe de cheveux,  l'autre qui à la même voix qu'elle, ou encore celle ci qui avait les même passion qu'elle. Tout se ramenait à  elle. Inconsciemment je la recherchait à travers toute mes conquêtes, et je ne trouvais que des parties d'elle. Inconsciemment je comparais toute les femmes que je rencontrais à elle, elle était pour moi la femme parfaite, aucune autre ne m'a enivré autant qu'elle. En totale contradiction, je recherchais l'addiction, celle la même que j'ai fuit un an plus tôt.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-8918356868277568889?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/8918356868277568889/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=8918356868277568889' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/8918356868277568889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/8918356868277568889'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2010/03/cette-jeune-demoiselle.html' title='Cette jeune demoiselle...'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-3794353175069872935</id><published>2010-03-13T02:07:00.001-08:00</published><updated>2010-03-13T02:07:27.416-08:00</updated><title type='text'>La femme lapin</title><content type='html'>&lt;div style="margin-bottom: 0cm;"&gt;Elle est plutôt jolie, assez timide, elle garde ses distance. Elle se méfie de presque tout le monde. Regardez-la mais ne la touchez pas, ne lui parlez pas, d'ailleurs ne la regardez pas trop, ça la met mal à l'aise. Elle parle très peu, ne s'éloigne jamais de ceux qu'elle connait. Elle est plutôt sobre et elle fait tellement d'effort pour être discrète qu'elle finit malgré elle par se faire remarquer.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-3794353175069872935?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/3794353175069872935/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=3794353175069872935' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/3794353175069872935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/3794353175069872935'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2010/03/la-femme-lapin.html' title='La femme lapin'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-7715676579364520472</id><published>2010-02-27T04:42:00.001-08:00</published><updated>2010-02-27T04:42:53.114-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='metal'/><category scheme='http://www.blogger.com/atom/ns#' term='punk'/><category scheme='http://www.blogger.com/atom/ns#' term='hardcore'/><category scheme='http://www.blogger.com/atom/ns#' term='sensations'/><category scheme='http://www.blogger.com/atom/ns#' term='Cursed'/><title type='text'>Bloody Mary</title><content type='html'>&lt;div class="MsoNormal"&gt;Cela fait bien longtemps que je raffole de violence musicale, de colère sonore, d’ondes mécaniques aussi rageuses que progressives, peut être depuis Nirvana. Friand de gourmandises métalliques ou hardcore, je me suis orienté vers la musique du groupe Cursed. Encore une sommité musicale que je n'ai pu connaître avant son split. Je commence donc par le titre «&amp;nbsp;Bloody Mary&amp;nbsp;», lors de son audition, je ressens une légère sensation d’oppression. J'ai l'impression de basculer 5 6 ans en arrière. La colère du chanteur est assez banale pour un groupe affilié au punk au hardcore et au metal, mais ça voix a un petit quelque chose qui fait la différence. Il y a comme une densité musicale, le son a une ténébreuse texture. Puis la rythmique ralentit. Les riffs semblent plus plombant. I KNOW IT'S WROOOOONG ! Rythmique punk puis crust, les riffs semblent s'éclaircir tout en étant pachydermiques, les hurlements deviennent plus aigu, plus furieux. Je me sens vibrer, je me sens habité, je suis off, je sens le désespoir et la démence du vocaliste. C'est pour ces sensations là que j'écoute des musiques extrêmes. Rares sont les chansons qui ont un tel effet sur moi.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-7715676579364520472?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/7715676579364520472/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=7715676579364520472' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/7715676579364520472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/7715676579364520472'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2010/02/bloody-mary.html' title='Bloody Mary'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-2283271663659978003</id><published>2010-02-20T02:57:00.000-08:00</published><updated>2010-02-20T02:57:58.429-08:00</updated><title type='text'>Ce matin un gamin a buté un prof</title><content type='html'>Ce matin un gamin a buté un prof. La victime était excédée de subir les humiliations répétées de ses enseignants, qui étaient bien souvent suivi des brimades de ses camarades. La victime semblait douter de la faculté de ses enseignants à pouvoir les faire ingurgiter la totalité du programme au cours de l'année scolaire, et ne semblait pas comprendre pourquoi ils s'évertuaient à perdre un temps précieux sur des remontrances d'une demi heure ou sur des activités ni ludiques ni instructives. Le coupable était quadragénaire, semblait faire son travail comme il se doit, des témoignages d'anciens élèves relatent qu'il avait une appétence particulière pour les remontrances, il jouissait de sa supériorité,  ils projetaient les craies sur la figures des bavard, tirait les cheveux des rebelles et giflait les rebelles qui avaient le malheur d'avoir des fibres capillaires trop courtes. Il faisait passer au tableau ceux qui étaient incapable de faire les exercices correctement, et plutôt que de faire son travail, d'être pédagogue, il prenait un plaisir sadique à humilier sa victime, le supplice morale pouvait durer une heure, une heure durant laquelle la victime subit, une heure durant laquelle le reste de la classe à défaut de s'instruire regarde le spectacle. Le coupable aimait particulièrement faire passer après «&amp;nbsp;les branleurs&amp;nbsp;» comme ils les appelaient un «&amp;nbsp;bon&amp;nbsp;» qui allaient «&amp;nbsp;torcher&amp;nbsp;» l'exercice avec célérité, cela lui permettait de conclure son humiliation par une comparaison qui allait enfoncer un peu plus la victime (le «&amp;nbsp;branleur&amp;nbsp;»), et peut importe si cette façon de faire poussaient les élèves à se haïr les uns les autres. Lorsque la victime récite son cours, le coupable appelle ça du baratin, lorsque la victime tente de se justifier, de s'expliquer, le coupable appelle ça de l'insubordination, chose qui se finit assez souvent dans le bureau de la principale ou du proviseur. Le coupable se plaisait  à insulter la victime, sachant pertinemment que la victime ne pouvait pas répliquer, a moins bien sur de vouloir une nouvelle fois rendre visite au proviseur... La victime loin d'être exempt de tout défaut se soulageait en dégradant le véhicule de son bourreau. Le coupable dans les conseils de classe accablait sa victime (bien qu'elle soit absente), préconisait des voies de garages pour elle, en dépit de l'avis de ses collègues. Il ne faut pas croire que le coupable haïssait tous les mauvais élèves et seulement les mauvais élèves (du moins ceux qu'ils considéraient comme tel), il aimait beaucoup certaines personnes, et savait être pédagogues avec elles, il n'hésitait pas à les défendre dans les conseils de classes, à appuyer leurs candidatures pour des filières prestigieuses. Et comme on le sait tous l'affection et l'aversion peuvent être inconditionnelles, et si il lui arrivait de prendre pour des «&amp;nbsp;branleurs&amp;nbsp;» des élèves moyens, il lui arrivait aussi de soutenir des mauvais élevés en dépit de la motivation de ces derniers. Ce matin la victime s'est juré de pourfendre le coupable, ce matin le «&amp;nbsp;branleur&amp;nbsp;» a voulu mettre un point final à ses humiliations, ce matin le gamin a voulu rivaliser, se défaire de son complexe d'infériorité. Ce matin un coupable est mort, lacéré par des coups de couteaux. On dit que la victime s'est acharnée pendant un quart d'heure sur le coupable, ce sont les professeurs des salles d' a cotés et les pions qui ont arrêté le massacre, trop tard... La victime semblait incontrôlable, ils n'étaient pas trop de trois pour empêcher la victime d'exercer son action macabre. On entendit la victime hurler tout comme le coupable, des insultes ont figés dans les deux sens, des pleurs aussi, le coupable a malgré tout supplié la victime de l'épargner... Sans succès. La victime avait le regard lumineux, de son regard jaillissait une haine  sans limite, c'est à se demander si elle prenait plaisir a voir le coupable se noyer dans son propre sang. La victime sera considéré comme folle, passera les trente prochaines années de sa vie en prison, le coupable sera incinéré, sa dépouille étant trop dégradée pour être mise dans un cercueil.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-2283271663659978003?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/2283271663659978003/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=2283271663659978003' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/2283271663659978003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/2283271663659978003'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2010/02/ce-matin-un-gamin-bute-un-prof.html' title='Ce matin un gamin a buté un prof'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-8027447787530115667</id><published>2010-02-20T02:09:00.000-08:00</published><updated>2010-02-20T02:09:50.441-08:00</updated><title type='text'>Tenebris</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_mMTazSLAM1c/S3-0fqzZ1FI/AAAAAAAAAIk/bsXmxZtbB9Y/s1600-h/s.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="381" src="http://1.bp.blogspot.com/_mMTazSLAM1c/S3-0fqzZ1FI/AAAAAAAAAIk/bsXmxZtbB9Y/s400/s.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;style type="text/css"&gt; &lt;!--  @page { margin: 2cm }  P { margin-bottom: 0.21cm } --&gt; &lt;/style&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;J'étais encore lycéen, j'aimais beaucoup le quartet americano-armenien de la cité des anges, mais je recherchais plus, plus de violence, plus de rapidité, de brutalité. Je voulais savoir si j'étais capable d'écouter de la musique encore plus bourrine. J'avais déjà tenté d'écouter des morceaux de l'hydre à 9 têtes d' Iowa, je n'avais pu entendre que du bruit, je pensais que ce groupe représentait la limite de l'audible que mes oreilles ne sauraient franchir. J'avais malgré tout pu me rendre compte chez un ami, que le vocaliste de la formation de Des Moines était capable de chanter avec une voix claire, ce qui rendait la musique du groupe nettement moins bruitiste. Un soir je me senti prêt à subir l'épreuve du groupe au nœud coulant, je tentât l'expérience seul dans ma chambre, il faisait nuit, les premiers sons que j'entendis fut des hurlements bizarres, presque inquiétant, des sonorités étranges, puis du bruit, je n'étais pas vraiment surpris de percevoir ainsi la musique du groupe d' Iowa, mais j'étais surpris de ne plus être brutalisé, de pouvoir écouter ce son sans souffrance, j'étais passé du stade de l'asphyxie musicale au stade de l'apnée musicale. Plus surprenant encore, je percevais une colère incontrôlée car tout simplement incontrôlable, une rage presque inexplicable, une haine absolue, un véritable chaos , une noirceur que les chants clairs parvenait difficilement à éclaircir. J'avais gouté à l'obscurité, je ne pourrais désormais plus m'en passer.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-8027447787530115667?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/8027447787530115667/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=8027447787530115667' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/8027447787530115667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/8027447787530115667'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2010/02/tenebris.html' title='Tenebris'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_mMTazSLAM1c/S3-0fqzZ1FI/AAAAAAAAAIk/bsXmxZtbB9Y/s72-c/s.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-2953510105050378690</id><published>2009-11-28T09:46:00.000-08:00</published><updated>2009-11-28T12:57:18.471-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>GWT et Spring</title><content type='html'>&lt;div class="MsoNormal"&gt;Je n'ai jamais pu utiliser GWT dans un cadre professionnel, mais le peu de fois que j'ai pu le tester à titre personnel, j'en ai été pleinement satisfait. Je dois vous l'avouer, je n'aime pas flash et Silverlight, et ce, en tant qu'utilisateur. Les sites en Flash sont souvent lourds, lents, et gourmands en mémoire et en CPU. Alors certes sans ces plugins, la vidéo et la musique sur le net n'aurait pas l'essor que l'on connait. Mais j'avoue avoir une nette préférence pour les sites utilisant ces plugins avec parcimonie. Quoiqu'en dise les benchmarks, l'ajax donne une impression de légèreté que je peine a retrouver avec le flash et silverlight. Malgré tout je dois reconnaître que programmer en Javascript est vraiment chiant, je trouve ça nocif pour la productivité. Il faut jouer avec le respects des standards et les performances des différents navigateurs. Alors certes, il y a pleins de librairies permettant de faire de jolis sites en ajax et qui sont compatibles avec la plupart des navigateurs (même Internet Explorer 6!!), mais pour les utiliser il faut quand même coder en Javascript pour les utiliser. Je ne sais pas comment vous (chers lecteurs) faites vos sites web, mais moi je n'utilise le Javascript uniquement pour la vu, le reste est fait en Java ou en .Net. Du coup ça m'oblige a écrire du code Javascript dans une String Java ou au sein d'une page JSP...&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Il faut aussi formater les données pour les envoyer du serveur au clients, et si vous avez quelques notions d' ajax vous savez que ça se fait en XML. Il faut donc depuis le code Java générer du XML, ça implique de passer du temps pour bien former son code XML (qui est bien souvent présent dans le code Java sous forme de String...) afin que la partie cliente en Javascript puisse correctement l'interpréter. Le typage faible de Javascript n'arrange en rien les choses. J'ai pu travailler sur des sites utilisant,&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Javascript,&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Silverlight et Flex. Et si l'internaute que je suis n'est pas fada de Flash et Silverlight, le programmeur que je suis les préfèrent largement au Javascript. Ne serait-ce que pour s'épargner le formatage des données nécessaires à la communication du&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;serveur vers le client. Dans le cas de Flex c'est entre autre BlazeDS qui nous facilite les communications, il nous permet d'appeler des méthodes Java depuis du code Flex comme si il s'agissait que code ActionScript. Problème, lorsque le passe des objets en paramètres a ces méthodes ou que l'on veut récupérer les objets renvoyés par la méthode, on doit les déclarer en ActionScript presque comme s'il il s'agissait d'objets ActionScript à part entière. Certes ce n'est ni trop long ni trop compliqué, mais on se passerait bien de le faire. De plus, je n'ai pas retrouvé d'environnement de développement intégré offrant les même fonctionnalités aux développeurs ActionScript (et Flex de manière générale) qu' Eclipse pour les développeurs Java. Non, FlexBuilder ne m'a pas convaincu. &lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Je dois avouer GWT a quelques avantages qui font défauts aux outils précédemment cités. Tout d'abord le code généré est en Xhtml et Javascript, donc on s'épargne la lourdeur relative de Flash et Silverlight. D'un autre coté, lorsqu'on utilise GWT on code en Java, cela permet donc d'utiliser son EDI Java habituel (au moins Eclipse et Netbeans) et de jouir de la productivité qui en découle.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;S'agirait-il du cadriciel parfait pour l' IHM ? Pas tout a fait, pour chaque service, 2 deux interfaces et une classe doivent êtres implémentés, le service doit en plus être référencé dans le fichier «&amp;nbsp;web.xml&amp;nbsp;». Alors certes, si vous utilisez Eclipse, l'interface asynchrone est généré à partir de l'autre interface, mais ils vous devez quand même référencer votre service dans le «&amp;nbsp;web.xml&amp;nbsp;» qui va vite devenir volumineux. De plus si GWT résout pas mal de problème au niveau de l' IHM il ne fait rien pour la persistance de données, rien pour implémenter le motif MVC, et il me semble qui ne fait pas grand chose non plus pour gérer les transactions. Bref, une application web écrite en Java ne peut se contenter de GWT elle devra en plus disposer d'un ORM comme EclipseLink ou Hibernate et d'un cadriciel comme Spring. Si la documentation de Seam nous montre qu'il peut interagir avec GWT, il n'en est rien pour Spring, il va donc falloir faire du bidouillage pour faire fonctionner les deux de concert. Certaines personnes l'ont déjà fait, et ça fonctionne pas trop mal : &lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://docs.google.com/Doc?docid=dw2zgx2_25492p5qxfq&amp;amp;hl=en"&gt;http://docs.google.com/Doc?docid=dw2zgx2_25492p5qxfq&amp;amp;hl=en&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://technophiliac.wordpress.com/2008/08/24/giving-gwt-a-spring-in-its-step/"&gt;http://technophiliac.wordpress.com/2008/08/24/giving-gwt-a-spring-in-its-step/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;L'inconvénient de ces deux approches (très similaires...) et qu'elles s'appuient sur une configuration des services dans les fichiers XML de Spring. Alors certes nos classes qui implémentent les services ne sont plus obligées d'hériter de la classe RemoteServlet, on peut donc câbler GWT a du code existant, mais bon, le fait de passer par des fichiers XML nuit à la productivité et risque de provoquer des conflits au sein des gestionnaires de configuration (en effet, un fichier est édité par plusieurs personnes a de grande chance de causer des conflits). C' est d'autant plus dommage de passer par des fichiers XML pour configurer les dépendances entre les différents beans qu'il existe une alternative crédible : les annotations.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;La solution que je vous propose repose sur le même principe que les deux précédentes, Spring va intercepter toutes les requêtes du client vers le serveur. Ceci va nous éviter de déclarer chaque service dans le " web.xml ". Notre fichier " spring-servlet.context.xml " qui contient toute notre configuration Spring. Il est très bref, il contient la déclaration de deux beans du cadriciel Spring, une balise lui disant que nous allons utiliser les annotations, et une autre lui disant dans quel package il va trouver les classes annotées. En utilisant Spring ainsi, le fichier " spring-servlet.context.xml " ne devrait pas changer au cours d'un projet, ou alors très rarement.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Nous allons nous aussi utiliser la pièce maitresse des deux méthodes d'intégration avec Spring précédemment citées : la classe "GwtRpcController". Cette classe change un peu, elle devient abstraite et utilise un accesseur abstrait pour accéder au " RemoteService ". Il n'y a pas d'accesseur pour accéder a la classe de RemoteService, parce que c'est tout simplement inutile, un simple "getClass() " fait la même chose. Cette classe ne pouvant être instancié elle n'est jamais utilisée directement par Spring. Pour chaque service nous allons créer des contrôleurs Spring héritant de la classe "GwtRpcController ". Le but des contrôleurs dans notre application est d'associer une URL à une classe service (implémentant l'interface " RemoteService "). Chaque contrôleur utilisera donc l'annotation "@ RequestMapping " pour s'associer à une URL et se fera injecter une instance de la classe de service par l'annotation " @Ressource ", c'est cette même instance qui sera retournée par l'accesseur " getRemoteService ()". Vous devinez déjà les obligations auxquelles doivent se soumettre nos classes de services, elle doivent bien évidement implémenter l'interface RemoteService (ce qui n'est pas vraiment une contrainte) et elle doit être annotée afin d'être un bean Spring.Je crois que cette dernière obligation est de loin la plus restrictive... Dans cette solution j'ai voulu faire en sorte à ce que l'on ai besoin d'écrire le moins de code XML possible, mais j'admets que ce que l'on écrit pas en XML au final, on l'écrit en Java. Finalement l'intégration de Gwt avec Spring est tellement simple que l'on se demande à quoi servent les cadriciels qui prétendent le faire à notre place.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: black;"&gt;QuoteService.java : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;package&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.example.integration.client;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.rpc.RemoteService;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.rpc.RemoteServiceRelativePath;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@RemoteServiceRelativePath&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"quote.rpc"&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;interface&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; QuoteService &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;extends&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; RemoteService {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; String getQuote();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;QuoteServiceAsync.java : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;package&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.example.integration.client;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.rpc.AsyncCallback;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;interface&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; QuoteServiceAsync {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; getQuote(AsyncCallback&lt;/span&gt;&lt;string&gt;&lt;span style="background-color: #f3f3f3;"&gt; callback);&lt;/span&gt;&lt;/string&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color: black;"&gt;Integration.java : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;package&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.example.integration.client;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.core.client.EntryPoint;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.core.client.GWT;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.Timer;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.rpc.AsyncCallback;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.ui.Label;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.ui.RootPanel;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; Integration &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;implements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; EntryPoint {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;final&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; String &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;u&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;SERVER_ERROR&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; = &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"An error occurred while "&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;+ &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"attempting to contact the server. Please check your network "&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;+ &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"connection and try again."&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;final&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; GreetingServiceAsync &lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;greetingService&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; = GWT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;.&lt;/span&gt;&lt;i&gt;&lt;span style="background-color: #f3f3f3;"&gt;create&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color: #f3f3f3;"&gt;(GreetingService.&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; onModuleLoad() {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;final&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; Label quoteText = &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; Label();&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;Timer timer = &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; Timer() {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; run() {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f5f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;// create an async callback to handle the result:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;AsyncCallback&lt;/span&gt;&lt;string&gt;&lt;span style="background-color: #f3f3f3;"&gt; callback = &lt;/span&gt;&lt;/string&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; AsyncCallback&lt;/span&gt;&lt;string&gt;&lt;span style="background-color: #f3f3f3;"&gt;() {&lt;/span&gt;&lt;/string&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; onFailure(Throwable t) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f5f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;// display error text if we can't get the quote:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;quoteText.setText(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"Failed to get a quote"&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; onSuccess(String result) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f5f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;// display the retrieved quote in the label:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;quoteText.setText(result);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;QuoteServiceAsync service = (QuoteServiceAsync) GWT.&lt;/span&gt;&lt;i&gt;&lt;span style="background-color: #f3f3f3;"&gt;create&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color: #f3f3f3;"&gt;(QuoteService.&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;service.getQuote(callback);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;};&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;timer.scheduleRepeating(3000);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;RootPanel.&lt;/span&gt;&lt;i&gt;&lt;span style="background-color: #f3f3f3;"&gt;get&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color: #f3f3f3;"&gt;().add(quoteText);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color: black;"&gt;Integration.gwt.xml : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;xml&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;version&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"1.0"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;encoding&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"UTF-8"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;?&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&amp;gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;DOCTYPE&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: teal;"&gt;module&lt;/span&gt; &lt;span style="color: grey;"&gt;PUBLIC&lt;/span&gt; &lt;span style="color: teal;"&gt;"-//Google Inc.//DTD Google Web Toolkit 1.7.1//EN"&lt;/span&gt; &lt;span style="color: #3f7f5f;"&gt;"http://google-web-toolkit.googlecode.com/svn/tags/1.7.1/distro-source/core/src/gwt-module.dtd"&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;module&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;rename-to&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;'integration'&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;inherits&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;name&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;'com.google.gwt.user.User'&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;inherits&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;name&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;'com.google.gwt.user.theme.standard.Standard'&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;entry-point&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;class&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;'com.example.integration.client.Integration'&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;module&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="background: white;"&gt;&lt;span lang="EN-GB" style="background: white; mso-ansi-language: EN-GB; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: black;"&gt;GwtRpcController.java :&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="background: white; mso-ansi-language: EN-GB; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="background: white;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="background: white;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="background-attachment: scroll; background-color: white; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;package&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="background-attachment: scroll; background-color: white; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.example.integration.server;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; javax.servlet.ServletContext;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; javax.servlet.http.HttpServletRequest;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; javax.servlet.http.HttpServletResponse;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; org.springframework.web.bind.annotation.RequestMethod;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; org.springframework.web.context.ServletContextAware;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; org.springframework.web.servlet.ModelAndView;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; org.springframework.web.servlet.mvc.Controller;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; org.springframework.web.bind.annotation.RequestMapping;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.rpc.RemoteService;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.rpc.SerializationException;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.server.rpc.RPC;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.server.rpc.RPCRequest;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.server.rpc.RemoteServiceServlet;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;abstract&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;u&gt;&lt;span style="background-color: #f3f3f3;"&gt;GwtRpcController&lt;/span&gt;&lt;/u&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;extends&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; RemoteServiceServlet &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;implements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;Controller, ServletContextAware {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; ServletContext &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;servletContext&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@RequestMapping&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;(method = RequestMethod.&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;POST&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; ModelAndView handleRequest(HttpServletRequest request,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;HttpServletResponse response) &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;throws&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; Exception {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;super&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.doPost(request, response);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@Override&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; String processCall(String payload) &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;throws&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; SerializationException {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;RPCRequest rpcRequest = RPC.&lt;/span&gt;&lt;i&gt;&lt;span style="background-color: #f3f3f3;"&gt;decodeRequest&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color: #f3f3f3;"&gt;(payload,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 5;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;getRemoteService().getClass());&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f5f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;// delegate work to the spring injected service&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; RPC.&lt;/span&gt;&lt;i&gt;&lt;span style="background-color: #f3f3f3;"&gt;invokeAndEncodeResponse&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color: #f3f3f3;"&gt;(getRemoteService(), rpcRequest&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 5;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;.getMethod(), rpcRequest.getParameters());&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;} &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;catch&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; (IncompatibleRemoteServiceException ex) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;getServletContext()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 5;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;.log(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 7;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"An IncompatibleRemoteServiceException was thrown while processing this call."&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 4;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;ex);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; RPC.&lt;/span&gt;&lt;i&gt;&lt;span style="background-color: #f3f3f3;"&gt;encodeResponseForFailure&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color: #f3f3f3;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;, ex);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@Override&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; ServletContext getServletContext() {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;servletContext&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; setServletContext(ServletContext servletContext) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;servletContext&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; = servletContext;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;abstract&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; RemoteService getRemoteService();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="background-attachment: scroll; background-color: white; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;QuoteController.java : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="background-attachment: scroll; background-color: white; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;package&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="background-attachment: scroll; background-color: white; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.example.integration.server;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; javax.annotation.Resource;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; org.springframework.stereotype.Controller;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; org.springframework.web.bind.annotation.RequestMapping;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.google.gwt.user.client.rpc.RemoteService;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@Controller&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@RequestMapping&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"/integration/quote.rpc"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;QuoteController&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;extends&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; GwtRpcController {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@Resource&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; RemoteService &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quoteService&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@Override&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; RemoteService getRemoteService() {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quoteService&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="background-attachment: scroll; background-color: white; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;QuoteServiceImpl.java : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;package&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; com.example.integration.server;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; java.util.ArrayList;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; java.util.List;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; java.util.Random;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; org.springframework.stereotype.Service;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;import&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; com.example.integration.client.QuoteService;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: #646464; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;@Service&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"quoteService"&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; QuoteServiceImpl &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;implements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; QuoteService {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; Random &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;randomizer&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; = &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; Random();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; List&lt;/span&gt;&lt;string&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/string&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quotes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; = &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; ArrayList&lt;/span&gt;&lt;string&gt;&lt;span style="background-color: #f3f3f3;"&gt;();&lt;/span&gt;&lt;/string&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quotes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.add(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"No great thing is created suddenly - Epictetus"&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quotes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.add(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"Well done is better than well said - Ben Franklin"&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quotes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.add(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"No wind favors he who has no destined port - Montaigne"&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quotes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.add(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"Sometimes even to live is an act of courage - Seneca"&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quotes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.add(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;"Know thyself - Socrates"&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; String getQuote() {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quotes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.get(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;randomizer&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.nextInt(&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;quotes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;.size()));&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="background-color: #f3f3f3;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;Web.xml:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;xml&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;version&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"1.0"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;encoding&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"UTF-8"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;?&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&amp;gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;DOCTYPE&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: teal;"&gt;web-app&lt;/span&gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: grey;"&gt;PUBLIC&lt;/span&gt; &lt;span style="color: teal;"&gt;"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #3f7f5f;"&gt;"http://java.sun.com/dtd/web-app_2_3.dtd"&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;web-app&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet-name&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;spring&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet-name&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet-class&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;org.springframework.web.servlet.DispatcherServlet&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet-class&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;load-on-startup&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;1&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;load-on-startup&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet-mapping&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet-name&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;spring&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet-name&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;url-pattern&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;*.rpc&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;url-pattern&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;servlet-mapping&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;welcome-file-list&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;welcome-file&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;Integration.html&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;welcome-file&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;welcome-file-list&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;web-app&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;spring-servlet.xml:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;xml&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;version&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"1.0"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;encoding&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"UTF-8"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;?&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;beans&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;xmlns&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"http://www.springframework.org/schema/beans"&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #7f007f;"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #7f007f;"&gt;xmlns:p&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"http://www.springframework.org/schema/p"&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #7f007f;"&gt;xmlns:context&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"http://www.springframework.org/schema/context"&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #7f007f;"&gt;xsi:schemaLocation&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;http://www.springframework.org/schema/beans &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;http://www.springframework.org/schema/context &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;http://www.springframework.org/schema/context/spring-context-2.5.xsd"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;bean&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;class&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;bean&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;class&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;context:component-scan&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;base-package&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"com"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;context:annotation-config&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;beans&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;pom.xml:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;project&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;xmlns&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"http://maven.apache.org/POM/4.0.0"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;xmlns:xsi&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;xsi:schemaLocation&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span lang="EN-GB" style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&lt;/span&gt;&lt;/i&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;modelVersion&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;4.0.0&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;modelVersion&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;groupId&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;Integration&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;groupId&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;artifactId&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;Integration&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;artifactId&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;packaging&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;war&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;packaging&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;version&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;0.0.1-SNAPSHOT&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;version&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;dependencies&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;dependency&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;groupId&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;org.springframework&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;groupId&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;artifactId&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;spring-webmvc&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;artifactId&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;version&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;2.5.6.SEC01&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;version&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;dependency&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;dependencies&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;project&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Integration.html : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&amp;gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;DOCTYPE&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;HTML&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: grey; font-family: &amp;quot;Courier New&amp;quot;;"&gt;PUBLIC&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;"-//W3C//DTD HTML 4.01 Transitional//EN"&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;html&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;head&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;meta&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;http-equiv&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"content-type"&lt;/span&gt;&lt;/i&gt; &lt;span style="color: #7f007f;"&gt;content&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"text/html; charset=UTF-8"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;link&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;type&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"text/css"&lt;/span&gt;&lt;/i&gt; &lt;span style="color: #7f007f;"&gt;rel&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"stylesheet"&lt;/span&gt;&lt;/i&gt; &lt;span style="color: #7f007f;"&gt;href&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"Integration.css"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;title&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;Web Application Starter Project&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;title&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;script&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;type&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"text/javascript"&lt;/span&gt;&lt;/i&gt; &lt;span style="color: #7f007f;"&gt;language&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"javascript"&lt;/span&gt;&lt;/i&gt; &lt;span style="color: #7f007f;"&gt;src&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"integration/integration.nocache.js"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;span style="color: #3f7f7f;"&gt;script&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;head&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;body&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;iframe&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;src&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"javascript:''"&lt;/span&gt;&lt;/i&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"__gwt_historyFrame"&lt;/span&gt;&lt;/i&gt; &lt;u&gt;&lt;span style="color: #7f007f;"&gt;tabIndex&lt;/span&gt;&lt;/u&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;'-1'&lt;/span&gt;&lt;/i&gt; &lt;span style="color: #7f007f;"&gt;style&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"position:absolute;width:0;height:0;border:0"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;span style="color: #3f7f7f;"&gt;iframe&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;h1&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;Web Application Starter Project&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;h1&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;table&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;align&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"center"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;tr&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;td&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;colspan&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"2"&lt;/span&gt;&lt;/i&gt; &lt;span style="color: #7f007f;"&gt;style&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"font-weight:bold;"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: black;"&gt;Please enter your name:&lt;/span&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;td&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;tr&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;tr&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;td&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"nameFieldContainer"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;span style="color: #3f7f7f;"&gt;td&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;td&lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style="color: #2a00ff;"&gt;"sendButtonContainer"&lt;/span&gt;&lt;/i&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;span style="color: #3f7f7f;"&gt;td&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span lang="EN-GB" style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;tr&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;table&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;body&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;  &lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;&lt;span lang="EN-GB" style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;;"&gt;html&lt;/span&gt;&lt;span style="color: teal; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-2953510105050378690?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/2953510105050378690/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=2953510105050378690' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/2953510105050378690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/2953510105050378690'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/11/gwt-et-spring.html' title='GWT et Spring'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-3532475342873453132</id><published>2009-11-21T15:00:00.000-08:00</published><updated>2009-11-21T15:00:08.327-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ignorance'/><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><category scheme='http://www.blogger.com/atom/ns#' term='persistance ignorance'/><category scheme='http://www.blogger.com/atom/ns#' term='persistance'/><category scheme='http://www.blogger.com/atom/ns#' term='scolaire'/><category scheme='http://www.blogger.com/atom/ns#' term='annotation'/><category scheme='http://www.blogger.com/atom/ns#' term='annotations'/><title type='text'>Scolaire</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm3.static.flickr.com/2493/3708974943_ac72409f74.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="271" src="http://farm3.static.flickr.com/2493/3708974943_ac72409f74.jpg" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;L'autre jour, je discutais persistance avec mes collègues, je leur recommandais l'utilisation d' Hibernate avec les annotations en lieu et place des fichiers de mapping XML pour plusieurs raisons :&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 7pt; font-style: normal; font-variant: normal; font-weight: 400; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Lorsque l'on rajoute ou qu'on enlève un champ dans une classe dont les instances sont censé à être persistées, on a moins de chance d'enlever ou de rajouter les annotations nécessaires. En effet, lorsque l'on supprime un champ d'une classe on peut difficilement oublier de supprimer l'annotation juste au dessus (si elle existe). Lorsque l'on rajoute un champ, on se rend rapidement compte que les autres sont annotés, donc on pense à annoter le nouveau champ. De plus dans des cas simples le nouveau champ est automatiquement pris en compte dans la persistance. Les manques de synchronisations entre les classes et les fichiers de mapping correspondant arrivent régulièrement. Donc moins d'erreurs.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 7pt; font-style: normal; font-variant: normal; font-weight: 400; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Les fichiers de mapping sont assez chiants à remplir, et honnêtement je pense qu'il est plus facile et plus rapide de rendre une classe persistable avec des annotations qu'avec les balises XML. De plus dans les cas relativement simples (on ne cherche pas a nommer les champs,&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;ni à borner les chaines de caractères etc.) on n'utilise que deux annotations, une pour la classe et une autre pour l'identifiant. Donc plus de productivité.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 7pt; font-style: normal; font-variant: normal; font-weight: 400; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Les annotations sont utilisées dans JPA ce qui signifie qu'en utilisant des annotations on peut passer plus ou moins facilement à un autre ORM si c'est nécessaire. Donc plus d'indépendance.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Mes collègues, eux n'étaient pas convaincu et pour deux raisons : &lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 7pt; font-style: normal; font-variant: normal; font-weight: 400; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Persistance ignorance.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 36.0pt; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 7pt; font-style: normal; font-variant: normal; font-weight: 400; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Les annotations c'est moche. Cela nuit à la lisibilité du code.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Ok...&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Effectivement les annotations lorsqu'elles sont nombreuses ne sont pas sexy mais bon, nous sommes des informaticiens pas des artistes (tous mes collègues n'en sont pas convaincus...), plus un fichier de mapping n'a absolument rien de beau. Sur le fait que ça nuit à la lisibilité du code, certes ça rajoute des lignes de code à la classe persistée mais pas tant que ça, et puis pour avoir utilisé (contrairement à eux) les annotations dans le cadre d'un projet JEE5 (avec un vrai client et tout !!) j'avoue n'avoir jamais été gêné par ça, pareil pour les gens avec qui je travaillais. D'ailleurs je vois mal comment les annotations JPA pourraient me ralentir dans la compréhension des classes persistées ainsi que dans la maintenance de celles-ci.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Pour ce qui est de la persistance ignorance, j'ai halluciné, cet argument qui n'en est pas vraiment un, brandi tel un bouclier face à quelque chose que mes collègues ne connaissent pas : les annotations.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Tout d'abord, c'est quoi la persistance ignorance ? C'est le fait de dire qu'une classe qui doit être persistée ne doit pas embarquer d'information permettant de savoir si et comment elle est persistée. Quel sont les buts de la persistance ignorance ? De faire en sorte a ce que les changements de la couche de persistance n'impactent pas les classes censées êtres persistées (qui sont souvent dans le domaine). De faire en sorte à ce que la compréhension du domaine n'implique pas de maitriser le fonctionnement de la couche de persistance. Je précise que ce n'est pas eux qui m'ont expliqué ce qu'était la persistance ignorance.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;En quoi la persistance ignorance est débile ? Il y a un gros couplage entre&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;les classes (du domaine) qui vont être persistées et la manière dont elles vont l'être. Si vous rajoutez un champ à une classe il y a des chances que ce champ doit être persisté. Si vous supprimer un champ, ce champ ne doit plus être persisté. Toute modification des champs d'une classe implique une modification dans la couche de persistance. Donc oui je trouve très débile (pour ne pas dire con...) de cacher au développeur ce couplage. Au final c'est un peu comme du code dupliqué une modification&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;à un endroit implique souvent une modification à un autre endroit, sauf que cet endroit on ne sait pas toujours où il est. L'approche souvent employé pour lutter contre la duplication de code est de factoriser le code, afin que lorsque l'on effectue une modification à un endroit on n'ait pas besoin de la faire ailleurs. Je pense au contraire qu'en dépit de certains principes scolaires et théorique d'architecture il faut être franc avec le développeur : «&amp;nbsp;Hey, cette classe est persistée n'oublie pas de mettre à jour les informations concernant la persistance !!&amp;nbsp;» plutôt que : «&amp;nbsp;Non, qu'est-ce que tu me racontes là ? Cette classe n'est pas persistée ! (10 minutes plus tard le développeur se rend compte d'une erreur à l'exécution) Hein ? Quoi ? Hibernate t'as lancé une erreur ? Ah ben désolé...&amp;nbsp;». &lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;J'ai tenté de leur expliquer qu'en utilisant les annotations, une modification de la couche de persistance impliquerait dans le pire des cas une modification des annotations elles même, mais pas de la classe, puisque les champs et les méthodes ne dépendent pas de la couche de persistance. Et que donc, une modification de la couche de persistance n'aurait aucun impacte sur nos vues, nos contrôleurs, nos services etc... Ils n'ont rien voulu savoir. Je pense que leur problème c'est d'être trop scolaire, c'est paradoxal car la plupart ont quittés les bancs de la fac et des écoles d'ingénieurs il y a bien longtemps (plus que moi en tout cas). En fait ils appliquent de «&amp;nbsp;grands&amp;nbsp;» (?!!) principes théoriques sans les comprendre et sans vraiment savoir les appliquer. C'est un peu comme «&amp;nbsp;Jacadi à dit&amp;nbsp;» sauf que là Jacadi est un professeur d'architecture logicielle. &lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-3532475342873453132?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/3532475342873453132/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=3532475342873453132' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/3532475342873453132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/3532475342873453132'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/11/scolaire.html' title='Scolaire'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2493/3708974943_ac72409f74_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-4230785973979252254</id><published>2009-10-17T08:42:00.000-07:00</published><updated>2009-10-17T08:42:10.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='adultere'/><category scheme='http://www.blogger.com/atom/ns#' term='infidelité'/><category scheme='http://www.blogger.com/atom/ns#' term='cocufication'/><category scheme='http://www.blogger.com/atom/ns#' term='tromperie'/><title type='text'>Cocu</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm1.static.flickr.com/36/87409391_7738af4e63.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="400" src="http://farm1.static.flickr.com/36/87409391_7738af4e63.jpg" width="300" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;i&gt;&lt;span style="color: yellow;"&gt;"Le célèbre rapport Hite3 indique qu'aux États-Unis, 70 % des femmes ayant plus de cinq ans de mariage déclarent avoir été infidèles au moins une fois, et 72 % des hommes."&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;em&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="color: yellow;"&gt;Ne quitte jamais&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span style="color: yellow;"&gt; la personne que tu aimes pour la personne qui te plais car celui qui te plais te quittera pour la personne qu'elle aime. Trompe  plutôt la personne que tu aimes avec celle qui te plait, parce que la personne que tu aimes te trompera avec celle qui lui plait.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-4230785973979252254?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/4230785973979252254/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=4230785973979252254' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/4230785973979252254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/4230785973979252254'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/10/cocu.html' title='Cocu'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm1.static.flickr.com/36/87409391_7738af4e63_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-7511318206652536116</id><published>2009-10-09T14:40:00.000-07:00</published><updated>2009-10-09T14:40:20.142-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dégout'/><category scheme='http://www.blogger.com/atom/ns#' term='soupcons'/><title type='text'>...</title><content type='html'>&lt;div class="MsoNormal"&gt;Parfois j'ai du mal à comprendre mes semblables, quand je vois le nombre de personnes qui ont pleurés la mort de la personne qui prétendait être le roi de la pop... Les soupçons de pédophilie dont il a été victime n'a pas l'air d'avoir surpris grand monde, alors certes il n'y a pas de preuve formelles et encore moins de jugement qui a été rendu, et pour cause, il a payé les «&amp;nbsp;victimes&amp;nbsp;» (qui n'en sont pas puisque le jugement n'a pas vraiment été rendu) pour qu'elles arrentent leur poursuites... L'interview vidéo que j'ai vu où il se défend de ces accusations ne m'a pas convaincu, sa manière de tenir la main de certains garçons pendant l'interview encore moins. Mais bon, tout le monde s'en bas les couilles, c'est le chanteur de «thriller», il fait de la bonne musique (je me méfie de la sincérité des propos des gens qui écoutent sa musique en boucle&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;depuis qu'il est mort), il fait du moonwalk et tout.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;La encore un réalisateur de films a cavalé pendant près de trente ans pour fuir à la justice américaine, ce réalisateur est soupçonné (enfin très fortement soupçonné) de pédophilie, il a récemment été arrête. On se dit que s'il est innocent il pourra enfin le prouver (il avait 30 ans pour le faire quand même...), et que s'il est coupable il sera enfin jugé. Quoiqu'il en soit il a été soutenu par des ministres (le ministre de la culture entre autres) et différentes personnalités du monde du cinéma. Je dois avouer qu'en lisant la liste des gens qui le soutiennent, certains réalisateurs, acteurs et producteurs ont sérieusement baissé dans mon estime, mais cela n'a pas d'importance. Encore une fois peut importe ce qu'il ait fait par le passé, il a réalisé des putains de films, c'est tout ce qui compte. &lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Ce ministre de la culture qui a soutenue le réalisateur est au cœur d'un scandale a base de soupçon de tourisme sexuel et de pédophilie a Bangkok (donc en Thaïlande). Que le ministre aille se soulager avec des péripatéticiens, c'est drôle, surprenant, mais pas franchement choquant. Cela aurait été au bois de Boulogne ou en hollande, ça aurait été juste cocasse. Le fait que ce soit a Bangkok, fait naitre des soupçons de pédophilie. En effet, pourquoi aller a l'autre bout du monde pour faire l'amour avec des «&amp;nbsp;personnes consentantes de son âge&amp;nbsp;(a cinq ans près)» alors qu'il en existe dans notre beau pays et dans les pays voisins ? Peut-être pour aller chercher de l'exclusivité, pour trouver quelque chose qui ne se fait pas sur place... Voyez-vous, je me méfie autant des gens qui vont faire du tourisme en Thaïlande que de ceux qui vont en faire Hollande. Honnêtement je n'ai jamais mis les pieds dans aucun de ces deux pays, il y a certainement pleins de choses intéressantes a découvrir. Je ne doute pas que des gens aillent en Hollande uniquement pour apprendre la langue du pays, manger du fromage et découvrir une autre culture. Je ne doute pas que des gens aillent en Thaïlande pour découvrir une végétation luxuriante, une nouvelle culture, s'initier ou se perfectionner au muay thaï. Mais j'ai toujours des doutes. Alors oui, j'imagine que la passe d'un prostitué thaïlandais est moins chère que celle de son confrère français, mais je ne pense pas que notre cher ministre de la culture soit à ça près. Il possède une excellente répartie, et se réjouit d'être la cible d'un célèbre partie d'extrême droite français. Alors certes, recevoir le crachat de ces dernier peut être un honneur dans bien des cas, mais pas lorsqu'on est suspecté de pédophilie... Je ne doute pas que les partis politiques qui hurlent au scandale ne le fassent pas que par morale et éthique mais aussi pour assouvir des fins bassement politiques. Dans tous les cas, je ne suis pas convaincu par sa défense, comment pourrais-je l'être ? Et je comprends mieux pourquoi il a pris la défense du réalisateur donc j'ai parlé plus haut.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Je ne comprends pas que l'on puisse défendre ces personnes, certes, dans tous les cas il n'y a aucune preuve formelle de culpabilité. Aucune preuve formelle d'innocence ou d'alibi en béton. Je pense que dans ces cas, on n'a ni a faire a des innocents, ni des coupables, mais a des douteux, et je suis désagréablement surpris que des gens&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;accordent autant de crédit à ces douteux. Qu'ils attendent dans le cas du réalisateur, qu'un procès le déclare innocent. J'ai l'impression que lorsque certaines personnes ont atteints de hauts postes ou un certain niveau de notoriété, l'image qu'ils sont&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;aux yeux des gens devient intouchable, invulnérable, comme si les gens pouvaient tout leur pardonner.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-7511318206652536116?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/7511318206652536116/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=7511318206652536116' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/7511318206652536116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/7511318206652536116'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/10/blog-post.html' title='...'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-7251524611454969328</id><published>2009-09-27T04:07:00.000-07:00</published><updated>2009-09-27T04:07:49.395-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boite de nuit'/><category scheme='http://www.blogger.com/atom/ns#' term='nuit'/><category scheme='http://www.blogger.com/atom/ns#' term='carburant'/><category scheme='http://www.blogger.com/atom/ns#' term='grand'/><category scheme='http://www.blogger.com/atom/ns#' term='prix'/><category scheme='http://www.blogger.com/atom/ns#' term='ravitallement'/><category scheme='http://www.blogger.com/atom/ns#' term='alcool'/><category scheme='http://www.blogger.com/atom/ns#' term='boite'/><category scheme='http://www.blogger.com/atom/ns#' term='grand prix'/><title type='text'>Grand prix</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm1.static.flickr.com/22/24524378_05cd5701fe.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="315" src="http://farm1.static.flickr.com/22/24524378_05cd5701fe.jpg" width="420" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;C'est comme un grand prix, beaucoup iront faire un tour sur la piste de danse, mais très peu monteront sur le podium. Régulièrement, ils s'arrêteront au bar faire leur ravitaillement, certains repartent plus chargés que d'autres, tout dépend de leur stratégie pour la soirée. Chaque passage au bar est dangereux, ça joue des coudes, divers substances liquides se sont répandus sur le sol qui est devenu glissant, la barmaid s'énerve, elle arrive difficilement à satisfaire la demande des ces personnes qui trépignent  d'impatience. Certains s'accrocheront dangereusement, et se feront éjecter de la boite pour finir dehors sur le gravier. D'autres auront des pannes et finiront dans les toilettes vomir leur carburant.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-7251524611454969328?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/7251524611454969328/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=7251524611454969328' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/7251524611454969328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/7251524611454969328'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/09/grand-prix.html' title='Grand prix'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm1.static.flickr.com/22/24524378_05cd5701fe_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-8475252061919453797</id><published>2009-04-12T11:33:00.000-07:00</published><updated>2009-04-12T11:36:05.454-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='député'/><category scheme='http://www.blogger.com/atom/ns#' term='assemblée nationale'/><category scheme='http://www.blogger.com/atom/ns#' term='hadopi'/><category scheme='http://www.blogger.com/atom/ns#' term='hémicycle'/><category scheme='http://www.blogger.com/atom/ns#' term='politique'/><title type='text'>Absentéisme</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3070/2551708781_5da2c164f3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px; height: 336px;" src="http://farm4.static.flickr.com/3070/2551708781_5da2c164f3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;« Shetan : tu savais qu'il y avait une fac pour les + de 50 ans qui était ouverte depuis des années en France ?&lt;br /&gt;Saki : nan mais c'est bon à savoir&lt;br /&gt;Shetan : ouais, ils sont 500, yen a jamais plus de 150, ya 2-3 intellos qui écoutent, le reste dort, joue aux cartes, fout le bordel... comme les jeunes quoi&lt;br /&gt;Saki : mdr excellent&lt;br /&gt;Shetan : C'est l'Assemblée Nationale »&lt;br /&gt;Bashfr.&lt;br /&gt;&lt;br /&gt;Vous savez probablement que la loi Hadopi a été rejeté par l'assemblée nationale (pour combien de temps ?). Ce qui me fâche ce n'est pas loi Hadopi, ce n'est pas non plus le fait qu'elle n'ait pas été adopté, c'est le manque de député. Notre président Nicolas Sarkozy, est semble t'il fâché que la loi n'ait pas pu être voté. Les députés UMP sont surpris de s'être fait avoir, et reprochent à leurs adversaires du PS d'êtres arrivés à la dernière minute pour le vote. Je dirais « hate the game, not the player » la manœuvre a beau être vicieuse elle n'a rien d'illégale. Comment se fait-il qu'il y avait si peu de député à l'assemblée à ce moment là (et aux autres...) ? J'ai cru comprendre que cette loi été controversé même au sein de l'UMP comment se fait il que les députés UMP qui étaient contre l'adoption de cette loi, ne soient pas venu voter contre ? D'ailleurs, s'il y avait assez de députés socialiste pour que la loi ne soit pas adopté, dans l'absolu il n'y en avait pas beaucoup. Il est admissible que des gens payés par l'état (déficitaire, faut-il le rappeler ?) ne fassent pas acte de présence dans l'hémicycle. Et si les absents étaient occupés à exercer des fonctions conférés par d'autres mandats, on peut se demander quel l'intérêt pour l'état d'avoir des hommes politiques qui cumulent des mandats sans qu'ils puissent exercer chacun d'entre eux comme il se doit. Dans un monde idéal, les députés devraient rendre des comptes à chaque fois qu'ils ne sont pas présents, comme le fait un collégien lorsqu'il n'a pas assisté à tel ou tel cours. Je comprends parfaitement que les députés sont des grandes personnes qui savent ce qu'elles ont à faire, mais lorsqu'on a dans le portefeuille l'argent du contribuable il convient de faire ce pour quoi on est payé correctement, surtout que leurs salaires est supérieurs à celui de la plupart des français. Dans un monde idéal, un député qui sèche un peu trop souvent les bancs de l'hémicycle (disons deux trois fois sans justification valable) seraient démis de leurs fonctions de députés et seraient exposés à de sévères amendes proportionnelles à la durée de leurs absences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-8475252061919453797?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/8475252061919453797/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=8475252061919453797' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/8475252061919453797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/8475252061919453797'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/04/absenteisme.html' title='Absentéisme'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3070/2551708781_5da2c164f3_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-5688854307344772131</id><published>2009-04-12T06:14:00.000-07:00</published><updated>2009-04-12T06:16:46.839-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='formule 1'/><category scheme='http://www.blogger.com/atom/ns#' term='brawn'/><category scheme='http://www.blogger.com/atom/ns#' term='brawngp'/><category scheme='http://www.blogger.com/atom/ns#' term='button'/><title type='text'>Le doute</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3373/3412593774_a448743118.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 500px; height: 293px;" src="http://farm4.static.flickr.com/3373/3412593774_a448743118.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Jusque là je pensais qu'en formule 1, pour gagner il fallait avoir la meilleure bagnole et le meilleur pilote et peut-être même aussi la meilleure équipe. Et là, j'ai un doute, certes il n'y a eu que deux courses, mais bon, aucun des « champions » de la saison précédente n'a fait de podium... Que ce soit le champion du monde en titre Lewis Hamilton, les anciens champions du monde Kimi Raikkonen et Fernando Alonso, le vice champion du monde Felipe Massa, ou les très prometteurs Robert Kubica et Sebastian Vettel. Les premiers d'hier ne sont plus ceux d'aujourd'hui. Parallèlement d'autres pilotes qui avaient fait des saisons sans vraiment marquer les esprits s'imposent, Rubens Barrichello et surtout Jenson Button. Qui aurait parié sur eux l'an dernier ?  On pourrait se dire « ouais mais bon il y a eu des faits de courses... » certes mais ils sont signé des pôles positions, a deux reprise pour Jenson. Je pourrais dire que les résultats de l'équipe Toyota sont assez surprenant aussi dans une moindre mesure. On peut se dire que la monoplace Ferrari n’est peut-être pas aussi compétitive que celle de l'an dernier. On peut se dire la même chose pour la monoplace McLaren, même si c'est étrange que les deux leaders de la saison précédente s’effondrent la même année, c'est d'autant plus étrange que cette chute ne se fait pas au profit de Renault ou de BMW. Si la victoire des pilote BrawnGP est surprenante celle de leur monoplace l'est encore plus, qui aurait parié sur une monoplace construite par l'ex écurie Honda ? Le seul élément dont on pouvait se méfier c'est la présence de Ross Brawn, il s'agit d'un ancien de chez Ferrari et si les écrits de Wikipédia sont avérés il s'agit de quelqu'un de compétent. On le sait, il ne suffit pas d'être un bon pilote pour gagner, il n'y a qu'à voir Vettel et Kubica pour s'en convaincre, la monoplace a une importance capitale. Mais il ne suffit pas non plus d'avoir une bonne monoplace, il n'y a qu'a voir les résultats d' Heikki Kovalainen qui sont nettement en dessous de son coéquipier (Hamilton). Je ne pense pas que Barrichello et Button soient des pilotes exceptionnels,  j'admets qu'ils ne sont pas mauvais, mais s'ils étaient bon on s'en serait rendu compte pendant les saisons précédentes, je pense par contre que leur monoplace est clairement plus compétitive que celles de leurs concurrents. Je pense que l'équipe est bonne, car si elle prenait des mauvaises stratégies, BrawnGP ne serait probablement pas première au classement mondial. Et si il n'était guère utile d'être un virtuose du volant pour gagner, et s'il suffisait juste d'avoir un niveau correcte, et si la compétitivité des monoplaces et les compétences de l'équipe étaient les éléments clés de la réussite ? Et si les champions des saisons précédentes n'étaient en fait pas des si bons pilotes que ça, mais juste des pilotes chanceux de disposer des meilleurs monoplaces ? &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-5688854307344772131?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/5688854307344772131/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=5688854307344772131' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/5688854307344772131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/5688854307344772131'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/04/le-doute.html' title='Le doute'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3373/3412593774_a448743118_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-4741307243880246212</id><published>2009-02-08T05:53:00.000-08:00</published><updated>2009-02-08T06:05:57.776-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java EE'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='glassfish'/><category scheme='http://www.blogger.com/atom/ns#' term='EJB3'/><title type='text'>Tutoriel developper des EJB3 remix</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/49/148865960_625031ab27.jpg?v=0"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 500px; height: 333px;" src="http://farm1.static.flickr.com/49/148865960_625031ab27.jpg?v=0" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Parti en expédition sur les terres du JEE, j'ai trouvé refuge dans le comté d'EJB3, comté certes séduisant en apparence, mais la simplicité faisant défaut a ses habitants j'ai décidé de faire un tutoriel largement inspiré de celui existant sur éclipse totale (&lt;a href="http://www.eclipsetotale.com/articles/Introduction_EJB3_avec_Eclipse.html"&gt;http://www.eclipsetotale.com/articles/Introduction_EJB3_avec_Eclipse.html&lt;/a&gt;). Étant rebelle, je n'utiliserais pas Eclipse mais Netbeans, et j'utiliserais Glassfish en lieu et place de JBoss.&lt;br /&gt;Pourquoi ces choix ? Tout d'abord pourquoi Glassfish ? Parce que ce serveur d'application JEE est léger il prend moins de 100 MO à vide contrairement à JBoss qui prend plus de 300 MO à vide, Parce que Glassfish est certifié JEE 5 et pas JBoss. Glassfish est certes peu connu (contrairement à JBoss) mais il est quand même conçu par Sun ce qui lui apporte une certaine crédibilité, il aurait d'ailleurs déposé Weblogic et Websphere dans le benchmark SPECjAppServer. Pourquoi Netbeans ? Là je dois avouer que c'est plus subjectif, les deux environnement se valent, Eclipse est plus réactif (grâce à SWT ?)  et dispose de bien plus de plugins, il a de plus résolu ses problèmes de stabilité, Netbeans lui n'a pas beaucoup évolué et n'as pas vraiment comblé ses lacunes par rapport à Eclipse, mais son plugin pour Glassfish semble mieux fonctionner que celui d' Eclipse. J'ai eu l'occasion d'essayer JDevelopper d' Oracle, c'est de loin l' EDI le  plus réussi esthétiquement parlant, mais la stabilité du logiciel est déplorable, elle est digne d'une version alpha. Bref, trêve de tergiversations, passons au tutoriel. La version de Netbeans utilisée ici est la 6.5, la version de Glassfish  est la version 2.1 et la versions du JDK utilisé est la 6 update 11.&lt;br /&gt;&lt;br /&gt;Créez un nouveau projet Java EE de type EJB Module dans Netbeans, ce projet est intitulé IntroEJB3, la version de JEE utilisé sera  la 5 et le serveur utilisé sera bien évidement Glassfish V2.&lt;br /&gt;Créez un package «com.et».Dans l'onglet « projects » faites un clic droit sur « Entreprise beans » cliquez sur « Session Bean » vous appellerez ce bean « PremierEJB3 » ce bean est de type « stateless » son interface est de type « remote » (décochez la case « Local »), ce bean sera dans le package «com.et». Deux fichier sont créés : « PremierEJB3Remote.java» et « PremierEJB3Bean.java», le premier correspond a l'interface « remote » du bean le second correspond à la classe d'implémentation du bean. Ouvrez le fichier « PremierEJB3Bean.java » faites un clic droit à l'interieur, cliquez sur « insert code » puis sur « add business method », appelez cette méthode « ditBonjour » donnez lui le type String comme « return type », ajoutez lui un paramètre de type String nommé « aQui ». Le contenu de cette méthode sera le suivant « return "Bonjour " + aQui + " !!!"; » . Il ne vous aura pas échappé que le prototype de la méthode a été rajouté dans l'interface « PremierEJB3Remote ». Vous pouvez tester votre travail en lancant le serveur, pour ce faire faites un clic droit sur le projet « IntroEJB3 » et en cliquant sur « Run », après quelques secondes un message doit vous afficher que le serveur est bien lancé et que le projet IntroEJB3 a été chargé par Glassfish, en cas de soucis n'hésitez pas à augmenter le timeout (surtout si votre machine est peu véloce) du lancement du serveur.&lt;br /&gt;&lt;br /&gt;Passons au client, créez un projet Java de type « Java Application », appelez le « ClientEJB3 », créez un package « com.et ». Créez dans ce package une classe « ClientPremierEJB3 » qui contient le code suivant :&lt;br /&gt;&lt;br /&gt;package com.et;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;import javax.naming.Context;&lt;br /&gt;import javax.naming.InitialContext;&lt;br /&gt;import javax.naming.NamingException;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class ClientPremierEJB3 {&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;     try {&lt;br /&gt;            Hashtable hashtableEnvironment = new Hashtable();&lt;br /&gt;     hashtableEnvironment.put("java.naming.factory.initial",&lt;br /&gt;        "com.sun.enterprise.naming.SerialInitContextFactory");&lt;br /&gt;     hashtableEnvironment.put("java.naming.factory.url.pkgs",&lt;br /&gt;        "com.sun.enterprise.naming");&lt;br /&gt;     hashtableEnvironment.put("java.naming.factory.state",&lt;br /&gt;        "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");&lt;br /&gt;      hashtableEnvironment.put("org.omg.CORBA.ORBInitialHost",&lt;br /&gt;        "localhost");&lt;br /&gt;       hashtableEnvironment.put("org.omg.CORBA.ORBInitialPort",&lt;br /&gt;        "3700");&lt;br /&gt;        Context context = new InitialContext(hashtableEnvironment);&lt;br /&gt;        PremierEJB3Remote beanRemote = (PremierEJB3Remote)&lt;br /&gt;        context.lookup("com.et.PremierEJB3Remote");&lt;br /&gt;        System.out.println(beanRemote.ditBonjour("ClientPremierEJB3"));&lt;br /&gt;     } catch (NamingException e) {&lt;br /&gt;        e.printStackTrace();&lt;br /&gt;     }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Vous notez ici quelques différence avec le tutoriel d'eclipse totale, d'une part j'ai renseigné les paramètres JNDI dans une hashtable et non pas dans un fichier « jndi.properties » et d'autre par la chaine de caractère passé en paramètre à la méthode « lookup » de l'objet « context », n'est pas la même.&lt;br /&gt;Je n'ai pas utilisé de fichier « jndi.properties » pour des raisons de simplicité.  La chaine passé en paramètre à la méthode « lookup » est différente parce que celle présente sur le tutoriel d'éclipse totale ne permet pas de retrouver le bean « PremierEJB3Bean ». De plus, quel est l'intérêt de créer une interface si le client cherche un bean à partir du nom de sa classe d'implémentation ? Si l'on utilise l'interface « remote » du bean « PremierEJB3Bean » dans la méthode « lookup » quel est l'intérêt de rajouter « /remote » à la fin de la chaine de caractère ? Afin de vous évitez quelques déconvenue je vous recommande l'ajout des jar suivantes : « appserv-rt.jar » et « javaee.jar ». La jar « appserv-rt.jar » vous évitera l'exception « classnotfoundexception » en effet vous avez besoin de la classe « com.sun.enterprise.naming.SerialInitContextFactory » qui se trouve justement dans ce jar. Il en est de même pour la jar « javaee.jar » qui vous permettra d'éviter le « classnotfoundexception » avec la classe « javax.security.jacc.PolicyException », ces jar doivent bien évidement êtres accessible lors de l'exécution du programme. N'oubliez pas de référencez le projet « IntroEJB3 » dans les librairies de « ClientEJB3 » pour la compilation et l'exécution du programme.&lt;br /&gt;&lt;br /&gt;Utilisez la chaine "PremierEJB3Bean/remote" en paramètre de la méthode « lookup » et vous obtiendrez une magnifique « javax.naming.NameNotFoundException ». Si vous décidez d'utiliser la chaine "PremierEJB3Remote/remote"  en paramètre a cette même méthode vous obtiendrez une autre « javax.naming.NameNotFoundException ». En utilisant "com.et.PremierEJB3Remote/remote" vous obtiendrez une curieuse « javax.naming.NameAlreadyBoundException: com.et.PremierEJB3Remote », curieuse dans la mesure où nous n'essayons pas de refaire un binding, nous aurions utilisé la fonction «bind » pour cela. La chaine "com.et.PremierEJB3Remote", elle permettra à votre client de s'exécuter convenablement. Cela me semble logique dans la mesure ou en utilisant l'interface de type « remote » il est évident que l'on souhaite accéder à un bean distant, le suffixe « /remote » deviens donc inutile. Préfixer le nom de l'interface par son package me parait là aussi logique.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-4741307243880246212?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/4741307243880246212/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=4741307243880246212' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/4741307243880246212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/4741307243880246212'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/02/tutoriel-developper-des-ejb3-remix.html' title='Tutoriel developper des EJB3 remix'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-4842052295800818527</id><published>2009-01-25T12:20:00.000-08:00</published><updated>2009-01-25T12:21:11.262-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='privilèges'/><category scheme='http://www.blogger.com/atom/ns#' term='politique'/><title type='text'>Politique</title><content type='html'>Des fois je me demande pourquoi, je me lève tôt cinq matins sur sept pour aller travailler 35 heures par semaines. Je me dis que j’aurais mieux fait de faire de la politique, j’ai une grande gueule, de la répartie, je sais baratiner, mes qualités oratoires sont reconnues. J’aurais du intégrer un grand parti politique, l’UMP ou le PS, les autres n’étant pas assez fortunés à mon gout, j’aurais fait partie de l’élite, de ces gens qui n’en ont rien à branler de la hausse du prix de l’essence, j’aurais fait partie de ces gens qui ont la chance de pouvoir faire leurs courses sans compter, d’avoir une carrière tracée, de pouvoir me préparer une retraite confortable. Peu importe mes opinions, peu importe mes idées, l’important ce n’est pas que je sois en accord avec mon parti politique, mais que je donne l’impression de l’être. L’important n’est pas de savoir de quoi l’on parle mais de donner l’impression que l’on sait de quoi l’on parle. Tout n’est qu’apparence.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-4842052295800818527?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/4842052295800818527/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=4842052295800818527' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/4842052295800818527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/4842052295800818527'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/01/politique.html' title='Politique'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-2027572927619004734</id><published>2009-01-25T08:28:00.000-08:00</published><updated>2009-01-25T08:35:48.175-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='logiciel libre'/><category scheme='http://www.blogger.com/atom/ns#' term='orienté objet'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Base de données'/><title type='text'>Une base de données orientée objet : Db4o</title><content type='html'>Entre deux morceaux de death metal scandinaves votre dévoué serviteur se plaît à expérimenter de nouveaux outils informatiques. C’est ainsi que j’ai testé une base de données orienté objets. Pourquoi une base de données orientée objet ? Cela ne vous aura pas échappé que dans beaucoup de logiciels nécessitant la présence d’une base de données (afin de persister des données) des ORMs (object-relational mapping) sont utilisés (Hibernate, TopLink, Ibatis pour ne citer qu’eux). En utilisant des ORM on est confrontés (entre autres) a deux problèmes, soit des problèmes de performances (qui sont les prix à payer pour se détacher du SQL afin  gagner en productivité),  soit des problèmes de productivité (qui sont les prix à payer pour avoir un niveau de performance acceptable lorsque l’on manipule de gros volume de données). Alors certes, dans la réalité la situation n’est pas aussi binaire que mes propos le laisseraient supposer, en effet il est possible d’optimiser un ORM lent et d’utiliser des outils qui permettent de gagner en productivité lorsque l’on utilise des ORMs ne facilitant pas à la base la productivité. Dans le premier cas, il faut connaître sur le bout des doigts l’ORM ce qui en soit n’est pas trivial, cela demande aussi une bonne connaissance de l’optimisation de l’utilisation des bases de données (schémas, requêtes etc.). Dans le cas des ORM ne facilitant pas la productivité, les outils dont j’ai parlé plus tôt ne sont pas toujours disponibles, et lorsqu’ils permettent d’avoir un niveau de productivité correcte, c’est parfois au dépend de l’architecture du logiciel. Le compromis entre performances et productivité est possible, mais difficile à obtenir.  Et si le problème était (entre autre) le manque d’adéquation entre le modèle objet et le modèle relationnel ? Et si un bon modèle objet était rarement transposable en un bon modèle relationnel et inversement ? Et si la solution était que la base de données nous libère du SQL ? Et si la base de données était capable de persister des objets sans avoir à définir de mapping que ce soit par des annotations ou des fichiers XML ? Ces interrogations pourront vous paraitre naïve voir utopistes, mais sachez qu’il existe des bases de données orientées objets qui sont capable de persister des objets Java .NET etc. Et ce sans la moindre information de mapping.&lt;br /&gt;&lt;br /&gt;J’ai eu l’occasion d’essayer Db4o une base de données orientées objet libre, la facilité d’utilisation de cet outil est assez troublante.  En l’utilisant on se demande vraiment pourquoi autant de gens s’embêtent avec des ORMs. Toutefois la prudence est de mise, si je pense que cette solution est adapté pour des petits projets, je n’ai pas pu faire de tests de performances avec cette base de données, je n’ai pas non plus essayé de persister des objets complexes. Le gain en productivité avec cette base de données est plus important selon moi qu’avec un ORM comme hibernate. Je trouve que ce type de base gagnerait à être connu dans la mesure où elles tentent de répondre à la demande actuelle, à savoir persister facilement et si possible rapidement des objets. J’ai décelé quelques points noirs, tout d’abord la documentation, le « Formula One Tutorial » bien qu’amusant à faire il est un peu négligé, d’une part il propose d’utiliser des méthodes dépréciés (problème de mise à jour de la documentation ?) d’autre part  le « full source » est incomplet. Autre point noir, la licence, cette sympathique base de données est sous licence GPL, donc tout logiciel utilisant cette base de données bascule sous licence GPL…. Néanmoins ce type de base données trace une nouvelle voie : Plutôt que faire rentrer un model objet dans une base de données relationnelles ou un modèle relationnel dans un modèle objet à l’aide d’ORMs, autant utiliser une base de données capable de comprendre nativement un model objet.&lt;br /&gt;&lt;br /&gt;Quelques bouts de codse pour montrer ce que l’on peut faire avec :&lt;br /&gt;&lt;br /&gt;MyClass.java : &lt;br /&gt;&lt;br /&gt;package com.db4o.f1.chapter1;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;&lt;br /&gt;import com.db4o.Db4o;&lt;br /&gt;import com.db4o.ObjectContainer;&lt;br /&gt;import com.db4o.ObjectSet;&lt;br /&gt;&lt;br /&gt;public class MyClass {&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  new File("c:/database").delete();&lt;br /&gt;  accessDb4o();&lt;br /&gt;  new File("c:/database").delete();&lt;br /&gt;  ObjectContainer db = Db4o.openFile("c:/database");&lt;br /&gt;  try {&lt;br /&gt;   storeFirstPilot(db);&lt;br /&gt;   storeSecondPilot(db);&lt;br /&gt;   retrieveAllPilots(db);&lt;br /&gt;   retrievePilotByName(db);&lt;br /&gt;   retrievePilotByExactPoints(db);&lt;br /&gt;   updatePilot(db);&lt;br /&gt;   deleteFirstPilotByName(db);&lt;br /&gt;   deleteSecondPilotByName(db);&lt;br /&gt;  } finally {&lt;br /&gt;   db.close();&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void accessDb4o() {&lt;br /&gt;  ObjectContainer db = Db4o.openFile("c:/database");&lt;br /&gt;  try {&lt;br /&gt;   // do something with db4o&lt;br /&gt;  } finally {&lt;br /&gt;   db.close();&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void storeFirstPilot(ObjectContainer db) {&lt;br /&gt;  Pilot pilot1 = new Pilot("Michael Schumacher", 100);&lt;br /&gt;  db.set(pilot1);&lt;br /&gt;  System.out.println("Stored " + pilot1);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void storeSecondPilot(ObjectContainer db) {&lt;br /&gt;  Pilot pilot2 = new Pilot("Rubens Barrichello", 99);&lt;br /&gt;  db.set(pilot2);&lt;br /&gt;  System.out.println("Stored " + pilot2);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void retrieveAllPilotQBE(ObjectContainer db) {&lt;br /&gt;  Pilot proto = new Pilot(null, 0);&lt;br /&gt;  ObjectSet result = db.get(proto);&lt;br /&gt;  listResult(result);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void listResult(ObjectSet result) {&lt;br /&gt;  System.out.println(result.size());&lt;br /&gt;  while (result.hasNext()) {&lt;br /&gt;   System.out.println(result.next());&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void retrieveAllPilots(ObjectContainer db) {&lt;br /&gt;  ObjectSet result = db.get(Pilot.class);&lt;br /&gt;  listResult(result);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void retrievePilotByName(ObjectContainer db) {&lt;br /&gt;  Pilot proto = new Pilot("Michael Schumacher", 0);&lt;br /&gt;  ObjectSet result = db.get(proto);&lt;br /&gt;  listResult(result);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void retrievePilotByExactPoints(ObjectContainer db) {&lt;br /&gt;  Pilot proto = new Pilot(null, 100);&lt;br /&gt;  ObjectSet result = db.get(proto);&lt;br /&gt;  listResult(result);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void updatePilot(ObjectContainer db) {&lt;br /&gt;  ObjectSet result = db.get(new Pilot("Michael Schumacher", 0));&lt;br /&gt;  Pilot found = (Pilot) result.next();&lt;br /&gt;  found.addPoints(11);&lt;br /&gt;  db.set(found);&lt;br /&gt;  System.out.println("Added 11 points for " + found);&lt;br /&gt;  retrieveAllPilots(db);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void deleteFirstPilotByName(ObjectContainer db) {&lt;br /&gt;  ObjectSet result = db.get(new Pilot("Michael Schumacher", 0));&lt;br /&gt;  Pilot found = (Pilot) result.next();&lt;br /&gt;  db.delete(found);&lt;br /&gt;  System.out.println("Deleted " + found);&lt;br /&gt;  retrieveAllPilots(db);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void deleteSecondPilotByName(ObjectContainer db) {&lt;br /&gt;  ObjectSet result = db.get(new Pilot("Rubens Barrichello", 0));&lt;br /&gt;  Pilot found = (Pilot) result.next();&lt;br /&gt;  db.delete(found);&lt;br /&gt;  System.out.println("Deleted " + found);&lt;br /&gt;  retrieveAllPilots(db);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pilot.java : &lt;br /&gt;&lt;br /&gt;package com.db4o.f1.chapter1;&lt;br /&gt;&lt;br /&gt;public class Pilot {&lt;br /&gt; private String name;&lt;br /&gt;    private int points;  &lt;br /&gt;&lt;br /&gt;    public Pilot(String name,int points) {&lt;br /&gt;        this.name=name;&lt;br /&gt;        this.points=points;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public int getPoints() {&lt;br /&gt;        return points;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void addPoints(int points) {&lt;br /&gt;        this.points+=points;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getName() {&lt;br /&gt;        return name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String toString() {&lt;br /&gt;        return name+"/"+points;&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-2027572927619004734?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/2027572927619004734/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=2027572927619004734' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/2027572927619004734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/2027572927619004734'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/01/une-base-de-donne-oriente-objet-db4o.html' title='Une base de données orientée objet : Db4o'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-2116473414365709713</id><published>2009-01-25T04:27:00.000-08:00</published><updated>2009-01-25T04:39:30.394-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='orienté objet'/><category scheme='http://www.blogger.com/atom/ns#' term='héritage'/><title type='text'>Le C orienté objet, 3ème partie</title><content type='html'>&lt;a href="http://farm3.static.flickr.com/2051/2431297454_92de85b3e7.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 500px; height: 375px;" src="http://farm3.static.flickr.com/2051/2431297454_92de85b3e7.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Voici un troisième exemple de « classe » écrite en langage C, cette version de distingue de ses précédentes par la présence d’une certaine forme d’encapsulation. Les développeurs qui manipuleront une instance de la classe « ClasseEncapsule » n’auront pas un accès direct aux champs de cette instance, ils devront passer par des accesseurs et des mutateurs. On peut trouver ces derniers inutiles dans la mesure où la plupart du temps ils se contentent de faire de simples affectations, mais ils permettent de masquer l’implémentation et ainsi de minimiser l’impact des modifications de la classe « ClasseEncapsule ».&lt;br /&gt;&lt;br /&gt;ClasseEncapsule.h :&lt;br /&gt;&lt;br /&gt;#ifndef CLASSEENCAPSULE_H_INCLUDED&lt;br /&gt;#define CLASSEENCAPSULE_H_INCLUDED&lt;br /&gt;&lt;br /&gt;typedef struct ClasseEncapsule *ClasseEncapsule;&lt;br /&gt;&lt;br /&gt;extern void ClasseEncapsule_supprimer(ClasseEncapsule&lt;br /&gt; maClasse);&lt;br /&gt;extern double&lt;br /&gt;ClasseEncapsule_methode1(ClasseEncapsule maClasse,double unDouble);&lt;br /&gt;&lt;br /&gt;extern char *&lt;br /&gt;ClasseEncapsule_methode2(ClasseEncapsule maClasse,int unInt, char * unCharEtoile);&lt;br /&gt;&lt;br /&gt;extern ClasseEncapsule&lt;br /&gt;ClasseEncapsule_creer(int champ1, double champ2, char * champ3);&lt;br /&gt;extern int ClasseEncapsule_acceder_champ1(ClasseEncapsule maClasse);&lt;br /&gt;extern double ClasseEncapsule_acceder_champ2(ClasseEncapsule maClasse);&lt;br /&gt;extern char * ClasseEncapsule_acceder_champ3(ClasseEncapsule maClasse);&lt;br /&gt;extern void ClasseEncapsule_muter_champ1(ClasseEncapsule maClasse, int valeur);&lt;br /&gt;extern void ClasseEncapsule_muter_champ2(ClasseEncapsule maClasse,double valeur);&lt;br /&gt;extern void ClasseEncapsule_muter_champ3(ClasseEncapsule maClasse,char * valeur);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsuleUpCast(instance,instanceSousClasse, NOM_CLASSE_FILLE) \&lt;br /&gt;ClasseEncapsule_muter_champ1(instance,NOM_CLASSE_FILLE##_acceder_champ1(instanceSousClasse)); \&lt;br /&gt;ClasseEncapsule_muter_champ2(instance,NOM_CLASSE_FILLE##_acceder_champ2(instanceSousClasse)); \&lt;br /&gt;ClasseEncapsule_muter_champ3(instance,NOM_CLASSE_FILLE##_acceder_champ3(instanceSousClasse));&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsuleDownCast(instance,instanceSousClasse, NOM_CLASSE_FILLE) \&lt;br /&gt;NOM_CLASSE_FILLE##_muter_champ1(instanceSousClasse,ClasseEncapsule_acceder_champ1(instance)); \&lt;br /&gt;NOM_CLASSE_FILLE##_muter_champ2(instanceSousClasse,ClasseEncapsule_acceder_champ2(instance)); \&lt;br /&gt;NOM_CLASSE_FILLE##_muter_champ3(instanceSousClasse,ClasseEncapsule_acceder_champ3(instance));&lt;br /&gt;#endif // CLASSEENCAPSULE_H_INCLUDED&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ClasseEncapsuleImpl.h :&lt;br /&gt;&lt;br /&gt;#ifndef CLASSEENCAPSULEIMPL_H_INCLUDED&lt;br /&gt;#define CLASSEENCAPSULEIMPL_H_INCLUDED&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsule_methode1_IMPL(instanceClasseMere, unDouble) \&lt;br /&gt;return instanceClasseMere-&gt;monChamp2 + (unDouble);&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsule_methode2_IMPL( instanceClasseMere, unInt,unCharEtoile) \&lt;br /&gt;if(strlen(unCharEtoile) &gt; (unInt)){\&lt;br /&gt;       return unCharEtoile;\&lt;br /&gt;   }\&lt;br /&gt;    return   instanceClasseMere-&gt;monChamp3;&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsule_supprimer_IMPL(instanceClasseMere) \&lt;br /&gt; if(instanceClasseMere!=NULL){\&lt;br /&gt;     free(instanceClasseMere);\&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsule_acceder_champ1_IMPL(instanceClasseMere) \&lt;br /&gt;    return instanceClasseMere-&gt;monChamp1;&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsule_acceder_champ2_IMPL(instanceClasseMere) \&lt;br /&gt;    return instanceClasseMere-&gt;monChamp2;&lt;br /&gt;&lt;br /&gt; #define ClasseEncapsule_acceder_champ3_IMPL(instanceClasseMere) \&lt;br /&gt;    return instanceClasseMere-&gt;monChamp3;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsule_muter_champ1_IMPL(instanceClasseMere,valeur) \&lt;br /&gt;     instanceClasseMere-&gt;monChamp1=valeur;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#define ClasseEncapsule_muter_champ2_IMPL(instanceClasseMere,valeur) \&lt;br /&gt;     instanceClasseMere-&gt;monChamp2=valeur;&lt;br /&gt;&lt;br /&gt; #define ClasseEncapsule_muter_champ3_IMPL(instanceClasseMere,valeur) \&lt;br /&gt;     instanceClasseMere-&gt;monChamp3=valeur;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#endif // CLASSEENCAPSULEIMPL_H_INCLUDED&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ClasseEncapsule.c : &lt;br /&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;#include "classeencapsule.h"&lt;br /&gt;#include "classeencapsuleimpl.h"&lt;br /&gt;&lt;br /&gt;struct ClasseEncapsule&lt;br /&gt;{&lt;br /&gt;   int monChamp1;&lt;br /&gt;   double monChamp2;&lt;br /&gt;   char* monChamp3;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int ClasseEncapsule_acceder_champ1(ClasseEncapsule maClasse){&lt;br /&gt;     ClasseEncapsule_acceder_champ1_IMPL(maClasse);&lt;br /&gt;}&lt;br /&gt;double ClasseEncapsule_acceder_champ2(ClasseEncapsule maClasse){&lt;br /&gt;     ClasseEncapsule_acceder_champ2_IMPL(maClasse);&lt;br /&gt;}&lt;br /&gt;char * ClasseEncapsule_acceder_champ3(ClasseEncapsule maClasse){&lt;br /&gt;     ClasseEncapsule_acceder_champ3_IMPL(maClasse);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void ClasseEncapsule_muter_champ1(ClasseEncapsule maClasse, int valeur){&lt;br /&gt;     ClasseEncapsule_muter_champ1_IMPL(maClasse,valeur);&lt;br /&gt;}&lt;br /&gt;void ClasseEncapsule_muter_champ2(ClasseEncapsule maClasse,double valeur){&lt;br /&gt;     ClasseEncapsule_muter_champ2_IMPL(maClasse,valeur);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void ClasseEncapsule_muter_champ3(ClasseEncapsule maClasse,char * valeur){&lt;br /&gt;     ClasseEncapsule_muter_champ3_IMPL(maClasse,valeur);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; void ClasseEncapsule_supprimer(ClasseEncapsule maClasse){&lt;br /&gt;ClasseEncapsule_supprimer_IMPL(maClasse);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; double&lt;br /&gt;ClasseEncapsule_methode1(ClasseEncapsule maClasse,double unDouble){&lt;br /&gt;&lt;br /&gt;    ClasseEncapsule_methode1_IMPL(maClasse,unDouble);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; char *&lt;br /&gt;ClasseEncapsule_methode2(ClasseEncapsule maClasse,int unInt, char * unCharEtoile){&lt;br /&gt;ClasseEncapsule_methode2_IMPL(maClasse,unInt,unCharEtoile);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ClasseEncapsule&lt;br /&gt;ClasseEncapsule_creer(int champ1, double champ2, char * champ3)&lt;br /&gt;{&lt;br /&gt;    ClasseEncapsule monInstance=malloc(sizeof(struct ClasseEncapsule));&lt;br /&gt;&lt;br /&gt;    monInstance-&gt;monChamp1=champ1;&lt;br /&gt;    monInstance-&gt;monChamp2=champ2;&lt;br /&gt;    monInstance-&gt;monChamp3=champ3;&lt;br /&gt;    return monInstance;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-2116473414365709713?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/2116473414365709713/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=2116473414365709713' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/2116473414365709713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/2116473414365709713'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2009/01/le-c-orient-objet-3me-partie.html' title='Le C orienté objet, 3ème partie'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2051/2431297454_92de85b3e7_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-635652830836863660</id><published>2008-12-14T08:07:00.000-08:00</published><updated>2008-12-14T08:31:15.867-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='orienté objet'/><category scheme='http://www.blogger.com/atom/ns#' term='héritage'/><title type='text'>Le C orienté objet, 2ème partie</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3070/3059034034_22ca27c9f8.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 500px; height: 333px;" src="http://farm4.static.flickr.com/3070/3059034034_22ca27c9f8.jpg" border="0" alt="" /&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;/a&gt;Un des concepts fondamentaux de la programmation orienté objet est l’héritage, comment l’implémenter en langage C ? Prenons deux classes, une classe mère « ClasseMère » et une classe fille « ClasseFille » qui hérite de la première. La classe mère içi sera une pale copie de la classe MonAutreClasse présentée dans la première partie. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;Les fonctions concernant le descripteur de classe et le constructeur n’ont pas beaucoup changés. Pour les autres méthodes vous noterez l’usage de macro-fonctions dans lesquelles nous avons réécris les méthodes. Pour des raisons évidentes d’encapsulation, ces macros n’ont pas été mises dans le fichier d’en-tête&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;« classemere.h », elles n’ont pas non plus été mises dans le fichier « classemere.c » (afin d’éviter d’encombrer inutilement ce fichier). Ces macros ont été définies dans un fichier nommé « classemereimpl.h » qui contrairement à ce que son extension pourrait laisser supposer n’est pas un fichier d’en-tête voué à être utilisé comme une interface, il s’agit içi d’un fichier d’implémentation au même titre que le fichier « classemere.c ». Pourquoi écrire le corps de certaines méthodes dans des macros fonctions ?&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Cette astuce permet de factoriser du code entre les classes mères et les classes filles. En effet,&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;lorsque nous implémentons les méthodes de la classe filles celles de la classe mère ne peuvent pas être directement réutilisées. Le premier argument des méthodes de la classe mère (argument de type « ClasseMere ») n’est pas le même que le premier argument que les méthodes des classes filles (« ClasseFille »). Cela dit, à par le type du premier argument, rien ne change, en factorisant le corps des méthodes dans des macro-fonctions, on s’affranchit du type du premier argument. Par contre, nous gardons toute la force (ou la faiblesse, à votre convenance…) du typage du langage C, une fois que le préprocesseur aura effectué son travail, le compilateur se chargera d’effectuer toutes les vérifications de type. Néanmoins, cette astuce nous oblige à redéfinir chaque méthode dans le fichier d’implémentation de la classe fille, afin de préciser que le type du premier argument (correspondant à l’instance de la classe sur laquelle s’applique la méthode) à changé.&lt;/span&gt;  &lt;p class="MsoNormal"&gt;Lorsque nous avons une instance de la classe « ClasseFille » comment la passer en paramètre à une méthode qui prend en paramètre une instance de la classe « ClasseMere » ? Grace aux deux autres macros-fonctions « ClasseMereUpCast » et &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;« ClasseMereDownCast » qui permettent respectivement le transtypage de la classe fille vers la classe mère et inversement. Ce transtypage comme vous pourrez le constater à la lecture des sources est artificiel, de plus, il nécessite la présence d’une instance de la classe « ClasseMere ». En effet, la macro-fonction « ClasseMereUpCast » se contente d’affecter à chaque les donnée membre de l’instance de la classe « ClasseMere » la valeur de son équivalent dans la classe fille. La macro fonction « ClasseMereDownCast », fait le même type d’affectations mais dans le sens inverse (de l’instance de la classe mère vers l’instance de la classe fille). Ces transtypages, aussi artificiels soient ils, n’empêcheront pas, à priori, le compilateur de détecter les éventuels problèmes de type.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;On peut bien évidement utiliser des macros-fonctions pour factoriser du code dans quasiment toutes les fonctions présentes dans les fichiers d’implémentation (pour alléger le code du constructeur par exemple).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Classemere.h :&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#ifndef&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; CLASSEMERE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; CLASSEMERE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;typedef&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;struct&lt;/span&gt; ClasseMere *ClasseMere;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;typedef&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;struct&lt;/span&gt; DescripteurClasseMere DescripteurClasseMere;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;struct&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; DescripteurClasseMere&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt; (*supprimer)(ClasseMere);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; (*methode1)(ClasseMere a, &lt;span style="color:blue;"&gt;double&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;*(*methode2)(ClasseMere a,&lt;span style="color:blue;"&gt;int&lt;/span&gt; b, &lt;span style="color:blue;"&gt;char&lt;/span&gt; *c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;struct&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseMere&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; monChamp1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; monChamp2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;* monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;DescripteurClasseMere* classe;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;extern&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseMere&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_creer(&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ1, &lt;span style="color:blue;"&gt;double&lt;/span&gt; champ2, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * champ3);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseMereUpCast(instance,instanceSousClasse) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instance-&gt;monChamp1=instanceSousClasse-&gt;monChamp1; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instance-&gt;monChamp2=instanceSousClasse-&gt;monChamp2; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instance-&gt;monChamp3=instanceSousClasse-&gt;monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseMereDownCast(instance,instanceSousClasse) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instanceSousClasse-&gt;monChamp1=instance-&gt;monChamp1; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instanceSousClasse-&gt;monChamp2=instance-&gt;monChamp2; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instanceSousClasse-&gt;monChamp3=instance-&gt;monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#endif&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:green;"&gt;// CLASSEMERE_H_INCLUDED&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;classemereimpl.h :&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#ifndef&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; CLASSEMEREIMPL_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; CLASSEMEREIMPL_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseMere_methode1_IMPL(instanceClasseMere, unDouble) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;return&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; instanceClasseMere-&gt;monChamp2 + (unDouble);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseMere_methode2_IMPL( instanceClasseMere, unInt,unCharEtoile) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;if&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;(strlen(unCharEtoile) &gt; (unInt)){\&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; unCharEtoile;\&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;}\&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;instanceClasseMere-&gt;monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseMere_supprimer_IMPL(instanceClasseMere) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(instanceClasseMere!=NULL){\&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;free(instanceClasseMere);\&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#endif&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:green;"&gt;// CLASSEMEREIMPL_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;classemere.c :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&lt;stdlib.h&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/stdlib.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&lt;stdio.h&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/stdio.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&lt;string.h&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/string.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;"classemere.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;"classemereimpl.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; ClasseMere_supprimer(ClasseMere maClasse){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_supprimer_IMPL(maClasse);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;double&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_methode1(ClasseMere maClasse,&lt;span style="color:blue;"&gt;double&lt;/span&gt; unDouble){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;ClasseMere_methode1_IMPL(maClasse,unDouble);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;char&lt;/span&gt; *&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_methode2(ClasseMere maClasse,&lt;span style="color:blue;"&gt;int&lt;/span&gt; unInt, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * unCharEtoile){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_methode2_IMPL(maClasse,unInt,unCharEtoile);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; DescripteurClasseMere*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_obtenir_descripteur(){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; descripteurDejaInitalise=0; &lt;span style="color:green;"&gt;// superieur a 0 si le descripteur est deja initalise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; DescripteurClasseMere descripteur;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(descripteurDejaInitalise==0){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.supprimer=ClasseMere_supprimer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.methode1=ClasseMere_methode1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.methode2=ClasseMere_methode2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteurDejaInitalise++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &amp;descripteur;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_creer(&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ1, &lt;span style="color:blue;"&gt;double&lt;/span&gt; champ2, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * champ3)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;ClasseMere monInstance=malloc(&lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(&lt;span style="color:blue;"&gt;struct&lt;/span&gt; ClasseMere));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;monInstance-&gt;monChamp1=champ1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp2=champ2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp3=champ3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;classe=ClasseMere_obtenir_descripteur();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; monInstance;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;classefille.h:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#ifndef&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; CLASSEFILLE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; CLASSEFILLE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;typedef&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;struct&lt;/span&gt; ClasseFille *ClasseFille;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;typedef&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;struct&lt;/span&gt; DescripteurClasseFille DescripteurClasseFille;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;struct&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; DescripteurClasseFille&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt; (*supprimer)(ClasseFille);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; (*methode1)(ClasseFille a, &lt;span style="color:blue;"&gt;double&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;*(*methode2)(ClasseFille a,&lt;span style="color:blue;"&gt;int&lt;/span&gt; b, &lt;span style="color:blue;"&gt;char&lt;/span&gt; *c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; (*methode3)(ClasseFille a,&lt;span style="color:blue;"&gt;int&lt;/span&gt; b);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; (*methode4)(ClasseFille a,&lt;span style="color:blue;"&gt;int&lt;/span&gt; b, &lt;span style="color:blue;"&gt;double&lt;/span&gt; c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;struct&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseFille&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; monChamp1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; monChamp2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;* monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; monChamp4;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; monChamp5;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;DescripteurClasseFille* classe;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;extern&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseFille&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseFille_creer(&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ1, &lt;span style="color:blue;"&gt;double&lt;/span&gt; champ2, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * champ3,&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ4,&lt;span style="color:blue;"&gt;double&lt;/span&gt; champ5);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseFilleUpCast(instance,instanceSousClasse) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instance-&gt;monChamp1=instanceSousClasse-&gt;monChamp1; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instance-&gt;monChamp2=instanceSousClasse-&gt;monChamp2; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instance-&gt;monChamp3=instanceSousClasse-&gt;monChamp3; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instance-&gt;monChamp4=instanceSousClasse-&gt;monChamp4; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instance-&gt;monChamp5=instanceSousClasse-&gt;monChamp5;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseFilleDownCast(instance,instanceSousClasse) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instanceSousClasse-&gt;monChamp1=instance-&gt;monChamp1; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instanceSousClasse-&gt;monChamp2=instance-&gt;monChamp2; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instanceSousClasse-&gt;monChamp3=instance-&gt;monChamp3; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instanceSousClasse-&gt;monChamp4=instance-&gt;monChamp4; \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;instanceSousClasse-&gt;monChamp5=instance-&gt;monChamp5;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#endif&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:green;"&gt;// CLASSEFILLE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;classefilleimpl.h : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#ifndef&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; CLASSEFILLEIMPL_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; CLASSEFILLEIMPL_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;"classemereimpl.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseFille_methode3_IMPL(instanceClasseFille,b) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; a-&gt;monChamp4 + (b);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; ClasseFille_methode4_IMPL(instanceClasseFille,b,c) \&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; a-&gt;monChamp5 + (c) + ((&lt;span style="color:blue;"&gt;double&lt;/span&gt;) b);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#endif&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:green;"&gt;// CLASSEFILLEIMPL_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;classefille.c : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&lt;stdlib.h&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/stdlib.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&lt;stdio.h&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/stdio.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&lt;string.h&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/string.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;"classefille.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;"classefilleimpl.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; C&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;lasseFille_supprimer(ClasseFille maClasse){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_supprimer_IMPL(maClasse);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;double&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseFille_methode1(ClasseFille maClasse,&lt;span style="color:blue;"&gt;double&lt;/span&gt; unDouble){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;ClasseMere_methode1_IMPL(maClasse,unDouble);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;char&lt;/span&gt; *&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseFille_methode2(ClasseFille maClasse,&lt;span style="color:blue;"&gt;int&lt;/span&gt; unInt, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * unCharEtoile){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseMere_methode2_IMPL(maClasse,unInt,unCharEtoile);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;int&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseFille_methode3(ClasseFille a,&lt;span style="color:blue;"&gt;int&lt;/span&gt; b){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;ClasseFille_methode3_IMPL(a,b);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;double&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseFille_methode4(ClasseFille a,&lt;span style="color:blue;"&gt;int&lt;/span&gt; b, &lt;span style="color:blue;"&gt;double&lt;/span&gt; c){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;ClasseFille_methode4_IMPL(a,b,c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; DescripteurClasseFille*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseFille_obtenir_descripteur(){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; descripteurDejaInitalise=0; &lt;span style="color:green;"&gt;// superieur a 0 si le descripteur est deja initalise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; DescripteurClasseFille descripteur;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(descripteurDejaInitalise==0){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.supprimer=ClasseFille_supprimer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.methode1=ClasseFille_methode1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.methode2=ClasseFille_methode2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.methode3=ClasseFille_methode3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.methode4=ClasseFille_methode4;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteurDejaInitalise++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &amp;descripteur;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseFille&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;ClasseFille_creer(&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ1, &lt;span style="color:blue;"&gt;double&lt;/span&gt; champ2, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * champ3,&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ4,&lt;span style="color:blue;"&gt;double&lt;/span&gt; champ5)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;ClasseFille monInstance=malloc(&lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(&lt;span style="color:blue;"&gt;struct&lt;/span&gt; ClasseFille));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp1=champ1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp2=champ2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp3=champ3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp4=champ4;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp5=champ5;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;classe=ClasseFille_obtenir_descripteur();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; monInstance;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-635652830836863660?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/635652830836863660/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=635652830836863660' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/635652830836863660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/635652830836863660'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2008/12/le-c-orient-objet-2me-partie.html' title='Le C orienté objet, 2ème partie'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3070/3059034034_22ca27c9f8_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-8140475370794284841</id><published>2008-12-07T04:51:00.000-08:00</published><updated>2009-07-12T07:07:18.873-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='orienté objet'/><title type='text'>Le C orienté objet, 1ère partie</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3025/3053280298_81f736c5e0.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 500px; height: 400px;" src="http://farm4.static.flickr.com/3025/3053280298_81f736c5e0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Le langage de monsieur Stroustrup n’a pas pu enterrer le langage C,&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;ce dernier est encore très utilisé nonobstant son retard par rapport aux langages « modernes » (C++, C#, F# etc.). Aujourd’hui encore, de volumineux logiciels sont faits en langage C, comme&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;les noyaux de la plupart des systèmes d’exploitation modernes (Linux, NetBSD etc.). On peut imaginer qu’a certains moments, dans de gros logiciels écrit en C, le besoin d’utiliser quelques principes de programmation orienté objet se fassent sentir. Comment implémenter des objets en langage C ? C’est justement la question a la quelle cet article essai de répondre. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Définition d’une classe :&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Pour cette partie je m’inspirerais des travaux de M. Braquelaire.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Les classes n’existant pas en langage C, nous utiliserons des structures, ces structures contiendront des données membres  et des pointeurs de fonctions, qui pointent vers les méthodes de notre classe. Les méthodes de cette « classe » auront toutes au moins un paramètre : l’instance de la classe à laquelle elle s’applique.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;J’en conviens, il est assez ennuyeux de toujours passer ce paramètre mais n’oubliez pas que nous n’avons pas de « this » en C. Autre point à préciser, il sera nécessaire d’initialiser les pointeurs de fonctions de notre instance dans notre « constructeur ».&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Example avec la « classe » « MaClasse » ;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Le fichier d’en-tête :&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#ifndef&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; MACLASSE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; MACLASSE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;typedef&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;struct&lt;/span&gt; MaClasse *MaClasse;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;struct&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; MaClasse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; monChamp1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; monChamp2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;* monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt; (*supprimer)(MaClasse);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; (*methode1)(MaClasse, &lt;span style="color:blue;"&gt;double&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;*(*methode2)(MaClasse,&lt;span style="color:blue;"&gt;int&lt;/span&gt; b, &lt;span style="color:blue;"&gt;char&lt;/span&gt; *c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;extern&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; MaClasse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MaClasse_creer(&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ1, &lt;span style="color:blue;"&gt;double&lt;/span&gt; champ2, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * champ3);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#endif&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:green;"&gt;// MACLASSE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Le fichier d’implémentation :&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 255); font-size:48px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;"maclasse.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&amp;lt;stdlib.h&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&amp;lt;stdio.h&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&amp;lt;string.h&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; MaClasse_supprimer(MaClasse maClasse){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;if&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;(maClasse!=NULL){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;free(maClasse);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;double&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MaClasse_methode1(MaClasse maClasse,&lt;span style="color:blue;"&gt;double&lt;/span&gt; unDouble){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; maClasse-&gt;monChamp2 + unDouble;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;char&lt;/span&gt; *&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MaClasse_methode2(MaClasse maClasse,&lt;span style="color:blue;"&gt;int&lt;/span&gt; unInt, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * unCharEtoile){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;if&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;(strlen(unCharEtoile) &gt; unInt){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; unCharEtoile;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;maClasse-&gt;monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MaClasse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MaClasse_creer(&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ1, &lt;span style="color:blue;"&gt;double&lt;/span&gt; champ2, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * champ3)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;MaClasse monInstance=malloc(&lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(&lt;span style="color:blue;"&gt;struct&lt;/span&gt; MaClasse));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp1=champ1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp2=champ2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp3=champ3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;supprimer=MaClasse_supprimer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;methode1=MaClasse_methode1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;methode2=MaClasse_methode2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; monInstance;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="mso-no-proof:yes"&gt;Comme vous avez pu le constater, la programmation style « objet » en C est un tantinet plus pénible que dans un vrai langage orienté objet. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;Aussi, il ne vous aura pas échappé que chaque objet embarque trois&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;pointeurs de fonctions en plus des trois données membres. Etant donnée que les trois méthodes sont communes à toutes les instances de la classe « MaClasse » ont peut réduire la taille (en mémoire) des instances en mettant ces pointeurs de fonctions dans un descripteur de classe. Qu’est-ce qu’un descripteur de classe ? Et bien, il s’agit d’une structure qui contient que des pointeurs de fonctions, ces pointeurs de fonctions pointent vers les méthodes qui seront utilisées par toutes les instances de la classe. Cette petite optimisation à l’inconvénient de rallonger l’écriture de l’appel d’une méthode.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Example avec la « classe » « MonAutreClasse » ;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Le fichier d’en-tête :&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#ifndef&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; MONAUTRECLASSE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#define&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; MONAUTRECLASSE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;typedef&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;struct&lt;/span&gt; MonAutreClasse *MonAutreClasse;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;typedef&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;struct&lt;/span&gt; DescripteurMonAutreClasse DescripteurMonAutreClasse;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;struct&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; DescripteurMonAutreClasse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt; (*supprimer)(MonAutreClasse);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; (*methode1)(MonAutreClasse a, &lt;span style="color:blue;"&gt;double&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;*(*methode2)(MonAutreClasse a,&lt;span style="color:blue;"&gt;int&lt;/span&gt; b, &lt;span style="color:blue;"&gt;char&lt;/span&gt; *c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;struct&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; MonAutreClasse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; monChamp1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;double&lt;/span&gt; monChamp2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;* monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;DescripteurMonAutreClasse* classe;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;extern&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; MonAutreClasse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MonAutreClasse_creer(&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ1, &lt;span style="color:blue;"&gt;double&lt;/span&gt; champ2, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * champ3);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#endif&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:green;"&gt;// MONAUTRECLASSE_H_INCLUDED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Le fichier d’implémentation :&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 255); font-size:48px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;"monautreclasse.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&amp;lt;stdlib.h&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&amp;lt;stdio.h&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;#include&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:#A31515;"&gt;&amp;lt;string.h&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; MonAutreClasse_supprimer(MonAutreClasse maClasse){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(maClasse!=NULL){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;free(maClasse);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;double&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MonAutreClasse_methode1(MonAutreClasse maClasse,&lt;span style="color:blue;"&gt;double&lt;/span&gt; unDouble){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;return&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; maClasse-&gt;monChamp2 + unDouble;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; &lt;span style="color:blue;"&gt;char&lt;/span&gt; *&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MonAutreClasse_methode2(MonAutreClasse maClasse,&lt;span style="color:blue;"&gt;int&lt;/span&gt; unInt, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * unCharEtoile){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;if&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;(strlen(unCharEtoile) &gt; unInt){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; unCharEtoile;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;maClasse-&gt;monChamp3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;static&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt; DescripteurMonAutreClasse*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MonAutreClasse_obtenir_descripteur(){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; descripteurDejaInitalise=0; &lt;span style="color:green;"&gt;// superieur a 0 si le descripteur est deja initalise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; DescripteurMonAutreClasse descripteur;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(descripteurDejaInitalise==0){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.supprimer=MonAutreClasse_supprimer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;descripteur.methode1=MonAutreClasse_methode1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteur.methode2=MonAutreClasse_methode2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;descripteurDejaInitalise++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &amp;descripteur;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MonAutreClasse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;MonAutreClasse_creer(&lt;span style="color:blue;"&gt;int&lt;/span&gt; champ1, &lt;span style="color:blue;"&gt;double&lt;/span&gt; champ2, &lt;span style="color:blue;"&gt;char&lt;/span&gt; * champ3)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;MonAutreClasse monInstance=malloc(&lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(&lt;span style="color:blue;"&gt;struct&lt;/span&gt; MonAutreClasse));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp1=champ1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp2=champ2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;monChamp3=champ3;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;monInstance-&gt;classe=MonAutreClasse_obtenir_descripteur();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; monInstance;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Vous vous demandez probablement pourquoi je défini les structures dans les interfaces (les fichiers d’en-tête), car vous avez peut-être entendu je ne sais quel programmeur C vous dire qu’en agissant de la sorte vous exposiez l’implémentation aux autres programmeurs. Sachez toutefois que de manière générale, en C++ les classes sont définies dans les fichiers d’en-tête, certes, cette habitude n’est probablement pas bonne, en effet, les données privées sont elles aussi exposées (l’idéal aurait été qu’il soit possible de définir une classe sur deux fichiers comme en C#, une définition publique contenant tout ce dont les autres développeurs ont besoins, et une autre privé, contenant uniquement les données membres et les fonctions privées), mais comment les développeurs peuvent connaitre les méthodes de nos « classes » si les structures ne sont pas définies dans les interfaces ? Certes nous exposons les données membres, mais ne pouvant gérer la visibilité des variables (les champs des structures (les variables d’instances) sont tous publics) il me semble difficile de faire autrement. Nous pouvons en déduire que les accesseurs sont içi inutiles.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Là encore, nous nous trouvons confronté aux faiblesses du langage C.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7507435703802867291-8140475370794284841?l=darkvenomgear.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkvenomgear.blogspot.com/feeds/8140475370794284841/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7507435703802867291&amp;postID=8140475370794284841' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/8140475370794284841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7507435703802867291/posts/default/8140475370794284841'/><link rel='alternate' type='text/html' href='http://darkvenomgear.blogspot.com/2008/12/le-c-orient-objet.html' title='Le C orienté objet, 1ère partie'/><author><name>DarkVenoM</name><uri>http://www.blogger.com/profile/07297403008389072653</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_mMTazSLAM1c/SshzA-BQt-I/AAAAAAAAAEo/pI2TIiXbvrs/S220/trve.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3025/3053280298_81f736c5e0_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7507435703802867291.post-3211121261120055776</id><published>2008-12-06T13:18:00.000-08:00</published><updated>2008-12-07T00:01:49.163-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><title type='text'>QuickStart NHibernate Remix</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3028/2848324491_b1d8eff41f_m.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 180px;" src="http://farm4.static.flickr.com/3028/2848324491_b1d8eff41f_m.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;Un jour, il me prit envie de tester le cadriciel Nhibernate (ORM pour plateforme .NET), je me suis donc dirigé vers le site officiel pour y faire fonctionner le tutoriel « Quickstart » qui était censé me permettre de mettre rapidement le pied à l’étrier. Sans m’en rendre compte, j’allais au devant de quelques déconvenues. Ce tutoriel ne marche pas. Dans un élan d’altruisme j’ai donc décidé de proposer un « Quickstart Nhibernate » de mon cru qui lui fonctionne.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;L’environnement de développement intégré est le fameux Visual Studio dans son édition professionnelle et dans sa version 2008 service pack 1 (la dernière à ce jour). &lt;/p&gt;  &lt;p class="MsoNormal"&gt;La base de données utilisée est MySQL dans sa version 5.1. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;La version des binaires d’ NHibernate est la 2.0.1.GA.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Le driver MySQL utilisé est « MySQL Connector .NET 5.2.5 ».&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Lancez Visual Studio. Allez dans Fichier &amp;gt;Nouveau &amp;gt; Projet &amp;gt; Visual C# &amp;gt; Web. Sélectionnez « Application Web ASP.NET », appelez votre&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;application QuickStart.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Dans l’explorateur de solution vous pouvez voir votre projet QuickStart, en faisant un clic droit sur &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;« References » &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;allez dans l’onglet Parcourir et ajoutez la dll NHibernate.dll (présente dans le répertoire « bin/net-2.0 » du dossier qui contient NHibernate. Ajouter aussi en référence la dll MySQL.Data.dll présente dans le dossier « binaries/.NET 2.0 » de MySQL Connector .NET. Sélectionnez la dll MySQL.Data.dll dans « References », effectuez un clic droit, cliquez sur « Propriétés », mettez « Copie Locale » à « True ».&lt;/p&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Modifions maintenant le fichier Web.config, il doit ressembler à ça :&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;xml&lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;version&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;encoding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;utf-8&lt;/span&gt;"&lt;span style="color:blue;"&gt;?&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;configuration&lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;configSections&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;sectionGroup&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;system.web.extensions&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;sectionGroup&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;scripting&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;section&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;scriptResourceHandler&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;MachineToApplication&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;sectionGroup&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;webServices&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;          &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;section&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;jsonSerialization&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;Everywhere&lt;/span&gt;"&lt;span style="color:blue;"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;          &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;section&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;profileService&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;MachineToApplication&lt;/span&gt;"&lt;span style="color:blue;"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;          &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;section&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;authenticationService&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;MachineToApplication&lt;/span&gt;"&lt;span style="color:blue;"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;          &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;section&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;roleService&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;MachineToApplication&lt;/span&gt;"&lt;span style="color:blue;"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;sectionGroup&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;sectionGroup&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;sectionGroup&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;section&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;hibernate-configuration&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;NHibernate.Cfg.ConfigurationSectionHandler, NHibernate&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;configSections&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;hibernate-configuration&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;xmlns&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;urn:nhibernate-configuration-2.2&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;session-factory&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;NHibernate.QuickStart&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;property&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;connection.provider&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;NHibernate.Connection.DriverConnectionProvider&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;property&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;property&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;connection.driver_class&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;NHibernate.Driver.MySqlDataDriver&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;property&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;property&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;connection.connection_string&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Database=quickstart;Data Source=127.0.0.1;User Id=root;Password=root&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;property&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;property&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;dialect&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;NHibernate.Dialect.MySQLDialect&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;property&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;session-factory&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;hibernate-configuration&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;appSettings&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;connectionStrings&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;system.web&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;Définissez compilation debug="true" pour insérer des symboles &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;de débogage dans la page compilée. Comme ceci &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;affecte les performances, définissez cette valeur à true uniquement &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;lors du développement.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;--&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;compilation&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;debug&lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;true&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;assemblies&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;assembly&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;assembly&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;assembly&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;assembly&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;assemblies&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;compilation&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;!--&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;La section &amp;lt;authentication&amp;gt; permet la configuration &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;du mode d'authentification de sécurité utilisé par &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;ASP.NET pour identifier un utilisateur entrant. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;--&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;authentication&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;mode&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;Windows&lt;/span&gt;"&lt;span style="color:blue;"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;!--&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;La section &amp;lt;customErrors&amp;gt; permet de configurer &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;les actions à exécuter si/quand une erreur non gérée se produit &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;lors de l'exécution d'une demande. Plus précisément, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;elle permet aux développeurs de configurer les pages d'erreur html &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;pour qu'elles s'affichent à la place d'une trace de la pile d'erreur.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;           &lt;/span&gt;&amp;lt;error statusCode="403" redirect="NoAccess.htm" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&amp;lt;error statusCode="404" redirect="FileNotFound.htm" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;/customErrors&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:green;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;--&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;pages&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;controls&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;tagPrefix&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;asp&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;namespace&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.UI&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;assembly&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;tagPrefix&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language:EN-GB; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;asp&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;namespace&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.UI.WebControls&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;assembly&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="Courier New&amp;quot;; mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style=" Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;controls&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;pages&lt;/span&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="Courier New&amp;quot;;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof: yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;httpHandlers&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;remove&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;verb&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*.asmx&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;verb&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*.asmx&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;validate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;verb&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*_AppService.axd&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;validate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;verb&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;GET,HEAD&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;ScriptResource.axd&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;validate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;httpHandlers&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;httpModules&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;add&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt; &lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:red;"&gt;name&lt;/span&gt;&lt;span lang="EN-GB"    style=" Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;=&lt;/span&gt;&lt;span lang="EN-GB"   style="Courier New&amp;quot;;mso-ansi-language: EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;"&gt;"&lt;span style="color:blue;"&gt;ScriptModule&lt;/span&gt;"&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;httpModules&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:blue;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;;mso-ansi-language:EN-GB;mso-no-proof:yesfont-family:&amp;quot;;font-size:10.0pt;color:#A31515;"&gt;system.web&lt;/span&gt;&lt;span lang="EN-GB"    style="Courier New&amp;quot;; mso-ansi-language:EN-GB;mso-no-proof:yesfont-famil
