<?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-27393275</id><updated>2011-10-12T13:59:23.739+02:00</updated><category term='PHP'/><category term='Signature'/><category term='Informatique'/><category term='Economie'/><category term='Programmation'/><category term='Authenticode'/><category term='Bons plans'/><category term='Livres'/><category term='SilverLight'/><category term='Déploiement'/><category term='Photographie'/><category term='Musique'/><category term='My Life'/><category term='Technologie'/><category term='VerySign'/><category term='Divers'/><category term='Science'/><category term='Video'/><title type='text'>maetis blog's</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27393275.post-256644805729128905</id><published>2010-03-10T14:45:00.005+01:00</published><updated>2010-03-10T15:10:55.811+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><title type='text'>SilverLight et PHP</title><content type='html'>&lt;div style="text-align: justify;"&gt;Voici une présentation de Cyril Giacopino qui explique comment faire communiquer SilverLight 3 avec du code PHP. L'intérêt de cette vidéo est assez limité car elle parle très peu de l'utilisation du PHP avec SilverLight mais elle a au moins l'intérêt d'exister.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Vidéo ici : &lt;a href="http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=bbf48cee-0f6d-4e6c-bb8c-0df8a563e957"&gt;http://www.microsoft.com/france/vision/mstechdays10/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Personnellement j'avais essayé de faire ça en SilverLight 1.0. J'utilisais le PHP pour faire communiquer SilverLight avec la base de donnée MySQL. Le PHP me permettait de générer du code XAML à la voler. Par contre, le développement en Javascript m'avait vite gonfler ;)&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/27393275-256644805729128905?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/256644805729128905/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=256644805729128905' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/256644805729128905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/256644805729128905'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2010/03/silverlight-et-php.html' title='SilverLight et PHP'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-3858286819525328717</id><published>2009-12-28T11:42:00.002+01:00</published><updated>2009-12-28T17:58:42.420+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VerySign'/><category scheme='http://www.blogger.com/atom/ns#' term='Informatique'/><category scheme='http://www.blogger.com/atom/ns#' term='Authenticode'/><category scheme='http://www.blogger.com/atom/ns#' term='Déploiement'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><category scheme='http://www.blogger.com/atom/ns#' term='Signature'/><title type='text'>Vérifier une signature Authenticode</title><content type='html'>&lt;div style="text-align: justify;"&gt;Dans ce &lt;span style="font-style: italic;"&gt;billet&lt;/span&gt; nous allons voir comment il est possible de vérifier si les fichiers binaires (.exe, .dll, .ocx, ...) que nous souhaitons déployer chez un client sont signés numériquement.&lt;br /&gt;C'est un problème que je me suis posé dernièrement. Je voulais savoir si tous les fichiers binaires que j'allais embarquer dans le &lt;span style="font-style: italic;"&gt;package&lt;/span&gt; d'installation étaient signés numériquement. Mais je ne voulais surtout pas le faire à la main. Pendant cette réflexion une deuxième problématique c'est posée, savoir qu'un fichier est correctement signé c'est bien mais connaître son signataire c'est mieux.&lt;br /&gt;&lt;br /&gt;Pour vérifier qu'un fichier binaire est signé et que sa signature est valide, il suffit d'écrire un petit programme qui utilise la fonction &lt;code&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa388208%28VS.85%29.aspx"&gt;WinVerifyTrust&lt;/a&gt;.&lt;/code&gt; Voici un exemple d'utilisation de cette fonction : &lt;a href="http://msdn.microsoft.com/en-us/library/aa382384%28VS.85%29.aspx"&gt;Verifying the Signature of a PE File&lt;/a&gt;. Bien que l'exemple précédent répondait bien à mes besoins, je  voulais savoir si un fichier n'aurait pas été signé avec un certificat de test. Pour obtenir cette information, il m'a suffit d'ajouter un test sur la valeur de retour de la fonction &lt;code&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa388208%28VS.85%29.aspx"&gt;WinVerifyTrust&lt;/a&gt;&lt;/code&gt; pour voir si elle est égale à &lt;code&gt;CERT_E_UNTRUSTEDTESTROOT&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Maintenant que je sais qu'un fichier est correctement signé ou non, je souhaite connaître l'identité du signataire (au sens de l'organisme et non de la personne physique). Connaître le signataire peut vous permettre de vérifier si des composants tiers n'ont pas été signés avec votre certificat. Pour cela je connais deux méthodes: &lt;a href="http://support.microsoft.com/?scid=kb%3Ben-us%3B323809&amp;amp;x=4&amp;amp;y=11"&gt;une en code natif C++&lt;/a&gt; et l'autre en code .Net. Pour ma part, je vous donne un exemple en .Net (très simple, sans gestion des erreurs):&lt;br /&gt;&lt;code  style="color:gray;"&gt;&lt;/code&gt;&lt;br /&gt;&lt;code style="color: gray;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; System.Security.Cryptography.X509Certificates;&lt;/code&gt;&lt;br /&gt;&lt;code style="color: gray;"&gt;...&lt;/code&gt;&lt;br /&gt;&lt;code style="color: gray;"&gt;&lt;/code&gt;&lt;br /&gt;&lt;code  style="color:gray;"&gt;&lt;span style="color:Turquoise;"&gt;X509Certificate&lt;/span&gt; signer = &lt;span style="color:Turquoise;"&gt;X509Certificate&lt;/span&gt;.CreateFromSignedFile(path_to_signedfile);&lt;/code&gt;&lt;br /&gt;&lt;code color="gray"&gt;&lt;span style="color:Turquoise;"&gt;String&lt;/span&gt; signer_info = signer.Subject; &lt;span style="color:green;"&gt;// Subject = "CN=CompanyName, O=..."&lt;/span&gt;&lt;br /&gt;...&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Avec cette simple méthode vous pouvez connaitre l'identité du signataire d'un fichier signé.&lt;br /&gt;&lt;br /&gt;Voilà, vous savez maintenant comment vérifier de façon automatique la signature de vos fichiers binaires et de connaître au passage l'identité du signataire.&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/27393275-3858286819525328717?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/3858286819525328717/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=3858286819525328717' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/3858286819525328717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/3858286819525328717'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2009/12/verifier-une-signature-authenticode.html' title='Vérifier une signature Authenticode'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-264776646737598735</id><published>2008-08-04T13:04:00.004+02:00</published><updated>2008-08-05T09:32:59.221+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Divers'/><category scheme='http://www.blogger.com/atom/ns#' term='Technologie'/><category scheme='http://www.blogger.com/atom/ns#' term='Bons plans'/><title type='text'>Les petites clés jaunes?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_4xVgH1y91CM/Rfr9JPOGtOI/AAAAAAAAAAk/7T62uLiIigk/s400/clef1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://bp2.blogger.com/_4xVgH1y91CM/Rfr9JPOGtOI/AAAAAAAAAAk/7T62uLiIigk/s400/clef1.jpg" alt="" border="0" /&gt;&lt;/a&gt;Si vous travaillez dans une société dans laquelle il y a des machines à café et/ou des machines à distribuer des cochonneries, alors il y a des chances pour que vous ayez déjà vu cette clé (ou un dispositif équivalent). Pour ceux/celles qui ne connaissent pas, cette clé est un peu comme un porte-monnaie électronique et elle vous permet de régler vos achats dans les machines de boissons ou de nourritures qui jalonnent les couloirs de votre société.&lt;br /&gt;Pouvoir d'achat en baisse aidant, il y a que temps de cela avec un collègue nous avons parlé de cette clé et nous avons vite intéressé d'étudier cette clé afin de savoir comment nous pouvions la recharger gratuitement.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_4xVgH1y91CM/Rfr-evOGtPI/AAAAAAAAAAs/lk5HMvm9nao/s400/clef2.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://bp0.blogger.com/_4xVgH1y91CM/Rfr-evOGtPI/AAAAAAAAAAs/lk5HMvm9nao/s400/clef2.jpg" alt="" border="0" /&gt;&lt;/a&gt;La première chose que nous avons fait c'est de retirer le capot amovible et de découvrir se qui se cache à l'intérieur. Une fois le capot retiré, nous avons vu qu'il n'y avait qu'un petit circuit intégré à l'intérieur de marque Philips et dont la référence est : PCF7931AS.&lt;br /&gt;&lt;br /&gt;Après quelques recherches sur internet, nous avons appris que nous avions à faire à une puce &lt;a href="http://fr.wikipedia.org/wiki/RFID"&gt;RFID&lt;/a&gt; fonctionnant à la fréquence de 125kHz. En poussant un peu plus notre investigation, nous en avons appris plus sur le fonctionnement de cette clé. Ce qu'il faut savoir c'est que le montant de votre crédit est stocké dans la clé et donc qu'il est "possible" de modifier ce montant. Par contre, si la lecture se fait "facilement" l'écriture est plus compliquée car il faut un mot de passe (sur 56bits d'après certaines sources). Pas de panique car vous savez qui connaît se mot de passe (si, si, cherchez bien)...  LA MACHINE A CAFE ;) Donc ce qu'il faut faire pour récupérer ce mot de passe (toujours selon des sources trouvées sur internet) c'est fabriquer un petit dispositif permettant d'écouter et d'enregistrer la conversation entre la machine à café et la clé jaune (vu comme ça, ça a l'aire simple). Une fois que vous avez le mot de passe il vous suffit de modifier le contenu de votre clé avec le matériel adéquat que vous pouvez trouver dans des boutiques spécialisées sur le Net.&lt;br /&gt;&lt;br /&gt;Une bonne partie de l'information a été trouvée sur un &lt;a href="http://laipsiks.blogspot.com/2007/03/cl-caf.html"&gt;Blog&lt;/a&gt;, plus dans les commentaires que dans l'article lui-même.&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/27393275-264776646737598735?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/264776646737598735/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=264776646737598735' title='14 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/264776646737598735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/264776646737598735'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2008/08/les-petites-cls-jaunes.html' title='Les petites clés jaunes?'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_4xVgH1y91CM/Rfr9JPOGtOI/AAAAAAAAAAk/7T62uLiIigk/s72-c/clef1.jpg' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-8804502499053215752</id><published>2008-07-21T17:40:00.006+02:00</published><updated>2008-07-22T23:19:56.672+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Divers'/><category scheme='http://www.blogger.com/atom/ns#' term='My Life'/><category scheme='http://www.blogger.com/atom/ns#' term='Photographie'/><title type='text'>Une nuit au château</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_TPJm2kQ-blY/SIZJdHlWfkI/AAAAAAAAAEQ/d8oAI-TOE6E/s1600-h/IMG_5124.jpg"&gt;&lt;img style="text-align: justify;float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; " src="http://bp2.blogger.com/_TPJm2kQ-blY/SIZJdHlWfkI/AAAAAAAAAEQ/d8oAI-TOE6E/s320/IMG_5124.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5225945182210784834" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Le week-end du 14 juillet je suis allé visiter la cité médiévale de Carcassonne avec une amie. Je ne me suis pas trop occupé des préparatifs pour partir, c'est plutôt mon amie qui a pris en charge tous les prépartifs. Elle nous a trouvé une chambre d'hôtes à &lt;a href="http://www.la-maison-vieille.com/"&gt;La Maison Vieille&lt;/a&gt;, à 5 minutes à pied de la cité. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lorsque nous avons pris possession de notre chambre, &lt;a href="http://www.la-maison-vieille.com/chambre_5.htm"&gt;Dame Carcas&lt;/a&gt;, nous avons été impressionnés par la taille et la beauté de celle-ci. La chambre est presque aussi grande que mon appartement et la décoration de celle-ci nous a fait penser à une chambre de château.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;La nuit nous a couté 85€ avec le petit déjeuné compris. La propriétaire est vraiment très sympathique et pratiquement tous les produits qui sont proposés pour le petit déjeuné sont fait maison.&lt;/div&gt;&lt;div&gt;&lt;table border="0" style="text-align: justify;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_TPJm2kQ-blY/SIZJc9h0gMI/AAAAAAAAAD4/Fb6ZFbKrQOY/s1600-h/IMG_5117.jpg"&gt;&lt;img height="133" Width="200" src="http://bp3.blogger.com/_TPJm2kQ-blY/SIZJc9h0gMI/AAAAAAAAAD4/Fb6ZFbKrQOY/s320/IMG_5117.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_TPJm2kQ-blY/SIZJdC3g-BI/AAAAAAAAAEA/BH5-IDv8py0/s1600-h/IMG_5121.jpg"&gt;&lt;img height="133" Width="200" src="http://bp0.blogger.com/_TPJm2kQ-blY/SIZJdC3g-BI/AAAAAAAAAEA/BH5-IDv8py0/s320/IMG_5121.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_TPJm2kQ-blY/SIZJdLGriNI/AAAAAAAAAEI/OQEev0QxsRQ/s1600-h/IMG_5122.jpg"&gt;&lt;img height="133" Width="200" src="http://bp3.blogger.com/_TPJm2kQ-blY/SIZJdLGriNI/AAAAAAAAAEI/OQEev0QxsRQ/s320/IMG_5122.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_TPJm2kQ-blY/SIZJdQk8LEI/AAAAAAAAAEY/rN1FjTWFltc/s1600-h/IMG_5126.jpg"&gt;&lt;img height="133" Width="200" src="http://bp1.blogger.com/_TPJm2kQ-blY/SIZJdQk8LEI/AAAAAAAAAEY/rN1FjTWFltc/s320/IMG_5126.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ce week-end j'ai dormi dans un hôtel Première Classe et dans un hotel Etap Hotel, et je peux vous dire que j'ai regretté cette chambre d'hôte ;)&lt;/div&gt;&lt;div style="text-align: justify;"&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/27393275-8804502499053215752?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/8804502499053215752/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=8804502499053215752' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/8804502499053215752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/8804502499053215752'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2008/07/une-nuit-au-chteau.html' title='Une nuit au château'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_TPJm2kQ-blY/SIZJdHlWfkI/AAAAAAAAAEQ/d8oAI-TOE6E/s72-c/IMG_5124.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-4477590129033849025</id><published>2008-06-12T21:16:00.006+02:00</published><updated>2008-06-16T18:14:41.815+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Divers'/><category scheme='http://www.blogger.com/atom/ns#' term='My Life'/><category scheme='http://www.blogger.com/atom/ns#' term='Musique'/><title type='text'>Matthew Ryan Woods</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_TPJm2kQ-blY/SFY9BINNznI/AAAAAAAAADo/yPxaQUBPCzY/s1600-h/front.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 170px; height: 164px;" src="http://bp1.blogger.com/_TPJm2kQ-blY/SFY9BINNznI/AAAAAAAAADo/yPxaQUBPCzY/s320/front.jpg" alt="" id="BLOGGER_PHOTO_ID_5212420708320005746" border="0" /&gt;&lt;/a&gt;Il y a quelques jours de cela, un ami m'a remis un CD d'un chanteur canadien (un ami à lui) qui souhaiterai que sa musique soit connue en Europe. Attention je vous voir venir: "ras le bol des chanteurs québécois!", et là je vous arrête tout de suite, j'ai dit canadien et non pas québécois.&lt;br /&gt;&lt;div align="justify"&gt;&lt;br /&gt;J'ai écouté cet album, avec une certaine appréhension tout de même, et je l'ai trouvé très sympa. J'ai fait quelques recherches sur internet pour trouver plus d'informations sur cet artiste et j'ai découvert qu'il avait une page sur &lt;a href="http://www.myspace.com/matthewryanwoods"&gt;MySpace&lt;/a&gt; (comme beaucoup de groupes et de chanteurs qui veulent gagner de la notoriété). Je vous invite donc à faire un tour sur sa page &lt;a href="http://www.myspace.com/matthewryanwoods"&gt;MySpace&lt;/a&gt; pour écouter sa musique (pour ma part je m'écoute en boucle "Frightening" et "On My Way").&lt;br /&gt;&lt;br /&gt;Voilà c'était mon petit coup de publicité de ce soir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Edit: "On My Way" n'est malheureusement pas disponible à l'écoute.&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/27393275-4477590129033849025?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/4477590129033849025/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=4477590129033849025' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/4477590129033849025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/4477590129033849025'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2008/06/matthew-ryan-woods.html' title='Matthew Ryan Woods'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_TPJm2kQ-blY/SFY9BINNznI/AAAAAAAAADo/yPxaQUBPCzY/s72-c/front.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-7468827825756586182</id><published>2007-11-26T21:55:00.000+01:00</published><updated>2007-11-29T10:11:20.056+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technologie'/><category scheme='http://www.blogger.com/atom/ns#' term='Informatique'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><title type='text'>Subtilité des DLLs MSI</title><content type='html'>&lt;div align="justify"&gt;Toujours dans mes "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;installeurs"&lt;/span&gt;, j'ai procédé la semaine dernière à leurs validations sous &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Windows&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Vista&lt;/span&gt; 32 et 64bits (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;SP&lt;/span&gt;1 ou non) et je me suis aperçu que certaines de mes &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Custom&lt;/span&gt; Action&lt;/em&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;CA&lt;/span&gt;)plantaient lorsque je tentais de lancer une réparation de l'installation. J'ai donc analysé les &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;CA&lt;/span&gt; qui posaient problème et j'ai remarqué que certaines exécutaient une ligne de commande pour &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;paramétrer&lt;/span&gt; le &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;em&gt;firewall&lt;/em&gt;&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Windows&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Vista&lt;/span&gt; et d'autres tentaient d'écrire dans la base de registre à partir d'un &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;VBScirpt&lt;/span&gt;&lt;/em&gt;.&lt;/div&gt;&lt;div align="justify"&gt;Là, je me suis posé la question: "&lt;em&gt;Pourquoi ces &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;CA&lt;/span&gt; fonctionnent lors de l'installation mais pendant une réparation?&lt;/em&gt;". Tout simplement pour des raisons de privilèges (oui c'est à la mode). Sous &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Windows&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Vista&lt;/span&gt; il n'existe pas un compte Administrateur comme sous &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Windows&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;XP&lt;/span&gt;, si vous devez faire des choses qui vont modifier la configuration systèmes vous devez demander une élévation de privilège (à l'inverse de la France): "&lt;em&gt;Exécuter en tant &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;d'administrateur&lt;/span&gt;&lt;/em&gt;".&lt;/div&gt;&lt;div align="justify"&gt;Hors, il est possible de &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;paramétrer&lt;/span&gt; le &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;bootstrap&lt;/span&gt;&lt;/em&gt; (généralement appelé &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;setup.exe&lt;/span&gt;&lt;/em&gt;) du fichier &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;MSI&lt;/span&gt; pour qu'il ne puisse être exécuté que par &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_22"&gt;l'administrateur&lt;/span&gt;. Donc dans ce cas le &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;MSI&lt;/span&gt; qui sera exécuté à la suite du &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;em&gt;bootstrap&lt;/em&gt;&lt;/span&gt; conservera le contexte d'exécution et jouira des mêmes privilèges (un peu comme quand on est le fils de quelqu'un de très haut placé). Ainsi, toutes les &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;CA&lt;/span&gt; qui doivent modifier la configuration système pourront s'exécuter.&lt;/div&gt;&lt;div align="justify"&gt;Le problème arrive lorsque l'on veut réparer ou supprimer l'application sans passer par le &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;bootstrap&lt;/span&gt;&lt;/em&gt;. Le fichier &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;MSI&lt;/span&gt; est lancé par la commande &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;msiexec.exe&lt;/span&gt;&lt;/em&gt; et il n'y a pas de demande d'élévation de privilège donc les &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;CA&lt;/span&gt; devant modifier la configuration système plantent lamentablement.&lt;/div&gt;&lt;div align="justify"&gt;Le problème des &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;CA&lt;/span&gt; qui doivent &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;paramétrer&lt;/span&gt; le &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;&lt;em&gt;firewall&lt;/em&gt;&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;Windows&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;Vista&lt;/span&gt; a été résolu assez rapidement, il suffit simplement de lancer ces &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;CA&lt;/span&gt; en "&lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;Deferred&lt;/span&gt; in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;system&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;context&lt;/span&gt;&lt;/em&gt;". &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_39"&gt;Malheureusement&lt;/span&gt; je n'ai pas pu faire de même ma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;CA&lt;/span&gt; qui utilise un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;VBScript&lt;/span&gt; et ce pour deux raisons. La première raison c'est que mon &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;VBScript&lt;/span&gt; récupère la propriété &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;INSTALLDIR&lt;/span&gt; et &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_44"&gt;ceci&lt;/span&gt; n'est pas possible en "&lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;Deferred&lt;/span&gt; in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;system&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;context&lt;/span&gt;&lt;/em&gt;". La deuxième raison c'est qu'une &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;CA&lt;/span&gt; exécutée en "&lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;Deferred&lt;/span&gt; in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;system&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;context&lt;/span&gt;&lt;/em&gt;" &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;doit-être&lt;/span&gt; placée entre &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;InstallInitialize&lt;/span&gt; &lt;/em&gt;et &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;InstallFinalize&lt;/span&gt;&lt;/em&gt;, hors ma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_55"&gt;CA&lt;/span&gt; a besoin qu'un fichier installé par &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;l'installeur&lt;/span&gt; soit physiquement présent sur le disque dur et &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_57"&gt;cela&lt;/span&gt; est possible seulement après l'exécution de l'action &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_58"&gt;InstallFinalize&lt;/span&gt;&lt;/em&gt;.&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_59"&gt;Étant&lt;/span&gt; donné que je ne peux résoudre ce problème avec mon &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;VBScript&lt;/span&gt;, je vais essayé de faire autrement. Et donc, j'ai essayé d'explorer la voie de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;CA&lt;/span&gt; basée sur une &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_62"&gt;DLL&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_63"&gt;MSI&lt;/span&gt;.&lt;/div&gt;&lt;div align="justify"&gt;Pour commencer, je me suis basé sur ce &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_64"&gt;tutoriel&lt;/span&gt;: &lt;a href="http://www.codeproject.com/install/msicustomaction.asp"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_65"&gt;CodeProject&lt;/span&gt;&lt;/a&gt;, et malheureusement je n'ai jamais réussi à exécuter ma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_66"&gt;CA&lt;/span&gt;. J'ai fait quelque recherche sur internet et j'ai trouvé un exemple de code sur le site de &lt;a href="http://support.installshield.com/kb/view.asp?pcode=ALL&amp;amp;articleid=Q103167"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_67"&gt;Macrovision&lt;/span&gt;&lt;/a&gt; que j'ai recopier dans un nouveau projet VS 2005. J'intègre la nouvelle &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_68"&gt;DLL&lt;/span&gt; générée à mon projet &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_69"&gt;MSI&lt;/span&gt; et même résultat que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_70"&gt;précédemment&lt;/span&gt;, cela ne marche pas. Je décide de lancer mon &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_71"&gt;installeur&lt;/span&gt; en ligne de commande afin de lui passer les options pour qu'il me &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_72"&gt;génère&lt;/span&gt; un fichier &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_73"&gt;LOG&lt;/span&gt; et en lisant ce dernier, deux lignes en dessous de l'appel à ma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_74"&gt;CA&lt;/span&gt;, je vois ce message:&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;Hello, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_75"&gt;I'm&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_76"&gt;your&lt;/span&gt; 32bit &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_77"&gt;impersonated&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_78"&gt;Custom&lt;/span&gt; Action &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_79"&gt;server&lt;/span&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;Qu'est-ce que c'est? Après &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_80"&gt;moult&lt;/span&gt; recherche sur internet, j'ai trouvé que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_81"&gt;&lt;strong&gt;&lt;em&gt;impersonated&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt; avait un rapport avec le fait que mes &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_82"&gt;DLLs&lt;/span&gt; avaient été compilées en mode &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_83"&gt;Debug&lt;/span&gt;. J'ai donc recompilées ces dernières en mode &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_84"&gt;Release&lt;/span&gt; et cela à fonctionné! &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_85"&gt;Youpi&lt;/span&gt;!&lt;/div&gt;&lt;div align="justify"&gt;Maintenant, il n'y a plus qu'à faire faire à cette &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_86"&gt;DLL&lt;/span&gt; ce que mon &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_87"&gt;VBSript&lt;/span&gt; faisait et voir si cela résout le problème sous &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_88"&gt;Windows&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_89"&gt;Vista&lt;/span&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-7468827825756586182?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/7468827825756586182/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=7468827825756586182' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/7468827825756586182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/7468827825756586182'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2007/11/subtilit-des-dlls-msi.html' title='Subtilité des DLLs MSI'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-8922852242688829644</id><published>2007-03-20T10:53:00.001+01:00</published><updated>2007-03-20T14:38:22.688+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technologie'/><category scheme='http://www.blogger.com/atom/ns#' term='Informatique'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><title type='text'>Utilisation de la ListBox avec InstallShield 12</title><content type='html'>&lt;div style="text-align: justify;"&gt;A la fin de mon précédent &lt;a style="font-style: italic;" href="http://maetis.blogspot.com/2007/03/dsintaller-une-application-avec.html"&gt;post&lt;/a&gt;, je vous  expliquais  que  je voulais  afficher  dans  un  &lt;span style="font-style: italic;"&gt;Dialog&lt;/span&gt;  la  liste des programmes ayant besoin d'être désinstallés avant d'installer mon nouveau logiciel. Pour cela j'avais dans l'esprit d'utiliser une &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt;.&lt;br /&gt;Comment remplir dynamiquement une &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt; avec InstallShield 12? Tout d'abord il va falloir en créer une dans un &lt;span style="font-style: italic;"&gt;Dialog&lt;/span&gt;. Une fois celle-ci créée, il faut absolument remplir le champ "Property" avec un nom de propriété (ex: MY_LIST) car c'est grâce à cette propriété que l'on va pouvoir remplir dynamiquement notre &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt;. Le format MSI étant fortement orienté base de données, remplir une &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt; revient à remplir la table "ListBox" avec des paramètres bien précis. Par exemple:&lt;/div&gt;&lt;table bgcolor="grey" border="0" cellspacing="1"&gt;&lt;tbody&gt;&lt;tr align="center" bgcolor="white"&gt;&lt;td&gt;Property-(s72)&lt;/td&gt;&lt;td&gt;Order-(i2)&lt;/td&gt;&lt;td&gt;Value-(s64)&lt;/td&gt;&lt;td&gt;Text-(L64)&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center" bgcolor="white"&gt;&lt;td&gt;MY_LIST&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;MY_OLD_PRODUCT&lt;/td&gt;&lt;td&gt;My Product 1.0&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;En fait, lors de son initialisation, une &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt; va aller lire les entrées de la table "ListBox" et va récupérer les lignes dont le champ "Property" est égal à la propriété définit pour notre &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt; (ici MY_LIST). Le champ "Order" va définir l'ordre dans lequel les éléments vont être affichés dans la &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt;. Le champ "Text" contient la chaîne de caractère qui sera affichée dans la &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt;, si ce champ est vide il sera remplacé par le contenu du champ "Value".&lt;br /&gt;Maintenant que l'on sait comment remplir une &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt; par le biais de la table "ListBox", il nous faut trouver comment la remplir de façon dynamique. Pour cela il nous faut définir une "Custom Action" (CA) de type VBScript. Je ne vais pas ici vous donner le code complet pour réaliser la création dynamique du contenu de la ListBox mais juste une portion du code vous permettant de comprendre le concept.&lt;/div&gt;&lt;table style="width: 601px; height: 93px;" bgcolor="#eeeeee" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;Dim query&lt;br /&gt;query =&lt;br /&gt;"INSERT INTO `ListBox` (`Property`,`Order`,`Value`,`Text`)&lt;br /&gt;VALUES ('MY_LIST', 1,'MY_OLD_PRODUCT','My Product 1.0')&lt;br /&gt;TEMPORARY"&lt;br /&gt;Set view = database.OpenView(query)&lt;br /&gt;view.Execute&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;En fait, pour ajouter une nouvelle entrée dans notre &lt;span style="font-style: italic;"&gt;ListBox&lt;/span&gt; il suffit simplement d'exécuter une requête SQL. On pourrait remplacer dans ce code "My Product 1.0" par &lt;span style="font-style: italic;"&gt;Session.Property("MY_OLD_PRODUCT")&lt;/span&gt; afin de d'utiliser le contenu de cette propriété (cf. &lt;a href="http://maetis.blogspot.com/2007/03/dsintaller-une-application-avec.html"&gt;&lt;span style="font-style: italic;"&gt;post&lt;/span&gt; précédent&lt;/a&gt;).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-8922852242688829644?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/8922852242688829644/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=8922852242688829644' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/8922852242688829644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/8922852242688829644'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2007/03/utilisation-de-la-listbox-avec.html' title='Utilisation de la ListBox avec InstallShield 12'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-3808499158118991067</id><published>2007-03-15T16:33:00.000+01:00</published><updated>2007-03-20T10:52:49.195+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technologie'/><category scheme='http://www.blogger.com/atom/ns#' term='Informatique'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><title type='text'>Désintaller une application avec InstallShield 12</title><content type='html'>&lt;div style="text-align: justify;"&gt;Depuis quelques jours je me casse les dents à essayer de trouver LA solution pour désinstaller une ancienne application avant d'installer une nouvelle version avec InstallShield 12.&lt;br /&gt;Pour résumer, je dois créer un installeur aux normes MSI (Windows Installer) pour que l'on puisse installer notre application sur un système Windows Vista, et aussi sur un système Windows XP. Le problème, essentiellement sous Windows XP, c'est qu'il est possible qu'une version antérieure de notre logiciel soit déjà installée sur l'ordinateur et avec un installeur non-MSI. Dans notre cas, nous ne voulons pas faire un "upgrade" de la version antérieure de notre application mais la supprimer avant d'installer la nouvelle.&lt;br /&gt;J'ai longuement cherché sur internet une solution et je peux vous dire que cela n'a pas été très facile car il y a vraiment très peu de documentations (au sens large: blogs, forums, etc..) sur le sujet. Mais j'ai finalement trouvé la solution en croisant les maigres informations que j'ai trouvées.&lt;br /&gt;&lt;br /&gt;Voici donc la solution en utilisant directement les tables du "Direct Editor".&lt;br /&gt;&lt;br /&gt;Tout d'abord, il faut aller dans la table "RegLocator" et y ajouter une entrée comme dans le tableau suivant:&lt;/div&gt;&lt;table border="0" cellspacing="1" bgcolor="grey"&gt;&lt;tbody&gt;&lt;tr bgcolor="white" align="center"&gt;&lt;td&gt;Signature_-(s72)&lt;/td&gt;&lt;td&gt;Root-(i2)&lt;/td&gt;&lt;td&gt;Key-(s255)&lt;/td&gt;&lt;td&gt;Name-(S255)&lt;/td&gt;&lt;td&gt;Type-(I2)&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="white" align="center"&gt;&lt;td&gt;NewSignature1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;RegisterKey&lt;/td&gt;&lt;td&gt;UninstallString&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;où RegisterKey = HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ {productid}. La valeur "UninstallString" contient la commande permettant de désinstaller l'application à laquelle elle se rapporte, c'est cette valeur qui est utilisée par l'application Windows "Ajout/Suppression de programmes".&lt;br /&gt;&lt;br /&gt;Ensuite il faut ajouter une entrée dans la table "AppSearch":&lt;/div&gt;&lt;table border="0" cellspacing="1" bgcolor="grey"&gt;&lt;tbody&gt;&lt;tr bgcolor="white" align="center"&gt;&lt;td&gt;Property-(s72)&lt;/td&gt;&lt;td&gt;Signature_-(s72)&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="white" align="center"&gt;&lt;td&gt;MY_OLD_PRODUCT&lt;/td&gt;&lt;td&gt;NewSignature1&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;Cela nous permettra d'accéder au contenu de "UninstallString" par le biais de la propriété MY_OLD_PRODUCT.&lt;br /&gt;&lt;br /&gt;Maintenant que nous pouvons récupérer la valeur "UninstallString" de notre ancienne application il faut créer une "Custom Action" pour pouvoir la désinstaller. Pour cela il faut aller dans la table "Custom Action":&lt;/div&gt;&lt;table border="0" cellspacing="1" bgcolor="grey"&gt;&lt;tbody&gt;&lt;tr bgcolor="white" align="center"&gt;&lt;td&gt;Action-(s72)&lt;/td&gt;&lt;td&gt;Type-(i2)&lt;/td&gt;&lt;td&gt;Source-(S64)&lt;/td&gt;&lt;td&gt;Target-(S0)&lt;/td&gt;&lt;td&gt;ISComments-(S255)&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="white" align="center"&gt;&lt;td&gt;Desinstall&lt;/td&gt;&lt;td&gt;34&lt;/td&gt;&lt;td&gt;SystemFolder&lt;/td&gt;&lt;td&gt;[MY_OLD_PRODUCT]&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Une fois notre "Custom Action" (CA) définit il faut l'ajouter à la table "InstallExecuteSequence" de façon à ce qu'elle soit exécutée après l'action "CostFinalize".&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Maintenant que j'ai trouvé la solution pour désinstaller une version antérieure de mon application, je voudrais pouvoir avertir l'utilisateur en affichant la liste des applications à désinstaller avant d'installer les nouvelles versions. En fait j'ai pour idée de créer un "Dialog" sous InstallShield en me basant sur le modèle de celui qui est utilisé lors de l'installation des "Prerequisite". Si vous avez des idées?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-3808499158118991067?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/3808499158118991067/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=3808499158118991067' title='103 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/3808499158118991067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/3808499158118991067'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2007/03/dsintaller-une-application-avec.html' title='Désintaller une application avec InstallShield 12'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>103</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-4564461321232223739</id><published>2007-03-12T11:20:00.000+01:00</published><updated>2007-03-12T18:36:50.346+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technologie'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><title type='text'>Un aperçu de C# 3.0</title><content type='html'>&lt;div style="text-align: justify;"&gt;Cela fait bien longtemps que je n'ai pas posté de message sur mon blog. Donc pour mon grand retour je vais vous parler de programmation.&lt;br /&gt;Depuis que j'ai commencé mon nouveau job je suis passé du monde Unix au monde Windows (enfin pour ce qui est de la programmation car mon PC personnel tourne plus souvent sous Windows que sous Linux). Et oui car en 5 ans de fac je pense avoir fait 10h de programmation sous Windows contre un nombre d'heures incalculable sous Unix (en C/C++) avec l'éditeur Emacs. Donc j'ai récemment découvert les joies de la programmation sous Visual Studio 2005, le langage C#, les technologies .Net 2.0 et malheureusement les technologies COM. En tout cas le langage C# a été une grande surprise, la rapidité d'apprentissage de ce langage est hallucinante. D'un autre coté  il vrai que si vous avez déjà programmé en C/C++ et en JAVA vous ne serez pas trop dépaysé.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Soucieux de rattraper mon retard sur les technologies .Net et le langage C#, j'ai recherché énormément d'information sur le sujet. Dans mes recherches, j'ai trouvé le Webcast de la MSDN (une ressource destiné au développeur Windows) où j'ai pu visionner plusieurs conférences Microsoft dont une nommé "C# 2.0 - un an après". Cette conférence, animé par &lt;a href="http://blogs.msdn.com/mitsufu/default.aspx"&gt;Mitsuru FURUTA&lt;/a&gt;, est très intéressante et j'y ai appris énormément de choses en C#, et cette dernière ce termine sur une légère présentation de C# 3.0 et de la technologie &lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx"&gt;Linq&lt;/a&gt;. Voici un morceau de code choisi:&lt;/div&gt;&lt;table style="width: 684px; height: 301px;" bgcolor="#eeeeee" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;Type t = typeof(Customer);&lt;br /&gt;foreach (PropertyInfo prop in t.GetProperties())&lt;br /&gt;{&lt;br /&gt;object[] attributes = prop.GetCustomAttributes(&lt;br /&gt;                typeof(DescriptionAttribute), false);&lt;br /&gt;if (attributes.Length &gt; 0)&lt;br /&gt;{&lt;br /&gt;    listBox1.Items.Add(prop.Name);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var q =&lt;br /&gt;from prop in t.GetProperties()&lt;br /&gt;where&lt;br /&gt;    (from attr in prop.GetCustomAttributes(&lt;br /&gt;                 typeof(DescriptionAttribute),&lt;br /&gt;                  false).OfType&lt;descriptionattribute&gt;()&lt;br /&gt;    select attr).Count() &gt; 0&lt;br /&gt; select prop.Name;&lt;br /&gt;&lt;br /&gt;listBox1.DataSource = q.ToList();&lt;/descriptionattribute&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;C'est un aperçu très sommaire de ce que sera C# 3.0 mais lorsque l'on regarde la syntaxe du dernier bloc d'instructions on pense tout de suite à la syntaxe d'un requête SQL.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-4564461321232223739?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/4564461321232223739/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=4564461321232223739' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/4564461321232223739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/4564461321232223739'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2007/03/un-aperu-de-c-30.html' title='Un aperçu de C# 3.0'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-6513802977070134141</id><published>2006-11-29T20:02:00.000+01:00</published><updated>2006-11-29T20:31:03.542+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatique'/><title type='text'>Mon score sous Windows Vista</title><content type='html'>&lt;div align="justify"&gt;Comme vous le savez sûrement, il faut une machine assez puissante pour faire tourner convenablement Windows Vista. Une fois que vous aurez installé ce dernier sur votre ordinateur (j'allais dire PC mais on peut maintenant installer Windows sur des Mac, même si je n'en vois pas vraiment l'intérêt) il va donner une note à votre configuration machine. Pour cela, il va évaluer et attribuer une note à votre processeur, votre RAM, votre carte graphique et votre disque dur principal (point important car lors de ma dernière installation j'avais installé Vista sur un trop vieux disque et cela c'est ressenti sur mon &lt;a href="http://maetis.blogspot.com/2006/10/my-life-installa-vista.html"&gt;score&lt;/a&gt;). Une fois que tous vos périphériques ont été évalués par Vista celui-ci va prendre la plus mauvaise note comme note de référence pour votre système. Microsoft recommande une note globale de 3.3 pour pouvoir "correctement" profiter de Windows Vista. Pour ma part, j'obtiens une note de 3.4. Ouf!&lt;/div&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="150" alt="" src="http://photos1.blogger.com/x/blogger2/7419/3343/320/818169/score1.jpg" width="180" border="0" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="150" alt="" src="http://photos1.blogger.com/x/blogger2/7419/3343/320/198877/score2.jpg" width="180" border="0" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-6513802977070134141?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/6513802977070134141/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=6513802977070134141' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/6513802977070134141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/6513802977070134141'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/11/mon-score-sous-windows-vista.html' title='Mon score sous Windows Vista'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-8800241164003900066</id><published>2006-11-29T19:27:00.000+01:00</published><updated>2006-11-29T19:32:35.742+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Life'/><title type='text'>Dans Sud-Ouest demain et samedi</title><content type='html'>&lt;div align="justify"&gt;Juste pour information, je serai dans l'édition du Sud-Ouest de demain et aussi dans celle de samedi si tout ce passe bien.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-8800241164003900066?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/8800241164003900066/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=8800241164003900066' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/8800241164003900066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/8800241164003900066'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/11/dans-sud-ouest-demain-et-samedi.html' title='Dans Sud-Ouest demain et samedi'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-1332316350971070430</id><published>2006-11-28T22:06:00.000+01:00</published><updated>2006-11-28T22:08:48.489+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatique'/><title type='text'>Installation de Windows Vista RC1 (again)</title><content type='html'>&lt;div align="justify"&gt;Aujourd’hui j’ai ré-installé Windows Vista RC 1 sur mon PC suite à une réorganisation des mes disques dur et quelle ne fut pas ma déception lorsque je vis que le "French Lang Pack" n’était plus disponible. Je suis tout de suite allé sur le "Centre de téléchargements" du site de Microsoft mais impossible de le trouver. J’ai fait un tour sur divers forums et même constat pour tout le monde. Apparemment il faudrait passer à la version RC 2 pour pouvoir bénéficier d’un Windows Vista en français. Mais cette version n’est téléchargeable que par les adhérents du programme MSDN (généralement réservé au développeur). Je crois qu’il ne me reste plus qu’à utiliser Vista en anglais ou trouver une personne qui a cette mise à jour sur son disque dur.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-1332316350971070430?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/1332316350971070430/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=1332316350971070430' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/1332316350971070430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/1332316350971070430'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/11/installation-de-windows-vista-rc1-again.html' title='Installation de Windows Vista RC1 (again)'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-4830456388400818903</id><published>2006-11-12T19:40:00.000+01:00</published><updated>2006-11-12T21:12:34.236+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Divers'/><title type='text'>Nouvelle version de mon Blog</title><content type='html'>&lt;div align="justify"&gt;Aujourd'hui j'ai fait migrer mon blog sur la version Bêta de la future version de Blogger donc vous pourrez apprécier quelques nouveautés comme le classement des articles par catégories.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-4830456388400818903?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/4830456388400818903/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=4830456388400818903' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/4830456388400818903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/4830456388400818903'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/11/nouvelle-version-de-mon-blog.html' title='Nouvelle version de mon Blog'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-116189358221142839</id><published>2006-10-26T21:25:00.000+02:00</published><updated>2007-03-12T11:20:15.779+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><title type='text'>Architecture à base de Plugins en C#</title><content type='html'>&lt;div align="justify"&gt;Ayant pris goût aux architectures logicielles à base de plugins, je me suis lancé dans une recherche pour savoir comment cela fonctionnait en C#. Donc voici un petit tutorial fortement inspiré de celui que l'on peut trouver &lt;a href="http://drq.developpez.com/dotnet/articles/plugin/csharp/"&gt;ici&lt;/a&gt;.&lt;br /&gt;Pour créer un plugin il faut tout d'abord définir une &lt;em&gt;interface&lt;/em&gt; qui servira de modèle aux plugins que l'on souhaitera développer: &lt;/div&gt;&lt;table bgcolor="#eeeeee" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;using System;&lt;br /&gt;&lt;br /&gt;namespace PluginApp&lt;br /&gt;{&lt;br /&gt;   public interface IPlugin&lt;br /&gt;   {&lt;br /&gt;     void affiche();&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div align="justify"&gt;Il faudra compiler ce code de façon à obtenir une DLL. Maintenant que nous avons définit l'interface, nous pouvons passer au plugin: &lt;/div&gt;&lt;table bgcolor="#eeeeee" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;using System;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Data;&lt;br /&gt;&lt;br /&gt;namespace PluginApp&lt;br /&gt;{&lt;br /&gt;   public class PluginClass : IPlugin&lt;br /&gt;   {&lt;br /&gt;      public PluginClass()&lt;br /&gt;      { }&lt;br /&gt;&lt;br /&gt;      public void affiche()&lt;br /&gt;      {&lt;br /&gt;         Console.WriteLine("Hello World!");&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div align="justify"&gt;Il faudra aussi compiler ce code de façon à obtenir une DLL sans oublier de définir la DLL précédente comme référence. Il nous reste plus qu'à écrire le code qui nous permettra d'utiliser ce plugin: &lt;/div&gt;&lt;table bgcolor="#eeeeee" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Reflection;&lt;br /&gt;&lt;br /&gt;namespace PluginApp&lt;br /&gt;{&lt;br /&gt;   class Program&lt;br /&gt;   {&lt;br /&gt;      static void Main(string[] args)&lt;br /&gt;      {&lt;br /&gt;         if (args.Length != 1)&lt;br /&gt;         {&lt;br /&gt;            Console.WriteLine("Usage:&lt;br /&gt;                                appli nom_du_plugin");&lt;br /&gt;         }&lt;br /&gt;         else&lt;br /&gt;         {&lt;br /&gt;           object obj;&lt;br /&gt;           obj=AppDomain.CurrentDomain.&lt;br /&gt;                CreateInstanceFromAndUnwrap(args[0],&lt;br /&gt;                 "PluginApp.PluginClass");&lt;br /&gt;&lt;br /&gt;           if (obj == null)&lt;br /&gt;            Console.WriteLine("Erreur: Impossible d'ouvrir:&lt;br /&gt;                                " + args[0]);&lt;br /&gt;           else&lt;br /&gt;            ((IPlugin)obj).affiche();&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div align="justify"&gt;Lors de la compilation de ce petit programme, il ne faudra pas oublier d'ajouter une référence à la DLL de l'&lt;em&gt;interface&lt;/em&gt;. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-116189358221142839?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/116189358221142839/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=116189358221142839' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116189358221142839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116189358221142839'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/10/c-architecture-base-de-plugins.html' title='Architecture à base de Plugins en C#'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-116185868423792790</id><published>2006-10-26T10:27:00.000+02:00</published><updated>2006-11-12T19:33:08.579+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Divers'/><title type='text'>La méthode "Ed wood Café"</title><content type='html'>&lt;div align="justify"&gt;Hier soir je suis allé prendre un verre avec des amis dans un bar/restaurant nommé le Ed wood Café (Talence), où l'on retrouve la décoration et l'ambiance des années 50 américaine. Tout se passait bien, nous étions tranquillement entrain de siroter une bière sur la terrasse. Un SDF qui passait par-là nous a demandé une cigarette, chose que nous n’avions pas étant tous non-fumeurs. La soirée de déroulait tranquillement et nous décidâmes de manger sur place mais à l'intérieur de l'établissement car nous commencions à avoir un peu froid. Le restaurant étant bien rempli, on nous donna une table qui était techniquement à l'intérieur mais qui longeait la porte vitrée qui était ouverte pour donner accès à la terrasse. Nous étions installés à notre table lorsque nous vîmes le SDF de tout à l'heure se pointer à notre table. Il se fit alors "gentiment" raccompagner à l'extérieur par le patron de l'établissement. La soirée continuait à se dérouler tranquillement, nous mangions tout écoutant un groupe qui se produisait dans le restaurant dont le style musical collait parfaitement avec le thème de ce dernier. Lorsque tout à coup nous avons sentit comme une agitation, nos regards se dirigèrent instinctivement sur la terrasse où nous vîmes que le SDF était revenu et que cette fois il n'avait pas l'air de vouloir se faire réexpédier par le patron. Le patron l'attrapa alors un peu plus "vigoureusement" que la fois précédente et le mis à terre. Et c'est à ce moment là que nous vîmes surgir un autre membre de l'équipe du restaurant, le regard aussi intelligent que celui d'un manifestant du FN, et il roua de coups de pieds le SDF qui était à terre. Je peux vous dire que cela à jeté un froid dans le restaurant. Enfin pendant 2 minutes. Après tout le monde est revenu à leur train train quotidien, se foutant complètement du sort des autres. Suite à ça, nous avons choisi de quitter le restaurant et de ne plus jamais y mettre les pieds. Car il y a une différence entre virer quelqu'un brutalement et le ruer de coups gratuitement.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-116185868423792790?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/116185868423792790/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=116185868423792790' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116185868423792790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116185868423792790'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/10/divers-la-mthode-du-ed-wood-caf.html' title='La méthode &quot;Ed wood Café&quot;'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-116137294785649945</id><published>2006-10-20T21:14:00.000+02:00</published><updated>2006-11-12T19:31:28.369+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatique'/><title type='text'>Installation de Windows Vista RC1</title><content type='html'>&lt;div align="justify"&gt;Bon, je vais commencer ma série d'articles sur Windows Vista par le début, c'est-à-dire par l'installation.&lt;br /&gt;Avant d'installer Windows Vista il faut ce rendre sur le site de &lt;a href="http://www.microsoft.com/france/windowsvista/default.aspx"&gt;Microsoft&lt;/a&gt; (le lien donne directement sur la page de Vista) et de télécharger la version RC1 en 32bits ou en 64bits (Attention: pour pouvoir télécharger Vista il faut être titulaire d'un passeport .Net). Il faut savoir que la version 32bits fait 2,52Go et la version 64bits fait 3,59Go. Les fichiers à télécharger se présentent sous la forme de fichiers ISO à graver sur un DVD. Un petit conseil au passage, si votre PC à plus d'un an n'essayez même pas de l'installer sauf si vous avez boosté votre configuration. Lorsque vous allez télécharger Vista, Microsoft va gracieusement vous donner un numéro de série qui vous sera nécessaire pour l'installer (comme pour les autres versions de Windows). Cette version de Vista est une version Release Candidate, donc une version non définitive et sujette encore à quelque bugs, dont l'utilisation se limite au 1er juillet 2007.&lt;br /&gt;L'installation de Vista est assez facile, il suffit de booter le PC sur le DVD d'installation et en quelque clics c'est parti. La durée d'installation est raisonnable et au premier démarrage de Vista vous n'avez qu'à définir les comptes utilisateurs et vous voici sur votre bureau Vista.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://photos1.blogger.com/blogger/3599/2884/1600/firstboot.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3599/2884/320/firstboot.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="justify"&gt;La première chose à laquelle on pense c'est: "Waouh! C'est beau!". Et la seconde chose c'est: "Combien cela prend en mémoire?". Approximativement 500Mo! Exit les petites configurations. En regardant de plus près la nouvelle interface de Windows Vista, Aero, et ses effets de transparence cela m'a fait penser à une petite application sous KDE (Linux), &lt;a href="http://www.archilinux.org/utilitaires/karamba/karamba.html"&gt;Karamba&lt;/a&gt;. Je m'attarderai plus longuement sur l'interface dans un prochain article.&lt;br /&gt;Dès le premier démarrage Vista va vérifier si des mises à jour sont disponibles. Pour ma part, il y avait plusieurs mises à jour de disponibles dont les langues optionnelles. Car il faut savoir que la version RC1 de Vista est disponible dans trois langues uniquement: anglais, allemand et japonais. Grâce aux mises à jour vous pourrez installer le &lt;em&gt;package&lt;/em&gt; "français" pour bénéficier d'une version dans notre belle langue. Pour ma part, j'ai installé les versions 32 et 64bits et vous pouvez constater sur les images suivantes que les deux versions ne bénéficient pas des même mises à jour.&lt;br /&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://photos1.blogger.com/blogger/3599/2884/1600/vista-64-updates.jpg"&gt;&lt;img height="170" alt="" src="http://photos1.blogger.com/blogger/3599/2884/320/vista-64-updates.jpg" width="210" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://photos1.blogger.com/blogger/3599/2884/1600/vista-32-updates.jpg"&gt;&lt;img height="170" alt="" src="http://photos1.blogger.com/blogger/3599/2884/320/vista-32-updates.jpg" width="210" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;64bits&lt;/td&gt;&lt;td&gt;32bits&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;Bon courage à ceux ou à celles qui vont se lancer dans l'installation de Vista.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-116137294785649945?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/116137294785649945/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=116137294785649945' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116137294785649945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116137294785649945'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/10/vista-installation.html' title='Installation de Windows Vista RC1'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-116127542934063353</id><published>2006-10-19T18:18:00.000+02:00</published><updated>2006-11-12T19:30:44.354+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatique'/><title type='text'>Installa Vista</title><content type='html'>&lt;div align="justify"&gt;Bon, juste pour vous dire que j'ai installé Windows Vista RC1 version 64bits sur mon PC et c'est du lourd. Je pense écrire un petit post bientot dessus mais en attendant voici une petite image. Juste pour information ma machine obtient un score de 2.8 (comme vous pourrez le voir sur la photo) sous Vista, résultat fortement dû au disque sur lequel je l'ai installé (un disque IDE 133 de 60Go à 7200tr/min).&lt;br /&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger/3599/2884/1600/vista2.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3599/2884/320/vista2.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-116127542934063353?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/116127542934063353/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=116127542934063353' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116127542934063353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116127542934063353'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/10/my-life-installa-vista.html' title='Installa Vista'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-116121002336575748</id><published>2006-10-18T23:59:00.000+02:00</published><updated>2006-11-12T19:29:08.470+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Divers'/><title type='text'>Parlons de cravates</title><content type='html'>&lt;div align="justify"&gt;J'étais entrain de préparer ma cravate pour mon entretien de demain et je me suis dit: "Tiens, si j'écrivais un petit post dessus!". Et oui, pour se présenter à un entretien il faut être bien habillé et pour ça il y a le traditionnel, et incontournable, "costard cravate". Le problème dans tout ça c'est le noeud de cravate! Généralement c'est notre père (ou plus souvent notre mère car c'est elle qui a toujours fait ceux de papa) qui nous enseigne le secret du noeud de cravate. Malheureusement mes parents n'ont pas pu m'aider sur ce coup (pour diverses raisons que je n'évoquerai pas). La première cravate que j'ai achetée c'est la vendeuse qui m'a fait le noeud lorsque j'ai acheté mon premier "costard cravate" et depuis je ne l'ai jamais défait. Par contre, le jour où j'ai acheté mes nouvelles cravates (c'est mieux d'avoir un lot pour avoir un choix d'assortiments) j'ai eu la chance de tomber sur des vendeurs bien sympa chez Brice qui m'ont appris à faire un noeud classe. Lundi soir, la veille de mon premier gros entretien, je voulus préparer ma cravate pour le lendemain et j'ai eu envie de regarder sur internet les différents noeuds de cravate. J'ai trouvé plusieurs sites sur ce sujet dont un qui porte très bien son nom: &lt;a href="http://www.noeud-de-cravate.com"&gt;noeud-de-cravate.com&lt;/a&gt;. Et j'ai appris le nom du noeud que l'on m'a enseigné: "le demi-Windsor". J'ai donc expérimenté divers types de noeuds pour en conclure que le demi-Windsor est un très bon choix.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Allez bonne nuit.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-116121002336575748?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/116121002336575748/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=116121002336575748' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116121002336575748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116121002336575748'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/10/divers-parlons-de-cravates.html' title='Parlons de cravates'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-116049951886984344</id><published>2006-10-10T17:57:00.000+02:00</published><updated>2006-11-12T19:28:28.331+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Life'/><title type='text'>Déboires d'un jeune diplômé</title><content type='html'>&lt;div align="justify"&gt;Je suis officiellement diplômé d'un BAC+5 depuis la semaine dernière mais j'avais déjà commencé à étudier les offres d'emplois dans mon secteur d'activité. Depuis quelques jours je me suis mis plus sérieusement à la recherche d'un emploi et voici le constat.&lt;br /&gt;Tout d'abord parlons un peu de l'ANPE. Avant de me rendre en agence, je me suis inscrit sur leur site Internet et ce ne fut pas aisé. Je ne crois pas qu'ils aient compris le concept du site d'emploi sur Internet où l'on créé en quelque clics son CV. Chez eux c'est un vrai parcours du combattant. Avant de ce lancer dans la création de son CV, et il faut le savoir, il faut connaître son "code métier". Pour cela il faut parcourir la liste des métiers référencés par l'ANPE et prendre le "code métier" dont la définition se rapproche le plus de celui que vous comptez faire. A partir de là vous pouvez créer votre CV. Par contre une fois votre CV terminé n'oubliez pas de cliquer sur "Publier" sinon votre CV ne pourra pas être consulter. Une fois que l'on a publié son CV, on veut consulter les offres d'emplois et là on nous redemande le "code métier" que l'on a déjà oublié. Heureusement, on peut faire une recherche à partir de mots clés. Malheureusement, sur le peu d'offres que j'ai trouvé, aucunes ne correspondait à mon profil. Ayant eu bruit que je trouverai sûrement plus d'annonces en agence que sur leur site, je me décida à y mettre les pieds pour la première fois de ma vie. Et ce fut un échec. Tout d'abord, je me rendis à l'adresse que je connaissais mais malheureusement je vis que l'agence avait déménagé. Donc je me suis rendu à la nouvelle adresse pour y trouver une agence fermée. Et oui, il fallait le savoir que l'agence était fermée le mardi après-midi. J'ai donc consulté les horaires d'ouverture et à ce moment j'ai comme eu un petit rictus. Car l'agence est ouverte du lundi au vendredi de 9h15 à 16h15 (moins la coupure du midi) sauf le mardi. Moi qui suis habitué aux horaires de ma boîte d'intérim (un truc comme 8h30-19h) ça m’a fait bizarre. Avec l'ANPE il ne faut pas vouloir trouver du boulot trop tôt le matin au trop tard dans l'après-midi.&lt;br /&gt;Sinon, je me suis aussi inscrit sur le site d'emploi le plus connu mondialement c'est-à-dire Monster et je peux vous dire que j'ai créé mon CV en 10 minutes (contrairement au site de l'ANPE). J'ai définit rapidement un agent de recherche qui m'envoie un mail d'offres par jour. Ayant configuré mon agent pour recevoir les offres d'emplois dans ma région et au Québec, j'ai vite remarqué que 90% des offres que je recevais étaient à pourvoir au Québec. Soit les entreprises de ma région ne diffusent pas leurs annonces sur Monster soit mon secteur d'activité est presque inexistant dans ma région.&lt;br /&gt;Autrement, je suis aussi inscrit depuis un petit moment sur un réseau de contact où l'on peut, entre autre, recevoir des annonces d'emplois. Tous les jours je reçois une liste d'annonces dans mon secteur d'activité dont 90% des postes sont à pourvoir à Paris et sa région. Ce qui n'est pas pour l'instant une option envisageable.&lt;br /&gt;Mis à part ça, lorsque l'on consulte ces annonces on s'aperçoit très vite qu'il est difficile de trouver un emploi pour un jeune diplômé. Dans toutes les annonces que j'ai consulté, il faut en moyenne un minimum de 3 à 5 ans d'expériences dans la compétence recherchée.&lt;br /&gt;"Vivement la retraite!" ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-116049951886984344?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/116049951886984344/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=116049951886984344' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116049951886984344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116049951886984344'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/10/my-life-dboires-dun-jeune-diplm.html' title='Déboires d&apos;un jeune diplômé'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-116034998813934799</id><published>2006-10-09T01:01:00.000+02:00</published><updated>2006-11-12T19:28:07.764+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><title type='text'>Réalisez un navigateur Web en 10 minutes avec C#</title><content type='html'>&lt;div align="justify"&gt;Etant fraîchement diplômé d'un Master Recherche en informatique, j'ai commencé à éplucher les offres d'emplois dans le domaine. Pour l'instant je n'ai pas trouvé d'offres auxquelles mon profil pourrait correspondre. Mais j'ai remarqué que l'on retrouvait souvent les mêmes demandes, et notamment maîtriser la technologie .Net (développé par Microsoft). Donc je me suis dit qu'une petite auto-formation ne serait pas du luxe. J'ai commencé par aller chez Mollat (un peu de pub au passage) acheter un pavé d'un millier de pages environ (comme souvent en informatique) sur la technologie .Net et le langage C# (une sorte de JAVA à la sauce Microsoft). J'ai aussi téléchargé, et ce légalement, le logiciel de développement Visual C# Express 2005 sur le site de Microsoft. J'ai jeté un coup d'oeil rapide à ce logiciel et j'ai vu qu'il y avait un tutorial dont l'objectif est d'appréhender la programmation d'application Windows avec le langage C# en réalisant un petit Navigateur Web. J'ai donc suivit les instructions à la lettre et en 10 minutes j'avais un petit navigateur Web totalement fonctionnel. C'est sûr ce n'est pas extraordinaire. La réalisation de cette application c'est faite en quelques clics et 5 lignes de code. L'affichage des pages Web se fait par le biais d'une seule classe: webBrowser. Il suffit simplement d'envoyer l'adresse de la page à la classe et elle s'occupe de tout. Cette classe s'appuie sur la couche Internet Explorer présente dans Windows. D'ailleurs je me pose la question: "Si j'utilisais une version de Windows certifiée sans Internet Explorer, est-ce que ce tutorial fonctionnerait?".&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-116034998813934799?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/116034998813934799/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=116034998813934799' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116034998813934799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/116034998813934799'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/10/divers-ralisez-un-navigateur-web-en-10.html' title='Réalisez un navigateur Web en 10 minutes avec C#'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-115221421109349008</id><published>2006-07-06T21:29:00.000+02:00</published><updated>2006-11-12T19:22:33.519+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Life'/><title type='text'>Devinez qui j'ai vu aujourd'hui?</title><content type='html'>&lt;div align="justify"&gt;EVA LONGORIA!!!!!!!!!!! et accessoirement son mari Tony Parker. En fait, aujourd'hui mon agence d'intérim m'a trouvé un petit job chez AVIS, une société de location de véhicules, sur le domaine de l'aéroport de Bordeaux. Donc, je me rendais depuis le parking de l'aéroport à l'aérogare et là je vois une femme magnifique à la sortie de l'aérogare. Je ne l'ai pas reconnu tout de suite mais c'est lorsque que j'ai reconnu son mari que j'ai tilté. Bref que d'émotions ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-115221421109349008?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/115221421109349008/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=115221421109349008' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/115221421109349008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/115221421109349008'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/07/my-life-devinez-qui-jai-vu-aujourdhui.html' title='Devinez qui j&apos;ai vu aujourd&apos;hui?'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-114711160640793423</id><published>2006-05-08T19:11:00.000+02:00</published><updated>2006-11-12T19:15:47.873+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technologie'/><title type='text'>"Argh! Impossible de zapper la pub!"</title><content type='html'>&lt;div style="TEXT-ALIGN: justify"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://claudioroman.com/images/pha198000038.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer" alt="" src="http://claudioroman.com/images/pha198000038.jpg" border="0" /&gt;&lt;/a&gt;Généralement, lorsque l'on regarde un film ou une série à la télévision, on a pour habitude de zapper ou d'aller au toilette durant la coupure publicitaire. Si l'on peut trouver ses interruptions dérangeantes, nous ne sommes pas à plaindre car dans d'autres pays, comme les Etats-Unis par exemple, ses interruptions sont bien plus désagréables. Dites-vous qu'aux Etats-Unis les spectateurs subissent 5 coupures publicitaires durant un épisode de Lost, par exemple. Du coup, les spectateurs zappent la chaîne qu'ils regardent durant cette coupure, au grand désespoir des annonceurs. Mais récemment, le constructeur Philips a déposé un brevet sur une technologie qui empêchera le spectateur de zapper durant la coupure publicitaire, forçant ce dernier à ingurgiter toutes les annonces. Un signal sera émis par la chaîne que vous regarderez au moment de la coupure publicitaire, vous empêchant ainsi de vous servir de votre télécommande. Enfin, sur les télévisions qui seront équipées de ce système. D'ailleurs, il n'est pas dit que tous les constructeurs intègrent un tel système dans leurs télévisions car les consommateurs éviterons sûrement d'acheter ce type de téléviseur.&lt;br /&gt;Mais où va-t-on encore une fois?&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.ratiatum.com/news3053_Philips_depose_un_brevet_anti-zapping.html"&gt;Ratatium.com&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-114711160640793423?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/114711160640793423/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=114711160640793423' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114711160640793423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114711160640793423'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/05/technologie-argh-impossible-de-zapper.html' title='&quot;Argh! Impossible de zapper la pub!&quot;'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-114704933603736805</id><published>2006-05-08T01:26:00.000+02:00</published><updated>2006-11-12T21:20:10.001+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Livres'/><title type='text'>La stratégie Ender</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://www.mollat.fr/cache/couvertures/9782290308288.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 141px; CURSOR: hand; HEIGHT: 200px" height="357" alt="" src="http://www.mollat.fr/cache/couvertures/9782290308288.jpg" border="0" /&gt;&lt;/a&gt; Juste avant de me coucher, j'ai eu envie de vous présenter un livre que m'avait prêté un très bon ami il y a quelques mois, "&lt;em&gt;La stratégie Ender&lt;/em&gt;" d'&lt;a href="http://www.hatrack.com/"&gt;Orson Scott Card&lt;/a&gt;. C'est le premier des quatre tomes qui composent "&lt;em&gt;Le cycle d'Ender&lt;/em&gt;".&lt;br /&gt;Andrew Wiggin, dit Ender, est un jeune garçon de 6 six ans dont le "destin" est de sauver l'humanité d'une invasion extraterrestre. Cinquante ans avant sa naissance, la Terre avait dû repousser l'attaque d'une race extraterrestre, les Doryphores, mais il semblerait que l'humanité soit sous la menace d'une nouvelle invasion. Depuis sa naissance, Ender fait l'objet d'une attention particulière de la part de l'armée car c'est elle qui avait "commandé" sa naissance à ses parents. Un frère et une soeur l'avaient précédé. Bien qu'ils présentaient tous les deux un grand potentiel pour devenir le futur commandant qui dirigera la flotte terrienne chargée d'éradiquer la menace qui plane sur la Terre, ils avaient successivement été rejetés du programme car ils avaient présentés quelques failles durant les tests que leur avait fait subir l'armée. Cette dernière obligea donc leurs parents à avoir un troisième enfant, Ender. Pour former leur futur commandant, les dirigeants de l'armée vont faire endurer à cet enfant de six les pires épreuves psychologiques. Dès qu'il réussira un de leurs exercices, ils en modifieront les règles l'obligeant à tout reprendre depuis zéro. Dès qu'il pensera s'être fait un ami sur qui il peut compter, ils lui enlèveront. Il sera alors le jouet de leurs manipulations dont le but est de former une vraie machine de guerre. Comment Ender va-t-il supporter tout ça?&lt;br /&gt;C'est un livre que j'ai dévoré! J'ai eu un peu de mal à accrocher au départ mais une fois entré dans l'histoire, je ne pouvais plus m'arrêter de lire, impatient de savoir quels nouveaux supplices allait devoir subir Ender et comment allait-il s'en sortir. Vraiment un très bon livre. Par contre, je n'ai lu aucun des tomes suivants.&lt;br /&gt;&lt;br /&gt;Liens:&lt;br /&gt;&lt;a href="http://www.fnac.com/Shelf/article.asp?PRID=1225259&amp;OrderInSession=1&amp;amp;Mn=3&amp;SID=8d1eddac-1d70-6373-0f50-8b60263567c9&amp;amp;amp;amp;amp;amp;amp;TTL=090520061900&amp;Origin=FnacAff&amp;amp;Ra=-1&amp;To=0&amp;amp;Nu=1&amp;UID=0c8ec26a8-db46-efcb-fc0d-db7d55da347b&amp;amp;Fr=0"&gt;Fnac.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.amazon.fr/exec/obidos/ASIN/2290308285/qid=1147107753/sr=8-4/ref=sr_8_xs_ap_i4_xgl14/403-2880645-4416459"&gt;Amazon.fr&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-114704933603736805?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/114704933603736805/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=114704933603736805' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114704933603736805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114704933603736805'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/05/livre-la-stratgie-ender.html' title='La stratégie Ender'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-114684894747124083</id><published>2006-05-05T17:47:00.000+02:00</published><updated>2006-11-12T19:13:25.990+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><title type='text'>Tu me vois... Tu ne me vois plus...</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/3599/2884/1600/Atome.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 199px; CURSOR: hand; HEIGHT: 131px" height="152" alt="" src="http://photos1.blogger.com/blogger/3599/2884/320/Atome.jpg" width="207" border="0" /&gt;&lt;/a&gt; Si vous êtes des fans de Star Trek ou de Stargate (Atlantis) alors vous avez sûrement déjà entendu parler de "&lt;em&gt;cloaking device&lt;/em&gt;". Pour les autres, il s'agit tout simplement d'un système permettant de rendre invisible un objet, dans les séries de Science Fiction cette technologie est généralement employée pour rendre invisible un vaisseau spatial (ex: les &lt;em&gt;Jumpers&lt;/em&gt; dans Stargate Atlantis).&lt;br /&gt;Récemment deux mathématiciens, G. W. Milton (Université de l'Utah) et N. A. Nicorovici (Université de Sydney), ont affirmé que cette technologie allait pouvoir devenir réalité &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;[1]&lt;/span&gt;&lt;/strong&gt;. Ils proposent un système de dissimulation, appelé &lt;em&gt;superlens&lt;/em&gt;, qui exploiterait un principe appelé "résonance localisée anormale". Placé près d'un petit objet, ce dispositif permettrait de masquer les ondes lumineuses reflétées en résonant à la même fréquence.&lt;br /&gt;Etant donné que ces travaux depassent mon domaine de compétence, je vous invite donc à lire les articles suivants (en anglais):&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;a href="http://osnews.com/comment.php?news_id=14518"&gt;OSnews.com&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.daviddarling.info/encyclopedia/C/cloaking_device.html"&gt;David Darling&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.telegraph.co.uk/news/main.jhtml?xml=/news/2006/05/03/winvis03.xml"&gt;news.telegraph&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://news.bbc.co.uk/1/hi/sci/tech/4968338.stm"&gt;BBC News&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;[1]&lt;/span&gt;&lt;/strong&gt; G. W. Milton and N. A. Nicorovici, "On the cloaking effects associated with anomalous localized resonance," Proceedings of the Royal Society of London, to appear, (2006) .&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-114684894747124083?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/114684894747124083/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=114684894747124083' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114684894747124083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114684894747124083'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/05/science-tu-me-vois-tu-ne-me-vois-plus.html' title='Tu me vois... Tu ne me vois plus...'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-114668291535256228</id><published>2006-05-03T18:58:00.000+02:00</published><updated>2006-11-12T19:12:19.571+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Economie'/><title type='text'>Protège-toi ou je te pirate!</title><content type='html'>&lt;div align="justify"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3599/2884/320/dollar.jpg" border="0" /&gt;Non ce n'est pas un slogan lancé par les communautés du P2P à l'intention des entreprises du jeu vidéo, de la musique ou du film mais plutôt une affaire, dont ma parlé un ami après avoir lu son &lt;a href="http://www.canardplus.com/index.html"&gt;Canard PC&lt;/a&gt; (un numéro du mois de mars), qui oppose les entreprises Stardock Systems et Starforce.&lt;br /&gt;Le 3 mars 2006, l'entreprise Stardock Systems a sorti son jeu Galactic Civilizations 2 en faisant le pari fou de le vendre sans système de protection. Pour elle, ces systèmes de protection n'ont jamais réussi à limiter le piratage des jeux, et ils ont, au contraire, amplifié le phénomène car leurs coûts se répercutent sur le prix de vente des jeux, les rendants ainsi moins abordable pour le consommateur moyen. Sa stratégie c'est révélée payante car les ventes de ce jeu ont explosé en Amérique du nord, le jeu s'est même retrouvé en rupture de stock 10 jours après sa sortie.&lt;br /&gt;Pour la société Starforce, spécialisée dans la solution anticopie, ce succès n'a rien a voir avec le fait que ce jeu ne dispose d'aucune protection, et que, pour elle, les ventes auraient été encore meilleures si le jeu en était équipé d'une. L'un des employés de la société Starforce a même ouvertement critiqué le choix de Stardock Systems sur le forum de Starforce et il y a même inclus un lien Torrent permettant de télécharger illégalement ce jeu.&lt;br /&gt;Personnellement, je trouve ça à la limite du racket: "si tu n'achètes pas notre solution anticopie nous permettrons aux gens de pouvoir télécharger illégalement ton logiciel!". Mais où va-t-on?&lt;br /&gt;&lt;br /&gt;Quelques liens:&lt;br /&gt;&lt;a href="http://www.open-files.com/article0353.html"&gt;Open-Files.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.infos-du-net.com/actualite/6461-protections-jeux-starforce.html"&gt;Infos-du-net.com&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-114668291535256228?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/114668291535256228/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=114668291535256228' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114668291535256228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114668291535256228'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/05/economie-protge-toi-ou-je-te-pirate.html' title='Protège-toi ou je te pirate!'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-114657197809603923</id><published>2006-05-02T10:24:00.000+02:00</published><updated>2006-11-12T19:10:00.526+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Livres'/><title type='text'>Le théorème du perroquet</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://images-eu.amazon.com/images/P/2020427850.08.MZZZZZZZ.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 103px; CURSOR: hand; HEIGHT: 143px" height="189" alt="" src="http://images-eu.amazon.com/images/P/2020427850.08.MZZZZZZZ.jpg" border="0" /&gt;&lt;/a&gt; Aujourd'hui, j'ai envie de vous présenter un livre qu'une très bonne amie m'a fait découvrir il y a un peu plus d'un an, "&lt;em&gt;Le théorème du perroquet&lt;/em&gt;" de &lt;a href="http://perso.wanadoo.fr/mondalire/guedj_denis.htm"&gt;Denis Guedj&lt;/a&gt;.&lt;/div&gt;&lt;div align="justify"&gt;Vous vous rappelez sûrement des formules et des théorèmes mathématiques totalement indigestes que vous avez du apprendre tout au long de votre scolarité? Ce roman va vous les rappeler tout au long de l'histoire qu'il conte mais d'une telle manière que lorsque vous aurez fini de lire ce livre vous vous direz: "Si seulement on m'avait enseigné les mathématiques comme ça... ". C'est vraiment un livre que je recommande à toutes les personnes qui ont eu une mauvaise expérience avec les mathématiques durant leur scolarité.&lt;/div&gt;&lt;div align="justify"&gt;Pour ce qui est de l'intrigue de ce roman, en voici un résumé: "&lt;em&gt;Un libraire à la retraite reçoit une mystérieuse lettre d'Amazonie écrite peu avant sa mort, par son ami Elgar Grosrouvre. Ce dernier lui lègue une fabuleuse bibliothèque entièrement consacrée aux mathématiques. Pour comprendre les circonstances de la mort de son ami, le libraire devra se remettre à l'étude des mathématiques...&lt;/em&gt;" (Source: Mollat.com).&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Quelques liens pour en savoir plus sur ce livre:&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.amazon.fr/exec/obidos/ASIN/2020427850/qid=1146558474/sr=1-1/ref=sr_1_10_1/171-3965000-1095404"&gt;Amazon.com&lt;/a&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.fnac.com/Shelf/article.asp?PRID=1106153&amp;OrderInSession=1&amp;amp;Mn=2&amp;SID=98eb5220-7732-7f12-e840-521e3c65f169&amp;amp;amp;amp;amp;amp;TTL=030520061326&amp;Origin=FnacFR&amp;amp;Ra=-1&amp;To=0&amp;amp;Nu=1&amp;UID=1396694BA-86D9-2E25-1E20-08F4321BF902&amp;amp;Fr=0"&gt;Fnac.com&lt;/a&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Du même auteur: (pour l'instant j'en n'ai lu aucun)&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;Zéro: ou les cinq vies d'Aémer&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;La Méridienne : la mesure du monde&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;L'empire des nombres&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;La Révolution des savants&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;Les cheveux de Bérénice&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;Génis ou le bambou parapluie&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;Le mètre du monde&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;Mesurer la Terre est un jeu d'enfant&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;La Bella&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;La gratuité ne vaut plus rien&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;L'histoire des mathématiques&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;One zéro show&lt;/em&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-114657197809603923?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/114657197809603923/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=114657197809603923' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114657197809603923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114657197809603923'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/05/livre-le-thorme-du-perroquet.html' title='Le théorème du perroquet'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27393275.post-114652503546715692</id><published>2006-05-02T00:47:00.000+02:00</published><updated>2006-11-12T19:11:11.465+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Divers'/><title type='text'>Ouverture de mon blog</title><content type='html'>Les blogs sont devenus en quelques années un vrai phénomène de société. Au début, je n'étais pas très enthousiasmé par ce système de communication, surtout lorsque je vois comment cet outil est généralement utilisé (par les adolescents en particulier). Mais petit à petit mon idée à propos des blogs a évolué (rien est immuable) et j'ai enfin sauté le pas en créant le mien.&lt;br /&gt;&lt;br /&gt;Vous trouverez sur mon blog mes avis sur des films ou des livres (ou autres) mais aussi mes réactions vis-à-vis des événements passés ou présents et de toutes les choses qui se passent dans le monde. En fait, vous trouverez ici tout ce qui me passe par la tête.&lt;br /&gt;&lt;br /&gt;Voilà pour la présentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27393275-114652503546715692?l=maetis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maetis.blogspot.com/feeds/114652503546715692/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27393275&amp;postID=114652503546715692' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114652503546715692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27393275/posts/default/114652503546715692'/><link rel='alternate' type='text/html' href='http://maetis.blogspot.com/2006/05/ouverture-de-mon-blog.html' title='Ouverture de mon blog'/><author><name>maetis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry></feed>
