<?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>e-Maxime &#187; Linux</title>
	<atom:link href="http://www.maximegarcia.fr/blog/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.maximegarcia.fr/blog</link>
	<description>Un autre entrepreneur du Web</description>
	<lastBuildDate>Sat, 26 Mar 2011 18:16:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Optimiser ses CSS côté serveur automatiquement</title>
		<link>http://www.maximegarcia.fr/blog/2010/08/optimiser-ses-css-cote-serveur-automatiquement/</link>
		<comments>http://www.maximegarcia.fr/blog/2010/08/optimiser-ses-css-cote-serveur-automatiquement/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 21:54:58 +0000</pubDate>
		<dc:creator>Maxime Garcia</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.maximegarcia.fr/blog/?p=218</guid>
		<description><![CDATA[Optimiser la vitesse de chargement de ses pages Web, ça en devient presque à la mode, surtout depuis le pavé dans la marre jeté par Google. Voici de quoi remuer tout ça, et augmenter nos scores Yslow ou Page Speed &#8230; <a href="http://www.maximegarcia.fr/blog/2010/08/optimiser-ses-css-cote-serveur-automatiquement/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Optimiser la vitesse de chargement de ses pages Web, ça en devient <a href="http://autourduncafe.fr/2010/08/10/les-sites-high-tech-sont-ils-optimises/" target="_blank">presque à la mode</a>, surtout depuis le <a href="http://www.keeg.fr/2010/04/15/google-tient-compte-de-la-vitesse-pour-le-referencement/" target="_blank">pavé dans la marre jeté par Google</a>.</p>
<p>Voici de quoi remuer tout ça, et augmenter nos scores Yslow ou Page Speed (et nous aimons ça). On va chasser les octets superflus, on va s&#8217;attaquer aux CSS.</p>
<p><span id="more-218"></span></p>
<p>Et l&#8217;occasion qui fait le larron, c&#8217;est la sortie de <a href="http://libre.maxbusiness.fr/cssmin/" target="_blank">MAX CssMin</a>, un optimiseur CSS écrit en PHP que je viens de releaser en GNU GPL. Une sortie du placard car cela fait un petit moment que je l&#8217;utilise pour différents projets. Il ne touche pas à la sémantique, que de <a href="http://libre.maxbusiness.fr/cssmin/fonctionnement.html" target="_blank">l&#8217;amélioration de syntaxe</a>. Pour l&#8217;instant, c&#8217;est le meilleur que j&#8217;ai pu essayé. Bon, à la fin, c&#8217;est la guerre des octets, que des micros optimisations, mais j&#8217;en ai encore quelques unes en réserves. La version 0.2 verra une option pour tout mettre sur une seule ligne. Pour l&#8217;instant ça le fait pas encore (vous pouvez en éditant le fichier cssmin et en décommentant la ligne en dessous du commentaire &laquo;&nbsp;Efface les retours à la ligne (à désactiver par défaut)&nbsp;&raquo;).</p>
<p>On va se faire un petit script à placer sur le serveur, lancé par cron chaque nuit qui va optimiser vos fichiers CSS, tout seul.</p>
<p><img class="aligncenter size-full wp-image-234" title="Compte tour" src="http://www.maximegarcia.fr/blog/wp-content/uploads/2010/08/587661_compteur.jpg" alt="" width="400" height="300" /></p>
<p>Aller, on se ssh à son serveur.</p>
<p>Les prérequis (rien de bien extraordinaire, adaptez la commande à votre système de paquet) :</p>
<pre>aptitude install php5-cli unzip</pre>
<p>On commence par installer le MAX CssMin en version script (CLI). Copiez-collez ceci (après avoir lu et compris) dans votre terminal :</p>
<pre>wget http://libre.maxbusiness.fr/files/cssmin/cssmin-0.1.zip
wget http://libre.maxbusiness.fr/files/cssmin/cssmin-0.1.zip.md5
md5sum -c cssmin-0.1.zip.md5
unzip cssmin-0.1.zip
chmod +x cssmin
mv cssmin /usr/local/bin
cssmin --help</pre>
<p>Bonus, ça vérifie même la somme md5 de l&#8217;archive. C&#8217;est installé. Tapez <kbd>cssmin --help</kbd> pour les options courantes.</p>
<p>On va créer un script shell, nommons le css.sh qui va contenir les commandes de minification. C&#8217;est lui qui sera appelé par la tâche cron toutes les nuits. Créons le. Voici son contenu :</p>
<pre>#!/bin/sh
cssmin -rbq /var/www/monsite/css/style.css
cssmin -rbq /var/www/monsite2/css/style2.css</pre>
<p>Explications : -q vous passe en mode quiet (pas de blabla sauf si erreurs), -r c&#8217;est le mode replace (on écrase le fichier CSS par sa version minifiée) et -b c&#8217;est le mode better (on ne fait les changements que si le résultat est meilleur). En l&#8217;occurrence, le mode better vous permettra de ne pas avoir la date de modification du fichier mise à jour chaque nuit (apache s&#8217;en sert pour les instructions de cache aux navigateurs).</p>
<p>Vous placer une ligne comme ça par fichier à optimiser. Je vous conseille d&#8217;essayer en console avant (sans l&#8217;option -q).</p>
<p>On rend ce script exécutable :</p>
<pre>chmod +x css.sh</pre>
<p>Maintenant, on enregistre une tâche cron, réglée pour être lancée pour tous les jours à 03:05. Tapez <kbd>crontab -e</kbd> et ajoutez dont une ligne :</p>
<pre>5 3 * * * /home/mon/chemin/vers/mon/script/css.sh</pre>
<p>Et voilà. Vos fichiers CSS se ré-optimiseront tout seuls, même après vos uploads de nouvelles versions, non optimisées.</p>
<p><a href="http://libre.maxbusiness.fr/cssmin/" target="_blank">MAX CssMin</a> n&#8217;en est qu&#8217;à ses débuts publics, mais on peut déjà faire des choses intéressantes avec. Un bonus pour la fin :</p>
<pre>cat style-1.css style-2.css style-3.css | cssmin &gt; all-min.css</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.maximegarcia.fr/blog/2010/08/optimiser-ses-css-cote-serveur-automatiquement/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Bloquer une ip</title>
		<link>http://www.maximegarcia.fr/blog/2010/03/bloquer-une-ip/</link>
		<comments>http://www.maximegarcia.fr/blog/2010/03/bloquer-une-ip/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 08:40:53 +0000</pubDate>
		<dc:creator>Maxime Garcia</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.maximegarcia.fr/blog/?p=175</guid>
		<description><![CDATA[Cela arrive parfois, un petit malin s&#8217;amuse à flooder un des services de votre serveur. Le dernier en date pour moi c&#8217;était hier soir, 15000 connexions avec erreur de syntaxe en quelques minutes sur le serveur de mail. Et si &#8230; <a href="http://www.maximegarcia.fr/blog/2010/03/bloquer-une-ip/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-273" title="Mur de brique rouge" src="http://www.maximegarcia.fr/blog/wp-content/uploads/2010/03/mur-brique.head_.jpg" alt="" width="640" height="200" /></p>
<p>Cela arrive parfois, un petit malin s&#8217;amuse à flooder un des services de votre serveur. Le dernier en date pour moi c&#8217;était hier soir, 15000 connexions avec erreur de syntaxe en quelques minutes sur le serveur de mail.</p>
<p>Et si on le bloquait via son ip ? Voyons comment y remédier.</p>
<p><span id="more-175"></span></p>
<p>Sous Linux, Iptables est là pour ça (entre autres). Il suffit de lancer cette commande pour ajouter une règle qui va bien :</p>
<pre>iptables -A INPUT -s &lt;ip_embêtante&gt; -j DROP</pre>
<p>Attention à ne pas mettre votre ip, vous seriez dans l&#8217;impossibilité de vous connecter au serveur (effet immédiat). Les règles sont perdues au redémarrage donc si vous voulez les conserver de manière permanente, il va falloir faire un script lancé au démarrage. Dans ce cas, bloquer cette ip jusqu&#8217;au redémarrage me va bien.</p>
<p>Et pour lister vos règles en cours :</p>
<pre>iptables -L</pre>
<p>C&#8217;est toujours utile à avoir sous la main, ne serait-ce que pour le petit malin occasionnel.</p>
<p><em>Crédit photo : <a href="http://www.lunerouge.org/spip/article.php3?id_article=913" target="_blank">Lionel Allorge</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximegarcia.fr/blog/2010/03/bloquer-une-ip/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SSH sans mot de passe</title>
		<link>http://www.maximegarcia.fr/blog/2009/12/ssh-sans-mot-de-passe/</link>
		<comments>http://www.maximegarcia.fr/blog/2009/12/ssh-sans-mot-de-passe/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 15:06:51 +0000</pubDate>
		<dc:creator>Maxime Garcia</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.maximegarcia.fr/blog/?p=136</guid>
		<description><![CDATA[Quand on commence à se servir de SSH de manière un peu intensive, il peut devenir très intéressant de se servir du mécanisme de clé partagée pour s&#8217;authentifier. Surtout quand on se sert de système de gestion de version avec &#8230; <a href="http://www.maximegarcia.fr/blog/2009/12/ssh-sans-mot-de-passe/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Quand on commence à se servir de SSH de manière un peu intensive, il peut devenir très intéressant de se servir du mécanisme de clé partagée pour s&#8217;authentifier. Surtout quand on se sert de système de gestion de version avec des dépôts distants.</p>
<p><span id="more-136"></span></p>
<p>Le principe : sur votre ordinateur perso, vous avez une clé privée, et vous enregistrez votre clé public sur le(s) serveur(s). Quand vous vous connectez, seule la passphrase de votre clé sera à taper. Ce qui fait un seul mot de passe à taper pour tous vos serveurs, ou aucun mot de passe à taper si vous n&#8217;en spécifiez pas (dans ce cas, éviter de faire ça sur des serveurs avec login root possible, sudo est votre ami).</p>
<p>Sur votre machine, vous générez vos clés :</p>
<pre>ssh-keygen -t dsa -b 1024</pre>
<p>Il devrez vous demander où les stocker. Par défaut c&#8217;est très bien (/home/maxime/.ssh/id_dsa). Après vous choisissez (ou pas) une passphrase.</p>
<p>Ensuite, il faut les installer sur vos serveurs. Retenez la commande que vous utilisez pour vous connecter en ssh. Si c&#8217;est :</p>
<pre>ssh maxime@mon-serveur</pre>
<p>Alors, toujours sur votre machine locale, vous faites :</p>
<pre>ssh-copy-id -i ~/.ssh/id_dsa.pub maxime@mon-serveur</pre>
<p>Et le tour est joué. Connectez vous en ssh avec la commande habituelle, et plus de mot de passe (ou bien une seule passphrase pour tous vos serveurs).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximegarcia.fr/blog/2009/12/ssh-sans-mot-de-passe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Éteindre par le bouton Power sous Ubuntu Server</title>
		<link>http://www.maximegarcia.fr/blog/2009/12/eteindre-par-le-bouton-power-sous-ubuntu-server/</link>
		<comments>http://www.maximegarcia.fr/blog/2009/12/eteindre-par-le-bouton-power-sous-ubuntu-server/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 11:51:48 +0000</pubDate>
		<dc:creator>Maxime Garcia</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://www.maximegarcia.fr/blog/?p=133</guid>
		<description><![CDATA[J&#8217;ai quelques machines virtuelles pour gérer différentes versions de CouchDB. J&#8217;ai pris l&#8217;habitude de les éteindre via la croix de la fenêtre en leur envoyant un signal ACPI, comme si j&#8217;appuyais sur le bouton Power du boitier (qu&#8217;elles n&#8217;ont pas, &#8230; <a href="http://www.maximegarcia.fr/blog/2009/12/eteindre-par-le-bouton-power-sous-ubuntu-server/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai quelques machines virtuelles pour <a title="Installer plusieurs versions de CouchDB grâce à VirtualBox" href="http://www.couchdb-fr.net/commencer/virtualbox" target="_blank">gérer différentes versions de CouchDB</a>. J&#8217;ai pris l&#8217;habitude de les éteindre via la croix de la fenêtre en leur envoyant un signal ACPI, comme si j&#8217;appuyais sur le bouton Power du boitier (qu&#8217;elles n&#8217;ont pas, elles sont virtuelles !).</p>
<p>Celles sous Debian marchaient bien, mais celles sous Ubuntu Karmic Koala Server, impossible ! Pour éteindre proprement, il fallait me logguer et faire sudo halt. Peut-être un bug avec VirtualBox ?</p>
<p><span id="more-133"></span></p>
<p>Et bien pareil sur mon vrai serveur de développement : sous Debian, quand j&#8217;appuie sur le bouton Power, il lance son extinction comme il faut, et sous Ubuntu Server que dalle ! Tout juste ça rallume l&#8217;écran et pouet : &laquo;&nbsp;Si tu veux m&#8217;éteindre, il va falloir te logguer !&nbsp;&raquo;. Et quand il y a pas d&#8217;écran ni de clavier avec, faut rallumer un PC pour s&#8217;y connecter en SSH ! Bravo le veau.</p>
<p>Et j&#8217;ai trouvé, Ubuntu Server est pas packagée de la même manière. Il y a des choses en plus (rien ne me vient à l&#8217;idée là), des choses en moins (la préemption dans le noyau) et des choses en remplacement (l&#8217;ordonnanceur n&#8217;est pas le même) par rapport à la version Desktop. Et parmi les choses en moins, acpid.</p>
<pre>sudo aptitude install acpid</pre>
<p>Même pas besoin de redémarrer pour que ça marche&#8230; Une action (virtuelle ou pas) sur le bouton Power lance bien l&#8217;arrêt propre du PC.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximegarcia.fr/blog/2009/12/eteindre-par-le-bouton-power-sous-ubuntu-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

