<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Le blog de NicoLargo &#187; Open-source</title> <atom:link href="http://blog.nicolargo.com/category/open-source/feed" rel="self" type="application/rss+xml" /><link>http://blog.nicolargo.com</link> <description>&#34;La connaissance est la seule chose qui s&#039;accroit lorsqu&#039;on la partage.&#34;</description> <lastBuildDate>Thu, 02 Sep 2010 08:38:02 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Nagios 3.2.2 est disponible, les scripts Nicolargo aussi !</title><link>http://blog.nicolargo.com/2010/09/nagios-3-2-2-est-disponible-les-scripts-nicolargo-aussi.html</link> <comments>http://blog.nicolargo.com/2010/09/nagios-3-2-2-est-disponible-les-scripts-nicolargo-aussi.html#comments</comments> <pubDate>Thu, 02 Sep 2010 08:26:38 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Nagios]]></category> <category><![CDATA[Open-source]]></category> <category><![CDATA[Reseau]]></category> <category><![CDATA[3.2.2]]></category> <category><![CDATA[installation]]></category> <category><![CDATA[mise à jour]]></category> <category><![CDATA[script]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3499</guid> <description><![CDATA[C&#8217;est la rentrée des classes dans le mini-monde de la supervision: en bon élève Nagios sort une nouvelle version de son coeur (Nagios Core 3.2.2). Pour une liste complète des nouveautés et corrections de bugs, je vous conseille la lecture de cette page. En parallèle j&#8217;ai modifié les scripts d&#8217;installation et de mise à jour de Nagios [...]]]></description> <content:encoded><![CDATA[<p><img
style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-529" title="Nagios logo" src="http://blog.nicolargo.com/wp-content/uploads/2007/10/smalllogo7.png" alt="" width="160" height="119" />C&#8217;est la rentrée des classes dans le mini-monde de la supervision: en bon élève Nagios sort une nouvelle version de son coeur (Nagios Core 3.2.2). Pour une liste complète des nouveautés et corrections de bugs, je vous conseille <a
href="http://www.nagios.org/development/history/core-3x">la lecture de cette page</a>.</p><p>En parallèle j&#8217;ai modifié les scripts <a
href="http://blog.nicolargo.com/2010/01/script-dinstallation-automatique-de-nagios.html">d&#8217;installation</a> et de <a
href="http://blog.nicolargo.com/2010/03/script-de-mise-a-jour-automatique-de-nagios.html">mise à jour</a> de Nagios pour qu&#8217;il prenne en compte cette nouvelle version.</p><p>Si vous avez suivi <a
href="http://blog.nicolargo.com/2009/01/le-serveur-de-supervision-libre-part-2.html">mon tutoriel d&#8217;installation de Nagios</a> (ou que vous avez utilisé <a
href="http://blog.nicolargo.com/2010/01/script-dinstallation-automatique-de-nagios.html">le script</a>), il suffit de saisir les commande suivantes pour effectuer une mise à jour de votre serveur:</p><blockquote><p>wget http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiosautoupdate-ubuntu.sh</p><p>chmod a+x nagiosautoupdate-ubuntu.sh</p><p>sudo ./nagiosautoupdate-ubuntu.sh</p></blockquote><p><span
style="text-decoration: underline;">Attention</span>: cette méthode de mise à jour ne fonctionnera pas si vous avez installé Nagios à partir des dépôts officiels de votre distribution.</p><p>Et hop !</p><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3499"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/09/nagios-3-2-2-est-disponible-les-scripts-nicolargo-aussi.html/feed</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Le bug de rafraîchissement de Gwibber résolu</title><link>http://blog.nicolargo.com/2010/09/le-bug-de-rafraichissement-de-gwibber-resolu.html</link> <comments>http://blog.nicolargo.com/2010/09/le-bug-de-rafraichissement-de-gwibber-resolu.html#comments</comments> <pubDate>Wed, 01 Sep 2010 07:46:42 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Open-source]]></category> <category><![CDATA[gwibber]]></category> <category><![CDATA[identica]]></category> <category><![CDATA[linux]]></category> <category><![CDATA[pino]]></category> <category><![CDATA[twiiter]]></category> <category><![CDATA[ubuntu]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3484</guid> <description><![CDATA[J&#8217;avais laissé tombé il y a quelque temps le client de micro blogging Gwibber pour passer à Pino car je rencontrais de manière récurrente un bug de mise à jour de la time-line Twitter. Ce bug (#533017), clairement identifié par les développeurs, vient d&#8217;être corrigé dans la dernière version de dev (2.31.91). Pour tester sur votre configuration [...]]]></description> <content:encoded><![CDATA[<p>J&#8217;avais laissé tombé il y a quelque temps le client de micro blogging Gwibber pour passer à Pino car je rencontrais de manière récurrente un bug de mise à jour de la time-line Twitter.</p><p>Ce bug (<a
href="https://bugs.launchpad.net/ubuntu/+source/gwibber/+bug/533017">#533017</a>), clairement identifié par les développeurs, <a
href="https://bugs.launchpad.net/ubuntu/+source/gwibber/+bug/533017/comments/45">vient d&#8217;être corrigé</a> dans la dernière version de dev (2.31.91).</p><p>Pour tester sur votre configuration Ubuntu:</p><p>On quitte Gwibber.</p><p>Puis on installe les dépôts de la dernière version:</p><blockquote><p>sudo add-apt-repository ppa:gwibber-daily/ppa</p><p>sudo apt-get update</p><p>sudo apt-get upgrade</p></blockquote><p>Puis on tue les processus *couch*:</p><blockquote><p>killall -r couch</p></blockquote><p>On relance ensuite Gwibber (<strong>Applications &gt; Internet &gt; Client de microblogage Gwibber</strong>).</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/09/Microblogage_037.png" rel="lightbox[3484]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3485" title="Microblogage_037" src="http://blog.nicolargo.com/wp-content/uploads/2010/09/Microblogage_037-475x580.png" alt="" width="475" height="580" /></a></p><p><strong>Attention</strong>: dans mon cas, le compte Twitter n&#8217;existait plus quand j&#8217;ai relancé Gwibber (alors que le compte Identica oui&#8230;). J&#8217;ai donc du le reconfigurer. <span
style="color: #ff6600;">Update: ceci est du à une nouvelle méthode d&#8217;authentification pour accéder à Twitter.</span></p><p>Je pense donc donner une chance a ce logiciel vu que Pino n&#8217;a toujours pas intégré une fonction de mixage des time-line (par exemple Twitter + Identica).</p><p>Et vous quel est votre client de micro blogging favori sous GNU/Linux ?</p><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3484"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/09/le-bug-de-rafraichissement-de-gwibber-resolu.html/feed</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>De l&#8217;utilité de gérer des serials DNS standards</title><link>http://blog.nicolargo.com/2010/08/de-lutilite-de-gerer-des-serials-dns-standards.html</link> <comments>http://blog.nicolargo.com/2010/08/de-lutilite-de-gerer-des-serials-dns-standards.html#comments</comments> <pubDate>Mon, 30 Aug 2010 19:52:00 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Open-source]]></category> <category><![CDATA[Reseau]]></category> <category><![CDATA[dns]]></category> <category><![CDATA[free]]></category> <category><![CDATA[gandi]]></category> <category><![CDATA[standard]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3415</guid> <description><![CDATA[Depuis la migration de mon nom de domaine vers les serveurs Gandi (suite au hack du site), le blog de Nicolargo est injoignable depuis certains FAI (notamment les Freenautes ce qui le coupe de plus d&#8217;un tiers du trafic Français)&#8230; Après des échanges ping pong entre le support de Gandi et celui de Free, j&#8217;ai décidé [...]]]></description> <content:encoded><![CDATA[<p>Depuis la migration de mon nom de domaine vers les serveurs Gandi (<a
href="http://blog.nicolargo.com/2010/08/nicolargo-is-back.html">suite au hack du site</a>), le blog de Nicolargo est injoignable depuis certains FAI (notamment les Freenautes ce qui le coupe de plus d&#8217;un tiers du trafic Français)&#8230;</p><p>Après des échanges ping pong entre le support de Gandi et celui de Free, j&#8217;ai décidé de prendre les choses en main, du moins en ce qui concerne l&#8217;identification du problème.</p><p>Le comportement est le suivant: sur le réseau Free, certains lecteurs voient normalement le blog tandis que d&#8217;autre sont redirigé vers l&#8217;ancienne adresse du serveur (aujourd&#8217;hui un compte iWeb8 suspendu). J&#8217;arrive parfaitement à reproduire ce comportement depuis chez moi (et oui je suis chez Free <img
src='http://blog.nicolargo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p><blockquote><p>nicolargo@nicolargo-laptop:~$ dig +nocmd nicolargo.com any +multiline +noall +answer</p><p>nicolargo.com.		85644 IN SOA ns1.panelboxmanager.com. logs.logs.privatedns.com. (<br
/> 2010072800 ; serial<br
/> 86400      ; refresh (1 day)<br
/> 7200       ; retry (2 hours)<br
/> 3600000    ; expire (5 weeks 6 days 16 hours)<br
/> 86400      ; minimum (1 day)<br
/> )<br
/> nicolargo.com.		13644 IN A 72.55.186.68<br
/> nicolargo.com.		85644 IN NS ns1.panelboxmanager.com.<br
/> nicolargo.com.		85644 IN NS ns2.panelboxmanager.com.<br
/> nicolargo.com.		13644 IN MX 0 nicolargo.com.</p><p>&#8212;</p><p>nicolargo@nicolargo-laptop:~$ dig +nocmd nicolargo.com any +multiline +noall +answer</p><p>nicolargo.com.		10080 IN MX 10 spool.mail.gandi.net.<br
/> nicolargo.com.		10080 IN MX 50 fb.mail.gandi.net.<br
/> nicolargo.com.		10080 IN A 217.70.184.38<br
/> nicolargo.com.		10080 IN SOA a.dns.gandi.net. hostmaster.gandi.net. (<br
/> 1282917455 ; serial<br
/> 10800      ; refresh (3 hours)<br
/> 3600       ; retry (1 hour)<br
/> 604800     ; expire (1 week)<br
/> 10800      ; minimum (3 hours)<br
/> )<br
/> nicolargo.com.		10080 IN NS a.dns.gandi.net.<br
/> nicolargo.com.		10080 IN NS b.dns.gandi.net.<br
/> nicolargo.com.		10080 IN NS c.dns.gandi.net.</p></blockquote><p>Une fois la résolution de nom se fait normalement (c&#8217;est à dire avec les NS pointant chez Gandi: dns.gandi.net), une fois non (les DNS pointent encore sur panelboxmanager.com, les serveurs DNS de iWeb8).</p><p>En regardant de plus près la réponse on peut voir les deux lignes suivantes:</p><blockquote><p>Réponse venant de iWeb8: &#8220;2010072800 ; serial&#8221;</p><p>Réponse venant de Gandi: &#8220;1282917455 ; serial&#8221;</p></blockquote><p>Je commence alors à comprendre d&#8217;ou vient le problème: quand le domaine était géré par iWeb8, ces derniers utilisait une gestion standard des numéro de série au format ANNEE-MOIS-JOUR-ID (2010072800), ce qui n&#8217;est pas le cas de Gandi qui doit générer dynamiquement ce numéro avec un algorithme interne (1282917455). Dans mon grand malheur, le numéro de série Gandi de la zone DNS nicolargo.com est inférieur à celui chez iWeb8. Il est donc normal que les serveurs DNS ne soit pas mis à jour&#8230;</p><p>Un petit tour du coté d&#8217;un site de validation de zone DNS:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/nicolargosoapb.jpg" rel="lightbox[3415]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3480" title="nicolargosoapb" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/nicolargosoapb-580x258.jpg" alt="" width="580" height="258" /></a></p><p>Je viens d&#8217;envoyer un mail au support Gandi pour qu&#8217;il me change le numéro de série SOA à une valeur &gt; à  2010072800&#8230;</p><p>Sinon il ne me reste plus qu&#8217;a attendre l&#8217;expiration de la zone DNS, c&#8217;est à dire presque&#8230; 6 semaines !!! Heureusement que je ne vie pas de ce blog <img
src='http://blog.nicolargo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Une autre solution serait de gérer moi même mon propre serveur DNS (c&#8217;est possible en mode expert sur les VPS Gandi), mais je n&#8217;ai pas vraiment le couple temps/envie de m&#8217;en occuper.</p><p>L&#8217;erreur que j&#8217;ai faite est de ne pas avoir modifier la zone DNS chez iWeb avant de clôturer mon compte&#8230; Cette aventure est quand même une bonne leçon à retenir pour les administrateurs de domaines DNS (par exemple pour ceux qui doivent <a
href="http://blog.nicolargo.com/2008/05/serveurs-dns-primaire-et-secondaire-avec-named.html">installer un BIND</a>): respecter les standards de numérotation des serials SOA !</p><p><span
style="color: #ff0000;"><strong>Update (j+9)</strong></span>: Comme le signale Pascal dans son <a
href="http://blog.nicolargo.com/2010/08/de-lutilite-de-gerer-des-serials-dns-standards.html/comment-page-1#comment-8730">commentaire</a> le serial SOA n&#8217;est utile que pour la réplication des zones entre le serveur primaire et le/les serveurs secondaires. Ce sont les TTL des RR qui fixent le temps de rafraîchissement des caches DNS (hébergé chez les FAI). Manifestement les serveurs de caches DNS de Free ne tiennent pas compte de ces TTL (fixés à 48h pour le domaine nicolargo.com) ou sont tout simplement bugués&#8230;</p><p><strong><span
style="color: #ff0000;">Update (j+10)</span></strong>: Je n&#8217;arrive malheureusement pas à avoir une réaction de la part du support de Free, il me dise que la mise à jour des caches se fait de manière automatique (je veux bien les croire sur ce point&#8230;) et qu&#8217;ils ne peuvent pas intervenir. Bref 10 jours après la migration, certain utilisateur ne peuvent toujours pas accéder au blog. Si quelqu&#8217;un connait un administrateur réseau chez Free je suis preneur !!!!</p><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3415"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/08/de-lutilite-de-gerer-des-serials-dns-standards.html/feed</wfw:commentRss> <slash:comments>12</slash:comments> </item> <item><title>Nouveau thème pour le blog !</title><link>http://blog.nicolargo.com/2010/08/nouveau-theme-pour-le-blog-2.html</link> <comments>http://blog.nicolargo.com/2010/08/nouveau-theme-pour-le-blog-2.html#comments</comments> <pubDate>Sun, 29 Aug 2010 20:18:14 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Open-source]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[nicolargo]]></category> <category><![CDATA[theme]]></category> <category><![CDATA[wordpress]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3465</guid> <description><![CDATA[Après 3 ans de bons et loyaux services, le thème Largo v1 prend sa retraite bien méritée. Il laisse sa place à Largo v2 (oui je sais, ce n&#8217;est pas très original&#8230;). Pourquoi un nouveau thème ? Tout simplement parce que je commençais à me lasser du précédent. De plus comme Largo v1 était le premier [...]]]></description> <content:encoded><![CDATA[<p>Après 3 ans de bons et loyaux services, le thème Largo v1 prend sa retraite bien méritée. Il laisse sa place à Largo v2 (oui je sais, ce n&#8217;est pas très original&#8230;).</p><h1>Pourquoi un nouveau thème ?</h1><p>Tout simplement parce que je commençais à me lasser du précédent. De plus comme Largo v1 était le premier thème WordPress que j&#8217;avais développé &#8220;from scratch&#8221; (<a
href="http://www.fran6art.com/wordpress/creez-votre-theme-wordpress-de-a-a-z/">merci encore aux tutos de Francis</a>), il était assez difficile à administrer et à faire évoluer.</p><p>Une fois la décision de changement de thème prise, j&#8217;ai commencé à regarder ce qu&#8217;il existait sur le marché, que ce soit au niveau des thèmes gratuits et payants. Je n&#8217;ai malheureusement jamais trouvé un thème qui réponde totalement à mes besoins. N&#8217;ayant pas les moyens de le faire développer par des professionnels du Webdesign (peut être la prochaine version&#8230;), j&#8217;ai mis la main dans le clavier et la souris.</p><h1>Petit tour du propriétaire</h1><h2>Le haut et le base du blog&#8230;</h2><p>On retrouve en haut à gauche une liste de liens vers les pages statiques du blog qui évoluera selon&#8230; mes envies. Pour l&#8217;instant des liens vers:</p><ul><li>la home page</li><li>la catégorie Open-source (le fond de commerce du blog;))</li><li>la &#8220;<em>famous</em>&#8221; page Nagios &amp; Co avec tous les billets sur la supervision système et réseau</li><li>la &#8220;<em>nouvelle</em>&#8221; page GStreamer avec tous les billets sur ce framework multimedia</li><li>la page Publicité pour les annonceurs (coucou)</li><li>la page A propos</li><li>la Contact</li></ul><p>En haut à droite, on a la liste des liens pour s&#8217;abonner au blog (c&#8217;est à dire recevoir les nouveaux billets sans forcement venir tout les jours sur le blog). Plusieurs solutions: par mail, via Facebook, par Twitter et enfin par RSS.</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-top.jpg" rel="lightbox[3465]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3466" title="largo2-top" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-top-580x295.jpg" alt="" width="580" height="295" /></a></p><p>En bas du blog, on a le pas très original footer:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-bottom.jpg" rel="lightbox[3465]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3468" title="largo2-bottom" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-bottom-580x271.jpg" alt="" width="580" height="271" /></a></p><h2>La home page (index)</h2><p>On retrouve sur la page principale la liste des derniers billets avec quelques informations:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-index.jpg" rel="lightbox[3465]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3467" title="largo2-index" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-index-580x152.jpg" alt="" width="580" height="152" /></a></p><h2>Les billets</h2><p>C&#8217;est le coeur du blog, vu que ces pages représentent 95% des visites&#8230; A gauche du billet, j&#8217;ai mis en place une sidebar avec quelques informations et liens utiles aux lecteurs pour approfondir le sujet.</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-singletop.jpg" rel="lightbox[3465]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3469" title="largo2-singletop" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-singletop-580x321.jpg" alt="" width="580" height="321" /></a></p><p>Au bas du billet, un menu permet de partager ou lire plus d&#8217;articles sur le sujet:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-singleshare.jpg" rel="lightbox[3465]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3470" title="largo2-singleshare" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-singleshare-580x345.jpg" alt="" width="580" height="345" /></a>Il suffit de cliquer sur le bandeau vert pour accéder aux différents sous menus&#8230;</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-singlesimilar.jpg" rel="lightbox[3465]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3471" title="largo2-singlesimilar" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-singlesimilar-580x316.jpg" alt="" width="580" height="316" /></a>Enfin les commentaires se trouve après tout celà:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-comment.jpg" rel="lightbox[3465]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3472" title="largo2-comment" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/largo2-comment-580x304.jpg" alt="" width="580" height="304" /></a></p><h1>Conclusion</h1><p>Bien que j&#8217;ai testé en interne (et avec l&#8217;aide de Nicolas aka Ritchy) le thème, il doit sûrement y avoir quelques coquilles restantes. Je compte sur vous pour me les signaler. De plus si vous avez des questions ou des remarques sur ce nouveau thème je suis également preneur !</p><p>Ce blog est fait pour vous !</p><p>PS: suite au hack du blog et à mon changement d’hébergeur, il semble que certains utilisateurs du réseau Free utilisent des DNS pointant encore sur mon ancien serveur. J&#8217;ai envoyé un mail au support de Free en espérant que le problème soit vite résolu&#8230;</p><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3465"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/08/nouveau-theme-pour-le-blog-2.html/feed</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Sauvegarde automatique de son serveur SVN</title><link>http://blog.nicolargo.com/2010/08/sauvegarde-automatique-de-son-serveur-svn.html</link> <comments>http://blog.nicolargo.com/2010/08/sauvegarde-automatique-de-son-serveur-svn.html#comments</comments> <pubDate>Fri, 27 Aug 2010 13:17:22 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Developpement]]></category> <category><![CDATA[Open-source]]></category> <category><![CDATA[Systeme]]></category> <category><![CDATA[archive]]></category> <category><![CDATA[backup]]></category> <category><![CDATA[svn]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3463</guid> <description><![CDATA[Dans la série &#8220;sauvegarde tes données sinon tu le regretteras un jour ou l&#8217;autre&#8221;, je voudrais le serveur SVN. J&#8217;utilise un serveur SVN (pas encore eu le temps ni le courage de passer à GIT) pour gérer en version mes configurations, mes scripts shell et mes petits développements personnels. Une erreur de manipulation étant vite [...]]]></description> <content:encoded><![CDATA[<p> <img
style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright" title="scr-tortoisesvn.resized" src="http://blog.nicolargo.com/wp-content/uploads/2010/04/scr-tortoisesvn.resized-150x150.png" alt="" width="150" height="150" />Dans la série &#8220;sauvegarde tes données sinon tu le regretteras un jour ou l&#8217;autre&#8221;, je voudrais<a
href="http://blog.nicolargo.com/2009/04/installation-dun-serveur-svn-sous-ubuntu.html"> le serveur SVN</a>.</p><p>J&#8217;utilise un serveur SVN (pas encore eu le temps ni le courage de passer à GIT) pour gérer en version mes configurations, mes scripts shell et mes petits développements personnels. Une erreur de manipulation étant vite arrivée, j&#8217;ai automatisé l&#8217;archivage journalier (avec une mémoire d&#8217;une semaine) de la base de donnée utilisée par SVN.</p><h1>Sauvegarde</h1><p>J&#8217;utilise pour cela la commande <a
href="http://svnbook.red-bean.com/en/1.0/ch05s03.html#svn-ch-5-sect-3.1.2">svnadmin</a> qui permet à l&#8217;aide de l&#8217;option <strong>dump</strong> de copier dans un simple fichier le contenu de la base de donnée.</p><p>Par exemple pour sauvegarder le projet dont la racine SVN se trouve dans le répertoire /var/svn/monbeauprojet, il faut saisir la commande suivante:</p><blockquote><p>svnadmin -q /var/svn/monbeauprojet &gt; /backup/svn/monbeauprojet.svndump</p></blockquote><p>Il est bien sûr conseillé d&#8217;avoir une sauvegarde sur un disque différent de celui montée par /var/svn ou encore mieux d&#8217;uploader la sauvegarde sur un autre serveur.</p><h1>Script pour sauvegarder l&#8217;ensemble des projets</h1><p>Si votre serveur SVN comporte plusieurs projets, il faut passer par un shell script:</p><blockquote><p># Backup SVN (local)</p><p>day=`LANG=C date +%A | tr A-Z a-z`</p><p>svnrepo=&#8221;/var/svn/&#8221;</p><p>backupdir=&#8221;/backup/svn&#8221;</p><p>for i in `ls $svnrepo`</p><p>do</p><p>svnadmin -q dump $svnrepo/$i &gt; $backupdir/$i-$day.svndump</p><p>gzip $backupdir/$i-$day.svndump</p><p>rm $backupdir/$i-$day.svndump</p><p>done</p></blockquote><p>Ce script va produire dans le sous répertoire /backup/svn une liste de fichiers compressés (format gzip). Chaque projet aura 7 sauvegardes correspondant aux 7 derniers jours. Par exemple, le fichier nommé <strong>monbeauprojet-sunday.svndump.gz</strong> sera la sauvegarde de la base de données SVN de dimanche dernier.</p><p>Pour lancer automatiquement la sauvegarde il suffit d&#8217;ajouter ce script dans <a
href="http://doc.ubuntu-fr.org/cron">la crontab système</a>.</p><h1>Restauration</h1><p>En cas de problème sur un projet, il suffit de saisir les commandes suivantes pour restaurer la base de données. On utilise également la commande svnadmin mais cette fois ci avec l&#8217;option <strong>load</strong>:</p><blockquote><p>gzip -d /backup/svn/monbeauprojet-sunday.svndump.gz</p><p>svnadmin load /var/svn/monbeauprojet &lt; /backup/svn/monbeauprojet-sunday.svndump</p></blockquote><p>Il faut bien vérifier que les droits des sous répertoires sont bons (svn:svn pour mon Ubuntu Server).</p><p>Si la restauration se fait sur un nouveau serveur SVN, il faut penser à créer le répertoire avec la commande:</p><blockquote><p>svnadmin create /var/svn/monbeauprojet</p></blockquote><h1>Conclusion</h1><p>Il y a surement d&#8217;autres solutions techniques (par exemple faire une copie sur un deuxième serveur SVN avec la commande svnadmin hotcopy) mais je trouve cette solution plutôt simple et flexible.</p><div><span
style="color: #0000ee; -webkit-text-decorations-in-effect: underline;"><br
/> </span></div><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3463"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/08/sauvegarde-automatique-de-son-serveur-svn.html/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Installation d&#8217;un blog WordPress sur un VPS Gandi</title><link>http://blog.nicolargo.com/2010/08/installation-dun-blog-wordpress-sur-un-vps-gandi.html</link> <comments>http://blog.nicolargo.com/2010/08/installation-dun-blog-wordpress-sur-un-vps-gandi.html#comments</comments> <pubDate>Wed, 25 Aug 2010 08:55:48 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Open-source]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[apache]]></category> <category><![CDATA[gandi]]></category> <category><![CDATA[serveur]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[vps]]></category> <category><![CDATA[wordpress]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3419</guid> <description><![CDATA[Comme vous le savez, je me suis fait hacké mon site pendant les &#8220;grandes vacances&#8221;. Cette petite contrariété m&#8217;a fait faire dans l&#8217;urgence une chose que j&#8217;avais planifier depuis un certain moment: la migration du Blog de Nicolargo sur un serveur privé virtuel de Gandi. Nous allons donc voir dans ce billet comment installer, sécuriser [...]]]></description> <content:encoded><![CDATA[<p>Comme vous le savez, <a
href="je me suis fait hacké mon site">je me suis fait hacké mon site</a> pendant les &#8220;grandes vacances&#8221;. Cette petite contrariété m&#8217;a fait faire dans l&#8217;urgence une chose que <a
href="http://blog.nicolargo.com/2009/05/creation-dun-serveur-chez-gandi.html">j&#8217;avais planifier depuis un certain moment</a>: la migration du Blog de Nicolargo sur <a
href="http://www.gandi.net/hebergement/">un serveur privé virtuel de Gandi</a>.</p><p>Nous allons donc voir dans ce billet comment installer, sécuriser et optimiser une blog WordPress sur une serveur privé virtuel !<span
id="more-3419"></span></p><h1>Commencons par le commencement</h1><p>Il faut d&#8217;abord choisir les performances initiales du serveur virtuel. J&#8217;ai utilisé le serveur que j&#8217;avais créé il y a quelques mois. C&#8217;est l&#8217;entrée de gamme, c&#8217;est à dire 1 part correspondant aux spécifications suivantes:</p><ul
id="dyn_specs"><li>1/64<sup>ème</sup> des capacités globales du serveur, soit environ <strong>1 GHz</strong></li><li>1/64<sup>ème</sup> des 16 Go de mémoire du serveur, soit <strong>256 Mo de RAM garantie avec un burst possible à 2 Go</strong> (+512 Mo de Swap)</li><li>1/64<sup>ème</sup> des capacités réseau, soit <strong>5 Mbits dédiés</strong></li><li>1/64<sup>ème</sup> du disque réservé au serveur, soit <strong>5 Go de disque data</strong> (+3 Go pour le système)</li></ul><p>Comme nous allons le voir plus tard cette configuration n&#8217;est pas adapté pour un blog avec un trafic relativement important (environ 1 00 000 pages vues par mois) . Je suis donc rapidement passé à la configuration suivante:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/Sélection_033.png" rel="lightbox[3419]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-3435" title="Conf serveur blog.nicolargo.com 2010/08" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/Sélection_033.png" alt="" width="428" height="304" /></a></p><p>Nous disposons donc d&#8217;un accès SSH (root) sur le serveur,. Après une mise à jour du système d&#8217;ecploitation (Ubuntu Server 9.04) nous pouvons enfin commencer les choses sérieuses&#8230;</p><h1>Installation du serveur Web Apache</h1><p>On commence par installer le serveur:</p><blockquote><p>sudo aptitude install apache2</p></blockquote><p>Puis on active les modules qui vont nous permettre d&#8217;optimiser les performances de WordPress:</p><blockquote><p>sudo a2enmod deflate</p><p>sudo a2enmod headers</p><p>sudo a2enmod rewrite</p><p>sudo a2enmod expires</p></blockquote><p>Il est également possible d&#8217;adapter la configuration des processus Apache (nombre de process, nombre maximal de client par process..) en modifiant le fichier /etc/apache2/apache2.conf:</p><blockquote><p>&lt;IfModule mpm_prefork_module&gt;</p><p>StartServers          5</p><p>MinSpareServers       5</p><p>MaxSpareServers      10</p><p>MaxClients          40</p><p>MaxRequestsPerChild   2000</p><p>&lt;/IfModule&gt;</p></blockquote><p><strong>StartServers</strong> permet de configurer le nombre de processus Apache lancés au démarrage.</p><p><strong>MinSpareServers</strong> et <strong>MaxSpareServers</strong> donnent respectivement le nombre minimum et maximum de processus Apache selon les besoins.</p><p><strong>MaxClients</strong> permet de configurer le nombre de clients (au sens session TCP) pouvant se connecter simultanément à un processus Apache. Pour des sites dynamiques (comme WordPress) il est plutôt conseillé de ne pas avoir une valeur trop élevée afin d&#8217;éviter les swap mémoire sur disque.</p><p>Une solution proposée <a
href="http://thethemefoundry.com/blog/optimize-apache-wordpress/">sur ce blog</a> pour calculer la valeur MaxClients est la suivantes: Il faut d&#8217;abord regarder combien de mémoire prend un processus apache2 (par exemple avec la commande <em>top</em>), puis diviser la mémoire système disponible par cette valeur. Par exemple, pour un serveur disposant de 1 Go de RAM (1000 Mo) et dont chaque processus Apache occupe 25 Mo, on a le calcul suivant:</p><p
style="padding-left: 30px;">MaxClients = 1000 / 25 = 40</p><p>Enfin <strong>MaxRequestsPerChild</strong> permet de définir le nombre maximal de requête qu&#8217;un processus peut prendre en charge avant d&#8217;être tué. Il est conseillé de mettre une valeur différente de 0 (le processus n&#8217;est alors jamais tué) pour éviter qu&#8217;une processus ne consomme trop de mémoire si un problème arrive.</p><p>On passe ensuite aux directives <strong>KeepAlive</strong> qui permette de configurer finement le temps de vie des sessions TCP. Pour un site dynamique comportant un nombre important d&#8217;images et de JS (comme mon blog), les valeurs suivants sont un bon point de départ:</p><blockquote><div
id="_mcePaste"># KeepAlive: Whether or not to allow persistent connections</div><div
id="_mcePaste">KeepAlive On</div><div
id="_mcePaste"># MaxKeepAliveRequests: The maximum number of requests to allow</div><div
id="_mcePaste">MaxKeepAliveRequests 200</div><div
id="_mcePaste"># KeepAliveTimeout: Number of seconds to wait for the next request</div><div
id="_mcePaste">KeepAliveTimeout 5</div><div><div># Timeout: The number of seconds before receives and sends time out.</div><div>Timeout 50</div></div></blockquote><p>Enfin on relance le serveur pour que la configuration soit prise en compte:</p><blockquote><p>sudo /etc/init.d/apache2 restart</p></blockquote><h1 style="font-size: 2em;">Installation de MySQL</h1><p>On commence par installer le serveur MySQL:</p><blockquote><p>sudo aptitude install mysql-server</p></blockquote><p>Puis on créé une base de donnée et un compte utilisateur associé qui va servir pour WordPress:</p><blockquote><p>mysql -u adminusername -p</p><p>mysql&gt; CREATE DATABASE databasename;</p><p>Query OK, 1 row affected (0.00 sec)</p><p>mysql&gt; GRANT ALL PRIVILEGES ON databasename.* TO &#8220;wordpressusername&#8221;@&#8221;hostname&#8221;</p><p>-&gt; IDENTIFIED BY &#8220;password&#8221;;</p><p>Query OK, 0 rows affected (0.00 sec)</p><p>mysql&gt; FLUSH PRIVILEGES;</p><p>Query OK, 0 rows affected (0.01 sec)</p><p>mysql&gt; EXIT</p></blockquote><p>On peut optimiser la base de donnée en éditant le fichier /etc/mysql/my.cnf:</p><blockquote><p>query_cache_type	= 1</p><p>query_cache_limit       = 2M</p><p>query_cache_size        = 32M</p></blockquote><p>Ne pas oublier de relancer le serveur MySQL pour prendre en compte les modifications.</p><h1>Installation de WordPress</h1><p>Depuis le hack de mon blog, j&#8217;ai décidé de travailler directement avec la version SVN de WordPress afin de disposer au plus vite des patchs de sécurité. Une fois de le répertoire racine de votre site Web (/home/nicolargo/web/blog dans mon cas), il faut saisir la commande suivante:</p><blockquote><p>svn co http://core.svn.wordpress.org/trunk/ .</p></blockquote><p>On ajoute ensuite la ligne suivante dans le fichier .htaccess afin de rendre invisible les sous répertoires .svn:</p><blockquote><p>RewriteRule ^(.*/)?\.svn/ &#8211; [F,L]</p></blockquote><p>Puis on finalise l&#8217;installation en suivant <a
href="http://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Install">la fameuse installation de WordPress en 5 minutes</a>.</p><p>Il est ensuite conseillé de supprimer le fichier wp-admin/install.php (qui ne servira plus une fois l&#8217;installation faite):</p><blockquote><p>rm wp-admin/install.php</p></blockquote><h1>Sécurisation de WordPress</h1><p>Cette sécurisation passe par deux étapes. Une première est de protéger le blog à l&#8217;aide du fichier .htaccess. La seconde est d&#8217;installer des plugins de sécurité qui vont nous permettre de faire régulièrement des audits sur notre serveur.</p><p>Pour le fichier .htaccess, j&#8217;utilise la base suivante:</p><blockquote><p># MAIN</p><p>RewriteEngine On</p><p>ServerSignature Off</p><p>Options All -Indexes</p><p>Options +FollowSymLinks</p><p><br
class="spacer_" /></p><p># SVN protect</p><p>RewriteRule ^(.*/)?\.svn/ &#8211; [F,L]</p><p><br
class="spacer_" /></p><p># Secure .htaccess</p><p>&lt;Files .htaccess&gt;</p><p>Order Allow,Deny</p><p>Deny from all</p><p>&lt;/Files&gt;</p><p><br
class="spacer_" /></p><p># Secure wp-config.php</p><p>&lt;Files wp-config.php&gt;</p><p>Order Deny,Allow</p><p>Deny from all</p><p>&lt;/Files&gt;</p><p><br
class="spacer_" /></p><p># FILTER REQUEST</p><p>&lt;IfModule mod_rewrite.c&gt;</p><p>RewriteBase /</p><p>RewriteCond %{REQUEST_FILENAME} !-f</p><p>RewriteCond %{REQUEST_FILENAME} !-d</p><p>RewriteRule . /index.php [L]</p><p>&lt;/IfModule&gt;</p><p><br
class="spacer_" /></p><p># BEGIN Expire Header</p><p>&lt;FilesMatch &#8220;\.(ico|jpg|jpeg|png|gif|js|css|swf)$&#8221;&gt;</p><p>ExpiresDefault &#8220;access plus 2 hours&#8221;</p><p>&lt;/FilesMatch&gt;</p><p><br
class="spacer_" /></p><p># BLACKLIST CANDIDATES</p><p>&lt;Limit GET POST PUT&gt;</p><p>Order Allow,Deny</p><p>Allow from all</p><p>Deny from 75.126.85.215   &#8220;# blacklist candidate 2008-01-02 = admin-ajax.php attack &#8220;</p><p>Deny from 128.111.48.138  &#8220;# blacklist candidate 2008-02-10 = cryptic character strings &#8220;</p><p>Deny from 87.248.163.54   &#8220;# blacklist candidate 2008-03-09 = block administrative attacks &#8220;</p><p>Deny from 84.122.143.99   &#8220;# blacklist candidate 2008-04-27 = block clam store loser &#8220;</p><p>Deny from 210.210.119.145 &#8220;# blacklist candidate 2008-05-31 = block _vpi.xml attacks &#8220;</p><p>Deny from 66.74.199.125   &#8220;# blacklist candidate 2008-10-19 = block mindless spider running &#8220;</p><p>Deny from 203.55.231.100  &#8220;# 1048 attacks in 60 minutes&#8221;</p><p>Deny from 24.19.202.10    &#8220;# 1629 attacks in 90 minutes&#8221;</p><p>&lt;/Limit&gt;</p><p><br
class="spacer_" /></p><p># QUERY STRING EXPLOITS</p><p>&lt;IfModule mod_rewrite.c&gt;</p><p>RewriteCond %{QUERY_STRING} \.\.\/    [NC,OR]</p><p>RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]</p><p>RewriteCond %{QUERY_STRING} tag\=     [NC,OR]</p><p>RewriteCond %{QUERY_STRING} ftp\:     [NC,OR]</p><p>RewriteCond %{QUERY_STRING} http\:    [NC,OR]</p><p>RewriteCond %{QUERY_STRING} https\:   [NC,OR]</p><p>RewriteCond %{QUERY_STRING} mosConfig [NC,OR]</p><p>RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|&lt;|&gt;|&#8217;|&#8221;|;|\?|\*).* [NC,OR]</p><p>RewriteCond %{QUERY_STRING} ^.*(%22|%27|%3C|%3E|%5C|%7B|%7C).* [NC,OR]</p><p>RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]</p><p>RewriteCond %{QUERY_STRING} ^.*(globals|encode|config|localhost|loopback).* [NC,OR]</p><p>RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]</p><p>RewriteRule ^(.*)$ &#8211; [F,L]</p><p>&lt;/IfModule&gt;</p><p><br
class="spacer_" /></p><p># CHARACTER STRINGS</p><p>&lt;IfModule mod_alias.c&gt;</p><p># BASIC CHARACTERS</p><p>RedirectMatch 403 \,</p><p>RedirectMatch 403 \:</p><p>RedirectMatch 403 \;</p><p>RedirectMatch 403 \=</p><p>RedirectMatch 403 \@</p><p>RedirectMatch 403 \[</p><p>RedirectMatch 403 \]</p><p>RedirectMatch 403 \^</p><p>RedirectMatch 403 \`</p><p>RedirectMatch 403 \{</p><p>RedirectMatch 403 \}</p><p>RedirectMatch 403 \~</p><p>RedirectMatch 403 \&#8221;</p><p>RedirectMatch 403 \$</p><p>RedirectMatch 403 \&lt;</p><p>RedirectMatch 403 \&gt;</p><p>RedirectMatch 403 \|</p><p>RedirectMatch 403 \.\.</p><p>RedirectMatch 403 \/\/</p><p>RedirectMatch 403 \%0</p><p>RedirectMatch 403 \%A</p><p>RedirectMatch 403 \%B</p><p>RedirectMatch 403 \%C</p><p>RedirectMatch 403 \%D</p><p>RedirectMatch 403 \%E</p><p>RedirectMatch 403 \%F</p><p>RedirectMatch 403 \%22</p><p>RedirectMatch 403 \%27</p><p>RedirectMatch 403 \%28</p><p>RedirectMatch 403 \%29</p><p>RedirectMatch 403 \%3C</p><p>RedirectMatch 403 \%3E</p><p>RedirectMatch 403 \%3F</p><p>RedirectMatch 403 \%5B</p><p>RedirectMatch 403 \%5C</p><p>RedirectMatch 403 \%5D</p><p>RedirectMatch 403 \%7B</p><p>RedirectMatch 403 \%7C</p><p>RedirectMatch 403 \%7D</p><p># COMMON PATTERNS</p><p>Redirectmatch 403 \_vpi</p><p>RedirectMatch 403 \.inc</p><p>Redirectmatch 403 xAou6</p><p>Redirectmatch 403 db\_name</p><p>Redirectmatch 403 select\(</p><p>Redirectmatch 403 convert\(</p><p>Redirectmatch 403 \/query\/</p><p>RedirectMatch 403 ImpEvData</p><p>Redirectmatch 403 \.XMLHTTP</p><p>Redirectmatch 403 proxydeny</p><p>RedirectMatch 403 function\.</p><p>Redirectmatch 403 remoteFile</p><p>Redirectmatch 403 servername</p><p>Redirectmatch 403 \&amp;rptmode\=</p><p>Redirectmatch 403 sys\_cpanel</p><p>RedirectMatch 403 db\_connect</p><p>RedirectMatch 403 doeditconfig</p><p>RedirectMatch 403 check\_proxy</p><p>Redirectmatch 403 system\_user</p><p>Redirectmatch 403 \/\(null\)\/</p><p>Redirectmatch 403 clientrequest</p><p>Redirectmatch 403 option\_value</p><p>RedirectMatch 403 ref\.outcontrol</p><p># SPECIFIC EXPLOITS</p><p>RedirectMatch 403 errors\.</p><p>RedirectMatch 403 config\.</p><p>RedirectMatch 403 include\.</p><p>RedirectMatch 403 display\.</p><p>RedirectMatch 403 register\.</p><p>Redirectmatch 403 password\.</p><p>RedirectMatch 403 maincore\.</p><p>RedirectMatch 403 authorize\.</p><p>Redirectmatch 403 macromates\.</p><p>RedirectMatch 403 head\_auth\.</p><p>RedirectMatch 403 submit\_links\.</p><p>RedirectMatch 403 change\_action\.</p><p>Redirectmatch 403 com\_facileforms\/</p><p>RedirectMatch 403 admin\_db\_utilities\.</p><p>RedirectMatch 403 admin\.webring\.docs\.</p><p>Redirectmatch 403 Table\/Latest\/index\.</p><p>&lt;/IfModule&gt;</p></blockquote><p>On passe ensuite à l&#8217;installation des plugins de sécurité suivants:</p><ul><li><a
href="http://wordpress.org/extend/plugins/secure-wordpress/">Secure WordPress</a></li><li><a
href="http://wordpress.org/extend/plugins/wp-security-scan/">WP Security Scan</a></li></ul><p>Le premier (Secure WordPress) permet d&#8217;effectuer simplement et automatiquement une liste d&#8217;actions essentielle à la sécurité de votre site:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/Sélection_032.png" rel="lightbox[3419]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3434" title="Secure WordPress screenshot" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/Sélection_032-580x337.png" alt="" width="580" height="337" /></a></p><p>Le second (WP Security Scan) effectue régulièrement un scan de l&#8217;arborescence de votre site et remonte dans l&#8217;interface d&#8217;administration de WordPress les fichiers modifiés.</p><h1>Optimisation de WordPress</h1><p>Pour l&#8217;optimisation des performance du blog, je me base sur l&#8217;indispensable plugin <a
href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a>. Bien qu&#8217;il ne se limite pas qu&#8217;a cela, il permet de mettre facilement en place un système de cache ou les pages sont directement gérées en mémoire RAM plutôt qu&#8217;en lecture sur le disque dur. J&#8217;ai choisi de coupler W3 Total Cache avec Memcached (un cache mémoire sous licence libre).</p><p>L&#8217;installation de Memcached est des plus simple:</p><blockquote><p>sudo aptitude install libcache-memcached-perl memcached</p></blockquote><p>Si votre serveur est protégé par un Firewall (ce que je conseille évidemment&#8230;), il ne faut pas oublier d&#8217;ajouter la règle suivante:</p><blockquote><p>iptables -A OUTPUT -p tcp &#8211;destination 127.0.0.1 &#8211;dport 11211 -j ACCEPT</p></blockquote><p>La configuration de W3 Total Cache se fait via l&#8217;onglet Performance / General settings:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/Sélection_034.png" rel="lightbox[3419]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3436" title="Sélection_034" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/Sélection_034-580x461.png" alt="" width="580" height="461" /></a></p><p>Une dernière optimisation consiste à installer le plugin <a
href="http://wordpress.org/extend/plugins/wp-dbmanager/">WP-DBManager </a>et de suivre régulièrement (tout les mois environ) les procédures d&#8217;optimisation (onglet Database).</p><h1>Test et validation</h1><p>Pour tester les performances de votre serveur, vous pouvez utiliser la commande suivante:</p><blockquote><p>ab -t 30 -c 5 http://votreblog.com/</p></blockquote><p>L&#8217;information intéressante se trouve sur la ligne:</p><blockquote><p>Requests per second:    159.46 [#/sec] (mean)</p></blockquote><p>Il est également important de surveiller les paramètres suivant: charge CPU, mémoire RAM disponible, accès disque et réseau. Gandi propose pour cela une interface d&#8217;administration Web avec un système de sonde permettant de remonter des alertes par mail ou même d&#8217;augmenter dynamiquement le nombre de part lors d&#8217;un pic de trafic.</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/08/Sélection_035.png" rel="lightbox[3419]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3438" title="Gandi monitoring" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/Sélection_035-580x445.png" alt="" width="580" height="445" /></a></p><p>Personnellement, je surveille mon serveur via <a
href="http://blog.nicolargo.com/nagios-tutoriels-et-documentations">Nagios</a> mais cela sera le sujet d&#8217;un prochain billet&#8230;</p><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3419"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/08/installation-dun-blog-wordpress-sur-un-vps-gandi.html/feed</wfw:commentRss> <slash:comments>14</slash:comments> </item> <item><title>Nicolargo is back&#8230;</title><link>http://blog.nicolargo.com/2010/08/nicolargo-is-back.html</link> <comments>http://blog.nicolargo.com/2010/08/nicolargo-is-back.html#comments</comments> <pubDate>Tue, 24 Aug 2010 07:47:22 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Open-source]]></category> <category><![CDATA[hack]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3412</guid> <description><![CDATA[Voilà, après deux semaines de coupure le blog de Nicolargo est de nouveau en ligne&#8230; Retour en arrière le mercredi 11 août 2010. En congés depuis 2 semaines et comme tout les jours je profite de ma superbe connexion &#8220;Edge super bas débit&#8221; pour consulter mes mails depuis mon smartphone. J&#8217;apprend alors que mon blog a été [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-3413" title="2043_fail_camera_Fail-s500x420-10287-580" src="http://blog.nicolargo.com/wp-content/uploads/2010/08/2043_fail_camera_Fail-s500x420-10287-580.jpg" alt="" width="300" height="252" /></p><p
style="text-align: left;">Voilà, après deux semaines de coupure le blog de Nicolargo est de nouveau en ligne&#8230;</p><p
style="text-align: left;">Retour en arrière le mercredi 11 août 2010. En congés depuis 2 semaines et comme tout les jours je profite de ma superbe connexion &#8220;Edge super bas débit&#8221; pour consulter mes mails depuis mon smartphone. J&#8217;apprend alors que mon blog a été hacké pendant la nuit (au passage, merci à tout les lecteurs pour vos message d&#8217;alertes, vous êtes encore plus rapide que Nagios <img
src='http://blog.nicolargo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p><p
style="text-align: left;">Je me retrouve dans la pire situation pour une webmaster: ne rien pouvoir faire&#8230; Pas de PC, pas de connexion Internet&#8230;</p><p
style="text-align: left;">Le lendemain matin, iWeb (mon hébergeur au moment du hack) bloque mon compte pour d&#8217;évidentes raisons de sécurités&#8230; Le blog de Nicolargo n&#8217;existe plus sur la toile&#8230;</p><p
style="text-align: left;">Je décide alors de laisser tomber l&#8217;affaire et d&#8217;attendre mon retour de congés pour intervenir. Pas envies de gâcher mes vacances à cause d&#8217;un hacker pré-pubère qui cible de manière aléatoire ses cibles. A l&#8217;heure actuelle, je ne sais pas si le hack vient de WordPress (j&#8217;ai pu laisser passer une mise à jour quand j&#8217;étais en congés) ou d&#8217;un plugin&#8230;</p><p
style="text-align: left;">A mon retour (hier), voici les actions que j&#8217;ai menées:</p><ul><li>Récupération des sauvegardes datant du 1 août (fichiers + base de donnée)</li><li>Modification du DNS du domaine nicolargo.com pour faire pointer sur un <a
href="http://www.gandi.net/hebergement/">Gandi Serveur</a></li><li>Installation Apache + MySQL sur le serveur</li><li>Installation de la dernière version de WordPress (depuis le SVN)</li><li>Restauration des fichiers et de la base de donnée</li><li>Sécurisation du blog <a
href="http://net.tutsplus.com/tutorials/wordpress/20-steps-to-a-flexible-and-secure-wordpress-installation/ ">en suivant ce tutoriel</a></li><li>Tests et validations internes</li><li>Mise en ligne</li></ul><p
style="text-align: left;">Il me reste a surveiller la montée en charge du serveur en adaptant le nombre de part pour le blog si nécessaire (je suis pour l&#8217;instant sur 1 part avec 512 Mo de RAM).</p><p
style="text-align: left;">Les impacts du hack  ne sont pas négligeables, outre le stress et la perte de temps, je ne suis pour l&#8217;instant plus référencé dans Google (sic&#8230;), je perd donc 80% de mon trafic&#8230;</p><p
style="text-align: left;">Mea culpa pour ma coupable négligence qui a surement pénaliser des lecteurs voulant trouver des informations sur le blog et encore merci à toute la communauté qui n&#8217;a pas hésité à proposer son aide via <a
href="http://twitter.com/nicolargo">mon compte twitter</a>.</p><p
style="text-align: left;">A bientôt sur le blog pour de nouveaux billets !</p><p
style="text-align: left;">PS: le nouveau thème est presque finalisé&#8230; Il devrait être disponible début septembre.</p><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3412"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/08/nicolargo-is-back.html/feed</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>Scrolling fluide sous Chrome/Chromium</title><link>http://blog.nicolargo.com/2010/07/scrolling-fluide-sous-chromechromium.html</link> <comments>http://blog.nicolargo.com/2010/07/scrolling-fluide-sous-chromechromium.html#comments</comments> <pubDate>Thu, 29 Jul 2010 20:46:35 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Open-source]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[chromium]]></category> <category><![CDATA[scrolling]]></category> <category><![CDATA[smooth]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3395</guid> <description><![CDATA[Enfin de bénéficier d&#8217;un scrolling fluide (c&#8217;est à la mode avec les smarthphones) sur le navigateur Google Chrome ou Chromium de votre ordinateur personnel, je vous conseille fortement l&#8217;installation du plugin SmoothScrool. Une fois installé, il suffit de se rendre dans les paramètres de configurations du plugins en cliquant sur l&#8217;icône Clès &#62; Tools &#62; [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: right;"><img
style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="size-full wp-image-3397  alignright" title="Sélection_029" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Sélection_029.png" alt="" width="250" height="125" /></p><p>Enfin de bénéficier d&#8217;un scrolling fluide (c&#8217;est à la mode avec les smarthphones) sur le navigateur Google Chrome ou Chromium de votre ordinateur personnel, je vous conseille fortement l&#8217;installation <a
href="https://chrome.google.com/extensions/detail/cccpiddacjljmfbbgeimpelpndgpoknn">du plugin SmoothScrool</a>.</p><p>Une fois installé, il suffit de se rendre dans les paramètres de configurations du plugins en cliquant sur l&#8217;icône Clès &gt; Tools &gt; Extensions.</p><p>Personnellement et après quelques tests sur mon portable, j&#8217;utilise les paramètres suivants:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/07/Sélection_028.png" rel="lightbox[3395]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-3396" title="Sélection_028" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Sélection_028.png" alt="" width="433" height="312" /></a></p><p><em>Update</em>: si vous trouvez le scroll trop lent, vous pouvez augmenter la valeur de &#8220;<strong>Stride size per scroll</strong>&#8221; in pixel à <strong>50</strong> ou plus.</p><p>Le plugin fonctionne parfaitement sur mon Chromium sous Ubuntu 10.04&#8230;</p><p>Encore un plugin indispensable de plus à ajouter à <a
href="http://blog.nicolargo.com/2009/11/extensions-indispensables-pour-chromium.html">sa liste</a>&#8230;</p><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3395"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/07/scrolling-fluide-sous-chromechromium.html/feed</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Nouvelle version 1.4.15 pour les plugins Nagios</title><link>http://blog.nicolargo.com/2010/07/nouvelle-version-1-4-15-pour-les-plugins-nagios.html</link> <comments>http://blog.nicolargo.com/2010/07/nouvelle-version-1-4-15-pour-les-plugins-nagios.html#comments</comments> <pubDate>Wed, 28 Jul 2010 11:29:17 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Nagios]]></category> <category><![CDATA[Open-source]]></category> <category><![CDATA[1.4.15]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[script]]></category> <category><![CDATA[ubuntu]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3384</guid> <description><![CDATA[Nagios, l&#8217;outil de supervision libre, se base sur un système de plugin pour surveiller les éléments de votre réseau. Une nouvelle version (1.4.15) vient d&#8217;être mise à disposition (voir la liste des nouveautés ici). Pour mettre à jour votre serveur, deux solutions: suivre cette procédure que j&#8217;avais écrite il y a quelques temps utiliser le script [...]]]></description> <content:encoded><![CDATA[<div><p
style="text-align: center;"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter" title="Nagios plugins" src="http://blog.nicolargo.com/wp-content/uploads/2009/09/screenshot_001.png" alt="Nagios plugins" width="607" height="226" /></p><p><a
href="http://blog.nicolargo.com/nagios-tutoriels-et-documentations">Nagios</a>, l&#8217;outil de supervision libre, se base sur un système de plugin pour surveiller les éléments de votre réseau. Une nouvelle version (1.4.15) vient d&#8217;être mise à disposition (voir <a
href="http://www.monitoring-fr.org/2010/07/nagios-plugins-1-4-15/">la liste des nouveautés ici</a>).</p><p>Pour mettre à jour votre serveur, deux solutions:</p><ul><li><a
href="http://blog.nicolargo.com/2008/07/mise-a-jour-des-plugins-dans-nagios.html">suivre cette procédure</a> que j&#8217;avais écrite il y a quelques temps</li><li>utiliser le script shell <a
href="http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiospluginsautoupdate-ubuntu.sh">nagiospluginsautoupdate-ubuntu.sh</a></li></ul><p>Dans ce deuxième cas, il faut suivre les étapes suivantes:</p><h1>Récupération du script</h1><p>On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:</p><pre class="brush: bash;">

wget http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiospluginsautoupdate-ubuntu.sh

chmod a+x nagiospluginsautoupdate-ubuntu.sh
</pre><p>PS: vous pouvez télécharger le script directement par l&#8217;URL suivante:</p><p
style="text-align: center;"><a
href="http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiospluginsautoupdate-ubuntu.sh">http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiospluginsautoupdate-ubuntu.sh</a></p><h1>Lancement du script</h1><p>Il suffit ensuite de lancer le script et de répondre aux questions posées par le système:</p><pre class="brush: bash;">
sudo ./nagiospluginsautoupdate-ubuntu.sh
</pre><h1>Et si la mise à jour se passe mal ?</h1><p>Le script archive la configuration n-1, il suffit donc d&#8217;ouvrir un terminal et de saisir les commandes suivantes pour revenir dans l&#8217;ancienne version:</p><pre class="brush: bash;">
cd /
sudo tar zxvf /tmp/nagiosplugins-backup.tgz
</pre><h1>Informations sur la mise à jour</h1><p>Si tout est ok, le message suivant devrait s&#8217;afficher:</p><pre>Nagios Plugins version   1.4.15</pre><p>Bonne upgrade !</p></div><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3384"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/07/nouvelle-version-1-4-15-pour-les-plugins-nagios.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Transformer son site/blog en Google Chrome Web Apps</title><link>http://blog.nicolargo.com/2010/07/transformer-son-siteblog-en-google-chrome-web-apps.html</link> <comments>http://blog.nicolargo.com/2010/07/transformer-son-siteblog-en-google-chrome-web-apps.html#comments</comments> <pubDate>Fri, 16 Jul 2010 08:09:52 +0000</pubDate> <dc:creator>NicoLargo</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Developpement]]></category> <category><![CDATA[Open-source]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[apps]]></category> <category><![CDATA[chromium]]></category> <category><![CDATA[ctx]]></category> <category><![CDATA[google chrome]]></category><guid
isPermaLink="false">http://blog.nicolargo.com/?p=3326</guid> <description><![CDATA[Dans quelques jours, le Chrome Web Store va ouvrir ses portes. Ce site va permettre au utilisateur de Google Chrome ou de la version libre Chromium d&#8217;installer des applications Web dans leur navigateur. Quelques applications sont déjà disponible (Gmail, Calendar, Google Reader&#8230;), elle se présente sous la forme d&#8217;une icône en haut à gauche des [...]]]></description> <content:encoded><![CDATA[<p><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-3328" title="Sélection_022" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Sélection_022.png" alt="" width="488" height="96" /></p><p>Dans quelques jours, le <a
href="https://chrome.google.com/webstore">Chrome Web Store</a> va ouvrir ses portes. Ce site va permettre au utilisateur de Google Chrome ou de la version libre Chromium d&#8217;installer des applications Web dans leur navigateur. Quelques applications sont déjà disponible (Gmail, Calendar, Google Reader&#8230;), elle se présente sous la forme d&#8217;une icône en haut à gauche des onglets et permet l&#8217;accès direct aux sites. Des fonctions de notifications seront bientôt disponibles (par exemple pour vous avertir lors de l&#8217;arrivée d&#8217;un nouveau message).</p><p>Rien de neuf par rapport aux nombreux plugins (extensions) que l&#8217;on peut trouver la toile&#8230; oui et non. En effet, comme nous allons le voir dans ce billet il est très facile de créer une application à partir d&#8217;un site Web existant. On a ainsi un accès immédiat à ces sites.</p><p>Assez de blabla, nous allons voir comment transformer votre site/blog dans une belle application Webs que vous pourrez mettre à disposition de vos lecteurs !</p><p>Toutes les manipulations suivantes marchent aussi bien sous Google Chrome ou sur Chromium (la version libre !). Il faut juste avoir la dernière version (voir instruction <a
href="http://blog.nicolargo.com/2009/09/une-semaine-avec-chromium.html">ici</a> pour Chromium sous GNU/Linux Ubuntu). <span
id="more-3326"></span></p><h1>Activer la prise en charge des Web Apps</h1><p>Avant de commencer, il faut activer la prise en charge des Web Apps dans votre navigateur (cette fonction est en développement et n&#8217;est donc pas active par défaut). Sous GNU/Linux, le plus simple est de modifier le lanceur Gnome (<strong>bouton droit</strong> sur l&#8217;icône puis <strong>Propriétés</strong>).</p><pre class="brush: bash;">chromium-browser  --enable-apps --enable-extension-timeline-api %U</pre><p>Il faut ensuite relancer votre navigateur.</p><h1>Création de votre application</h1><p>Les Google Chrome Webs Apps sont des fichiers au format (.crx). En fait un bête fichier ZIP contenant un répertoire au format <strong>nomapplication_app</strong> et les fichiers suivants:</p><ul><li><strong>manifest.json</strong>: Le fichier principal d&#8217;écrivant votre application</li><li><strong>128.png</strong>: Une icône de 128&#215;128 pixels au format PNG représentant votre application</li><li><strong>24.png</strong>: Une icône de 24&#215;24 pixels au format PNG représentant votre application</li></ul><p>On va donc commencer par créer l&#8217;arborescence suivante: ~/chromiumapps/nicolargo_app/</p><p>On copie ensuite les deux icônes dans le répertoire ~/chromiumapps/nicolargo_app/</p><p>Puis on édite le fichier ~/chromiumapps/nicolargo_app/manifest.json (permettant de créer une application à partir de mon blog):</p><pre class="brush: bash;">

{

&quot;name&quot;: &quot;Le blog de Nicolargo&quot;,

&quot;version&quot;: &quot;1&quot;,

&quot;icons&quot;: {

&quot;128&quot;: &quot;128.png&quot;,

&quot;24&quot;: &quot;24.png&quot;

},

&quot;permissions&quot;: [ &quot;notifications&quot; ],

&quot;app&quot;: {

&quot;launch&quot;: {

&quot;web_url&quot;: &quot;http://blog.nicolargo.com/&quot;

}

}

}
</pre><p>Rien de bien compliqué <img
src='http://blog.nicolargo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><h1>Test de votre application</h1><p>Pour tester l&#8217;application, on clique sur le bouton <img
class="alignnone size-full wp-image-3333" title="toolsmenu" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/toolsmenu.gif" alt="" width="43" height="34" />du navigateur puis on va dans le menu<strong> Tools &gt; Extensions</strong>:</p><p>On clique ensuite sur le bouton <strong>&#8220;+ Developer mode&#8221;</strong>:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/07/Extensions-Chromium_018.png" rel="lightbox[3326]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3332" title="Extensions - Chromium_018" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Extensions-Chromium_018-580x488.png" alt="" width="580" height="488" /></a></p><p>Puis sur <strong>&#8220;Load unpacked extension&#8230;&#8221;</strong>:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/07/Extensions-Chromium_019.png" rel="lightbox[3326]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3331" title="Extensions - Chromium_019" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Extensions-Chromium_019-580x488.png" alt="" width="580" height="488" /></a></p><p>On sélectionne le répertoire ou se trouve l&#8217;application: ~/chromiumapps/nicolargo_app/, elle devrait se charger:</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/07/Sélection_020.png" rel="lightbox[3326]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3330" title="Sélection_020" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Sélection_020-580x253.png" alt="" width="580" height="253" /></a></p><p>Il ne reste plus qu&#8217;a faire un CTRL-T (pour ouvrir un nouvel onglet et cliquer sur l&#8217;icône de l&#8217;application):</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/07/Sélection_024.png" rel="lightbox[3326]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3334" title="Sélection_024" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Sélection_024-580x139.png" alt="" width="580" height="139" /></a></p><p>Si tout va bien, l&#8217;application devrait s&#8217;afficher en haut à gauche de votre navigateur !</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/07/Le-blog-de-Nicolargo-Chromium_021.png" rel="lightbox[3326]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3329" title="Le blog de Nicolargo - Chromium_021" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Le-blog-de-Nicolargo-Chromium_021-580x488.png" alt="" width="580" height="488" /></a></p><h1>Création du fichier .CTX</h1><p>Maintenant que votre application fonctionne, il faut créer un package pour la distribuer à vos utilisateurs. Chromium (ou Google Chrome) permet d&#8217;automatiser cette création en cliquant sur le bouton <strong>&#8220;Pack extension&#8221;</strong> du menu <strong>&#8220;Extension &gt; + Developer mode&#8221;</strong>. Il suffit de sélectionner le répertoire de votre application: ~/chromiumapps/nicolargo_app/. Le navigateur va automatiquement créer le package ~/chromiumapps/nicolargo_app.ctx (ainsi qu&#8217;une clé privée ~/chromiumapps/nicolargo_app.pem).</p><p><a
href="http://blog.nicolargo.com/wp-content/uploads/2010/07/Extensions-Chromium_023.png" rel="lightbox[3326]"><img
style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-3327" title="Extensions - Chromium_023" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/Extensions-Chromium_023-580x488.png" alt="" width="580" height="488" /></a></p><p>Il ne vous reste plus qu&#8217;a distribuer le fichier nicolargo_app.ctx à vos utilisateur. En attendant la disponibilité du <a
href="https://chrome.google.com/webstore">Chrome Web Store</a> la procédure à suivre pour installer le fichier .ctx sur votre navigateur <a
href="http://www.omgubuntu.co.uk/2010/07/enable-chrome-web-apps-in-chromium-on.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+d0od+(Omg!+Ubuntu!)">est disponible ici</a>.</p><p>Pour finir, si vous voulez tester la <a
href="http://www.nicolargo.com/blogdata/nicolargo_app.crx">Web Application du Blog de Nicolargo</a> <a
href="http://www.nicolargo.com/blogdata/nicolargo_app.crx"><img
class="alignnone size-full wp-image-3335" title="Donwload icon" src="http://blog.nicolargo.com/wp-content/uploads/2010/07/arrow-boite-telechargement-icone-7439-32.png" alt="" width="32" height="32" /></a> !</p><div
id="aspdf"> <a
href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=3326"> <span> </span> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.nicolargo.com/2010/07/transformer-son-siteblog-en-google-chrome-web-apps.html/feed</wfw:commentRss> <slash:comments>9</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 3/31 queries in 0.003 seconds using memcached
Object Caching 920/983 objects using memcached

Served from: blog.nicolargo.com @ 2010-09-02 20:20:33 -->