<?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-6739420603337772867</id><updated>2011-11-28T08:37:19.109-05:00</updated><category term='Unix'/><category term='Twitter'/><category term='Social'/><category term='STM'/><category term='jQuery'/><category term='Programmation'/><category term='Architecture'/><category term='CSS'/><category term='Photographie argentique'/><category term='Javascript'/><category term='English'/><category term='Images'/><category term='Objets'/><category term='industrie'/><category term='Myspace'/><category term='Musique'/><category term='Photo'/><category term='AJAX'/><category term='Outils'/><category term='XML'/><category term='Optimisation'/><category term='Holga'/><category term='Wave'/><category term='OO'/><category term='Trucs'/><category term='Géographie'/><category term='médias'/><category term='Google'/><category term='Webmaster'/><category term='journaux'/><category term='Publicité'/><category term='Librairie'/><category term='Linux'/><category term='Liens'/><category term='Pellicule'/><category term='HTML'/><category term='Apache'/><category term='Recherche'/><category term='Icônes'/><category term='Lubitel'/><category term='Class'/><title type='text'>Le Blog de Mongo</title><subtitle type='html'>Web 2.0, Photo, Vidéo</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-7789869737284132437</id><published>2010-10-05T07:42:00.008-04:00</published><updated>2010-10-06T08:41:39.452-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='Social'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>La ponctuation sur Twitter... ou ailleurs!</title><content type='html'>Je sais pas si ça vous arrive de rêver que vous parlez chinois et en vous réveillant de vérifier si ce que vous avez dit dans vos rêves était du vrai chinois, puis de vous rendre compte que c'était n'importe quoi. Moi ça vient de m'arriver. J'ai rêvé que j'avais les connaissances pour m'exprimer sur un sujet tel que «La ponctuation sur les réseaux sociaux», sauf que j'ai pas vérifié en me levant, j'ai écrit sur mon blogue.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Y'a pas si longtemps de ça on entendait un peu partout que l'internet allait tuer toutes les relations interpersonnelles et tout le blablabla de vieux qui marchait 3 kilomètres (dans 2 mètres de neige) pour se rendre à l'école. Plus le temps avance et plus l'utilisation de l'ordinateur est fréquente lors de nos communications. Personnellement, je trouve pas que ce soit une bonne ou une mauvaise chose, c'est juste de même. Dans tous les cas, ça reste mieux que le télégraphe.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La principale chose que j'ai remarqué avec ce changement, c'est à quel point il faut accorder de l'importance à la façon dont on écrit, car faute de pouvoir entendre ou voir notre interlocuteur, on doit pouvoir transmettre d'une façon ou d'une autre notre humeur et le ton sur lequel on "parle". La ponctuation est une excellent outil pour pouvoir donner un peu de vie à nos messages. Alors voici mes observations sur le sujet:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;La virgule&lt;/b&gt;&lt;/div&gt;&lt;div&gt;On s'en fou un peu de la virgule sur internet car à part montrer qu'on écrit bien ça n'apporte pas pas grand chose au message.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;EX:&lt;/div&gt;&lt;div&gt;@Interlocuteur1: Hier j'ai mangé une pomme.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;@Interlocuteur1: Hier, j'ai mangé une pomme.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ça reste quand même important lorsqu'on énumère des trucs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;EX:&lt;/div&gt;&lt;div&gt;&lt;div&gt;@Interlocuteur1: Hier j'ai bu 1 verre de vin, 12 bières, 4 shooters de vodka et 2 margarita. J'ai vomi dans mon sommeil.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;@Interlocuteur1: Hier j'ai bu 1 verre de vin 12 bières 4 shooters de vodka et 2 margarita... ««««Difficile à lire&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Le point&lt;/b&gt;&lt;/div&gt;&lt;div&gt;C'est un point assez important des conversations sur le web(notez le jeu de mots).  Son utilisation dépasse largement le simple fait de finir une phrase. En fait ce n'est pas obligatoire de l'utiliser à la fin de chacune de ses phrase. Voici quelques exemples d'utilisations&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Pour ajouter du poids à notre phrase&lt;/div&gt;&lt;div&gt;Ex:&lt;/div&gt;&lt;div&gt;@Interlocuteur1: L'auberge du chien noir est vraiment une très mauvaise émission&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;@Interlocuteur1: L'auberge du chien noir est vraiment une très mauvaise émission.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Je sais pas si c'est psychologique mais moi je trouve que ça fait plus important d'ajouter un point à la fin. C'est comme si on lisait «point final». On comprend donc mieux toute la médiocrité de «l'auberge du chien noir».&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Pour être drôle&lt;/div&gt;&lt;div&gt;Ex:&lt;/div&gt;&lt;div&gt;@Interlocuteur1: L'auberge du chien noir c'est bon&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;@Interlocuteur1: L'auberge du chien noir. c'est bon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On comprend très bien que c'est sarcastique. Et le sarcasme c'est drôle...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Pour faire chier/être bête&lt;/div&gt;&lt;div&gt;Ex:&lt;/div&gt;&lt;div&gt;&lt;div&gt;@Interlocuteur1: Ouin, je sais pas je fais ça depuis 10 ans et j'ai jamais eu de problème.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;@Interlocuteur1: Ouin. je sais pas. je fais ça depuis 10 ans. jamais eu de problème.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Donc la technique est de scinder sa phrase en partie plus courte pour donner un ton sec et fermé à notre réponse. C'est assez efficace, car on a juste envie de répondre «Meurt dans d'atroce souffrance, sale con!!!»&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Les 3 petits points&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Le dernier c'est mon préféré. J'ai remarqué que beaucoup beaucoup de personnes utilisent les 3 points sans vraiment y penser et franchement, ça me fait chier! Le 3 petits points démontre généralement un malaise ou un esprit de «Tout me fait chier en ce moment, j'ai aucun enthousiasme à répondre». On peut très bien comprendre le tout par l'exemple suivant:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;@Interlocuteur1: @Interlocuteur2 Ça va bien aujourd'hui?&lt;/div&gt;&lt;div&gt;@Interlocuteur2: Oui ça va&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;@Interlocuteur1: @Interlocuteur2 Ça va bien aujourd'hui?&lt;/div&gt;&lt;div&gt;@Interlocuteur2: Oui ça va...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dans le 2e exemple, on voit très bien que Interlocuteur2 ne va pas très bien ou qu'il ne veut pas parler à Interlocuteur1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On peut aussi l'utiliser pour être sarcastique&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;@Interlocuteur1: Tsé là, le monde qui font les chose d'une autre façon que moi, c'est vraiment gagnant...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;@Interlocuteur1: @Interlocuteur2 Ouin t'es bon....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;DONC J'ARRIVE À LA CONCLUSION DE L'ARTICLE, si au moment d'écrire une réponse sur Twitter, tu te sens bien et tu ne détestes pas la personne avec qui tu parles; AJOUTE DES POINTS D'EXCLAMATION ET DES SMILEYS!!! le monde sera ainsi plus joyeux...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Comme toujours, je vous invite à m'insulter en utilisant les commentaires.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-7789869737284132437?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/7789869737284132437/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=7789869737284132437' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/7789869737284132437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/7789869737284132437'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/10/la-ponctuation-sur-twitter-ou-ailleurs.html' title='La ponctuation sur Twitter... ou ailleurs!'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-7197006511752034469</id><published>2010-09-07T18:28:00.011-04:00</published><updated>2010-09-08T06:27:42.669-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Google Doodle (moving/bouncing circles logo) source code</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_V8nzWzsNuBU/TIa_RzIv6RI/AAAAAAAAAD0/Dh8-uA1vKGk/s1600/googledoodle.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 155px;" src="http://3.bp.blogspot.com/_V8nzWzsNuBU/TIa_RzIv6RI/AAAAAAAAAD0/Dh8-uA1vKGk/s400/googledoodle.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5514305106267334930" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the source code for the Google logo. Originally it uses google object for event listening and browser detection, switched to jQuery. You can find a working example here : &lt;a href="http://quebe.ca/doodle.html" target="_blank"&gt;http://quebe.ca/doodle.html&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;    body{overflow:hidden}&lt;br /&gt;    #hplogo{position:relative;width:0;margin:0 auto;right:190px;height:160px}&lt;br /&gt;    .particle{position:absolute;z-index:-1}&lt;br /&gt;    .circle{-moz-border-radius:160px;-webkit-border-radius:160px;-khtml-border-radius:160px;border-radius:160px}&lt;br /&gt;    #cpf,#sbl,#fctr{background:transparent}&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;noscript&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;    #hplogo{right:0;width:auto;background:url(http://google.com/intl/en_ALL/images/srpr/logo1w.png) no-repeat center}&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;/noscript&gt;&lt;br /&gt;&lt;div id="hplogo"&gt;&lt;/div&gt;&lt;br /&gt;&lt;script&gt;&lt;br /&gt;    (function(){&lt;br /&gt;        try{&lt;br /&gt;            //Create empty google object&lt;br /&gt;            var google;if(!google){google={};}&lt;br /&gt;            &lt;br /&gt;            if(!google.doodle){google.doodle={};}&lt;br /&gt;            var a=200,g=-200,j=-200,k,l,m,n=0,o=0,p=0,q=35,r,s=[],t,u,v;&lt;br /&gt;            google.doodle.init=function(){&lt;br /&gt;                if(!v&amp;&amp;window.location.href.indexOf("#")==-1){&lt;br /&gt;                    v=true;&lt;br /&gt;                    if(t=document.getElementById("hplogo")){&lt;br /&gt;                        //Skip google verification and execute y and z function&lt;br /&gt;                        /*google.j&amp;&amp;google.j.en&amp;&amp;w(100,x,function(){return google.rein&amp;&amp;google.dstr});&lt;br /&gt;                          w(100,y,function(){return google.listen});&lt;br /&gt;                          w(100,z,function(){return google.browser});*/&lt;br /&gt;                        y();&lt;br /&gt;                        z();&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            var w=function(b,c,d){&lt;br /&gt;                if(d())c();&lt;br /&gt;                else b&lt; 200&amp;&amp;window.setTimeout(function(){w(b+1,c,d)},b)&lt;br /&gt;            },x=function(){&lt;br /&gt;                if(!google.doodle.n){&lt;br /&gt;                    google.doodle.n=true;&lt;br /&gt;                    google.rein.push(google.doodle.init);&lt;br /&gt;                    google.dstr.push(A)&lt;br /&gt;                }&lt;br /&gt;            },y=function(){&lt;br /&gt;                // jQuery event&lt;br /&gt;                /*google.listen(document,"mousemove",B)*/&lt;br /&gt;                $(document).mousemove(B);&lt;br /&gt;            },B=function(b){&lt;br /&gt;                a=200;&lt;br /&gt;                g=b.clientX-t.offsetLeft;&lt;br /&gt;                j=b.clientY-t.offsetTop&lt;br /&gt;            },C=function(){&lt;br /&gt;                return[u?window.screenLeft:window.screenX,u?window.screenTop:window.screenY,document.body.clientWidth]&lt;br /&gt;            },z=function(){&lt;br /&gt;                //Browser detection&lt;br /&gt;                /*u=google.browser.engine.IE&amp;&amp;google.browser.engine.version!="9.0";*/&lt;br /&gt;                u=$.browser.msie &amp;&amp; $.browser.version.substr(0,1) != "9";&lt;br /&gt;                s=[D(202,78,9,"ed9d33"),D(348,83,9,"d44d61"),D(256,69,9,"4f7af2"),D(214,59,9,"ef9a1e"),D(265,36,9,"4976f3"),D(300,78,9,"269230"), D(294,59,9,"1f9e2c"),D(45,88,9,"1c48dd"),D(268,52,9,"2a56ea"),D(73,83,9,"3355d8"),D(294,6,9,"36b641"),D(235,62,9,"2e5def"),D(353,42,8,"d53747"),D(336,52,8,"eb676f"),D(208,41,8,"f9b125"),D(321,70,8,"de3646"),D(8,60,8,"2a59f0"),D(180,81,8,"eb9c31"),D(146,65,8,"c41731"),D(145,49,8,"d82038"),D(246,34,8,"5f8af8"),D(169,69,8,"efa11e"),D(273,99,8,"2e55e2"),D(248,120,8,"4167e4"),D(294,41,8,"0b991a"),D(267,114,8,"4869e3"),D(78,67,8,"3059e3"),D(294,23,8,"10a11d"),D(117,83,8,"cf4055"),D(137,80,8,"cd4359"),D(14, 71,8,"2855ea"),D(331,80,8,"ca273c"),D(25,82,8,"2650e1"),D(233,46,8,"4a7bf9"),D(73,13,8,"3d65e7"),D(327,35,6,"f47875"),D(319,46,6,"f36764"),D(256,81,6,"1d4eeb"),D(244,88,6,"698bf1"),D(194,32,6,"fac652"),D(97,56,6,"ee5257"),D(105,75,6,"cf2a3f"),D(42,4,6,"5681f5"),D(10,27,6,"4577f6"),D(166,55,6,"f7b326"),D(266,88,6,"2b58e8"),D(178,34,6,"facb5e"),D(100,65,6,"e02e3d"),D(343,32,6,"f16d6f"),D(59,5,6,"507bf2"),D(27,9,6,"5683f7"),D(233,116,6,"3158e2"),D(123,32,6,"f0696c"),D(6,38,6,"3769f6"),D(63,62,6,"6084ef"), D(6,49,6,"2a5cf4"),D(108,36,6,"f4716e"),D(169,43,6,"f8c247"),D(137,37,6,"e74653"),D(318,58,6,"ec4147"),D(226,100,5,"4876f1"),D(101,46,5,"ef5c5c"),D(226,108,5,"2552ea"),D(17,17,5,"4779f7"),D(232,93,5,"4b78f1")];&lt;br /&gt;                var b=C();&lt;br /&gt;                k=b[0];&lt;br /&gt;                l=b[1];&lt;br /&gt;                m=b[2];&lt;br /&gt;                E()&lt;br /&gt;            },A=function(){&lt;br /&gt;                //jQuery event&lt;br /&gt;                /*google.unlisten(document,"mousemove",B);*/&lt;br /&gt;                $(document).unbind('mousemove',B);&lt;br /&gt;                &lt;br /&gt;                r&amp;&amp;window.clearTimeout(r);&lt;br /&gt;                if(s) {&lt;br /&gt;                    for(var b=0,c;c=s[b++];) {&lt;br /&gt;                        c.m()&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            },E=function(){&lt;br /&gt;                var b=C(),c=b[0],d=b[1];&lt;br /&gt;                b=b[2];&lt;br /&gt;                n=c-k;&lt;br /&gt;                o=d-l;&lt;br /&gt;                p=b-m;&lt;br /&gt;                k=c;&lt;br /&gt;                l=d;&lt;br /&gt;                m=b;&lt;br /&gt;                a=Math.max(0,a-2);&lt;br /&gt;                c=true;&lt;br /&gt;                for(d=0;b=s[d++];){&lt;br /&gt;                    b.update();&lt;br /&gt;                    if(c)c=b.i&lt;br /&gt;                }&lt;br /&gt;                q= c?250:35;&lt;br /&gt;                r=window.setTimeout(E,q)&lt;br /&gt;            },D=function(b,c,d,h){&lt;br /&gt;                return new F(b,c,d,h)&lt;br /&gt;            },F=function(b,c,d,h){&lt;br /&gt;                this.x=this.o=b;&lt;br /&gt;                this.y=this.p=c;&lt;br /&gt;                this.k=this.h=d;&lt;br /&gt;                b=100;&lt;br /&gt;                this.a=b*(Math.random()-0.5);&lt;br /&gt;                this.c=b*(Math.random()-0.5);&lt;br /&gt;                this.l=3+Math.random()*98;&lt;br /&gt;                this.r=0.1+Math.random()*0.4;&lt;br /&gt;                this.e=0;&lt;br /&gt;                this.g=1;&lt;br /&gt;                this.i=false;&lt;br /&gt;                this.d=document.createElement("div");&lt;br /&gt;                this.d.className="particle";&lt;br /&gt;                this.style=this.d.style;&lt;br /&gt;                h="#"+h;&lt;br /&gt;                if(u){&lt;br /&gt;                    this.d.innerHTML=".";&lt;br /&gt;                    this.style.fontFamily="Monospace";&lt;br /&gt;                    this.style.color=h;&lt;br /&gt;                    this.style.fontSize="100px";&lt;br /&gt;                    this.style.lineHeight=0;&lt;br /&gt;                    this.style.cursor="default"&lt;br /&gt;                }else{&lt;br /&gt;                    this.d.className+=" circle";&lt;br /&gt;                    this.style.backgroundColor=h&lt;br /&gt;                }&lt;br /&gt;                t.appendChild(this.d);&lt;br /&gt;                this.m=function(){&lt;br /&gt;                    t.removeChild(this.d)&lt;br /&gt;                };&lt;br /&gt;                this.update=function(){&lt;br /&gt;                    this.x+=this.a;&lt;br /&gt;                    this.y+=this.c;&lt;br /&gt;                    this.a=Math.min(50,Math.max(-50,(this.a+(n+p)/this.h)*0.92));&lt;br /&gt;                    this.c=Math.min(50,Math.max(-50,(this.c+o/this.h)*0.92));&lt;br /&gt;                    var e=g-this.x,f=j-this.y,i=Math.sqrt(e*e+f*f);&lt;br /&gt;                    e/=i;&lt;br /&gt;                    f/=i;&lt;br /&gt;                    if(i&lt; a){&lt;br /&gt;                        this.a-=e*this.l;&lt;br /&gt;                        this.c-=f*this.l;&lt;br /&gt;                        this.e+=(0.005-this.e)*0.4;&lt;br /&gt;                        this.g=Math.max(0,this.g*0.9- 0.01);&lt;br /&gt;                        this.a*=1-this.g;&lt;br /&gt;                        this.c*=1-this.g&lt;br /&gt;                    }else{&lt;br /&gt;                        this.e+=(this.r-this.e)*0.005;&lt;br /&gt;                        this.g=Math.min(1,this.g+0.03)&lt;br /&gt;                    }&lt;br /&gt;                    e=this.o-this.x;&lt;br /&gt;                    f=this.p-this.y;&lt;br /&gt;                    i=Math.sqrt(e*e+f*f);&lt;br /&gt;                    this.a+=e*this.e;&lt;br /&gt;                    this.c+=f*this.e;&lt;br /&gt;                    this.k=this.h+i/8;&lt;br /&gt;                    this.i=i&lt; 0.3&amp;&amp;this.a&lt; 0.3&amp;&amp;this.c&lt; 0.3;&lt;br /&gt;                    if(!this.i){&lt;br /&gt;                        if(!u)this.style.width=this.style.height=this.k*2+"px";&lt;br /&gt;                        this.style.left=this.x-(u?20:0)+"px";&lt;br /&gt;                        this.style.top=this.y+"px"&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }catch(G){&lt;br /&gt;            alert(G);&lt;br /&gt;        };&lt;br /&gt;        google.doodle.init();&lt;br /&gt;    })();&lt;br /&gt;    &lt;br /&gt;&lt;/script&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-7197006511752034469?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/7197006511752034469/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=7197006511752034469' title='10 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/7197006511752034469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/7197006511752034469'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/09/google-doodle-moving-circles-google.html' title='Google Doodle (moving/bouncing circles logo) source code'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_V8nzWzsNuBU/TIa_RzIv6RI/AAAAAAAAAD0/Dh8-uA1vKGk/s72-c/googledoodle.png' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-4169841214438525832</id><published>2010-06-30T08:28:00.007-04:00</published><updated>2010-07-03T23:54:52.797-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><category scheme='http://www.blogger.com/atom/ns#' term='Optimisation'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Mod_deflate (Compression apache) ou comment optimiser le poids de vos pages web</title><content type='html'>Ça faisait un bout de temps que Firebug (outil de développement pour Firefox qui permet de dominer le monde) me disait: «Compresse tes pages pour optimiser ton site». Alors hier, j'ai décidé de m'y mettre!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Il y a plusieurs méthodes pour optimiser la vitesse de votre site web. Je vais vous parler ici de la compression de vos fichiers pour que les navigateurs téléchargent plus rapidement votre site web. En gros, apache va compresser tous les fichiers textes avant de les envoyer au navigateur de votre visiteur ce qui réduira de BEAUCOUP la taille de votre site et augmentera la vitesse de chargement. Il existe 2 façons d'activer la compression sur apache: deflate et gzip. J'ai utilisé deflate car c'est plus simple à mettre en oeuvre. Alors on commence !?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Il faut donc ouvrir le fichier de configuration d'apache (httpd.conf) et chercher une ligne du genre :&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;LoadModule deflate_module modules/mod_deflate.so&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vous devez la dé-commenter en enlevant le # qui précède LoadModule . Si la ligne n'est pas commenté, vous êtes privilégié de Dieu. En passant, cherchez «mod_deflate» dans votre fichier httpd.conf plutôt que la ligne complète car elle pourrait varier d'un serveur à l'autre. Tant qu'il s'agit d'une ligne qui commence par LoadModule, c'est la bonne.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Une fois que vous avez activez le module mod_deflate, vous ajoutez les lignes suivantes à votre fichier de configuration  (à la fin du fichier pour mieux se retrouver):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE text/plain&lt;/div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE text/html&lt;/div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE text/xml&lt;/div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE text/css&lt;/div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE application/xml&lt;/div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE application/xhtml+xml&lt;/div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE application/rss+xml&lt;/div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE application/javascript&lt;/div&gt;&lt;div&gt;AddOutputFilterByType DEFLATE application/x-javascript&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;* La compression sera activée pour les fichiers html, txt, xml, css, js .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vous enregistrez le fichier httpd.conf et vous redémarrez apache.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Voilà!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;À titre d'exemple, j'ai activé la compression pour le site ecoutez.ca. Une page pèse environ 520 ko, avec la compression elle pèse maintenant 3o ko .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;À vous de juger!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-4169841214438525832?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/4169841214438525832/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=4169841214438525832' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/4169841214438525832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/4169841214438525832'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/06/moddeflate-compression-apache-ou.html' title='Mod_deflate (Compression apache) ou comment optimiser le poids de vos pages web'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-5892609069909626629</id><published>2010-06-20T09:13:00.002-04:00</published><updated>2010-06-20T09:32:57.904-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Holga'/><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><category scheme='http://www.blogger.com/atom/ns#' term='Pellicule'/><category scheme='http://www.blogger.com/atom/ns#' term='Photographie argentique'/><category scheme='http://www.blogger.com/atom/ns#' term='Lubitel'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Photo Argentique - La loi de sunny 16 (comment prendre une photo sans posemètre)</title><content type='html'>Je vais publier plusieurs articles sur les techniques de photo argentique. Je ne crois pas que ce sera utile à grand monde, mais je trouverais ça dommage que ça se perde. Alors pour commencer, voici la règle de sunny 16 qui vous permet d'évaluer l'ouverture et la vitesse sans avoir recours à un posemètre. C'est particulièrement utile lorsque vous utilisez une toy camera (Holga, Lubitel,...) et toutes vieilles caméras qui n'a pas de posemètre intégré.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La règle est relativement simple.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Réglez la vitesse d'obturation au même chiffre que le iso de votre film. C'est possible que vous n'ayez pas la même vitesse sur votre caméra que le iso de votre film, dans ce cas prenez le chiffre le plus proche.&lt;/div&gt;&lt;div&gt;Ex: Film ISO 100 - on règle la vitesse à 1/125&lt;/div&gt;&lt;div&gt;Film ISO 400 - vitesse 1/500&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ensuite vous pouvez régler l'ouverture comme suit:&lt;/div&gt;&lt;div&gt;Au soleil (avec neige ou sable) : f22&lt;/div&gt;&lt;div&gt;Au soleil : f16&lt;/div&gt;&lt;div&gt;Partiellement nuageux : f11&lt;/div&gt;&lt;div&gt;Nuageux : f8&lt;/div&gt;&lt;div&gt;Très nuageux : f5.6&lt;/div&gt;&lt;div&gt;À l'ombre : f4&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Donc voici un exemple complet :&lt;/div&gt;&lt;div&gt;Journée ensoleillé avec un film 100 ISO&lt;/div&gt;&lt;div&gt;ISO 100 - 1/125 - f16&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Journée nuageuse avec un film 400&lt;/div&gt;&lt;div&gt;ISO 400 - 1/500 - f8&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Biensûr avec la réciprocité vous pouvez créer d'autres couples équivalents. Il s'agit seulement d'une mesure de base. Voici d'autres couples(vitesse/ouverture) à partir des exemples ci-dessus:&lt;/div&gt;&lt;div&gt;&lt;div&gt;ISO 100 - 1/125 - f16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;ou&lt;/div&gt;&lt;div&gt;&lt;div&gt;ISO 100 - 1/60 - f22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;ISO 100 - 1/250 - f11&lt;/div&gt;&lt;div&gt;ISO 100 - 1/500 - f8&lt;/div&gt;&lt;div&gt;ISO 100 - 1/1000 - f5.6&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;ISO 400 - 1/500 - f8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;ou&lt;/div&gt;&lt;div&gt;&lt;div&gt;ISO 400 - 1/1000 - f5.6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;ISO 400 - 1/250 - f11&lt;/div&gt;&lt;div&gt;ISO 400 - 1/125 - f16&lt;/div&gt;&lt;div&gt;ISO 400 - 1/60 - f22&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-5892609069909626629?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/5892609069909626629/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=5892609069909626629' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/5892609069909626629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/5892609069909626629'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/06/photo-argentique-la-loi-de-sunny-16.html' title='Photo Argentique - La loi de sunny 16 (comment prendre une photo sans posemètre)'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-4450999138577513852</id><published>2010-05-11T08:22:00.004-04:00</published><updated>2010-05-11T08:32:58.537-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='industrie'/><category scheme='http://www.blogger.com/atom/ns#' term='médias'/><category scheme='http://www.blogger.com/atom/ns#' term='journaux'/><title type='text'>La Presse gratuite !?!?</title><content type='html'>Ça fait maintenant 2 matins qu'en prenant le métro on m'offre La Presse gratuitement. Je ne sais pas s'il s'agit d'une stratégie Anti Journal de Montréal, mais par hasard ça tombe le lendemain des parties de hockey.&lt;br /&gt;&lt;br /&gt;C'est moi ou ils vivent sur une autre planète? Les médias imprimés sont en crise, non?&lt;br /&gt;&lt;br /&gt;C'est certainement pas en me donnant La Presse que je vais finir par l'acheter... surtout si le cover c'est les Canadiens...&lt;br /&gt;&lt;br /&gt;Une entrevue choc avec Crosby qui pleure comme une fillette parce qu'il n'est plus capable de supporter les insultes de la foule. P-e que j'aurais payé pour lire ça. Mais pour savoir les détails de la game d'hier (si ça m'intéressait), le JDM reste plus facile. En plus, on l'ouvre par la fin et voilà!&lt;br /&gt;&lt;br /&gt;Y'a de bonnes idées dans le dernier Infopresse, peut-être que DiGesca devrait le lire...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-4450999138577513852?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/4450999138577513852/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=4450999138577513852' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/4450999138577513852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/4450999138577513852'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/05/la-presse-gratuite.html' title='La Presse gratuite !?!?'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-8334805542537208980</id><published>2010-04-13T17:40:00.011-04:00</published><updated>2011-11-28T08:19:37.030-05:00</updated><title type='text'>Utiliser la police de votre choix avec CSS (Sans Typeface,Javascript,...) (Firefox, Safari, Chrome, IE 6-7-8)</title><content type='html'>&lt;script type="text/javascript"&gt;window.location.href = 'http://mongo.ca/post/13451921477/utiliser-la-police-de-votre-choix-avec-css-sans';&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Je ne suis pas designer. Alors moi utiliser une autre font que Verdana ça n'as jamais été un problème. Seulement en tant que programmeur ça me fait toujours rager d'inclure plusieurs fichiers javascripts dans une page web. Surtout quand ils n'ont pas été écrit par moi. Jusqu'à aujourd'hui, j'utilisais(ou plutôt, les designers avec qui j'ai travaillé utilisaient) typeface.js qui permet d'utiliser la police de votre choix sur votre site web. C'est bien beau... Mais typeface reste un script javascript qui recréé à la volée votre texte sous forme d'image en utilisant plusieurs techniques (dépendant du navigateur) assez demandante. De plus, si vous utilisez document.domain = 'domaine.com' dans votre code javascript pour pouvoir communiquer en AJAX entre plusieurs sous-domaines, typeface ne fonctionnera tout simplement pas sur Firefox... J'ai fouillé et il semblerait qu'on ne peut accéder à la propriété .cssRules, nécessaire au démarrage de typeface, quand on a utiliser la variable document.domain.  Bref, de la merde. Quand on a la chance de faire quelque chose de relatif au design seulement en CSS, on en profite!&lt;br /&gt;&lt;br /&gt;Alors voici comment inclure le fichier ttf de votre choix à votre site web en CSS:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="css"&gt;&lt;br /&gt;@font-face { &lt;br /&gt;   font-family: "votre Police"; &lt;br /&gt;   src: url( /chemin/vers/votre/police.eot ); /* IE */ &lt;br /&gt;   src: local("vrai nom de la police"), url( /chemin/vers/votre/police.ttf ) format("truetype"); /* autres navigateurs */ &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;/* Vous pouvez maintenant utiliser votre police */ &lt;br /&gt;h1 {&lt;br /&gt;   font-family:"votre Police", verdana, helvetica, sans-serif;&lt;br /&gt;} &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Première question: c'est quoi un fichier .eot!?&lt;br /&gt;Il s'agit du format de police pris en charge par Internet Explorer. Pas de problème vous pouvez convertir votre fichier .ttf en .eot en allant à &lt;a href="http://ttf2eot.sebastiankippe.com/"&gt;http://ttf2eot.sebastiankippe.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Deuxième question: Pourquoi je dois écrire "vrai nom de la police" dans local()?&lt;br /&gt;L'instruction local() sert à charger une police sur l'ordinateur local si elle est présente. Vous éviterez alors au navigateur de télécharger votre police. Le nom qui doit se trouver dans local() est le nom d'origine de la font.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notes importantes&lt;/span&gt;&lt;br /&gt;- Vous pouvez définir font-family avec le nom de votre choix, mais il faudra utiliser ce nom pour l'attribuer à des éléments ou classes CSS.&lt;br /&gt;- Il faut toujours placer la ligne src: du fichier .eot en premier. (Sinon la police ne fonctionnera pas sur Internet Explorer)&lt;br /&gt;- Il faut toujours écrire local() avant le url() du fichier .ttf (Sinon Internet Explorer va charger votre fichier ttf inutilement)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Compatibilité avec les différents navigateurs&lt;/span&gt;&lt;br /&gt;Safari v3.1 et + : TrueType(.ttf) et OpenType(.otf)&lt;br /&gt;Safari iPhone : Police SVG&lt;br /&gt;Opera v10 et + : TrueType(.ttf), SVG(.svg) et OpenType(.otf)&lt;br /&gt;Internet Explorer v4 et + : Embedded OpenType (.eot)&lt;br /&gt;Firefox v3.5 et + : TrueType(.ttf) et OpenType(.otf)&lt;br /&gt;Chrome v4 et + : TrueType(.ttf) et OpenType(.otf)&lt;br /&gt;Netscape v4 et + : Portable Font Resource (.pfr)&lt;br /&gt;&lt;br /&gt;Référence : http://webfonts.info/wiki/index.php?title=@font-face_browser_support&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mise à jour&lt;/span&gt;&lt;br /&gt;Google (on les aime) offre maintenant une api qui simplifie tout ce processus :&lt;br /&gt;http://code.google.com/intl/fr/apis/webfonts/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-8334805542537208980?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/8334805542537208980/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=8334805542537208980' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/8334805542537208980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/8334805542537208980'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/04/utiliser-la-police-de-votre-choix-avec.html' title='Utiliser la police de votre choix avec CSS (Sans Typeface,Javascript,...) (Firefox, Safari, Chrome, IE 6-7-8)'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-8190519015568824084</id><published>2010-03-15T11:32:00.005-04:00</published><updated>2010-03-15T11:38:42.982-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outils'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Comment obtenir des statistiques sur son code source (nombre de lignes, mots, lettres)</title><content type='html'>Voici comment obtenir des statistiques comme le nombre de lignes, le nombre de lettres et le nombre de mots de plusieurs fichiers textes ou d'un dossier complet. Cette technique peut être utile pour vous vanter aux 2-3 personnes qui trouvent ça impressionnant d'avoir écrit beaucoup de lettres de code. &lt;br /&gt;&lt;br /&gt;Afficher le nombre de lignes:&lt;br /&gt;&lt;br /&gt;find . -name "*.php" -exec wc -l '{}' \; | awk '{ sum += $1 } END { print sum }'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Afficher le nombre de lettres:&lt;br /&gt;&lt;br /&gt;find . -name "*.php" -exec wc -m '{}' \; | awk '{ sum += $1 } END { print sum }'&lt;br /&gt;&lt;br /&gt;Afficher le nombre de mots:&lt;br /&gt;&lt;br /&gt;find . -name "*.php" -exec wc -w '{}' \; | awk '{ sum += $1 } END { print sum }'&lt;br /&gt;&lt;br /&gt;Vous aurez compris que vous pouvez changer *.php pour l'extension de votre choix. Aussi pour rechercher dans un autre dossier que le dossier actuel, changez find . -name ... pour find /le/dossier/ -name ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-8190519015568824084?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/8190519015568824084/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=8190519015568824084' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/8190519015568824084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/8190519015568824084'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/03/comment-obtenir-les-statistiques-de-son.html' title='Comment obtenir des statistiques sur son code source (nombre de lignes, mots, lettres)'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-5815002595810628669</id><published>2010-02-23T07:28:00.005-05:00</published><updated>2010-02-23T09:29:31.693-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Wave'/><title type='text'>Le seul et unique article favorable à Google Wave</title><content type='html'>Bon, je suis pas du genre : regardez, je pense et je tweet pour en parler, mais bon des fois ça s'impose.&lt;br /&gt;&lt;br /&gt;J'ai entendu pas mal de truc à propos de Google dernièrement. Majoritairement, des phrases comme: «Google est en train de se planter», «Je ne les suis plus», «Je comprends pas où il s'en vont»....&lt;br /&gt;&lt;br /&gt;Premièrement, pensez-vous vraiment que Google serait aussi riche si ses stratégies pouvait être comprises par le moindre petit twitteux partageur de lien  de SEO?&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;La cause de toute cette perte de confiance, est en grande partie liée au lancement de Google Buzz et Google Wave. Je ne parlerai pas de Google Buzz pour le moment, car moi le sooocial....&lt;br /&gt;&lt;br /&gt;Je ne vous apprendrai rien en vous disant que Google est une entreprise basée sur l'innovation. Qui dit innovation, dit avenir, dit pas encore fait, dit avant sont temps. Voilà un bon indice à propos de Wave. Et si on remplaçais le méchant nom de Google Wave, par disons GMail 2. Et si la petite fenêtre en bas à gauche (où c'est écrit Contacts et qu'il y a seulement votre mère) était rempli de vos contacts GMail. Je ne pourrais plus me passer de Google Wave.&lt;br /&gt;&lt;br /&gt;Je sais pas si vous êtes comme moi mais l'idée de GMail de grouper les messages en conversations, je trouve ça franchement pratique. Le seul problème c'est que ça devient vite lourd, pleins de bout d'anciens messages, etc... Si vous regardez Wave, vous avez le même principe mais en 1000 fois mieux! Pas besoin de toujours reposter le message original avec notre réponse en haut, même pas besoin d'attendre que la personne est fini d'écrire son message on le voit en direct et on peut comprendre d'avance. Wow! Personnellement, j'appelle ça de l'innovation. En plus de tout ça on peut facilement partager des liens, cartes, vidéos, gadgets, etc.... Aussi, c'est fini les CC, CCi bla bla bla bla geek-stufff-ça-intéresse-personne. On ajoute des personnes (avec des tites photos à côté) à notre conversation. Tout ce qu'il y a de plus naturel. &lt;br /&gt;&lt;br /&gt;Pas convaincu? .... Mangez de la marde!&lt;br /&gt;&lt;br /&gt;En conclusion, je penses que Google Wave n'est qu'une préparation à ce que sera les emails dans quelques années. C'est d'ailleurs sûrement pour cette raison que Google lance ce service en version Alpha.&lt;br /&gt;&lt;br /&gt;Sur ce, amusez-vous!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-5815002595810628669?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/5815002595810628669/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=5815002595810628669' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/5815002595810628669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/5815002595810628669'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/02/le-seul-et-unique-texte-favorable.html' title='Le seul et unique article favorable à Google Wave'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-6712679191072582480</id><published>2010-01-17T14:41:00.004-05:00</published><updated>2010-01-17T14:48:38.183-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='STM'/><category scheme='http://www.blogger.com/atom/ns#' term='Publicité'/><title type='text'>Nous dedans Vous - Le lien évident entre la STM et la sodomie</title><content type='html'>&lt;p&gt;Petite pensée pour nos chers amis de la STM qui auraient pu économiser sur la publicité et nous éviter une autre augmentation des tarifs.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_V8nzWzsNuBU/S1NoLcv7F8I/AAAAAAAAADE/dlhWCt85cWg/s1600-h/stm-nous-dedans-vous.png"&gt;&lt;img style="cursor:pointer; cursor:hand;height: 400px;" src="http://2.bp.blogspot.com/_V8nzWzsNuBU/S1NoLcv7F8I/AAAAAAAAADE/dlhWCt85cWg/s400/stm-nous-dedans-vous.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5427796521816627138" /&gt;&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/6739420603337772867-6712679191072582480?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/6712679191072582480/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=6712679191072582480' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/6712679191072582480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/6712679191072582480'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2010/01/nous-dedans-vous-le-lien-evident-entre.html' title='Nous dedans Vous - Le lien évident entre la STM et la sodomie'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_V8nzWzsNuBU/S1NoLcv7F8I/AAAAAAAAADE/dlhWCt85cWg/s72-c/stm-nous-dedans-vous.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-2042922841564529074</id><published>2009-12-17T19:16:00.005-05:00</published><updated>2010-04-28T23:34:45.737-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><category scheme='http://www.blogger.com/atom/ns#' term='OO'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Javascript : Ajouter des fonctions utiles à l'objet String</title><content type='html'>Heureusement Javascript est un langage assez facile à personnaliser. Je vous propose donc quelques ajouts à l'objet String qui vous permettront d'en faire plus avec moins de code(On aime ça!). &lt;br /&gt;&lt;br /&gt;L'objet string représente en fait une chaîne de caractères.&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;var text = "Bonjour"; //la variable text est un objet string&lt;br /&gt;&lt;br /&gt;var chiffre = 0; // la variable chiffre n'est pas un objet String&lt;br /&gt;&lt;br /&gt;//Voici comment la convertir en objet string&lt;br /&gt;chiffre = chiffre + ''; //si la variable a été définie plus haut&lt;br /&gt;var chiffre = 0+''; //ou encore lorsqu'on la définie&lt;br /&gt;&lt;br /&gt;//Lorsque vous obtenez la valeur d'un élément input, il s'agit d'un objet String&lt;br /&gt;var valeur = document.getElementById("id_du_input").value; //la variable valeur est maintenant un objet String&lt;br /&gt;&lt;br /&gt;//Vous pouvez aussi directement créer un objet String&lt;br /&gt;var texte = new String("Bonjour");&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;L'objet string comporte plusieurs méthodes et propriétés, voici les plus courantes (Pour une liste complète visitez &lt;a href="https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String" target="_blank"&gt;MDC Javascript 1.5 reference&lt;/a&gt; ) :  &lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;//On définie une variable pour l'exemple&lt;br /&gt;var texte = "Bonjour";&lt;br /&gt;&lt;br /&gt;/*********************&lt;br /&gt;  Propriétés&lt;br /&gt;**********************/&lt;br /&gt;&lt;br /&gt;////  length&lt;br /&gt;// Retourne le nombre de caractères d'une chaîne&lt;br /&gt;var longueur = texte.length; // Dans l'exemple, longueur = 7&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*********************&lt;br /&gt;  Méthodes&lt;br /&gt;**********************/&lt;br /&gt;&lt;br /&gt;////  toLowerCase()&lt;br /&gt;// Retourne le texte en lettres minuscules&lt;br /&gt;var minuscules = texte.toLowerCase("bonjour"); // minuscules = "bonjour"&lt;br /&gt;&lt;br /&gt;////  toUpperCase()&lt;br /&gt;// Retourne le texte en lettres majuscules&lt;br /&gt;var majuscules = texte.toUpperCase("bonjour"); //  majuscules = "BONJOUR"&lt;br /&gt;&lt;br /&gt;////  substr(debut [,longueur])&lt;br /&gt;//Retourne une partie d'une chaîne&lt;br /&gt;/ *le premier caractère est à la position 0*/&lt;br /&gt;var soustexte = texte.substr(3); // Réduit la chaîne à partir de la positon 3. Dans l'exemple, soustexte = "jour"&lt;br /&gt;var soustexte = texte.substr(1,3); // Réduit la chaîne à  3 caractères à partir de la position 1. soustexte = "onj"&lt;br /&gt;&lt;br /&gt;////  indexOf(texte)&lt;br /&gt;//Retourne la position d'un ou plusieurs caractères dans une chaîne&lt;br /&gt;//La fonction retourne la position du premier caractère trouvé&lt;br /&gt;//Retourne -1 si les caractères ne sont pas trouvés&lt;br /&gt;var position = texte.indexOf("o"); // position = 1&lt;br /&gt;var position = texte.indexOf("j"); // position = 3&lt;br /&gt;var position = texte.indexOf("ur"); // position = 5&lt;br /&gt;var position = texte.indexOf("z"); // position = -1&lt;br /&gt;&lt;br /&gt;////  lastIndexOf(texte)&lt;br /&gt;//Retourne la position d'un ou plusieurs caractères dans une chaîne&lt;br /&gt;//La fonction retourne la position du premier caractère trouvé&lt;br /&gt;//Retourne -1 si les caractères ne sont pas trouvés&lt;br /&gt;var position = texte.lastIndexOf("o"); //  position = 4&lt;br /&gt;&lt;br /&gt;////  split(separateur)&lt;br /&gt;//Retourne un tableau contenant la chaîne séparé selon le séparateur&lt;br /&gt;//Si le séparateur n'est pas trouvé on retourne un tableau avec comme seul élément la chaîne.&lt;br /&gt;var phrase = "Je m'en suis rappelé hier comme si ça me serait arrivé demain."; //Jean Perron&lt;br /&gt;var tableau = phrase.split(" "); // Dans l'exemple, tableau = ["Je","m'en","suis","rappelé","hier","comme","si","ça","me","serait","arrivé","demain."];&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Bon! maintenant on peut commencer à ajouter des fonctions (méthodes) à l'objet String.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//trim()&lt;br /&gt;//retourne la chaîne sans les espaces au début et à la fin.&lt;br /&gt;String.prototype.trim = function () {&lt;br /&gt;    return this.replace(/^\s+|\s+$/g, "");&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//noaccent()&lt;br /&gt;//retourne la chaîne sans les accents (Vous pouvez en ajouter)&lt;br /&gt;String.prototype.noaccent = function() {&lt;br /&gt;  return this.replace(/[àâä]/gi,"a").replace(/[éèêë]/gi,"e").replace(/[îï]/gi,"i").replace(/[ôö]/gi,"o").replace(/[ùûü]/gi,"u");&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//ucfirst()&lt;br /&gt;//retourne la chaîne avec la première lettre en majuscule&lt;br /&gt;String.prototype.ucfirst = function() {&lt;br /&gt;  return (this.length == 1)? this.toUpperCase():(this.substr(0,1).toUpperCase()+this.substr(1));&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//ucwords()&lt;br /&gt;//retourne la chaîne avec la première lettre de chaque mot en majuscule&lt;br /&gt;String.prototype.ucwords = function() {&lt;br /&gt;  var words = this.split(" ");&lt;br /&gt;  var uwords = [];&lt;br /&gt;  for(var i = 0; i &lt; words.length; i++) {&lt;br /&gt;    uwords.push( ((words[i]+"").length == 1) ? (words[i]+"").toUpperCase():((words[i]+"").substr(0,1).toUpperCase()+(words[i]+"").substr(1)) );&lt;br /&gt;  }&lt;br /&gt;  return uwords.join(" "); //transforme un tableau en une chaîne&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Plus à venir...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-2042922841564529074?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/2042922841564529074/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=2042922841564529074' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/2042922841564529074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/2042922841564529074'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/12/javascript-ajouter-des-fonctions-utiles.html' title='Javascript : Ajouter des fonctions utiles à l&apos;objet String'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-1532201257492460123</id><published>2009-12-17T18:31:00.008-05:00</published><updated>2009-12-17T22:41:57.121-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Librairie'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><category scheme='http://www.blogger.com/atom/ns#' term='OO'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Créer un nouveau sélecteur jQuery pour rechercher dans le contenu HTML avec Javascript</title><content type='html'>Voici comment créer un nouveau sélecteur(selector) dans jQuery qui vous permettra de sélectionner des éléments qui contiennent le texte recherché. I s'agit d'un sélecteur semblable à :contains() mais il enlève les accents et ne tient pas compte de la casse.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;//Premièrement on ajoute une fonction à l'objet String pour pouvoir enlever les accents&lt;br /&gt;&lt;br /&gt;String.prototype.noaccent = function() {&lt;br /&gt;  return this.replace(/[àâä]/gi,"a").replace(/[éèêë]/gi,"e").replace(/[îï]/gi,"i").replace(/[ôö]/gi,"o").replace(/[ùûü]/gi,"u");&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//Ensuite on ajoute notre nouveau sélecteur :search() à l'objet jQuery&lt;br /&gt;jQuery.extend(jQuery.expr[':'], {&lt;br /&gt;&lt;br /&gt; 'search' : function(a,i,m) {&lt;br /&gt;  var content = ((a.textContent || a.innerText || '') +'').noaccent();&lt;br /&gt;  var words = m[3].noaccent().split(" ");&lt;br /&gt;  for(var j = 0; j &lt; words.length; j++) {&lt;br /&gt;   if(content.toLowerCase().indexOf( words[j].toLowerCase() ) &gt;= 0) {&lt;br /&gt;                            return true;&lt;br /&gt;                        }&lt;br /&gt;  }&lt;br /&gt;  return false;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Voilà c'est fait! Vous pouvez maintenant l'utiliser de la façon suivante :&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;//Cet exemple ajoute la classe "found" à tous les éléments li qui contiennent le texte montreal, montréal, Montreal ou Montréal&lt;br /&gt;&lt;br /&gt;$("ul li:search('montreal')").addClass("found");&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Un autre exemple complet avec le HTML qui permet d'afficher seulement les éléments qui contienne le texte saisi dans un textBox.&lt;br /&gt;&lt;br /&gt;Le HTML :&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;input type="text" class="query" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul class="list"&gt;&lt;br /&gt;  &lt;li&gt;Abercorn&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Acton Vale&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Adstock&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Aguanish&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Akulivik&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Akwesasne&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Albanel&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Albertville&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Alleyn-et-Cawood&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Alma&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Amherst&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Amos&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Amqui&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;L'Ancienne-Lorette&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Ange-Gardien&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;L'Ange-Gardien (La Côte-de-Beaupré)&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;L'Ange-Gardien (Les Collines-de-l'Outaouais)&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Angliers&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;L'Anse-Saint-Jean&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Armagh&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Arundel&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Asbestos&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;L'Ascension&lt;/li&gt;&lt;br /&gt;&lt;!-- ... --&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Et maintenant le javascript qui fait fonctionner le tout :&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$(function() {&lt;br /&gt;&lt;br /&gt;  //On ajoute un événement au TextBox lorsqu'une touche est pressé&lt;br /&gt;&lt;br /&gt;  $("input.query").keyup(function() {&lt;br /&gt;&lt;br /&gt;    //On stocke le texte saisi dans une variable&lt;br /&gt;    var query = jQuery.trim($(this).val());&lt;br /&gt;&lt;br /&gt;    if(!query.length) {&lt;br /&gt;      $("ul.list li").show(); // S'il n'y a pas de texte saisie (ou seulement des espaces) on affiche tous les éléments li&lt;br /&gt;    } else {&lt;br /&gt;&lt;br /&gt;      //Sinon on fait une boucle qui passe à travers tous les éléments li&lt;br /&gt;      $("ul.list li").each(function() {&lt;br /&gt;&lt;br /&gt;        if( $(this).is(":search('"+query+"')") ) {&lt;br /&gt;          $(this).show(); //Si l'élément contient le texte on l'affiche&lt;br /&gt;        } else {&lt;br /&gt;          $(this).hide(); //On cache tous les autres&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;      });&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;  });&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-1532201257492460123?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/1532201257492460123/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=1532201257492460123' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/1532201257492460123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/1532201257492460123'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/12/creer-un-nouveau-selecteur-jquery-pour.html' title='Créer un nouveau sélecteur jQuery pour rechercher dans le contenu HTML avec Javascript'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-4968646897389000691</id><published>2009-12-17T11:04:00.005-05:00</published><updated>2011-11-28T08:31:23.513-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Unix Timestamp en javascript - Équivalent de time() en PHP</title><content type='html'>&lt;script type="text/javascript"&gt;window.location.href = 'http://mongo.ca/post/13452296578/unix-timestamp-en-javascript-equivalent-de-time-en';&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Voici comment obtenir un timestamp en javascript comme la fonction time() en php.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;/////////////////////////////////////////////&lt;br /&gt;//Obtenir le timestamp actuel&lt;br /&gt;/////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;var timestamp = Math.round((new Date()).getTime()/1000);&lt;br /&gt;&lt;br /&gt;/***************************&lt;br /&gt;Note :&lt;br /&gt;La fonction getTime() en javascript retourne un timestamp en millisecondes, donc on divise par 1000 pour obtenir un timestamp en secondes&lt;br /&gt;***************************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/////////////////////////////////////////////&lt;br /&gt;//Obtenir le timestamp du 1er janvier 2009&lt;br /&gt;/////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;var timestamp = Math.round((new Date(2009,0,1)).getTime()/1000);&lt;br /&gt;&lt;br /&gt;/***************************&lt;br /&gt;Note :&lt;br /&gt;Les paramètres de Date sont :&lt;br /&gt;&lt;br /&gt;  Date(année,mois,jour)&lt;br /&gt;  Date(année,mois,jour,heures,minutes,secondes)&lt;br /&gt;&lt;br /&gt;Les mois commence à 0 donc le mois de janvier est 0 et non 1 et le mois de décembre est 11&lt;br /&gt;***************************/&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-4968646897389000691?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/4968646897389000691/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=4968646897389000691' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/4968646897389000691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/4968646897389000691'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/12/unix-timestamp-en-javascript-equivalent.html' title='Unix Timestamp en javascript - Équivalent de time() en PHP'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-719363644430368577</id><published>2009-12-06T12:53:00.012-05:00</published><updated>2009-12-21T20:46:43.332-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Portée des variables en Javascript (Variable scope)</title><content type='html'>&lt;h3&gt;Cacher des variables&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;En javascript toutes les variables déclarées dans une fonction ne sont visibles que dans cette fonction.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;function maFonction() {&lt;br /&gt;  var variableCachee = "une variable cachée";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;alert(variableCachee); // Retourne une erreur car la variable est inaccessible à l'extérieur de la fonction.&lt;br /&gt;&lt;br /&gt;/////////////////&lt;br /&gt;//Autre exemple//&lt;br /&gt;/////////////////&lt;br /&gt;&lt;br /&gt;// Variable globale&lt;br /&gt;var x = 0;&lt;br /&gt;&lt;br /&gt;(function() {&lt;br /&gt;&lt;br /&gt;  // Variable privée&lt;br /&gt;  var x = 1;&lt;br /&gt;  alert(x); // Renvoi 1&lt;br /&gt;&lt;br /&gt;})();&lt;br /&gt;&lt;br /&gt;alert(x); // Renvoie 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;En utilisant la technique de la fonction sans nom il est possible de "cacher" des variables pour qu'elles soient invisibles dans le reste du code javascript.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;(function() {&lt;br /&gt;&lt;br /&gt;  // Variable "cachées"&lt;br /&gt;  var varChache1 = 1;&lt;br /&gt;  var varChache2 = 1;&lt;br /&gt;  var varChache3 = 1;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;})();&lt;br /&gt;&lt;br /&gt;alert(varChache1); // retourne une erreur car la variable est seulement accessible à l'intérieur de la fonction sans nom&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;* La fonction sans nom est immédiatement exécutée grâce au 2 parenthèses à la fin "();".&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;La variable &lt;span style="font-style:italic;"&gt;this&lt;/span&gt;&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;En javascript la variable &lt;span style="font-style:italic;"&gt;this&lt;/span&gt; est relative à chaque fonction.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;function maFonction() {&lt;br /&gt;  &lt;br /&gt;  this.variable = "Ceci est une variable";&lt;br /&gt;&lt;br /&gt;  function autreFonction() {&lt;br /&gt;&lt;br /&gt;    alert(this.variable); //Retourne une erreur car this est maintenant relatif à autreFonction&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Une bonne pratique pour avoir accès au &lt;span style="font-style:italic;"&gt;this&lt;/span&gt; d'une fonction parente est de l'attribuée à une autre variable.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;function maFonction() {&lt;br /&gt;&lt;br /&gt;  //On attribue la variable this à une autre variable nommé self&lt;br /&gt;  var self = this;&lt;br /&gt;  &lt;br /&gt;  self.variable = "Ceci est une variable";&lt;br /&gt;&lt;br /&gt;  function autreFonction() {&lt;br /&gt;&lt;br /&gt;    alert(self.variable); //Retourne "Ceci est une variable"&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Si vous utilisez jQuery, cette technique est souvent utile car la variable &lt;span style="font-style:italic;"&gt;this&lt;/span&gt; fait souvent référence à l'élément en cours.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;$("#bouton").click(function() {&lt;br /&gt;&lt;br /&gt;  //On attribue l'élément en cours à une variable pour pouvoir l'utiliser dans les fonctions suivantes&lt;br /&gt;  var bouton = $(this);&lt;br /&gt;  &lt;br /&gt;  bouton.val("Chargement...");&lt;br /&gt;&lt;br /&gt;  //On fait par exemple une requète AJAX&lt;br /&gt;  $.get("/contact.php",function(data) {&lt;br /&gt;&lt;br /&gt;    //La variable «bouton», déclarée plus haut, nous permet d'accéder à l'élément «bouton» même à l'intérieur d'une autre fonction.&lt;br /&gt;    bouton.val("Terminé");&lt;br /&gt;&lt;br /&gt;  });&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-719363644430368577?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/719363644430368577/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=719363644430368577' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/719363644430368577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/719363644430368577'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/12/portee-des-variables-en-javascript.html' title='Portée des variables en Javascript (Variable scope)'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-4188250253687653451</id><published>2009-12-06T12:14:00.007-05:00</published><updated>2009-12-06T12:43:27.099-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Librairie'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Architecture Javascript pour entreprise avec Google Closure</title><content type='html'>Dernièrement j'ai fait beaucoup de recherche sur la façon de structurer son code javascript dans de gros projets web. Il n'y a pas vraiment d'informations sur le sujet car l'utilisation poussée de javascript est relativement récente. Mais comment doit-on organiser son code lorsqu'on bâtit une application web qui utilise AJAX et Javascript de façon intensive comme le fait Facebook ou GMail? Google offre depuis peu une solution à ce problème, &lt;a href="http://code.google.com/closure/"&gt;Google Closure&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Ce projet vient en 3 morceaux:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://code.google.com/closure/compiler/"&gt;Closure Compiler&lt;/a&gt;&lt;/span&gt; : Un compilateur javascript qui rassemble votre code en un seul fichier et supprime les commentaires, les espaces ainsi que les fonctions/variables inutilisées. Vous pouvez compiler votre code à l'aide de &lt;a href="http://closure-compiler.appspot.com/"&gt;l'outil en ligne&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://code.google.com/closure/library/"&gt;Closure Library&lt;/a&gt;&lt;/span&gt; : Une librairie javascript qui offre une grande quantité de fonctions utiles mais aussi de modules pour votre interface utilisateur (Bouton, Rich text editor, Tree view, etc...). Cette libraire est particulièrement utile car elle encourage les bonnes pratiques de programmation pour garantir une structure intelligente et la possibilité de réutiliser vos modules. Cette librairie est utilisée dans de gros projets web comme Google GMail.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://code.google.com/closure/templates/"&gt;Closure Templates&lt;/a&gt;&lt;/span&gt; : Un système de templates pour Javascript qui utilise un langage simple et efficace.&lt;br /&gt;&lt;br /&gt;Je n'ai pas encore utilisé activement Google Closure mais je prévoit en faire l'essai pour la nouvelle version de Écoutez.ca .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;À suivre...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-4188250253687653451?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/4188250253687653451/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=4188250253687653451' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/4188250253687653451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/4188250253687653451'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/12/architecture-javascript-pour-entreprise.html' title='Architecture Javascript pour entreprise avec Google Closure'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-3387239173525867244</id><published>2009-12-06T11:35:00.008-05:00</published><updated>2009-12-08T23:50:17.100-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Class'/><category scheme='http://www.blogger.com/atom/ns#' term='Programmation'/><category scheme='http://www.blogger.com/atom/ns#' term='OO'/><category scheme='http://www.blogger.com/atom/ns#' term='Objets'/><title type='text'>Objets et Classes Javascript pour débutants / Programmation orientée objet en Javascript (Public/Private/Static)</title><content type='html'>Voici une traduction d'un &lt;a href="http://www.komodomedia.com/blog/2008/09/javascript-classes-for-n00bs/"&gt;article&lt;/a&gt; fort intéressant publié sur le blog de &lt;a href="http://www.komodomedia.com/"&gt;Komodo Média&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cet article prend pour acquis que vous connaissez les bases de javascript et savez ce qu'est la &lt;a href="http://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_objet"&gt;programmation orientée objet&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Principe de base des classes en Javascript&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Voici comment déclarer une classe et création d'une instance de celle-ci :&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;//Déclaration de la classe&lt;br /&gt;function MaClasse() {&lt;br /&gt;//...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Création d'une instance de la classe&lt;br /&gt;var classe = new MaClasse();&lt;br /&gt;&lt;br /&gt;//Création d'une deuxième instance de la classe&lt;br /&gt;var classe2 = new MaClasse();&lt;br /&gt;&lt;br /&gt;//...&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Variables(propriétés) et Fonctions(méthodes) publiques&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Une variable ou une fonction publique est accessible à l'intérieur d'une classe et lorsque vous créez une instance de votre classe.&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;function MaClasse() {&lt;br /&gt;//...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Déclaration d'une variable publique&lt;br /&gt;MaClasse.prototype.variablePublique = "Ceci est une variable publique";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//Déclaration d'une fonction publique&lt;br /&gt;MaClasse.prototype.fonctionPublique = function() {&lt;br /&gt;alert(this.variablePublique);&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;//Création d'une instance de la classe&lt;br /&gt;var classe = new MaClasse();&lt;br /&gt;&lt;br /&gt;//Utilisation d'une fonction publique&lt;br /&gt;classe.fonctionPublique(); //Renvoie le texte contenu dans classe.variablePublique&lt;br /&gt;&lt;br /&gt;//Vous pouvez aussi modifier la valeur d'une variable publique&lt;br /&gt;classe.variablePublique = "Nouveau message";&lt;br /&gt;&lt;br /&gt;classe.fonctionPublique(); //Renvoie "Nouveau message"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Variables(propriétés) et Fonctions(méthodes) privées&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Les variables et fonctions privées sont accessibles seulement à l'intérieur de la classe et ne sont pas accessibles par l'instance de votre classe.&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;//Déclaration de la classe&lt;br /&gt;function MaClasse() {&lt;br /&gt;&lt;br /&gt; //on stocke la référence à this dans une variable.&lt;br /&gt; var self = this;&lt;br /&gt;&lt;br /&gt; //Déclaration d'une variable privée&lt;br /&gt; var variablePrivee = "Ceci est une variable privée";&lt;br /&gt;&lt;br /&gt; //Déclaration d'une variable publique&lt;br /&gt; this.variablePublique = "Ceci est une variable publique";&lt;br /&gt;&lt;br /&gt; //Déclaration d'une fonction privée&lt;br /&gt; var fonctionPrivee = function() {&lt;br /&gt;&lt;br /&gt;   alert(self.variablePrivee); //Renvoie la valeur de la variable privée&lt;br /&gt;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Création d'une instance de la classe&lt;br /&gt;var classe = new MaClasse();&lt;br /&gt;&lt;br /&gt;classe.fonctionPrivee(); //retourne une erreur car la fonction est privée&lt;br /&gt;&lt;br /&gt;alert(classe.variablePrivee); //retourne une ereur car la variable est privée&lt;br /&gt;&lt;br /&gt;alert(classe.variablePublique); //renvoie "Ceci est une variable publique"&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Variables(propriétés) et Fonctions(méthodes) statiques&lt;/h3&gt;&lt;br /&gt;Les variables et fonctions statiques n'ont pas accès au variables/fonctions privées et publiques.&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;//Déclaration de la classe&lt;br /&gt;function MaClasse() {&lt;br /&gt;&lt;br /&gt; //...&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;MaClasse.variableStatique = "Ceci est une variable statique";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MaClasse.fonctionStatique = function () {&lt;br /&gt;  &lt;br /&gt;  alert(MaClasse.variableStatique);&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;//Création d'une instance de la classe&lt;br /&gt;var classe = new MaClasse();&lt;br /&gt;&lt;br /&gt;classe.fonctionStatique(); //retourne une erreur car la fonction est statique est invisible par une instance de la classe&lt;br /&gt;&lt;br /&gt;//Une fonction statique est accessible directement à partir de la classe&lt;br /&gt;MaClasse.fonctionStatique(); // Renvoie "Ceci est une variable statique"; &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Variables(propriétés) et Fonctions(méthodes) privilégiées&lt;/h3&gt;&lt;br /&gt;Les variables et fonctions privilégiées ont accès aux variables/fonctions privées et publiques.&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;//Déclaration de la classe&lt;br /&gt;function MaClasse() {&lt;br /&gt;&lt;br /&gt; //on stocke la référence à this dans une variable.&lt;br /&gt; var self = this;&lt;br /&gt;&lt;br /&gt; //Déclaration d'une variable privée&lt;br /&gt; var variablePrivee = "Ceci est une variable privée";&lt;br /&gt;&lt;br /&gt; //Déclaration d'une fonction privée&lt;br /&gt; this.fonctionPrivilegiee = function() {&lt;br /&gt;&lt;br /&gt;   alert(self.variablePrivee); //Renvoie la valeur de la variable privée&lt;br /&gt;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Création d'une instance de la classe&lt;br /&gt;var classe = new MaClasse();&lt;br /&gt;&lt;br /&gt;classe.fonctionPrivilegiee(); //Renvoie la valeur de la variable privée&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Voilà, vous savez maintenant comment utiliser tout le pouvoir de la programmation orientée objet avec Javascript.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-3387239173525867244?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/3387239173525867244/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=3387239173525867244' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/3387239173525867244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/3387239173525867244'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/12/classes-javascript-pour-les-debutants.html' title='Objets et Classes Javascript pour débutants / Programmation orientée objet en Javascript (Public/Private/Static)'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-278593640410325606</id><published>2009-12-05T12:36:00.011-05:00</published><updated>2011-11-28T08:37:19.116-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Ajax Dialog box avec jQuery et jQuery UI</title><content type='html'>&lt;script type="text/javascript"&gt;window.location='http://mongo.ca/post/13452383797/ajax-dialog-box-avec-jquery-et-jquery-ui';&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Voici comment créer une Dialog Box dont le contenu est chargé par Ajax avec jQuery.&lt;br /&gt;&lt;br /&gt;Vous avez besoin de &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; et de &lt;a href="http://jqueryui.com/"&gt;jQuery UI&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;//Si vous n'avez pas déjà d'élément pour contenir le DialogBox&lt;br /&gt;$("&lt;div&gt;Chargement...&lt;/div&gt;").dialog().load("/adresse/dufichier.html");&lt;br /&gt;&lt;br /&gt;//Créé une DialogBox dans un élément avec l'id "dialog"&lt;br /&gt;$("#dialog").dialog().load("/adresse/dufichier.html");&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Vous pouvez aussi inclure les librairies jQuery et JQuery UI sans les télécharger en utilisant &lt;a href="http://code.google.com/apis/ajaxlibs/"&gt;le CDN de Google&lt;/a&gt; :&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Cette technique est pratique car si un visiteur à déjà le fichier javascript en cache (parce qu'il a visité un autre site qui utilisait le CDN Google) il n'aura pas besoin de le télécharger à nouveau. Votre site se chargera donc plus rapidement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-278593640410325606?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/278593640410325606/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=278593640410325606' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/278593640410325606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/278593640410325606'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/12/ajax-dialog-box-avec-jquery-et-jquery.html' title='Ajax Dialog box avec jQuery et jQuery UI'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-2720665276752428707</id><published>2009-12-05T12:26:00.005-05:00</published><updated>2009-12-05T15:27:15.366-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Images'/><category scheme='http://www.blogger.com/atom/ns#' term='Icônes'/><category scheme='http://www.blogger.com/atom/ns#' term='Liens'/><category scheme='http://www.blogger.com/atom/ns#' term='Webmaster'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Icônes gratuites pour sites web (Réseaux sociaux, Drapeaux, ...)</title><content type='html'>Voici quelques sites intéressants pour trouver des icônes gratuites et libres de droits.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Famfamfam&lt;/span&gt; (www.famfamfam.com)&lt;br /&gt;&lt;a href="http://www.famfamfam.com/lab/icons/silk/"&gt;Silk icons&lt;/a&gt;&lt;br /&gt;700 icônes 16x16 pixels . Probablement la librairie la plus complète et la mieux réalisée.&lt;br /&gt;&lt;a href="http://www.famfamfam.com/lab/icons/flags/"&gt;Drapeaux&lt;/a&gt;&lt;br /&gt;Tout les drapeaux du monde entier 16x16 pixels&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Komodo Média&lt;/span&gt; (www.komodomedia.com)&lt;br /&gt;&lt;a href="http://www.komodomedia.com/download/"&gt;Réseaux Sociaux&lt;/a&gt;&lt;br /&gt;Icônes 16x16 pixels et 32x32 pixels des réseaux sociaux comme Facebook, Youtube, MySpace, ....&lt;br /&gt;Très belles icônes et beaucoup de réseaux sociaux.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Si vous connaissez d'autres adresses, n'hésitez pas à les partager en écrivant un commentaire à cet article.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-2720665276752428707?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/2720665276752428707/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=2720665276752428707' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/2720665276752428707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/2720665276752428707'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/12/icones-gratuites-pour-sites-web-reseaux.html' title='Icônes gratuites pour sites web (Réseaux sociaux, Drapeaux, ...)'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-482440773029597959</id><published>2009-10-01T07:31:00.004-04:00</published><updated>2009-12-06T12:44:43.394-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Recherche'/><category scheme='http://www.blogger.com/atom/ns#' term='Musique'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Télécharger de la musique gratuitement à partir de Google</title><content type='html'>J'ai découvert ce nouveau truc dernièrement et je dois dire que c'est assez efficace. En utilisant tout le potentiel du moteur de recherche Google vous pouvez arriver à chercher seulement les fichiers MP3 disponible gratuitement sur le web. Vous n'avez qu'à chercher ceci dans Google :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;intitle:index.of -html -htm -download mp3 [mot clés]&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vous devez biensûr remplacer [mot clés] (y compris les crochets) par le nom de l'artiste ou de la chanson que vous cherchez&lt;br /&gt;&lt;br /&gt;De cette façon Google ne vous donnera que les fichiers mp3 téléchargeables. Il faut cependant faire attention car beaucoup de sites créent de fausses pages qui donne l'impression qu'il s'agit d'une liste de fichiers mp3 mais en fait ce sont des liens vers de la publicité.&lt;br /&gt;&lt;br /&gt;Amusez-vous!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-482440773029597959?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/482440773029597959/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=482440773029597959' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/482440773029597959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/482440773029597959'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/10/telecharger-de-la-musique-gratuitement.html' title='Télécharger de la musique gratuitement à partir de Google'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-6783889078264471810</id><published>2009-08-23T17:45:00.014-04:00</published><updated>2011-11-28T08:26:48.561-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outils'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Géographie'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Liste des villes du Québec au format XML - Base de données avec coordonnées géographiques(latitude/longitude)</title><content type='html'>&lt;script type="text/javascript"&gt;window.location.href = 'http://mongo.ca/post/13452193856/liste-des-villes-du-quebec-au-format-xml-base-de';&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Lors du développement de &lt;a href="http://www.ecoutez.ca/"&gt;Écoutez.ca&lt;/a&gt; nous avons développé une liste de toutes les villes du Québec avec leur régions administratives. Comme je crois beaucoup au web ouvert, j'ai décidé de rendre accessible cette liste pour les webmestres et programmeurs web qui voudraient l'utiliser pour leur site. Pour le moment, je vous fournis 2 fichiers XML. Le premier contient la liste des villes seulement et le deuxième la liste des villes avec leur région et le positionnement géographique(latitude et longitude, disponible pour toutes les villes, merci à &lt;a href="http://www.simonpouliot.com/" target="_blank"&gt;Simon Pouliot&lt;/a&gt;). Vous pouvez facilement utiliser ces fichiers XML pour entrer l'information dans une base de données MySQL ou pour créer un SELECT BOX dans un formulaire HTML.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Le premier fichier est organisé de cette façon (&lt;a href="http://www.ecoutez.ca/xml/villes_du_quebec.xml"&gt;Téléchargez ce fichier&lt;/a&gt;):&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&amp;lt;?xml version='1.0' encoding='utf-8'?&amp;gt;&lt;br /&gt;&amp;lt;cities&amp;gt;&lt;br /&gt;&amp;lt;city&amp;gt;Abercorn&amp;lt;/city&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- ... --&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/cities&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Voici un exemple en PHP pour afficher une SELECT BOX à partir du fichier XML 1 :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Avec SimpleXML :&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$xml = simplexml_load_file("/chemin/vers/fichier/villes_du_quebec.xml");&lt;br /&gt;&lt;br /&gt;echo "&amp;lt;select name='city'&amp;gt;";&lt;br /&gt;&lt;br /&gt;foreach($xml-&amp;gt;city as $city) {&lt;br /&gt; echo "&amp;lt;option&amp;gt;".$city."&amp;lt;/option&amp;gt;";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;echo "&amp;lt;/select&amp;gt;";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Sans SimpleXML&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;  $xml = "";&lt;br /&gt;  $f = fopen( '/chemin/vers/fichier/villes_du_quebec.xml', 'r' );&lt;br /&gt;  while( $data = fread( $f, 4096 ) ) { $xml .= $data; }&lt;br /&gt;  fclose( $f );&lt;br /&gt;  &lt;br /&gt;  preg_match_all( "/\&lt;city\&gt;\&lt;\!\[CDATA\[(.*?)\]\]\&gt;\&lt;\/city\&gt;/s", &lt;br /&gt;  $xml, $cities );&lt;br /&gt;  &lt;br /&gt;  echo "&amp;lt;select name='city'&amp;gt;";&lt;br /&gt;&lt;br /&gt;  foreach( $cities[1] as $city ) {&lt;br /&gt;    echo "&amp;lt;option&amp;gt;".$city."&amp;lt;/option&amp;gt;";&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  echo "&amp;lt;/select&amp;gt;";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Le deuxième fichier contient les coordonnées géographiques des villes. Il s'organise de la façon suivante : (&lt;a href="http://www.ecoutez.ca/xml/villes_du_quebec_plus_2.xml"&gt;Téléchargez ce fichier&lt;/a&gt;)&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&amp;lt;?xml version='1.0' encoding='utf-8'?&amp;gt;&lt;br /&gt;&amp;lt;cities&amp;gt;&lt;br /&gt;&amp;lt;city&amp;gt;&lt;br /&gt;  &amp;lt;name&amp;gt;Abercorn&amp;lt;/name&amp;gt;&lt;br /&gt;  &amp;lt;region&amp;gt;Montérégie&amp;lt;/region&amp;gt;&lt;br /&gt;  &amp;lt;lat&amp;gt;45.032999&amp;lt;/lat&amp;gt;&lt;br /&gt;  &amp;lt;lng&amp;gt;-72.663057&amp;lt;/lng&amp;gt;&lt;br /&gt;&amp;lt;/city&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- ... --&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/cities&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Crédits&lt;/h4&gt;&lt;br /&gt;David Mongeau-Petitpas&lt;br /&gt;Benoit Tétreault&lt;br /&gt;Simon Pouliot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/ca/"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/2.5/ca/88x31.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type"&gt;Liste des villes du Qu&amp;#233;bec au format XML&lt;/span&gt; par &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://www.ecoutez.ca/" property="cc:attributionName" rel="cc:attributionURL"&gt;Ecoutez.ca&lt;/a&gt; est mis &amp;#224; disposition selon les termes de la &lt;a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/ca/"&gt;licence Creative Commons Paternit&amp;#233;-Partage des Conditions Initiales &amp;#224; l'Identique 2.5 Canada&lt;/a&gt;.&lt;br /&gt;Bas&amp;#233;(e) sur une oeuvre &amp;#224; &lt;a xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://www.ecoutez.ca/xml/villes_du_quebec_plus_2.xml" rel="dc:source"&gt;www.ecoutez.ca&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-6783889078264471810?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/6783889078264471810/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=6783889078264471810' title='7 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/6783889078264471810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/6783889078264471810'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2008/10/liste-des-villes-du-qubec-au-format-xml.html' title='Liste des villes du Québec au format XML - Base de données avec coordonnées géographiques(latitude/longitude)'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-7815533040995866593</id><published>2009-05-28T09:53:00.003-04:00</published><updated>2009-05-28T09:57:11.103-04:00</updated><title type='text'>Service d'intégration web</title><content type='html'>J'offre mes services d'intégration web pour les designers et entreprises de création de sites web. Je suis spécialisé PHP/MySQL et Javascript. Vous pouvez me contacter en tout temps à dmongeau_petitpas@ecoutez.ca .&lt;br /&gt;&lt;br /&gt;Voici quelques exemples de sites :&lt;br /&gt;&lt;a href="http://www.boiteamusique.ca/"&gt;http://www.boiteamusique.ca&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.uniondufeu.ca/"&gt;http://www.uniondufeu.ca&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.guillaumearsenault.com/"&gt;http://www.guillaumearsenault.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cinematproductions.com/"&gt;http://www.cinematproductions.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-7815533040995866593?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/7815533040995866593/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=7815533040995866593' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/7815533040995866593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/7815533040995866593'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2009/05/services-dintegration-web.html' title='Service d&apos;intégration web'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-3127833311476016070</id><published>2008-10-30T12:36:00.015-04:00</published><updated>2008-11-20T15:20:45.725-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Myspace'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Petit cours de balises HTML et de CSS pour les pages MySpace et les réseaux sociaux</title><content type='html'>Cet article vise à aider les utilisateurs de MySpace et autre réseaux sociaux qui donne la possibilité d'utiliser du HTML et CSS dans leurs pages.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:18;" &gt;HTML&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Le langage HTML est à la base de TOUTES les pages web que vous visitez, même les sites en FLASH. Ce langage est constitué de balises qui organise le texte ou l'informations (Images, vidéos, etc...). Un document HTML typique se constitue de la façon suivante :&lt;br /&gt;&lt;br /&gt;&lt;div class="sourcecode"&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Le titre de votre page&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;Contenu de votre page web...&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;La compréhension de la structure d'un document HTML n'est pas très importante lorsqu'on ne créé pas une page en totalité. Le plus important à retenir est que le langage HTML se compose de balises (ex:&amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;) et que celles-ci doivent être refermées &lt;span style="text-decoration: line-through; color: rgb(204, 0, 0);"&gt;(ex:&amp;lt;div&amp;gt;Bonjour)&lt;/span&gt; &lt;span style="color: rgb(0, 204, 102);"&gt;(ex:&amp;lt;div&amp;gt;Bonjour&amp;lt;/div&amp;gt;)&lt;/span&gt;. Vous aurez compris que la balise de fermeture comprend un «/». Ces balises ne sont bien entendue pas visibles par l'utilisateur final qui consulte la page avec un navigateur comme Firefox.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:18;" &gt;Balises HTML utiles pour les pages MySpace&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;a href="http://www.ecoutez.ca"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;exemple de texte&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt; : créé un lien vers http://www.ecoutez.ca avec le texte «exemple de texte»&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;img src="http://www.ecoutez.ca/image.jpg" /&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&amp;gt;&lt;/span&gt; : affiche l'image http://www.ecoutez.ca/image.jpg (cette balise n'a pas besoin d'une balise de fermeture mais demande un «/» avant la fin.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;exemple de texte&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt; : délimite un paragraphe&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;exemple de texte&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt; : délimite une boîte de texte (avec changement de ligne après)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;exemple de texte&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt; : délimite une boîte de texte (sans changement de ligne)&lt;br /&gt;&lt;br /&gt;La différence entre une balise &amp;lt;span&amp;gt;&amp;lt;/span&amp;gt; et &amp;lt;div&amp;gt;&amp;lt;/div&amp;gt; est le changement de ligne après la balise. Si vous voulez isoler un mot dans une phrase vous devez utiliser la balise &amp;lt;span&amp;gt;&amp;lt;/span&amp;gt; car elle ne brisera pas votre phrase avec un changement de ligne.&lt;br /&gt;&lt;div class="sourcecode"&gt;&lt;br /&gt;&amp;lt;span&amp;gt;Bonjour,&amp;lt;/span&amp;gt; ce blog ...&lt;br /&gt;&lt;strong&gt;Affiche :&lt;/strong&gt;&lt;br /&gt;&lt;span&gt;Bonjour,&lt;/span&gt; ce blog ...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sourcecode"&gt;&lt;br /&gt;&amp;lt;div&amp;gt;Bonjour,&amp;lt;/div&amp;gt; ce blog ...&lt;br /&gt;&lt;strong&gt;Affiche :&lt;/strong&gt;&lt;br /&gt;&lt;div&gt;Bonjour,&lt;/div&gt; ce blog ...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Maintenant que vous connaissez les principales balises HTML, il est temps de leur trouver une utilité!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:18;" &gt;CSS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Le CSS est un langage ajouté au HTML qui permet de définir le style de votre page. Vous pouvez ajouter à toutes vos balises HTML un paramètre style="" contenant les informations de mise en forme (ex:&amp;lt;div style="font-weight:bold;"&amp;gt;Bonjour&amp;lt;/div&amp;gt;  affiche le texte contenu dans la balise &amp;lt;div&amp;gt;&amp;lt;/div&amp;gt; en gras)&lt;br /&gt;&lt;br /&gt;Voici les principaux paramètres CSS:&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="600" style="margin:0; padding:0;"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr align="left" valign="top"&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);" width="150"&gt;&lt;br /&gt;&lt;strong&gt;Détails&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;strong&gt;Valeurs&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr align="left" valign="top"&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;strong&gt;font-size&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;Définir la taille du texte&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Valeurs possibles:&lt;/strong&gt;&lt;br /&gt;&amp;lt;chiffre&amp;gt; px&lt;br /&gt;&lt;br /&gt;ex: font-size:14px;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr align="left" valign="top"&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;strong&gt;font-weight&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;Définir l'épaisseur du texte&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Valeurs possibles:&lt;/strong&gt;&lt;br /&gt;normal&lt;br /&gt;bold&lt;br /&gt;&lt;br /&gt;ex: font-weight:bold;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr align="left" valign="top"&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;strong&gt;color&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;Définir la couleur du texte&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Valeurs possibles:&lt;/strong&gt;&lt;br /&gt;#&amp;lt;valeur hexadécimale&amp;gt;&lt;br /&gt;&amp;lt;nom de la couleur&amp;gt;&lt;br /&gt;&lt;br /&gt;ex: color:#ffffff;&lt;br /&gt;ex: color:red;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr align="left" valign="top"&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;strong&gt;background&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border-bottom: 1px solid rgb(204, 204, 204);"&gt;&lt;br /&gt;Définir l'arrière-plan&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Valeurs possibles:&lt;/strong&gt;&lt;br /&gt;#&amp;lt;valeur hexadécimale&amp;gt;&lt;br /&gt;&amp;lt;nom de la couleur&amp;gt;&lt;br /&gt;url(&amp;lt;adresse de l'image&amp;gt;) no-repeat&lt;br /&gt;&lt;br /&gt;ex: background:#ffffff;&lt;br /&gt;ex: background:red;&lt;br /&gt;ex: background:url(http://www.ecoutez.ca/image.jpg) no-repeat;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Je vais ajouter peu à peu d'autres paramètres CSS et d'autres balises HTML.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-3127833311476016070?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/3127833311476016070/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=3127833311476016070' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/3127833311476016070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/3127833311476016070'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2008/10/petit-cours-de-balises-html-et-de-css.html' title='Petit cours de balises HTML et de CSS pour les pages MySpace et les réseaux sociaux'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-5911545178147048600</id><published>2008-10-30T09:38:00.002-04:00</published><updated>2008-10-30T09:41:14.835-04:00</updated><title type='text'>BoosterBlog</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.boosterblog.com" target="_blank"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 80px;" src="http://3.bp.blogspot.com/_V8nzWzsNuBU/SQm5R014VJI/AAAAAAAAACU/S5hGNrT_SMQ/s320/logo.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5262941355452683410" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-5911545178147048600?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/5911545178147048600/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=5911545178147048600' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/5911545178147048600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/5911545178147048600'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2008/10/boosterblog.html' title='BoosterBlog'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_V8nzWzsNuBU/SQm5R014VJI/AAAAAAAAACU/S5hGNrT_SMQ/s72-c/logo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-584343776617183128</id><published>2008-10-28T17:14:00.005-04:00</published><updated>2008-10-30T10:00:05.958-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><title type='text'>Votez pour mes photos sur JPG Mag</title><content type='html'>&lt;p&gt;&lt;script language="Javascript" src="http://box.jpgmag.com/badge.php?person=dmongeau&amp;theme=148"&gt;&lt;/script&gt;&lt;script language="Javascript" src="http://box.jpgmag.com/badge.php?person=dmongeau&amp;theme=12"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-584343776617183128?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/584343776617183128/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=584343776617183128' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/584343776617183128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/584343776617183128'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2008/10/votez-pour-ma-photo-sur-jpg-mag.html' title='Votez pour mes photos sur JPG Mag'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6739420603337772867.post-5275454614570707544</id><published>2008-10-27T20:55:00.015-04:00</published><updated>2008-10-28T03:18:37.491-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Myspace'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Trucs'/><title type='text'>Un petit truc pour éviter que votre page MySpace EXPLOSE!</title><content type='html'>&lt;p&gt;En me promenant sur MySpace pour chercher des groupes du Québec pour &lt;a href="http://www.ecoutez.ca/"&gt;Écoutez.ca&lt;/a&gt;, j'ai remarqué une erreur d'affichage sur la plupart des pages MySpace. Beaucoup utilisent des widgets Flash ou des vidéos YouTube sur leur page. Le chargement peut parfois être long et les widgets se mettent à apparaître un après l'autre ce qui a pour conséquence d'agrandir la page et de déplacer le lien où vous alliez cliquer. Voici la solution pour que votre page s'ouvre avec la bonne taille. Fini les liens qui se retrouvent 1 km plus bas après le chargement de vos widgets. Oui oui, rien de moins!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Donc, je commence! Vous devez aller dans «modifier votre profil» et repérer tous les éléments Flash(les balises commençant par &amp;lt;object&amp;gt; et se finissant par &amp;lt;/object&amp;gt;). Dans ces balises se trouvent les dimensions finales de l'élément Flash.&lt;br /&gt;&lt;p&gt;Voici un exemple avec le code d'un player YouTube :&lt;br /&gt;&lt;div style="font-size:14px; padding:5px; margin:5px 0 0 0; background:#eee; border:solid 1px #ccc;"&gt;&lt;br /&gt;&amp;lt;object width="&lt;span style="color: rgb(255, 0, 0);"&gt;425&lt;/span&gt;" height="&lt;span style="color: rgb(255, 0, 0);"&gt;344&lt;/span&gt;"&amp;gt;&amp;lt;param name="movie" value="http://www.youtube.com/v/ZJhIYXmZEFs&amp;amp;hl=fr&amp;amp;fs=1"&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;param name="allowFullScreen" value="true"&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;embed src="http://www.youtube.com/v/ZJhIYXmZEFs&amp;amp;hl=fr&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="&lt;span style="color: rgb(255, 0, 0);"&gt;425&lt;/span&gt;" height="&lt;span style="color: rgb(255, 0, 0);"&gt;344&lt;/span&gt;"&amp;gt;&amp;lt;/embed&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;Largeur : &lt;span style="color: rgb(255, 0, 0);"&gt;425&lt;/span&gt;&lt;br /&gt;Hauteur : &lt;span style="color: rgb(255, 0, 0);"&gt;344&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Il vous suffit donc d'utiliser ces dimensions pour entouré votre élément Flash avec une balise &amp;lt;div&amp;gt; à grandeur fixe. Attention, il est important d'entourer la balise &amp;lt;object&amp;gt; seulement et de ne pas y inclure d'autres balises &amp;lt;div&amp;gt; ou du texte.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;div style="font-size:14px; padding:5px; margin:5px 0 0 0; background:#eee; border:solid 1px #ccc;"&gt;&lt;br /&gt;&lt;span style="font-weight:bold; color: rgb(0, 0, 0);"&gt;&amp;lt;div style="width:&lt;span style="color: rgb(255, 0, 0);"&gt;425px&lt;/span&gt;; height:&lt;span style="color: rgb(255, 0, 0);"&gt;344px&lt;/span&gt;;"&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;object width="&lt;span style="color: rgb(255, 0, 0);"&gt;425&lt;/span&gt;" height="&lt;span style="color: rgb(255, 0, 0);"&gt;344&lt;/span&gt;"&amp;gt;&amp;lt;param name="movie" value="http://www.youtube.com/v/ZJhIYXmZEFs&amp;amp;hl=fr&amp;amp;fs=1"&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;param name="allowFullScreen" value="true"&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;embed src="http://www.youtube.com/v/ZJhIYXmZEFs&amp;amp;hl=fr&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="&lt;span style="color: rgb(255, 0, 0);"&gt;425&lt;/span&gt;" height="&lt;span style="color: rgb(255, 0, 0);"&gt;344&lt;/span&gt;"&amp;gt;&amp;lt;/embed&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;&lt;span style="font-weight:bold; color: rgb(0, 0, 0);"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;N'oubliez pas d'ajouter &lt;strong&gt;px&lt;/strong&gt; après les chiffres.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Voilà c'est fait, votre page est beaucoup plus agréable à visiter!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739420603337772867-5275454614570707544?l=dmongeau-petitpas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmongeau-petitpas.blogspot.com/feeds/5275454614570707544/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6739420603337772867&amp;postID=5275454614570707544' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/5275454614570707544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6739420603337772867/posts/default/5275454614570707544'/><link rel='alternate' type='text/html' href='http://dmongeau-petitpas.blogspot.com/2008/10/truc-pour-viter-que-votre-page-myspace.html' title='Un petit truc pour éviter que votre page MySpace EXPLOSE!'/><author><name>David Mongeau-Petitpas, Écoutez.ca</name><uri>http://www.blogger.com/profile/05308186384471815261</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_V8nzWzsNuBU/SK2SDgtlb5I/AAAAAAAAABo/8JFLWDGUTYs/S220/n599936906_637803_9852.jpg'/></author><thr:total>0</thr:total></entry></feed>
