2011-04-20 12:29:01 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns= "http://www.w3.org/2005/Atom" >
<id > http://yannesposito.com/</id>
<title > Yogsototh's last blogs entries</title>
2012-06-01 13:24:58 +00:00
<updated > 2012-04-30T17:17:53Z</updated>
2011-12-07 15:40:03 +00:00
<link rel= "alternate" href= "http://yannesposito.com/" />
<link rel= "self" href= "http://feeds.feedburner.com/yannespositocomfr" />
2011-04-20 12:29:01 +00:00
<author >
<name > Yann Esposito</name>
<uri > http://yannesposito.com</uri>
</author>
2012-06-01 13:24:58 +00:00
<entry >
<id > tag:yannesposito.com,2012-04-30:/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/</id>
<title type= "html" > Un programme Haskell fonctionnel</title>
<published > 2012-04-30T17:17:53Z</published>
<updated > 2012-04-30T17:17:53Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/" />
<content type= "html" > < p> < img alt="The plan in image" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/HGL_Plan.png" /> < /p>
< div class="intro">
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Un exemple progressif de programmation avec Haskell.< /p>
< blockquote>
< center> < hr style="width:30%;float:left;border-color:#CCCCD0;margin-top:1em" /> < span class="sc"> < b> Table of Content< /b> < /span> < hr style="width:30%;float:right;border-color:#CCCCD0;margin-top:1em" /> < /center>
< ul id="markdown-toc">
< li> < a href="#introduction"> Introduction< /a> < /li>
< li> < a href="#first-version"> First version< /a> < ul>
< li> < a href="#lets-play-the-song-of-our-people"> Let& rsquo;s play the song of our people< /a> < /li>
< li> < a href="#let-us-start"> Let us start< /a> < /li>
< /ul>
< /li>
...< /ul> < /hr> < /center> < /blockquote> < /div> < /p> </content>
</entry>
2012-02-29 21:06:22 +00:00
<entry >
<id > tag:yannesposito.com,2012-02-08:/Scratch/fr/blog/Haskell-the-Hard-Way/</id>
<title type= "html" > Haskell comme un vrai!</title>
<published > 2012-02-08T13:17:53Z</published>
<updated > 2012-02-08T13:17:53Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/" />
2012-04-02 21:43:39 +00:00
<content type= "html" > < p> < img alt="Magritte pleasure principle" src="/Scratch/img/blog/Haskell-the-Hard-Way/magritte_pleasure_principle.jpg" /> < /p>
2012-02-29 21:06:22 +00:00
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Un tutoriel trè s court mais trè s dense pour apprendre Haskell.< /p>
2012-02-29 21:06:22 +00:00
2012-02-02 13:07:26 +00:00
< blockquote>
2012-04-02 21:43:39 +00:00
< center> < hr style="width:30%;float:left;border-color:#CCCCD0;margin-top:1em" /> < span class="sc"> < b> Table of Content< /b> < /span> < hr style="width:30%;float:right;border-color:#CCCCD0;margin-top:1em" /> < /center>
2012-02-02 13:07:26 +00:00
2012-04-02 21:43:39 +00:00
< div class="toc">
< ul>
< li> < a href="#introduction"> Introduction< /a>
< ul>
< li> < a href="#install"> Install< /a> < /li>
2012-05-03 09:21:34 +00:00
< li> < a href="#don-t-be-afraid"> Don& rsquo;t be afraid< /a> < /li>
2012-04-02 21:43:39 +00:00
< li> < a href="#very-basic-haskell"> Very basic Haskell< /a>
2012-05-03 09:21:34 +00:00
...< /li> < /ul> < /li> < /ul> < /div> < /hr> < /center> < /blockquote> < /div> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2012-02-02:/Scratch/fr/blog/Typography-and-the-Web/</id>
<title type= "html" > La typography et le Web</title>
<published > 2012-02-02T09:53:00Z</published>
<updated > 2012-02-02T09:53:00Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/" />
2012-05-02 15:43:56 +00:00
<content type= "html" > < p> < img alt="Screenshot of first in small caps with and without ligatures." src="/Scratch/img/blog/Typography-and-the-Web/first_sc_screenshot.png" /> ;< /p>
2012-04-02 21:43:39 +00:00
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> La typography sur le web est pourrie et nous ne somme pas prè s de voir ce problè me ré paré .< /p>
2012-04-02 21:43:39 +00:00
< /div>
2012-05-03 09:21:34 +00:00
< p> Je suis tombé sur ce site: < a href="http://opentypography.org/"> open typography< /a> . Leur message principal est& nbsp;:< /p>
2012-04-02 21:43:39 +00:00
< blockquote>
2012-05-03 09:21:34 +00:00
< p> « There is no reason to wait for browser development to catch up.
We can all create better web typography ourselves, today.» < /p>
2012-04-02 21:43:39 +00:00
< /blockquote>
2012-05-03 09:21:34 +00:00
< p> ou en franç ais& nbsp;:< /p>
2012-04-02 21:43:39 +00:00
< blockquote>
2012-05-03 09:21:34 +00:00
< p> « Nous ne somme pas obligé d& rsquo;attendre le dé veloppement des navigateurs.
Nous pou...< /p> < /blockquote> < /p> </content>
2012-02-02 13:07:26 +00:00
</entry>
2011-12-29 16:05:05 +00:00
<entry >
2012-01-18 14:51:20 +00:00
<id > tag:yannesposito.com,2012-01-15:/Scratch/fr/blog/Yesod-tutorial-for-newbies/</id>
2012-01-11 20:40:22 +00:00
<title type= "html" > Site en Haskell</title>
2012-01-18 14:51:20 +00:00
<published > 2012-01-15T17:14:40Z</published>
<updated > 2012-01-15T17:14:40Z</updated>
2011-12-29 16:05:05 +00:00
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/" />
2012-01-11 20:40:22 +00:00
<content type= "html" > < p> < img alt="Neo Flying at warp speed" src="/Scratch/img/blog/Yesod-tutorial-for-newbies/flying_neo.jpg" /> < /p>
2011-12-29 16:05:05 +00:00
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < em> mise à jour< /em> : mise à jour pour la version 0.10 de yesod.< /p>
2012-02-20 14:41:09 +00:00
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Un tutoriel pour yesod, un framework web Haskell.
2012-01-18 13:28:01 +00:00
Vous ne devriez pas avoir besoin de savoir programmer en Haskell.
2012-05-03 09:21:34 +00:00
Par contre je suis dé solé pour les francophones,
mais je n& rsquo;ai pas eu le courage de traduire cet article en Franç ais.< /p>
2011-12-29 16:05:05 +00:00
< blockquote>
2012-01-11 20:40:22 +00:00
< center> < span class="sc"> < b> Table of content< /b> < /span> < /center>
2011-12-29 16:05:05 +00:00
< ul id="markdown-toc">
2012-01-11 20:40:22 +00:00
< li> < a href="#before-the-real-start"> Before the real start< /a> < ul>
< li> < a href="#install"> Install< /a> < /li>
2012-05-03 09:21:34 +00:00
< li> < a href="#initialize"> In...< /a> < /li> < /ul> < /li> < /ul> < /blockquote> < /div> < /p> </content>
2011-12-29 16:05:05 +00:00
</entry>
2012-04-02 21:43:39 +00:00
<entry >
<id > tag:yannesposito.com,2011-10-20:/Scratch/fr/blog/SVG-and-m4-fractals/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Accroî tre le pouvoir des languages dé ficients.</title>
2012-04-02 21:43:39 +00:00
<published > 2011-10-20T09:39:36Z</published>
<updated > 2011-10-20T09:39:36Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/" />
<content type= "html" > < p> < img alt="Yesod logo made in SVG and m4" src="/Scratch/img/blog/SVG-and-m4-fractals/main.png" /> < /p>
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Utiliser m4 pour accroî tre le pouvoir d& rsquo;< span class="sc"> xslt< /span> et d& rsquo;< span class="sc"> svg< /span> . Example cool, les fractales.< /p>
2012-04-02 21:43:39 +00:00
< /div>
2012-05-03 09:21:34 +00:00
< p> Lorsqu& rsquo;< span class="sc"> xml< /span> fû t inventé beaucoup pensaient que c& rsquo;é tait l& rsquo;avenir.
Passer de fichiers plat à des fichiers structuré s standardisé s fû t un grand progrè s dans beaucoup de domaines.
Cerain se mirent à voir du < span class="sc"> xml< /span> de partout.
À tel point que les les format compatibles < span class="sc"> xml< /span> naquirent de toute part.
Non seulement comme format de fichie...< /p> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2011-10-04:/Scratch/fr/blog/Yesod-excellent-ideas/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Les idé es de yesod</title>
2012-04-02 21:43:39 +00:00
<published > 2011-10-04T08:18:59Z</published>
<updated > 2011-10-04T08:18:59Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/" />
<content type= "html" > < p> < img alt="Title image" src="/Scratch/img/blog/Yesod-excellent-ideas/main.png" /> < /p>
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> < /p>
2012-04-02 21:43:39 +00:00
< p> Cela fait un moment que je suis la progression du < a href="http://www.yesodweb.com"> framework yesod< /a> .
2012-05-03 09:21:34 +00:00
À mon humble avis on peut commencer à l& rsquo;utiliser pour des applications sé rieuses (comprendre en prod).
Avant de vous dire pourquoi vous devriez aussi le considé rer, je pré fè re vous parler de bonnes idé es (parmi d& rsquo;autres) introduites par yesod que je n& rsquo;avais jamais vu ailleurs.< /p>
2012-04-02 21:43:39 +00:00
< /div>
< h2 id="types-saufs"> Types saufs< /h2>
2012-05-03 09:21:34 +00:00
< p> Commenç ons par une BD d& rsquo;< a href="http://xkcd.com"> xkcd< /a> & nbsp;:< /p>
2012-04-02 21:43:39 +00:00
< p> < /p> < /p> </content>
</entry>
<entry >
<id > tag:yannesposito.com,2011-09-28:/Scratch/fr/blog/Higher-order-function-in-zsh/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Fonctions d'ordre supé rieur en zsh</title>
2012-04-02 21:43:39 +00:00
<published > 2011-09-28T13:15:23Z</published>
<updated > 2011-09-28T13:15:23Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/" />
<content type= "html" > < p> < img alt="Title image" src="/Scratch/img/blog/Higher-order-function-in-zsh/main.jpg" /> < /p>
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> des fonctions d& rsquo;ordres supé rieurs en zsh.< /p>
2012-04-02 21:43:39 +00:00
< /div>
2012-05-03 09:21:34 +00:00
< p> Tout d& rsquo;abord, pourquoi c& rsquo;est important d& rsquo;avoir ces fonctions.
Plus je programmais avec zsh plus j& rsquo;essayais d& rsquo;avoir un style fonctionnel.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Le minimum pour pouvoir avoir du code plus lisible c& rsquo;est de possé der les fonctions < code> map< /code> , < code> filter< /code> et < code> fold< /code> .< /p>
2012-04-02 21:43:39 +00:00
< p> Voici pourquoi avec une comparaison.
2012-05-03 09:21:34 +00:00
Commenç ons par un programme qui converti tous les gif en png dans plusieurs ré pertoires projets contenant tous des ré pertoires resources.
2012-04-02 21:43:39 +00:00
Avant& nbsp;:< /p>
2012-05-03 09:21:34 +00:00
< /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2011-09-28:/Scratch/fr/blog/programming-language-experience/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Mon expé rience avec les languages de programmation</title>
2012-04-02 21:43:39 +00:00
<published > 2011-09-28T10:21:41Z</published>
<updated > 2011-09-28T10:21:41Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/programming-language-experience/" />
<content type= "html" > < p> < img alt="Title image" src="/Scratch/img/blog/programming-language-experience/dragon.jpg" /> < /p>
< div class="intro">
2012-05-03 09:21:34 +00:00
< span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Mon avis court et hautement subjectif concernant les diffé rents languages de programmations que j& rsquo;ai utilisé .
2012-04-02 21:43:39 +00:00
< /div>
< h3 id="basic"> < code> BASIC< /code> < /h3>
2012-05-02 15:43:56 +00:00
< p> < img alt="Title image" src="/Scratch/img/blog/programming-language-experience/basic.gif" class=" left" /> < /p>
2012-04-02 21:43:39 +00:00
< p> Ah& nbsp;! Le language de mes premiers programmes& nbsp;!
Je devais avoir 10-11 ans.
2012-05-03 09:21:34 +00:00
Sous < code> MO5< /code> , < code> Amstrad CPC 6128< /code> et mê me < code> Atari STe< /code> .
2012-04-02 21:43:39 +00:00
Le langage des < code> GOTO< /code> s.
2012-05-03 09:21:34 +00:00
Je suis empleint de nostalgie rien que d& rsquo;y penser.
C& rsquo;est à peu prê t le seul inté rê t de c...< /p> < /p> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2011-08-25:/Scratch/fr/blog/Learn-Vim-Progressively/</id>
<title type= "html" > Apprenez Vim Progressivement</title>
<published > 2011-08-25T17:28:20Z</published>
<updated > 2011-08-25T17:28:20Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> < img alt="Ü ber leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /> < /p>
2012-04-02 21:43:39 +00:00
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Vous dé sirez apprendre vim (le meilleur editeur de texte connu à ce jour) le plus rapidement possible. Voici mes conseils pour vous aider. Commencez à apprendre le minimum vital, puis apprenez doucement de nouvelles commandes.< /p>
2012-04-02 21:43:39 +00:00
< /div>
2012-05-03 09:21:34 +00:00
< p> < a href="http://www.vim.org"> Vim< /a> ou l& rsquo;é diteur qui vallait 3 milliards& nbsp;:< /p>
2012-04-02 21:43:39 +00:00
< blockquote>
< p> Meilleur, plus fort, plus rapide.< /p>
< /blockquote>
2012-05-03 09:21:34 +00:00
< p> Apprenez < a href="http://www.vim.org"> vim< /a> et ce sera votre dernier é diteur.
Aucun é diteur que je connaisse ne le surpasse.
Sa prise en mais est difficile, mais p...< /p> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2011-08-17:/Scratch/fr/blog/A-more-convenient-diff/</id>
<title type= "html" > Un diff plus pratique</title>
<published > 2011-08-17T09:33:30Z</published>
<updated > 2011-08-17T09:33:30Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> < code> diff< /code> est un utilitaire trè s pratique, mais il n& rsquo;est pas facile à lire pour nous, les Hommes.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> C& rsquo;est pourquoi, lorsque vous utilisez < code> git< /code> , il vous montre un formatage plus agré able avec des couleurs.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Voici le script que j& rsquo;utilise lorsque je veux avoir un < code> diff< /code> à la git.< /p>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< div class="codefile"> < a href="/Scratch/fr/blog/A-more-convenient-diff/code/ydiff"> & #x27A5; ydiff< /a> < /div>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< pre> < code class="zsh"> #!/usr/bin/env zsh
# Load colors helpers
autoload -U colors & amp;& amp; colors
2012-04-02 21:43:39 +00:00
function colorize_diff {
2012-05-02 15:43:56 +00:00
while read line; do
case ${line[0]} in
+) print -n $fg[green];;
-) print -n $fg[red];;
@) # Display in cyan the @@ positions @@
if [[ ${line[1]} = '@' ]]; then
2012-05-03 09:21:34 +00:00
line=$(pri...< /code> < /pre> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2011-07-10:/Scratch/fr/blog/Haskell-Mandelbrot/</id>
<title type= "html" > Mandelbrot avec haskell</title>
<published > 2011-07-10T10:41:26Z</published>
<updated > 2011-07-10T10:41:26Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Voici le code & ldquo;obfusqué & rdquo;& nbsp;:< /p>
2012-05-02 15:43:56 +00:00
< div class="codefile"> < a href="/Scratch/fr/blog/Haskell-Mandelbrot/code/animandel.hs"> & #x27A5; animandel.hs< /a> < /div>
< pre> < code class="haskell"> a=27;b=79;c=C(-2.0,-1.0);d=C(1.0,1.0);e=C(-2.501,-1.003)
newtype C = C (Double,Double) deriving (Show,Eq)
instance Num C where C(x,y)*C(z,t)=C(z*x-y*t,y*z+x*t);C(x,y)+C(z,t)=C(x+z,y+t);abs(C(x,y))=C(sqrt(x*x+y*y),0.0)
r(C(x,y))=x;i(C(x,y))=y
f c z 0=0;f c z n=if(r(abs(z))& gt;2)then n else f c ((z*z)+c) (n-1)
h j k = map (\z-& gt;(f (C z) (C(0,0)) 32,(fst z& gt;l - q/2))) [(x,y)|y& lt;-[p,(p+((o-p)/a))..o],x& lt;-[m,(m + q)..l]] where o=i k;p=i j;m=r j;l=r k;q=(l-m)/b
2012-05-03 09:21:34 +00:00
u j k = concat $ map v $ h j k where v (i,p)=(" .,`'° \":;-+oO0123456789=!%*§ & amp;$@#"!!i):rst p;rst True="\n";rst False=""
main ...< /code> < /pre> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2011-05-18:/Scratch/fr/blog/Password-Management/</id>
<title type= "html" > Password Management</title>
<published > 2011-05-18T11:14:28Z</published>
<updated > 2011-05-18T11:14:28Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/Password-Management/" />
<content type= "html" > < p> < img alt="Title image" src="/Scratch/img/blog/Password-Management/main.png" /> < /p>
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Une mé thode de gestion des mots de passes que j& rsquo;utilise avec succè s depuis quelques anné es.< br />
2012-04-02 21:43:39 +00:00
< strong> < code> sha1( mot_de_passe + nom_de_domaine )< /code> < /strong> < br />
2012-05-03 09:21:34 +00:00
Je ne mé morise qu& rsquo;un seul mot de passe de trè s bonne qualité .
J& rsquo;utilise des mots de passe diffé rents sur tous les sites.< /p>
2012-04-02 21:43:39 +00:00
< /div>
2012-05-03 09:21:34 +00:00
< p> Avant de commencer, je tiens à pré ciser qu& rsquo;il s& rsquo;agit d& rsquo;une tentative de vous vendre mon appli iPhone& nbsp;;-).< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Vous ê tes toujours là & nbsp;?
Bon, d& rsquo;accord, mê me si vous ne té lé chargez pas mon application vous pouvez quand mê me utili...< /p> < /p> < /div> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2011-04-20:/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Hé bergement github</title>
2012-04-02 21:43:39 +00:00
<published > 2011-04-20T15:22:15Z</published>
<updated > 2011-04-20T15:22:15Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/" />
<content type= "html" > < p> < img alt="Title image" src="/Scratch/img/blog/2011-04-20-Now-hosted-on-github/main.png" /> < /p>
2012-05-03 09:21:34 +00:00
< p> J& rsquo;hé berge mon site sur github à partir d& rsquo;aujourd& rsquo;hui.< /p>
2012-04-02 21:43:39 +00:00
< /p> </content>
</entry>
<entry >
<id > tag:yannesposito.com,2011-01-03:/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</id>
<title type= "html" > Pourquoi je n'utiliserai pas CoffeeScript (malheureusement)</title>
<published > 2011-01-03T08:37:26Z</published>
<updated > 2011-01-03T08:37:26Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/" />
<content type= "html" > < p> < img alt="Title image" src="/Scratch/img/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/main.png" /> < /p>
< div class="encadre">
2012-05-03 09:21:34 +00:00
< p> < em> Mise à jour& nbsp;:< /em> Je pense que je vais finallement changer d& rsquo;avis.
2012-04-02 21:43:39 +00:00
Pourquoi& nbsp;?
2012-05-03 09:21:34 +00:00
Tout d& rsquo;abord, je viens de dé couvrir un convertisseur javascript vers coffeescript, ensuite Denis Knauf m& rsquo;a laissé un commentaire et m& rsquo;a appris l& rsquo;existence d& rsquo;une fonction < code> CoffeeScript.eval< /code> . De plus, il faut voir CoffeeScript comme javascript avec une syntaxe similaire à Ruby et pas comme un langage similaire à Ruby.< /p>
2012-04-02 21:43:39 +00:00
< /div>
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Qu& rsquo;est-ce qui n& rsquo;allait pas avec Coffeescript? La meta-programm...< /p> < /div> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2011-01-01:/Scratch/fr/blog/2011-01-03-Happy-New-Year/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Bonne et heureuse anné e</title>
2012-04-02 21:43:39 +00:00
<published > 2011-01-01T06:55:54Z</published>
<updated > 2011-01-01T06:55:54Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Bonne et heureuse anné e& nbsp;!< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> J& rsquo;é tais trè s occupé ces derniers mois.
2012-04-02 21:43:39 +00:00
Maintenant il me semble que je vais pouvoir faire revivre ce blog.< /p>
2012-05-03 09:21:34 +00:00
< p> J& rsquo;ai fait un outil qui permet d& rsquo;é crire des livre en utilisant une syntaxe proche de markdown.
C& rsquo;est un markdown avec des macros (essentiel pour les textes longs).
De plus le systè me gè re la gé né ration de pages HTML ainsi que du PDF engendré avec du XeLaTeX.
Je n& rsquo;en ai pas encore terminé avec ç a. Mais si je tarde trop, je communiquerai lorsque j& rsquo;aurai fini le minimum.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> J& rsquo;ai é crit un framework MVC pour application javascript simple mais né anmoins trè s rapide.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Meilleurs vœ ux à tous& nbsp;!< /p>
2012-04-02 21:43:39 +00:00
</content>
</entry>
<entry >
<id > tag:yannesposito.com,2010-10-26:/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/</id>
<title type= "html" > Des macros LaTeX pour markdown</title>
<published > 2010-10-26T12:30:58Z</published>
<updated > 2010-10-26T12:30:58Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/" />
<content type= "html" >
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> J& rsquo;ai fait un systè me simple de macros pour mon blog. Par exemple, il me suffit d& rsquo;é crire %< span> < /span> latex et ç a affiche < span style="text-transform: uppercase"> L< sup style="vertical-align: 0.15em; margin-left: -0.36em; margin-right: -0.15em; font-size: .85em"> a< /sup> T< sub style="vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em; font-size: 1em"> e< /sub> X< /span> .< /p>
2012-04-02 21:43:39 +00:00
< /div>
2012-05-03 09:21:34 +00:00
< p> J& rsquo;ai ajouter un systè me de macro pour mon systè me de blog.
Lorsqu& rsquo;on est habitué à < span style="text-transform: uppercase"> L< sup style="vertical-align: 0.15em; margin-left: -0.36em; margin-right: -0.15em; font-size: .85em"> a< /sup> T< /span> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-10-14:/Scratch/fr/blog/2010-10-14-Fun-with-wav/</id>
<title type= "html" > S'amuser avec un .wav</title>
<published > 2010-10-14T09:04:58Z</published>
<updated > 2010-10-14T09:04:58Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/" />
<content type= "html" >
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Je me suis amusé à lire un fichier < code> wav< /code> . Le < code> C< /code> fut le langage le mieux adapté à ce traitement. Bien meilleur que Ruby par exemple.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> edit: Je voulais que ce programme fonctionne sur une machine spé cifique. En aucun cas je ne pensais publier ce code pour une utilisation autre que celle-ci.< /p>
2012-04-02 21:43:39 +00:00
< /div>
2012-05-03 09:21:34 +00:00
< p> J& rsquo;ai eu besoin de calculer la somme des valeurs absolue des donné es d& rsquo;un fichier < code> wav< /code> .
Pour des raison d& rsquo;efficacité (et aussi de fun), j& rsquo;ai fait le programme en < code> C< /code> .< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Celà faisait longtemps que je n& rsquo;avais pas programmé en < code> C< /code> .
De mé moire il é tait peu aisé de manipuler des ...< /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-10-10:/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Sé curisez vos emails</title>
2012-04-02 21:43:39 +00:00
<published > 2010-10-10T16:39:00Z</published>
<updated > 2010-10-10T16:39:00Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/" />
2012-05-02 15:43:56 +00:00
<content type= "html" > < p> < img alt="Title image" src="/Scratch/img/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/main.png" class="clean " /> < /p>
2012-04-02 21:43:39 +00:00
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> < em> avec un Mac< /em> < /p>
2012-04-02 21:43:39 +00:00
< ul>
2012-05-03 09:21:34 +00:00
< li> Ré cupé rez un certificat signé par une AC: < a href="http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html"> cliquez ici pour un certificat gratuit< /a> & nbsp;;< /li>
2012-04-02 21:43:39 +00:00
< li> ouvrez le fichier& nbsp;;< /li>
2012-05-03 09:21:34 +00:00
< li> supprimer le fichier en mode sé curisé & nbsp;;< /li>
< li> utilisez Mail plutô t que l& rsquo;interface web de gmail.< /li>
2012-04-02 21:43:39 +00:00
< /ul>
< /div>
2012-05-03 09:21:34 +00:00
< p> J& rsquo;ai (re)dé couvert comment adoptez la norme S/MIME.
J& rsquo;ai é té surpris de voir à quel point ce fut aisé .
Il y a seulement quelques anné es c& r...< /p> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-10-06:/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/</id>
<title type= "html" > Contraintes du design de ce blog</title>
<published > 2010-10-06T09:33:03Z</published>
<updated > 2010-10-06T09:33:03Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Vous avez pu constater que j& rsquo;ai modifié le design de mon blog.
Maintenant il doit ê tre beaucoup plus lé ger qu& rsquo;avant.
Je n& rsquo;utilise plus de CSS3 et beaucoup moins de javascript.
Bien entendu, mê me avant, mes pages é taient parfaitement lisibles sans javascript.
Mais, je me suis aperç u que les systè mes de CSS3 sont loin d& rsquo;ê tre au point.
J& rsquo;utilisait des gradient en CSS3, ainsi que des ombres sous le texte. Ç a avait un rendu trè s sympa. Sauf& hellip;
Ce n& rsquo;é tait pas compatible ie6, sous Chrome le rendu é tait d& rsquo;une lenteur incroyable.
J& rsquo;ai donc dé cidé de faire un site à minima.
Je voulais qu& rsquo;il soit joli < em> et< /em> le plus simple possible pour assurer sa compatibilité .
Les rè gles que je me suis fixé es sont donc:< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
</content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-09-02:/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</id>
<title type= "html" > Utilisation de git pour calculer les mtimes</title>
<published > 2010-09-02T13:54:10Z</published>
<updated > 2010-09-02T13:54:10Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Vous pouvez remarquer qu& rsquo;à la fin de chaque page je donne une date de derniè re modification.
Pré cé demment cette date é tait calculé e en utilisant la date du fichier.
Mais il arrive fré quemment que je fasse un < code> touch< /code> d& rsquo;un fichier pour engendrer tout le site de nouveau.
Donc la date n& rsquo;est pas né cessairement la < em> vraie< /em> de modification du contenue.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> J& rsquo;utilise < a href="http://git-scm.org"> git< /a> pour < em> versionner< /em> mon site web.
Et cet outil me permet de ré cupé rer la derniè re date de < em> vraie< /em> modification d& rsquo;un fichier.
Voici comment je m& rsquo;y prend avec < a href="http://nanoc.stoneship.org"> nanoc< /a> & nbsp;:< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< div class="codefile"> < /div> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-09-02:/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/</id>
<title type= "html" > base64 et sha1 sur iPhone</title>
<published > 2010-09-01T22:02:17Z</published>
<updated > 2010-09-01T22:02:17Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Allons directement à l& rsquo;essentiel& nbsp;:
voici deux fonctions à inté grer à votre application iPhone pour afficher l& rsquo;encodage en base64 ou en hexadecimal du hash sha1 d& rsquo;un string en Objective-C pour iPhone.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Pour l& rsquo;usage c& rsquo;est trè s simple, copiez le code dans la classe de votre choix.
2012-04-02 21:43:39 +00:00
Puis& nbsp;:< /p>
2012-05-02 15:43:56 +00:00
< pre> < code class="objective-c"> #import & lt;CommonCrypto/CommonDigest.h& gt;
...
NSString *b64_hash = [self b64_sha1:@"some NSString to be sha1'ed"];
2012-04-02 21:43:39 +00:00
...
2012-05-02 15:43:56 +00:00
NSString *hex_hash = [self hex_sha1:@"some NSString to be sha1'ed"];
< /code> < /pre>
2012-05-03 09:21:34 +00:00
< p> L& rsquo;algorithme pour l& rsquo;encodage en < code> base64< /code> doit ê tre programmé sur iPhone.
Il n& rsquo;y a pas de librairie officielle qui s& rsquo;occupe de ç a.< /p>
2012-05-02 15:43:56 +00:00
< div class="codefile"> < /div> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-08-31:/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Envoyer un mail en ligne de commande avec un fichier attaché </title>
2012-04-02 21:43:39 +00:00
<published > 2010-08-31T08:16:04Z</published>
<updated > 2010-08-31T08:16:04Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> J& rsquo;ai dû envoyer un mail en ligne de commande ré cemment.
Quelle ne fû t pas ma surprise lorsque je constatais que ce n& rsquo;é tait vraiment pas é vident.
Je n& rsquo;avais ni < code> pine< /code> ni < code> mutt< /code> . Seulement < code> mail< /code> et < code> mailx< /code> .< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Ce qu& rsquo;on trouve sur internet pour envoyer un mail avec fichier attaché c& rsquo;est ç a& nbsp;:< /p>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< pre> < code class="zsh"> uuencode fic.jpg fic.jpg | mail -s 'Subject'
< /code> < /pre>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Bon, alors, bê te et discipliné j& rsquo;ai essayé .
Et bien, ç a marche < em> presque< /em> tout le temps.
Pour mon fichier ç a n& rsquo;a pas marché du tout.
Je l& rsquo;ai compressé au format < code> .gz< /code> , < code> .bz2< /code> et < code> .zip< /code> .
Avec le format < code> .bz2< /code> le mail reç u avait bien un fichie...< /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-08-23:/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/</id>
<title type= "html" > Maintenant sur Heroku</title>
<published > 2010-08-23T13:05:13Z</published>
<updated > 2010-08-23T13:05:13Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/" />
<content type= "html" > < h1 class="first" id="maintenant-sur-herokuhttpherokucom"> Maintenant sur < a href="http://heroku.com"> Heroku< /a> < /h1>
2012-05-03 09:21:34 +00:00
< p> J& rsquo;ai changé mon hé bergeur. Mobileme n& rsquo;est absolument pas adapté à la diffusion de mon blog. C& rsquo;est pourquoi je suis passé à < a href="http://heroku.com"> Heroku< /a> .< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Mais comme vous devez le savoir mon blog est un site complè tement statique.
J& rsquo;utilise < a href="http://nanoc.stoneship.org/"> nanoc< /a> pour l& rsquo;engendrer.
Avoir un site statique amè ne beaucoup d& rsquo;avantages par rapport à un site dynamique. Surtout en terme de sé curité .
2012-04-02 21:43:39 +00:00
Voici comment configurer un site statique sur heroku.< /p>
2012-05-03 09:21:34 +00:00
< p> La racine de mes fichiers est & lsquo;/output& rsquo;. Vous devez simplement cré er deux fichiers. Un fichier < code> config.ru< /code> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-08-11:/Scratch/fr/blog/2010-07-09-Indecidabilities/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Indé cidabilité s (partie 1)</title>
2012-04-02 21:43:39 +00:00
<published > 2010-08-11T08:04:31Z</published>
<updated > 2010-08-11T08:04:31Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> Je cré e un mode mathé matique simple pour parler de diffé rents types d& rsquo;< em> indé cidabilité s< /em> & nbsp;:< /p>
2012-04-02 21:43:39 +00:00
< ul>
2012-05-03 09:21:34 +00:00
< li> indé cidabilité due aux erreurs d& rsquo;observation& nbsp;;< /li>
< li> grandes erreurs ré sultant de petites erreurs de mesure& nbsp;;< /li>
< li> indé cidabilité fractales& nbsp;;< /li>
< li> indé cidabilité logique.< /li>
2012-04-02 21:43:39 +00:00
< /ul>
< /div>
< /div>
< div class="corps">
2012-05-03 09:21:34 +00:00
< h1 class="first" id="les-indcidabilits"> Les indé cidabilité s< /h1>
2012-04-02 21:43:39 +00:00
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> Si le monde a é té fabriqué par un dé miurge, on peut dire que celui-ci devait avoir le sens de l& rsquo;humour.
Et le ré cit que je vais faire va vous en fournir la preuve.
Je vais me mettre à sa place.
Je vais cré er u...< /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-07-31:/Scratch/fr/blog/2010-07-31-New-style-after-holidays/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Nouveau style aprè s les vacances</title>
2012-04-02 21:43:39 +00:00
<published > 2010-07-31T21:59:10Z</published>
<updated > 2010-07-31T21:59:10Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Avant les vacances beaucoup d& rsquo;utilisateurs se sont plaints de la lenteur de rendu de mon site.
Il s& rsquo;agit notamment de problè mes avec Chrome en particulier.
Mais pour é viter tout problè me.
J& rsquo;ai complè tement modifié le style de mon site web.
Il est inspiré du style de l& rsquo;application iBooks< small> & copy;< /small> sur iPhone< small> & copy;< /small> .< /p>
2012-04-02 21:43:39 +00:00
< p> Dites moi ce que vous pensez de ce nouveau design.< /p>
</content>
</entry>
<entry >
<id > tag:yannesposito.com,2010-07-07:/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/</id>
<title type= "html" > N'utilisez pas de gradients avec Chrome</title>
<published > 2010-07-07T13:43:43Z</published>
<updated > 2010-07-07T13:43:43Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Beaucoup d& rsquo;utilisateurs de < a href="http://reddit.com"> Reddit< /a> m& rsquo;ont rapporté que mon site é tait trè s long à charger et à < em> scroller< /em> .
Ils pensaient qu& rsquo;il s& rsquo;agissait d& rsquo;un problè me dû aux ombres que j& rsquo;applique sur le texte.
J& rsquo;é tais un peu surpris puisque je fais mes tests sur une machine vraiment trè s lente et je n& rsquo;avais jamais dé tecté ces problè mes.
En ré alité , ce qui ralenti le rendu de ce site est par ordre d& rsquo;importance& nbsp;:< /p>
2012-04-02 21:43:39 +00:00
< ol>
2012-05-03 09:21:34 +00:00
< li> Les dé gradé s sur Chrome (pas dans Safari sur Mac)< /li>
2012-04-02 21:43:39 +00:00
< li> les < em> box shadows< /em> sur Firefox< /li>
< /ol>
2012-05-03 09:21:34 +00:00
< h2 id="les-dgrads"> les dé gradé s< /h2>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Sur Safari il n& rsquo;y a absolument aucun problè me avec les dé gradé s. Par contre sur Chrome sous Linux le si...< /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-07-05:/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/</id>
<title type= "html" > Cappuccino ou jQuery ?</title>
<published > 2010-07-05T11:49:04Z</published>
<updated > 2010-07-05T11:49:04Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/" />
<content type= "html" >
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < abbr title="Trop long à lire"> tlà l< /abbr> :< /p>
2012-04-02 21:43:39 +00:00
< ul>
2012-05-03 09:21:34 +00:00
< li> J& rsquo;ai essayé de faire une version de < a href="http://yannesposito.com/Softwares/YPassword.html"> YPassword< /a> en jQuery et avec Cappuccino.< /li>
< li> Cappuccino est trè s bien sur les navigateurs non mobile mais l& rsquo;application pè se 1.4Mo et n& rsquo;est pas compatible avec l& rsquo;iPhone.< /li>
< li> la version jQuery n& rsquo;est pas aussi jolie que la version ré alisé e avec Cappuccino mais elle pè se seulement 106Ko et est compatible avec l& rsquo;iPhone.< /li>
< li> J& rsquo;essayerai Dashcode 3< /li>
2012-04-02 21:43:39 +00:00
< /ul>
< /div>
< hr />
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> Avant de commencer, je dois dire que je sais que Cappuccino et jQuery ne sont pas plus comparable que Cocoa et la < em> standard library< /em> en...< /p> < /div> < /hr> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-06-19:/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/</id>
<title type= "html" > Comment faire des popups en jQuery rapidement</title>
<published > 2010-06-18T22:44:50Z</published>
<updated > 2010-06-18T22:44:50Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Voici une faç on simple et rapide pour faire des popups avec jQuery.< /p>
2012-05-02 15:43:56 +00:00
< div class="codefile"> < a href="/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/code/essai.js"> & #x27A5; essai.js< /a> < /div>
< pre> < code class="javascript"> // --- code popup ---
function openPopup() {
$(this).clone(false).appendTo($("#_code"));
$("#_code").show();
}
function closePopup() {
$("#_code").html("");
$("#_code").hide();
}
function initCode() {
$(".code").click(openPopup);
$(".code").css({cursor: "pointer"});
$('body').append('& lt;div id="_code"& gt;& lt;/div& gt;');
$('#_code').css( { 'text-align': "justify", position: "fixed",
left:0, top:0, width: "100%", height: "100%",
2012-05-03 09:21:34 +00:00
"background-color": "rgba(0, 0, 0, 0.8)", 'z-...< /code> < /pre> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-06-17:/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/</id>
<title type= "html" > Se cacher de ses statistiques web</title>
<published > 2010-06-17T14:37:22Z</published>
<updated > 2010-06-17T14:37:22Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Voici un moyen trè s simple de ne plus ê tre comptabilisé dans les visites de son propre site.
Tout d& rsquo;abord, vous devriez jeter un coup d& rsquo;œ il sur comment < a href="/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics"> je gè re les systè mes de ré cupé ration de statistiques< /a> .
2012-04-02 21:43:39 +00:00
Je centralise tout dans un seul fichier javascript ce qui facilite le travail.< /p>
2012-05-03 09:21:34 +00:00
< p> Cette mé thode né cessite l& rsquo;utilisation de < code> jquery-cookie< /code> .< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Avant de comptabiliser les visites, je vé rifie que la clé < code> admin< /code> n& rsquo;est pas utilisé e dans mes cookies.< /p>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< pre> < code class="javascript"> var admin = $.cookie('admin');
if (! admin) {
// put your analytics code here
} else {
2012-05-03 09:21:34 +00:00
console.log("[WARNING] you're HIDDEN to analy...< /code> < /pre> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-06-17:/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/</id>
<title type= "html" > Analyser les clicks sur votre Site</title>
<published > 2010-06-17T12:41:36Z</published>
<updated > 2010-06-17T12:41:36Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Voici comment analyser tous les clics que font vos utilisateurs sur votre blog en incluant google analytics de faç on asynchrone.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Dans le html, il faut utiliser < a href="http://jquery.com"> jQuery< /a> et un fichier que j& rsquo;ai appelé < code> yga.js< /code> & nbsp;:< /p>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< pre> < code class="html"> & lt;script type="text/javascript" src="jquery.js"& gt;& lt;/script& gt;
& lt;script type="text/javascript" src="yga.js"& gt;& lt;/script& gt;
< /code> < /pre>
< p> Voici le contenu du fichier < code> yga.js< /code> & nbsp;:< /p>
< div class="codefile"> < a href="/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/code/yga.js"> & #x27A5; yga.js< /a> < /div>
< pre> < code class="javascript"> $(document).ready( function() {
// add an event to all link for google analytics
2012-05-03 09:21:34 +00:00
$('a').click(functi...< /code> < /pre> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-06-15:/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Ré cupé rez mon systè me de blog</title>
2012-04-02 21:43:39 +00:00
<published > 2010-06-15T08:56:32Z</published>
<updated > 2010-06-15T08:56:32Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> J& rsquo;ai publié une version < em> light< /em> de mon systè me de blog hier soir. Par < em> light< /em> il faut comprendre avec un CSS plus é puré et plus portable (sans les bords ronds).
Vous pouvez le ré cupé rer sur < a href="http://github.com/yogsototh/nanoc3_blog"> github.com< /a> .< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Que pouvez-vous attendre de ce systè me de blog& nbsp;?< /p>
2012-04-02 21:43:39 +00:00
< ul>
2012-05-03 09:21:34 +00:00
< li> Tous les avantages lié s à < a href="http://nanoc.stoneship.org"> nanoc< /a> & nbsp;;< /li>
< li> Facilité de la gestion de plusieurs langues& nbsp;;< /li>
2012-04-02 21:43:39 +00:00
< li> coloration syntaxique des codes sources pour la plupart des languages& nbsp;;< /li>
2012-05-03 09:21:34 +00:00
< li> commentaires gé ré s avec < a href="http://intensedebate.org"> intenseDebate< /a> de faç on asynchrone& nbsp;;< /li>
< li> trè s portable avec ou sans javascript, XHTML Strict 1.0 / CSS3& nbsp;;< /li> < /ul> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-06-14:/Scratch/fr/blog/2010-06-14-multi-language-choices/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > choix lié s à l'é criture dans plusieurs langues</title>
2012-04-02 21:43:39 +00:00
<published > 2010-06-14T14:14:57Z</published>
<updated > 2010-06-14T14:14:57Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Je traduis la plupart de mes articles pour qu& rsquo;ils soient disponibles en franç ais et en anglais.
La faç on que l& rsquo;on m& rsquo;a conseillé é tait d& rsquo;avoir un fichier par langue. En gé né ral ç a donne ç a.< /p>
2012-04-02 21:43:39 +00:00
< pre class="twilight">
Bonjour,
2012-05-03 09:21:34 +00:00
voici un exemple de texte en franç ais.
2012-04-02 21:43:39 +00:00
[image](url)
< /pre>
< pre class="twilight">
Hello,
here is an example of english text.
[image](url)
< /pre>
2012-05-03 09:21:34 +00:00
< p> Cette faç on de traduire vous impose une certaine faç on de traduire.
D& rsquo;abord é crire entiè rement le texte dans une langue,
2012-04-02 21:43:39 +00:00
puis copier le fichier et enfin retraduire dans une nouvelle langue.< /p>
2012-05-03 09:21:34 +00:00
< p> Le problè me, c& rsquo;est que trè s souvent, les articles ont des parties communes non né gligeables. Par exemple, les images, les codes sources, etc& hellip;
Lorsque je m& ...< /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-05-24:/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</id>
<title type= "html" > Arbres ; Pragmatisme et Formalisme</title>
<published > 2010-05-24T18:05:14Z</published>
<updated > 2010-05-24T18:05:14Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/" />
<content type= "html" >
< div class="intro">
2012-05-03 09:21:34 +00:00
< p> < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> & nbsp;:< /p>
2012-04-02 21:43:39 +00:00
< ul>
2012-05-03 09:21:34 +00:00
< li> J& rsquo;ai essayé de programmer un simple filtre& nbsp;;< /li>
< li> J& rsquo;ai é té bloqué pendant deux jours& nbsp;;< /li>
< li> J& rsquo;ai arrê té de penser comme un robot& nbsp;;< /li>
< li> J& rsquo;ai utilisé un papier et un stylo& nbsp;;< /li>
< li> J& rsquo;ai fait un peu de maths& nbsp;;< /li>
< li> J& rsquo;ai ré solu le problè me en 10 minutes& nbsp;;< /li>
< li> Conclusion: Pragmatisme n& rsquo;est pas& nbsp;: & laquo;n& rsquo;utilisez jamais la thé orie& raquo;.
2012-04-02 21:43:39 +00:00
< /div>
< /ul>
2012-05-03 09:21:34 +00:00
< h2 id="rsum-plus-long-que-le--span-classscabbr-titletrop-long--liretllabbr--span"> Ré sumé (plus long que le < span class="sc"> < abbr title="Trop long à lire"> tlà l< /abbr> & nbsp;: < /span> )< /h2> < /div> </content>
2012-04-02 21:43:39 +00:00
</entry>
2012-01-11 20:40:22 +00:00
<entry >
<id > tag:yannesposito.com,2010-05-19:/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Comment ré parer un XML coupé ?</title>
2012-01-11 20:40:22 +00:00
<published > 2010-05-19T20:20:34Z</published>
<updated > 2010-05-19T20:20:34Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Sur ma page d& rsquo;accueil vous pouvez voir la liste des mes derniers articles avec le dé but de ceux-ci. Pour arriver à faire ç a, j& rsquo;ai besoin de couper le code XHTML de mes pages en plein milieu. Il m& rsquo;a donc fallu trouver un moyen de les ré parer.< /p>
2012-01-11 20:40:22 +00:00
< p> Prenons un exemple& nbsp;:< /p>
2012-05-02 15:43:56 +00:00
< pre> < code class="html"> & lt;div class="corps"& gt;
& lt;div class="intro"& gt;
& lt;p& gt;Introduction& lt;/p& gt;
& lt;/div& gt;
& lt;p& gt;The first paragraph& lt;/p& gt;
& lt;img src="/img/img.png" alt="an image"/& gt;
& lt;p& gt;Another long paragraph& lt;/p& gt;
& lt;/div& gt;
< /code> < /pre>
2012-05-03 09:21:34 +00:00
< p> Aprè s avoir coupé , j& rsquo;obtiens& nbsp;:< /p>
2012-05-02 15:43:56 +00:00
< pre> < code class="html"> & lt;div class="corps"& gt;
& lt;div class="intro"& gt;
& lt;p& gt;Introduction& lt;/p& gt;
2012-05-03 09:21:34 +00:00
& lt;/div& g...< /code> < /pre> </content>
2012-01-11 20:40:22 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-05-17:/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Je reviens à la vie !</title>
2012-01-11 20:40:22 +00:00
<published > 2010-05-17T11:25:51Z</published>
<updated > 2010-05-17T11:25:51Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Bonjour à tous& nbsp;!< /p>
2012-01-11 20:40:22 +00:00
< blockquote cite="http://www.madore.org/~david/weblog/2010-05.html#d.2010-05-12.1752">
2012-05-03 09:21:34 +00:00
< p> & hellip;plus on retarde quelque chose, plus il devient difficile de s& rsquo;y mettre& hellip;< /p>
2012-01-11 20:40:22 +00:00
< /blockquote>
2012-05-03 09:21:34 +00:00
< p> Je devais é crire d& rsquo;autres articles pour ce blog. J& rsquo;ai noté plein d& rsquo;idé es dans mes < em> todolist< /em> . Mais j& rsquo;avais pas mal d& rsquo;autres choses à faire. Et jusqu& rsquo;ici, j& rsquo;ai toujours dit & laquo;je le ferai plus tard& raquo;. Ce qui m& rsquo;a fait agir, c& rsquo;est la petite ré flexion que j& rsquo;avais lu une fois.
& gt; Arré tez d& rsquo;é crire des < code> TODO< /code> dans votre code est faites le maintenant& nbsp;!< br />
& gt; Vous serez surpris de l& rsquo;efficacité de cette mesure.< /p>
2012-05-02 15:43:56 +00:00
2012-05-03 09:21:34 +00:00
< p> En ré sumé & nbsp;:
& gt; < /p> < /p> </content>
2012-01-11 20:40:22 +00:00
</entry>
2012-04-02 21:43:39 +00:00
<entry >
<id > tag:yannesposito.com,2010-03-23:/Scratch/fr/blog/2010-03-23-Encapsulate-git/</id>
<title type= "html" > Encapsuler git</title>
<published > 2010-03-23T20:37:36Z</published>
<updated > 2010-03-23T20:37:36Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/" />
<content type= "html" > < p> < span class="intro">
Voici une solution pour conserver des branches divergentes avec < code> git< /code> .
2012-05-03 09:21:34 +00:00
Parce qu& rsquo;il est facile de < em> merger< /em> par erreur, je propose un script qui encapsule le comportement de < code> git< /code> pour interdire certains < em> merges< /em> dangereux. Mais qui permet aussi de faire des merges en cascades de la racines vers les autres branches.
2012-04-02 21:43:39 +00:00
< /span> < /p>
2012-05-03 09:21:34 +00:00
< h2 id="se-prmunir-contre-les-erreurs"> Se pré munir contre les erreurs< /h2>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Je travaille sur un projet dans lequel certaines de mes branches < code> git< /code> doivent rester divergentes. Et les divergences devraient aller en s& rsquo;accentuant.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> J& rsquo;utilise aussi certaines branches qui contiennent la partie commune de ces projets.< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Disons que j& rsquo;ai les branches& nbsp;:< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
...</content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-03-22:/Scratch/fr/blog/2010-03-22-Git-Tips/</id>
<title type= "html" > Astuces Git</title>
<published > 2010-03-22T08:42:27Z</published>
<updated > 2010-03-22T08:42:27Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < h2 class="first" id="cloner-de-github--travers-un-pare-feu"> Cloner de github à travers un pare-feu< /h2>
2012-05-02 15:43:56 +00:00
2012-05-03 09:21:34 +00:00
< p> La faç on standard:< /p>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< div>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< pre> < code class="zsh"> git clone git@github.com:yogsototh/project.git
< /code> < /pre>
< /div>
2012-04-02 21:43:39 +00:00
< p> En utilisant le port HTTPS& nbsp;:< /p>
2012-05-02 15:43:56 +00:00
< div>
< pre> < code class="zsh"> git clone git+ssh://git@github.com:443/yogsototh/project.git
< /code> < /pre>
< /div>
2012-04-02 21:43:39 +00:00
< h2 id="cloner-toutes-les-branches"> Cloner toutes les branches< /h2>
2012-05-03 09:21:34 +00:00
< p> < code> git clone< /code> peut seulement ré cuper la branche < code> master< /code> .< /p>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< p> Si vous n& rsquo;avez pas beaucoup de branches, vous pouvez simplement les clone le project et ensuite pour chacune d& rsquo;entre elle lancer la commande suivante& nbsp;:< /p>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< div>
2012-04-02 21:43:39 +00:00
2012-05-03 09:21:34 +00:00
< pre> < code class="zsh"> git branch --track local_branch remote_bran...< /code> < /pre> < /div> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-02-23:/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Quand se passer des expressions ré guliè res ?</title>
2012-04-02 21:43:39 +00:00
<published > 2010-02-23T08:09:52Z</published>
<updated > 2010-02-23T08:09:52Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Les expressions ré guliè res sont trè s utiles. Cependant, elles ne sont pas toujours la meilleure maniè re d& rsquo;aborder certain problè me autour des chaines de caractè res.
2012-04-02 21:43:39 +00:00
Et surtout quand les transformations que vous voulez accomplir sont simples.< /p>
2012-05-03 09:21:34 +00:00
< p> Je voulais savoir comment ré cupé rer le plus vite possible l& rsquo;extension d& rsquo;un nom de fichier. Il y a trois maniè re naturelle d& rsquo;accomplir celà & nbsp;:< /p>
2012-05-02 15:43:56 +00:00
< div>
2012-04-02 21:43:39 +00:00
2012-05-02 15:43:56 +00:00
< pre> < code class="ruby"> # regexp
str.match(/[^.]*$/);
ext=$& amp;
# split
ext=str.split('.')[-1]
# File module
ext=File.extname(str)
< /code> < /pre>
< /div>
2012-05-03 09:21:34 +00:00
< p> A premiè re vue, je pensais que l& rsquo;expression ré guliè re serait plus rapide que le < code> split< /code> parce qu& rsquo;il pouvait y avoir plusieurs de < code> .< /code> dans un nom de fichie...< /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-02-18:/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > dé couper un fichier par mots clé s</title>
2012-04-02 21:43:39 +00:00
<published > 2010-02-18T13:29:14Z</published>
<updated > 2010-02-18T13:29:14Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Assez bizarrement, je n& rsquo;ai trouvé aucun outil UNIX pour dé couper un fichier par mot clé .
Alors j& rsquo;en ai fait un en < code> awk< /code> . Je le met ici principalement pour moi, mais ç a peut toujours servir à quelqu& rsquo;un d& rsquo;autre.
Le code suivant dé coupe un fichier pour chacune de ses ligne contenant le mot < code> UTC< /code> .< /p>
2012-05-02 15:43:56 +00:00
< div>
< pre> < code class="perl"> #!/usr/bin/env awk
BEGIN{i=0;}
/UTC/ {
2012-04-02 21:43:39 +00:00
i+=1;
2012-05-02 15:43:56 +00:00
FIC=sprintf("fic.%03d",i);
2012-04-02 21:43:39 +00:00
}
2012-05-02 15:43:56 +00:00
{print $0& gt;& gt;FIC}
< /code> < /pre>
< /div>
2012-05-03 09:21:34 +00:00
< p> En ré alité , j& rsquo;avais besoin de cet outils pour avoir un fichier par jour. Chaque ligne contenant UTC ayant le format suivant& nbsp;:< /p>
2012-05-02 15:43:56 +00:00
< pre class="twilight">
Mon Dec 7 10:32:30 UTC 2009
< /pre>
2012-05-03 09:21:34 +00:00
< p> J& rsquo;en suis finallement arrivé au code suivant& nbsp;:< /p>
2012-05-02 15:43:56 +00:00
< div>
2012-05-03 09:21:34 +00:00
...< /div> </content>
2012-04-02 21:43:39 +00:00
</entry>
<entry >
<id > tag:yannesposito.com,2010-02-16:/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/</id>
2012-05-03 09:21:34 +00:00
<title type= "html" > Tout sauf quelquechose en expression ré guliè re.</title>
2012-04-02 21:43:39 +00:00
<published > 2010-02-16T08:33:21Z</published>
<updated > 2010-02-16T08:33:21Z</updated>
<author >
<name > Yann Esposito</name>
<uri > yannesposito.com</uri>
</author>
<link rel= "alternate" href= "http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/" />
2012-05-03 09:21:34 +00:00
<content type= "html" > < p> Dans mon < a href="previouspost"> pré cé dent article< /a> j& rsquo;ai donné certaines astuces pour matcher & lsquo;tout sauf quelque chose& rsquo;. De la mê me maniè re, un truc pour matcher la chaine de caractè re la plus petite possible.
Disons que vous voulez matcher la chaine de caractè re entre & lsquo;a& rsquo; et & lsquo;b& rsquo;. Par exemple, vous voulez matcher& nbsp;:< /p>
2012-04-02 21:43:39 +00:00
< pre class="twilight">
a.....< span class="Constant"> < strong> a......b< /strong> < /span> ..b..a....< span class="Constant"> < strong> a....b< /strong> < /span> ...
< /pre>
< p> Voici les deux erreurs communes et une solution& nbsp;:< /p>
< pre class="twilight">
/a.*b/
< span class="Constant"> < strong> a.....a......b..b..a....a....b< /strong> < /span> ...
< /pre>
2012-05-03 09:21:34 +00:00
< p> La premiè re erreur vient de l& rsquo;utilisation du < em> terrible< /em> < /p> </content>
2012-04-02 21:43:39 +00:00
</entry>
2011-04-20 12:29:01 +00:00
</feed>