<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>km.azerttyu.net</title>
	<link>http://km.azerttyu.net/</link>
	<description>Un blog qui parle principalement de techniques pour les outils de publication web ( (spip) et infrastructure (alternc).
On parle aussi d'h&#233;bergement tel que les projets webelys et azerttyu C'est aussi un aide m&#233;moire personnel pour retrouver certaines actions dont le net ne semblait pas proposer une documentation pertinente au moment du besoin.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>




<item
xml:lang="fr"><title>Redmine avec Thin</title><link>http://km.azerttyu.net/Redmine-avec-Thin</link> <guid
isPermaLink="true">http://km.azerttyu.net/Redmine-avec-Thin</guid> <dc:date>2012-10-16T15:13:33Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Redmine est une application web cod&#233;e en Ruby. Pour l'ex&#233;cuter nous devons passer par un serveur d'application web. Nous allons aborder l'installation du serveur d'application thin.&lt;br class='autobr' /&gt;
Introduction&lt;br class='autobr' /&gt;
Parmi les serveurs d'application ruby, il existe au moins Unicorn, Mongrel et Thin. Je n'ai pas trouv&#233; de comparatif r&#233;cent. Au vu des lectures, je me contenterai de noter que Thin fait correctement son boulot et est peu gourmand en ressources.&lt;br class='autobr' /&gt;
Si nous sommes sur un serveur d&#233;di&#233; aux applications web cod&#233; (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Redmine est une application web cod&#233;e en &lt;a href=&quot;http://fr.wikipedia.org/wiki/Ruby&quot; class='spip_glossaire' rel='external'&gt;Ruby&lt;/a&gt;. Pour l'ex&#233;cuter nous devons passer par un serveur d'application web. &lt;br class='autobr' /&gt;
Nous allons aborder l'installation du serveur d'application &lt;a href=&quot;http://code.macournoyer.com/thin/&quot; class='spip_out' rel='external'&gt;thin&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Parmi les serveurs d'application ruby, il existe au moins Unicorn, Mongrel et Thin. Je n'ai pas trouv&#233; de comparatif r&#233;cent. Au vu des lectures, je me contenterai de noter que Thin fait correctement son boulot et est peu gourmand en ressources.&lt;/p&gt; &lt;p&gt;Si nous sommes sur un serveur d&#233;di&#233; aux applications web cod&#233; en ruby, nous pourrions nous contenter de Thin et d'&#233;couter sur le port 80. Dans ce cas il n'est ni necessaire de penser &#224; Nginx, Apache ou autre serveur web, ni de lire au del&#224; du prochain chapitre.&lt;/p&gt; &lt;p&gt;&#192; d&#233;faut d'un serveur d'application d&#233;di&#233;, il est possible aussi d'utiliser un serveur web classique et de passer par un module pour g&#233;rer les applications ruby, par exemple avec &lt;a href=&quot;http://www.modrails.com/&quot; class='spip_out' rel='external'&gt;passenger&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Enfin il est possible de configurer un serveur web pour qu'il d&#233;l&#232;gue le travail au serveur d'application ruby lorsque cela est necessaire. C'est ce cas de figure que nous abordons ici.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Pr&#233;requis &lt;/h3&gt;
&lt;p&gt;Pour la suite de l'article, nous consid&#233;rons un serveur Debian &#224; jour avec le paquet Redmine install&#233; et fonctionnel.&lt;/p&gt; &lt;p&gt;Par la suite nous verrons la configuration de base pour interfacer &lt;a href=&quot;http://httpd.apache.org/&quot; class='spip_out' rel='external'&gt;Apache&lt;/a&gt; et &lt;a href=&quot;http://nginx.org/&quot; class='spip_out' rel='external'&gt;Nginx&lt;/a&gt; avec Thin.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Installation de Thin &lt;/h3&gt;
&lt;p&gt;Thin est pr&#233;sent par d&#233;faut dans les d&#233;p&#244;ts officiels de Debian, nous l'installons :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; thin&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Il est possible d'avoir une version plus r&#233;cente soit en passant par un d&#233;p&#244;t de type backport, soit en l'installant en tant que &lt;a href=&quot;http://guides.rubygems.org/what-is-a-gem/&quot; class='spip_out' rel='external'&gt;Gem&lt;/a&gt;, ces 2 cas de figure ne sont pas abord&#233;s ici.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Configuration de Thin&lt;/h3&gt;
&lt;p&gt;La configuration de Thin se passe dans &lt;strong&gt;/etc/thin/&lt;/strong&gt;. Thin au d&#233;marrage chargera l'ensemble des fichiers &lt;a href=&quot;http://fr.wikipedia.org/wiki/Yaml&quot; class='spip_glossaire' rel='external'&gt;Yaml&lt;/a&gt; pr&#233;sents.&lt;/p&gt; &lt;p&gt;Une configuration classique pour Redmine prend cette forme :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_yaml code&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;pid&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;/var/run/thin/redmine.pid&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
group&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;www-data&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
timeout&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
log&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;/var/log/thin/redmine.log&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
max_conns&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;&quot;&gt;1024&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
require&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;/etc/thin/redmine.rb&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
max_persistent_conns&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;&quot;&gt;512&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
environment&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;production&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
user&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;www-data&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
servers&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
daemonize&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;true&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
chdir&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;/usr/share/redmine&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
port&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;&quot;&gt;5000&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;
address&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: brown;&quot;&gt;: &lt;/span&gt;0.0.0.0&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/1c84147f87e6bc5a12f2b9d40af49135.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Les points &#224; noter :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; l'&#233;coute en TCP sur toutes IP du serveur &lt;strong&gt;address : 0.0.0.0&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; l'&#233;coute des ports 5000 &#224; 5003 &lt;strong&gt;port : 5000&lt;/strong&gt; et &lt;strong&gt;servers : 4&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Thin pourra &#234;tre sollicit&#233; par 4 requ&#234;tes simultan&#233;es.&lt;/p&gt; &lt;p&gt;La sp&#233;cificit&#233; de la version Debian r&#233;side dans la d&#233;claration d'une variable sp&#233;cifique &lt;strong&gt;X_DEBIAN_SITEID&lt;/strong&gt; sp&#233;cifiant l'instance &#224; ex&#233;cuter.&lt;br class='autobr' /&gt;
Cet appel se fait gr&#226;ce &#224; &lt;strong&gt;require : [/etc/thin/redmine.rb]&lt;/strong&gt;,&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_ruby code&quot;&gt;ENV&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color:#996600;&quot;&gt;'X_DEBIAN_SITEID'&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color:#996600;&quot;&gt;'default'&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Le paquet Redmine de Debian permet de mutualiser le code Ruby et de charger la configuration sp&#233;cifique &#224; une instance via cette propri&#233;t&#233;. Les instances Redmine sont stock&#233;es dans &lt;strong&gt;/etc/redmine/instances&lt;/strong&gt; et sont configurables via &lt;strong&gt;dpkg-reconfigure redmine&lt;/strong&gt;&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Passer par Apache &lt;/h3&gt;
&lt;p&gt;Pour d&#233;l&#233;guer le travail &#224; Thin depuis Apache, nous profitons des modules proxy natifs.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;a2enmod proxy_balancer&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Une configuration type donne ceci :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt; &lt;Proxy balancer://thinservers&gt;&lt;br /&gt; BalancerMember http://192.168.0.10:5000 route=thin0&lt;br /&gt; BalancerMember http://192.168.0.10:5001 route=thin1&lt;br /&gt; BalancerMember http://192.168.0.10:5002 route=thin2&lt;br /&gt; BalancerMember http://192.168.0.10:5003 route=thin3&lt;br /&gt; &lt;/Proxy&gt;&lt;br /&gt;
&lt;br /&gt; ProxyPass / balancer://thinservers/&lt;br /&gt; ProxyPassReverse / balancer://thinservers/&lt;br /&gt; ProxyPreserveHost on&lt;br /&gt;
&lt;br /&gt; &lt;Proxy *&gt;&lt;br /&gt; Order deny,allow&lt;br /&gt; Allow from all&lt;br /&gt; &lt;/Proxy&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;On profite du mode balancer pour repartir les requetes surles 4 ports en &#233;coute de Thin.&lt;/p&gt; &lt;p&gt;Dans l'exemple, on notera que Thin r&#233;pondra depuis l'IP 192.168.0.10 .&lt;br class='manualbr' /&gt;Thin et Apache peuvent &#234;tre aussi bien install&#233;s sur le m&#234;me serveur physique que sur 2 serveurs distincts.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Passer par Nginx &lt;/h3&gt;&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;upstream redmine_thin_servers {&lt;br /&gt; server 192.168.0.10:5000;&lt;br /&gt; server 192.168.0.10:5001;&lt;br /&gt; server 192.168.0.10:5002;&lt;br /&gt; server 192.168.0.10:5003;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
server {&lt;br /&gt;
&lt;br /&gt; location @redmine_thin_servers {&lt;br /&gt; proxy_pass http://redmine_thin_servers;&lt;br /&gt; }&lt;br /&gt;
}&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;La configuration se veut &#233;quivalente &#224; celle montr&#233;e avec Apache. &lt;br class='autobr' /&gt;
Si nous avions Nginx et Thin sur le m&#234;me serveur nous pourrions pr&#233;f&#233;rer les sockets Unix &#224; TCP. Ceci fera peut &#234;tre l'objet d'un autre article.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Avec ces &#233;l&#233;ments, il est possible d'ex&#233;cuter une instance Redmine ou tout autre application Ruby via un serveur d'application d&#233;di&#233;.&lt;br class='manualbr' /&gt;Je trouve que passer par Thin ou un de ses homologues est plus int&#233;ressant que de passer par un module, il est plus facile d'isoler les services entre eux et de mieux dimensionner les ressources physiques dans le temps.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_ps'&gt;&lt;p&gt;R&#233;f&#233;rences :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://articles.slicehost.com/2008/5/6/ubuntu-hardy-apache-rails-and-thin&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://articles.slicehost.com/2008/5/6/ubuntu-hardy-apache-rails-and-thin&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Amorcer ses DomU avec son propre noyau (pyGrub)</title><link>http://km.azerttyu.net/Amorcer-ses-DomU-avec-son-propre</link> <guid
isPermaLink="true">http://km.azerttyu.net/Amorcer-ses-DomU-avec-son-propre</guid> <dc:date>2012-08-29T18:00:42Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Depuis sa version 4, Xen int&#233;gre dans ses outils pyGrub, un script python permettant d'&#233;muler Grub depuis le DomU et de charger un noyau ind&#233;pendant du dom0.&lt;br class='autobr' /&gt; Pr&#233;sentation rapide&lt;br class='autobr' /&gt;
pyGrub permet d'&#233;muler Grub pour les machines virtuelles Xen (domU). Pour le moment seule la version 1 de Grub est support&#233;e (autrement nomm&#233; Grub Legacy).&lt;br class='autobr' /&gt;
Lors du d&#233;marrage de la machine virtuelle, pyGrub va interpr&#233;ter le contenu du fichier /boot/grub/menu.lst du domU.et d&#233;marrer la VM selon ces informations.&lt;br class='autobr' /&gt;
On isole (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Depuis sa version 4, Xen int&#233;gre dans ses outils &lt;a href=&quot;http://wiki.debian.org/PyGrub&quot; class='spip_out' rel='external'&gt;pyGrub&lt;/a&gt;, un script python permettant d'&#233;muler Grub depuis le DomU et de charger un noyau ind&#233;pendant du dom0.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt; Pr&#233;sentation rapide &lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://wiki.debian.org/PyGrub&quot; class='spip_out' rel='external'&gt;pyGrub&lt;/a&gt; permet d'&#233;muler Grub pour les machines virtuelles Xen (domU). Pour le moment seule la version 1 de Grub est support&#233;e (autrement nomm&#233; Grub Legacy).&lt;/p&gt; &lt;p&gt;Lors du d&#233;marrage de la machine virtuelle, pyGrub va interpr&#233;ter le contenu du fichier &lt;strong&gt;/boot/grub/menu.lst&lt;/strong&gt; du domU.et d&#233;marrer la VM selon ces informations.&lt;/p&gt; &lt;p&gt;On isole ainsi les diff&#233;rents noyaux des VM et de l'hyperviseur. Les VM ne sont plus d&#233;pendantes de l'hyperviseur pour d&#233;marrer et ont leur propre contexte de d&#233;marrage.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Installation Cot&#233; DomU&lt;/h3&gt;
&lt;p&gt;Cot&#233; domU, il s'agit principalement d'installer et configurer &lt;a href=&quot;http://www.gnu.org/software/grub/manual/legacy/grub.html&quot; class='spip_out' rel='external'&gt;grub legacy&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Comme grub est &#233;mul&#233; cot&#233; domU, on pourrait ne cr&#233;er que le fichier &lt;strong&gt;/boot/grub/menu.lst&lt;/strong&gt;. &lt;br class='autobr' /&gt;
Cette solution n'est pas retenue ici car l'id&#233;e est de limiter autant que possible les actions de maintenance, de suivi, mise &#224; jours, ....&lt;/p&gt; &lt;p&gt;Comme l'indique la documentation de Grub, il est necessaire d'avoir au pr&#233;alable le r&#233;pertoire &lt;strong&gt;/boot/grub&lt;/strong&gt;. Voici ce que cela donne avec une VM de type Debian :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;boot&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;grub&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; grub-legacy&lt;br /&gt;
update-grub default&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/4d7d3bf7a47a3a9724c50dc2a56b37ba.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Ainsi nous avons grub legacy d'install&#233; avec un menu.lst g&#233;n&#233;r&#233; dynamiquement. Petite remarque &#224; chaque mise &#224; jour du noyau, Grub actualisera de lui m&#234;me ce fichier.&lt;/p&gt; &lt;p&gt;La seconde &#233;tape consiste &#224; installer un kernel, n'oublions pas que nous d&#233;pendons de Xen. Par exemple toujours avec la m&#234;me VM de test :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-cache search&lt;/span&gt; linux-image xen&lt;br /&gt;
linux-headers-2.6.26-&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;-xen-&lt;span style=&quot;color: #000000;&quot;&gt;686&lt;/span&gt; - Header files &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; Linux 2.6.26-&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;-xen-&lt;span style=&quot;color: #000000;&quot;&gt;686&lt;/span&gt;&lt;br /&gt;
linux-image-2.6.26-&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;-xen-&lt;span style=&quot;color: #000000;&quot;&gt;686&lt;/span&gt; - Linux 2.6.26 image on i686, oldstyle Xen support&lt;br /&gt;
linux-image-&lt;span style=&quot;color: #000000;&quot;&gt;2.6&lt;/span&gt;-xen-&lt;span style=&quot;color: #000000;&quot;&gt;686&lt;/span&gt; - Linux &lt;span style=&quot;color: #000000;&quot;&gt;2.6&lt;/span&gt; image on i686, oldstyle Xen support&lt;br /&gt;
linux-image-xen-&lt;span style=&quot;color: #000000;&quot;&gt;686&lt;/span&gt; - Linux image on i686, oldstyle Xen support&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; linux-image-xen-&lt;span style=&quot;color: #000000;&quot;&gt;686&lt;/span&gt; &lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/83231224154e70c4c61e18294e8a68ed.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Nous pouvons v&#233;rifier la pr&#233;sence et le contenu de &lt;strong&gt;/boot/grub/menu.lst&lt;/strong&gt;&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Sp&#233;cificit&#233; de pyGrub&lt;/h3&gt;
&lt;p&gt;pyGrub ne reconnait que l'ancienne d&#233;claration des partitions soit (hdx,y). Cependant &lt;strong&gt;update-grub&lt;/strong&gt; g&#233;nere par d&#233;faut la forme (/dev/xvdaX).&lt;br class='autobr' /&gt;
Nous devons donc mettre &#224; jour le fichier &lt;strong&gt;/boot/grub/menu.lst&lt;/strong&gt; et remplacer par exemple &lt;strong&gt;(/dev/xvda2)&lt;/strong&gt; par &lt;strong&gt;(hd0,0)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Il est &#224; noter que pyGrub charge la premi&#232;re partition d&#233;finie dans le fichier de configuration du domU. Ainsi dans l'exemple pr&#233;c&#233;dent xvda2 est la premi&#232;re partition indiqu&#233;e dans la variable &lt;strong&gt;disk&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;V&#233;rifier la bonne configuration &lt;/h3&gt;
&lt;p&gt;Pour v&#233;rifier la configuration du domU, il est possible d'ex&#233;cuter &lt;strong&gt;pyGrub&lt;/strong&gt; directement en ligne de commande.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xen-default&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;pygrub &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;raid&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ma_domU-disk&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Si tout va bien, on obtient un r&#233;sultat comme celui ci :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_94 spip_documents spip_documents_center'&gt; &lt;img
src='http://km.azerttyu.net/local/cache-vignettes/L466xH259/pygrub-164ff.png' width='466' height='259' alt=&quot;&quot; style='' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Si ce n'est pas le cas, il faut revoir les points pr&#233;c&#233;dents.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Mettre &#224; jour la configuration Dom0&lt;/h3&gt;
&lt;p&gt;La derni&#232;re &#233;tape consiste &#224; indiquer au dom0 de charger le kernel du domU.&lt;br class='autobr' /&gt;
Dans le fichier de configuration du domU, nous :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; retirons les r&#233;f&#233;rences &#224; &lt;strong&gt;kernel&lt;/strong&gt; et &lt;strong&gt;ramdisk&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; ajoutons &lt;strong&gt;bootloader = '/usr/lib/xen-default/bin/pygrub'&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;spip&quot;&gt;Lancer la VM&lt;/h3&gt;
&lt;p&gt;Et maintenant l'instant de v&#233;rit&#233; avec :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;xm create &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xen&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ma_domU.cfg &lt;span style=&quot;color: #660033;&quot;&gt;-c&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Et zou !!!&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_ps'&gt;&lt;p&gt;R&#233;f&#233;rences :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://wiki.debian.org/PyGrub&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://wiki.debian.org/PyGrub&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://wiki.xensource.com/xenwiki/PyGrub&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://wiki.xensource.com/xenwiki/PyGrub&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Avoir plusieurs comptes Skype</title><link>http://km.azerttyu.net/Avoir-plusieurs-comptes-Skype</link> <guid
isPermaLink="true">http://km.azerttyu.net/Avoir-plusieurs-comptes-Skype</guid> <dc:date>2011-12-10T12:19:23Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Lorsqu'on travaille &#224; son compte ou bien dans une petite structure, il arrive souvent que son poste informatique personnel soit aussi son poste professionnel.&lt;br class='autobr' /&gt;
Un des outils r&#233;guli&#232;rement pl&#233;biscit&#233; par les 2 populations, professionnelle et grand public, se trouve &#234;tre Skype.&lt;br class='autobr' /&gt;
Cet article est un petit aide m&#233;moire pour pouvoir l'utiliser dans ces 2 contextes sans avoir &#224; tout m&#233;langer et en m&#234;me temps.&lt;br class='autobr' /&gt; Pr&#233; requis&lt;br class='autobr' /&gt;
Pour commencer il faut avoir :&lt;br class='autobr' /&gt; une version skype au moins &#233;gale &#224; 2.2&lt;br class='autobr' /&gt; 2 comptes (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-Travail-Collaboratif-" rel="directory"&gt;Travail Collaboratif&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Lorsqu'on travaille &#224; son compte ou bien dans une petite structure, il arrive souvent que son poste informatique personnel soit aussi son poste professionnel.&lt;br class='manualbr' /&gt;Un des outils r&#233;guli&#232;rement pl&#233;biscit&#233; par les 2 populations, professionnelle et grand public, se trouve &#234;tre &lt;a href=&quot;http://fr.wikipedia.org/wiki/Skype&quot; class='spip_glossaire' rel='external'&gt;Skype&lt;/a&gt;. &lt;br class='manualbr' /&gt;Cet article est un petit aide m&#233;moire pour pouvoir l'utiliser dans ces 2 contextes sans avoir &#224; tout m&#233;langer et en m&#234;me temps.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt; Pr&#233; requis&lt;/h3&gt;
&lt;p&gt;Pour commencer il faut avoir :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; une version skype au moins &#233;gale &#224; 2.2&lt;/li&gt;&lt;li&gt; 2 comptes inscrits distincts&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;spip&quot;&gt; Et avec Windows ? &lt;/h3&gt;
&lt;p&gt;Si on poss&#232;de un poste Windows, il est simple d'utiliser la derni&#232;re version officielle et de lire la documentation associ&#233;e : &lt;a href=&quot;https://support.skype.com/fr/faq/FA829/Comment-avoir-deux-comptes-Skype-sur-le-meme-ordinateur&quot; class='spip_out' rel='external'&gt;Comment avoir 2 comptes Skype sur le m&#234;me ordinateur&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Je ne m'&#233;tendrais pas plus car la documentation est claire et qu'il n'est pas necessaire d'en dire plus.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Et avec Linux ?&lt;/h3&gt;
&lt;p&gt;Si on poss&#232;de un poste Linux (par exemple une distribution de la lign&#233;e &lt;a href=&quot;http://fr.wikipedia.org/wiki/Debian&quot; class='spip_glossaire' rel='external'&gt;Debian&lt;/a&gt; ), il est possible de faire la m&#234;me chose. Sur une m&#234;me session utilisateur, on peut ex&#233;cuter 2 instances Skype avec leurs propres param&#232;tres.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;mon@orid:~$ &lt;/span&gt;skype &lt;span style=&quot;color: #660033;&quot;&gt;-h&lt;/span&gt;&lt;br /&gt;
Skype 2.2.0.35&lt;br /&gt;
&lt;br /&gt;
Usage: skype &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;options&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
Options:&lt;br /&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--dbpath&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&lt;&lt;/span&gt;path&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&gt;&lt;/span&gt; Specify an alternative path to store Skype data files.&lt;br /&gt; Default: ~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.Skype&lt;br /&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--resources&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&lt;&lt;/span&gt;path&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&gt;&lt;/span&gt; Specify a path where Skype can &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; its resource files.&lt;br /&gt; Default: &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;skype&lt;br /&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--disable-api&lt;/span&gt; Disable Skype Public API.&lt;br /&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--pipelogin&lt;/span&gt; Command line login. &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;echo username password | skype --pipelogin&quot;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--version&lt;/span&gt; Display version information and exit.&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/a33d816339fb2e0ad57e5c781f3b52fd.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Comme la documentation en ligne le dit explicitement, on peut sp&#233;cifier un r&#233;pertoire de stockage sp&#233;cifique par instance Skype. Il est donc ais&#233; de faire :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;mon@rdi:~$ &lt;/span&gt;skype &lt;span style=&quot;color: #660033;&quot;&gt;--dbpath&lt;/span&gt;=~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.Skype&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;maison&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;mon@rdi:~$ &lt;/span&gt;skype &lt;span style=&quot;color: #660033;&quot;&gt;--dbpath&lt;/span&gt;=~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.Skype&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;masociete&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/910dce793b1882185138385381e34068.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt; Et alors ? &lt;/h3&gt;
&lt;p&gt;On peut bien entendu imaginer de lancer des instances suppl&#233;mentaires pour transformer son espace de travail en guirlande de N&#244;&#235;l, ou plus simplement pour utiliser un compte temporaire lors de l'organisation d'un &#233;v&#233;nement.&lt;/p&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Installer E-venemement 2.x</title><link>http://km.azerttyu.net/Installer-E-venemement-2-x</link> <guid
isPermaLink="true">http://km.azerttyu.net/Installer-E-venemement-2-x</guid> <dc:date>2011-11-07T12:23:51Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Dans le monde de la billetterie, il n'existe pas beaucoup de solutions libres, &#224; l'heure d'aujourd'hui, je n'ai identifi&#233; que 2 outils :&lt;br class='autobr' /&gt; Fusion Ticket, un projet anglophone sans activit&#233; depuis d&#233;but 2010&lt;br class='autobr' /&gt; e-venement, un projet francophone toujours actif&lt;br class='autobr' /&gt;
Pour le besoin de ma compagnie de th&#233;&#226;tre nous avons d&#233;cid&#233; de tester e-venement. Cet article est un retour d'exp&#233;rience suite au manque de la documentation officielle actuelle concernant la derni&#232;re version publi&#233;e.&lt;br class='autobr' /&gt; Pr&#233; requis&lt;br class='autobr' /&gt;
Pour la suite de (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans le monde de la billetterie, il n'existe pas beaucoup de solutions libres, &#224; l'heure d'aujourd'hui, je n'ai identifi&#233; que 2 outils :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.fusionticket.org/&quot; class='spip_out' rel='external'&gt;Fusion Ticket&lt;/a&gt;, un projet anglophone sans activit&#233; depuis d&#233;but 2010&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.libre-informatique.fr/sw/01-Billetterie&quot; class='spip_out' rel='external'&gt;e-venement&lt;/a&gt;, un projet francophone toujours actif&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Pour le besoin de &lt;a href=&quot;http://www.kapibara.org/&quot; class='spip_out' rel='external'&gt;ma compagnie de th&#233;&#226;tre&lt;/a&gt; nous avons d&#233;cid&#233; de tester e-venement. Cet article est un retour d'exp&#233;rience suite au manque de la &lt;a href=&quot;http://www.libre-informatique.fr/sw/01-Billetterie/e-venement/Manuels/Installations%20logicielles&quot; class='spip_out' rel='external'&gt;documentation officielle&lt;/a&gt; actuelle concernant la derni&#232;re version publi&#233;e.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt; Pr&#233; requis&lt;/h3&gt;
&lt;p&gt;Pour la suite de l'article nous consid&#233;rerons que nous avons la main sur un serveur &lt;a href=&quot;http://fr.wikipedia.org/wiki/LAPP&quot; class='spip_glossaire' rel='external'&gt;LAPP&lt;/a&gt; (dans notre cas une Debian). &lt;br class='manualbr' /&gt;De m&#234;me, le r&#233;pertoire &lt;strong&gt;home&lt;/strong&gt; de l'utilisateur est consid&#233;r&#233; comme un r&#233;pertoire web accessible depuis n'importe quel navigateur.&lt;/p&gt; &lt;p&gt;E-venement est une application Symfony, il est donc n&#233;cessaire d'obtenir :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; les sources de &lt;a href=&quot;http://download.gna.org/e-venement/&quot; class='spip_out' rel='external'&gt;l'application e-venement&lt;/a&gt;&lt;/li&gt;&lt;li&gt; les sources du &lt;a href=&quot;http://www.symfony-project.org/installation&quot; class='spip_out' rel='external'&gt;framework symfony 1.4&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;spip&quot;&gt;Installer l'application&lt;/h3&gt;
&lt;p&gt;L'installation d'une application Symfony et de son environnement est assez simple.&lt;br class='autobr' /&gt;
Il s'agit de d&#233;zipper les 2 archives pr&#233;c&#233;demment obtenues :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wget&lt;/span&gt; http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;www.symfony-project.org&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;get&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;symfony-1.4.15.zip&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;unzip&lt;/span&gt; symfony-1.4.15.zip&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wget&lt;/span&gt; http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;download.gna.org&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;e-venement&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2.tar.gz&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-xvzf&lt;/span&gt; e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2.tar.gz&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt;&lt;br /&gt;
e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2 e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2.tar.gz symfony-1.4.15 symfony-1.4.15.zip&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/4fac8cc6a40e236a9f599cd3c09212ce.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Ensuite comme indiqu&#233; dans la documentation officielle, nous devons installer symfony comme biblioth&#233;que de notre application &lt;strong&gt;e-venement&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; symfony-1.4.15 e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;vendor&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;symfony&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt;Configurer PHP&lt;/h3&gt;
&lt;p&gt;Il est &#224; noter que pour la suite de l'installation de symfony, la configuration de PHP est insuffisante, il faut augmenter sa m&#233;moire disponible pour le mode CLI.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;nano&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;php5&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cli&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;php.ini&lt;br /&gt;
memory_limit = 320M &lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/90cd97c2f94b89f9c28e2f2b01e20a2c.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt;Configurer sa base de donn&#233;es &lt;/h3&gt;
&lt;p&gt;Les d&#233;veloppeurs de e-venement pr&#233;conise l'utilisation de &lt;a href=&quot;http://fr.wikipedia.org/wiki/PostgreSQL&quot; class='spip_glossaire' rel='external'&gt;PostgreSQL&lt;/a&gt;. &lt;br class='manualbr' /&gt;Son installation simple se fait via&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; postgresql&lt;/div&gt;&lt;/div&gt;
&lt;p&gt; ou bien&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; postgresql-&lt;span style=&quot;color: #000000;&quot;&gt;8.4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Nous cr&#233;ons un compte et une base pour l'application :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;createuser evenement &lt;span style=&quot;color: #660033;&quot;&gt;-P&lt;/span&gt;&lt;br /&gt;
Saisissez le mot de passe pour le nouveau r&#244;le : &lt;br /&gt;
Saisissez-le &#224; nouveau : &lt;br /&gt;
Le nouveau r&#244;le est-il super-utilisateur ? &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;o&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;n&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; o&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/0fdb7a2519e2de3656b1104161fe62db.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt;Configurer Symfony&lt;/h3&gt;
&lt;p&gt;Pour que l'application puisse correctement fonctionner, 2 fichiers sont &#224; mettre &#224; jour :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;strong&gt;config/autoload&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;config/database.yml&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;config&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;autoload.inc.php.template e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;config&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;autoload.inc.php&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;config&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;databases.yml.template e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;config&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;databases.yml&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/8e2c505dd8d0f4e81f29b27e0f0fe7c9.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Enfin nous pouvons d&#233;clarer la base postgres pr&#233;c&#233;demment cr&#233;&#233;e :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;serveur:~# &lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;nano&lt;/span&gt; e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;config&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;databases.yml&lt;br /&gt;
all:&lt;br /&gt; doctrine:&lt;br /&gt; class: sfDoctrineDatabase&lt;br /&gt; param:&lt;br /&gt; dsn: &lt;span style=&quot;color: #ff0000;&quot;&gt;'pgsql:host=localhost;dbname=evenement'&lt;/span&gt;&lt;br /&gt; username: evenement&lt;br /&gt; password: motdepasse&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/de45cac443fc0a66585654a4c3235bd4.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;A cette &#233;tape nous venons de rendre l'application &quot;&#233;xecutable&quot;, c'est &#224; dire que nous pouvons maintenant configurer &#224; proprement parler l'application &lt;strong&gt;e-venement&lt;/strong&gt;&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Activer la base de donn&#233;es &lt;/h3&gt;
&lt;p&gt;Du fait que nous avons une application symfony, nous pouvons g&#233;n&#233;rer la structure et l'ensemble des donn&#233;es de la base via le module doctrine.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;serveur :~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# php symfony doctrine:build --all --application=default&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Si par la suite vous voulez r&#233;initialiser la base de donn&#233;es ou utiliser un autre serveur de donn&#233;es, vous pourrez le faire en mettant &#224; jour &lt;strong&gt;config/databases.yml&lt;/strong&gt; et en relan&#231;ant la commande pr&#233;c&#233;dente.&lt;/p&gt; &lt;p&gt;Attention &#224; ce moment, il n'est pas encore possible de tester l'application, aucun compte utilisateur n'est encore disponible.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Cr&#233;er un premier compte administrateur &lt;/h3&gt;
&lt;p&gt;C'est le module &lt;strong&gt;guard&lt;/strong&gt; de symfony qui g&#233;re les comptes utilisateurs et leurs droits. &lt;br class='manualbr' /&gt;Pour commencer nous cr&#233;ons un compte utilisateur sans droit via :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;serveur :~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# php symfony guard:create-user email@test.com evenement motdepasse&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&gt;&gt;&lt;/span&gt; guard Create user &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;evenement&quot;&lt;/span&gt;&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/5d087911d549a19a8c346d88793b78d4.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Nous pouvons maintenant le promouvoir administrateur ainsi :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;serveur :~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;e-venement-&lt;span style=&quot;color: #000000;&quot;&gt;2.0&lt;/span&gt;-rc2&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# php symfony guard:promote evenement&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&gt;&gt;&lt;/span&gt; guard User identified by &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;evenement&quot;&lt;/span&gt; username has been promoted &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;as&lt;/span&gt; super administrator&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/96c2988e685c721bee599244eca6c6a6.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt;Teste l'application&lt;/h3&gt;
&lt;p&gt;Enfin nous pouvons tester pour de vrai l'application. Il est possible de voir le rendu sur &lt;a href=&quot;http://billeterie.demo.webelys.com/&quot; class='spip_out' rel='external'&gt;notre site de demonstration&lt;/a&gt;. Le compte test est evenement avec le mot de passe evenement.&lt;br class='autobr' /&gt;
Une image pouvant parler mieux voici ce qui devrait &#234;tre obtenu :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_93 spip_documents spip_documents_center'&gt; &lt;img
src='http://km.azerttyu.net/local/cache-vignettes/L500xH245/demo_e-venement2-86d06.png' width='500' height='245' alt=&quot;&quot; style='' /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_ps'&gt;&lt;p&gt;Ressources :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.libre-informatique.fr/sw/01-Billetterie/e-venement/Manuels&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.libre-informatique.fr/sw/01-Billetterie/e-venement/Manuels&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.symfony-project.org/getting-started/1_4/fr/03-Symfony-Installation&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.symfony-project.org/getting-started/1_4/fr/03-Symfony-Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.symfony-project.org/plugins/sfGuardPlugin&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.symfony-project.org/plugins/sfGuardPlugin&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Subgit ou la cohabitation heureuse de SVN et Git</title><link>http://km.azerttyu.net/Subgit-ou-la-cohabitation-heureuse</link> <guid
isPermaLink="true">http://km.azerttyu.net/Subgit-ou-la-cohabitation-heureuse</guid> <dc:date>2011-09-07T15:32:50Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Subgit est un projet tout jeune, initi&#233; par l'&#233;quipe de TMate. Subgit a pour vocation de synchroniser un d&#233;p&#244;t SVN en temps r&#233;el avec un d&#233;p&#244;t Git. Pr&#233;sentation &lt;br class='autobr' /&gt;
Subgit est un ensemble de scripts java qui assure la synchronisation entre un d&#233;p&#244;t SVN et son homologue Git. C'est &#224; dire que tout commit pouss&#233; sur l'un ou l'autre des d&#233;p&#244;ts sera automatiquement pr&#233;sent sur les 2. Un jeu de hooks assure la coh&#233;rence et la synchronisation des d&#233;p&#244;ts. Principe de fonctionnement de subgit Organiser son d&#233;p&#244;t SVN (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-Travail-Collaboratif-" rel="directory"&gt;Travail Collaboratif&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;&lt;a href=&quot;http://subgit.com/&quot; class='spip_out' rel='external'&gt;Subgit&lt;/a&gt; est un projet tout jeune, initi&#233; par l'&#233;quipe de TMate. Subgit a pour vocation de synchroniser un d&#233;p&#244;t SVN en temps r&#233;el avec un d&#233;p&#244;t Git.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt; Pr&#233;sentation &lt;/h3&gt;
&lt;p&gt;Subgit est un ensemble de scripts &lt;a href=&quot;http://fr.wikipedia.org/wiki/java&quot; class='spip_glossaire' rel='external'&gt;java&lt;/a&gt; qui assure la synchronisation entre un d&#233;p&#244;t SVN et son homologue Git. C'est &#224; dire que tout commit pouss&#233; sur l'un ou l'autre des d&#233;p&#244;ts sera automatiquement pr&#233;sent sur les 2. Un jeu de &lt;a href=&quot;http://www.clever-age.com/veille/blog/utilisation-des-hooks-avec-subversion.html&quot; class='spip_out' rel='external'&gt;hooks&lt;/a&gt; assure la coh&#233;rence et la synchronisation des d&#233;p&#244;ts.&lt;/p&gt;
&lt;dl class='spip_document_92 spip_documents spip_documents_center'&gt;&lt;dt&gt;&lt;img
src='http://km.azerttyu.net/local/cache-vignettes/L500xH238/subgitpng-6161c4-f3e4b.png' width='500' height='238' alt='PNG - 33.6&#160;ko' style='' /&gt;&lt;/dt&gt;&lt;dd
class='spip_doc_descriptif' style='width:350px;'&gt;Principe de fonctionnement de subgit&lt;/dd&gt;&lt;/dl&gt;&lt;h3 class=&quot;spip&quot;&gt; Organiser son d&#233;p&#244;t SVN&lt;/h3&gt;
&lt;p&gt;La plupart des outils de versionning propose une logique d'historisation bas&#233;e sur un trunk, des branches et des tags. &lt;br class='manualbr' /&gt;SVN en pratique propose une logique de r&#233;pertoires dont le nommage est non fig&#233;. Par cons&#233;quent les 3 concepts pr&#233;c&#233;demment indiqu&#233;s peuvent &#234;tre nomm&#233;s comme on l'entend.&lt;/p&gt; &lt;p&gt;Toutefois dans cette premi&#232;re version, Subgit consid&#232;re seulement la correspondance suivante :&lt;/p&gt;
&lt;table class=&quot;spip&quot;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='idbe6d_c0'&gt; SVN &lt;/th&gt;&lt;th id='idbe6d_c1'&gt; Git &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idbe6d_c0'&gt;trunk/&lt;/td&gt;
&lt;td headers='idbe6d_c1'&gt;master&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='idbe6d_c0'&gt;branches/&lt;/td&gt;
&lt;td headers='idbe6d_c1'&gt;branches&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idbe6d_c0'&gt;tags/&lt;/td&gt;
&lt;td headers='idbe6d_c1'&gt;tags&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Le d&#233;p&#244;t SVN ne peut aussi contenir qu'un projet &#224; la racine. C'est le cas g&#233;n&#233;rique que l'on devrait trouver dans la plupart des d&#233;p&#244;ts SVN.&lt;/p&gt; &lt;p&gt;Dans les &#233;volutions futures, il est pr&#233;vu :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; de personnaliser la correspondance SVN/Git&lt;/li&gt;&lt;li&gt; de g&#233;rer une hi&#233;rarchie de sous projets&lt;/li&gt;&lt;li&gt; d&#233; d&#233;clarer sa propre structure de correspondance pour les cas plus complexes (famille de projets, nommage diff&#233;rent, ...)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Dans le cas pr&#233;sent, le minimum requis est la pr&#233;sence de &lt;strong&gt;trunk/&lt;/strong&gt; les 2 autres r&#233;pertoires pourront &#234;tre cr&#233;&#233;s manuellement aussi bien du cot&#233; Git que SVN. Les hooks feront le necessaire pour maintenir la coh&#233;sion.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Pr&#233; requis&lt;/h3&gt;
&lt;p&gt;Dans la suite de l'article nous supposons l'existence d'un d&#233;p&#244;t SVN et le souhait de mettre en place un d&#233;p&#244;t Git synchrone. &lt;br class='manualbr' /&gt;Il est &#224; noter que le projet permet aussi de passer d'un d&#233;p&#244;t Git vers SVN, nous n'aborderons pas ce cas de figure pour la suite de cet article.&lt;/p&gt; &lt;p&gt;Pour utiliser subgit, nous aurons au pr&#233;alable :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; un serveur &lt;a href=&quot;http://fr.wikipedia.org/wiki/debian&quot; class='spip_glossaire' rel='external'&gt;debian&lt;/a&gt; dont on aura la maitrise compl&#232;te, &lt;/li&gt;&lt;li&gt; un d&#233;p&#244;t SVN actif dont le r&#233;pertoire de r&#233;f&#233;rence sera /var/subversion/monprojet/&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;spip&quot;&gt;Installation&lt;/h3&gt;
&lt;p&gt;Comme il a &#233;t&#233; indiqu&#233; pr&#233;c&#233;demment Subgit utilise java pour assurer la coh&#233;rence des commits. Nous installons donc le necessaire :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code lang=&quot;bash&quot;&gt;apt-get install git-core sun-java6-bin&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Pour continuer nous t&#233;l&#233;chargeons et installons les scripts depuis la page officielle &lt;a href=&quot;http://subgit.com/download/index.html&quot; class='spip_out' rel='external'&gt;EAP&lt;/a&gt;&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code lang=&quot;bash&quot;&gt;weisse:~#mkdir -p /var/subgit&lt;br /&gt; weisse:~#wget http://subgit.com/download/subgit-1.0.0-EAP_391.zip -O /var/subgit/subgit.zip&lt;br /&gt; weisse:~#unzip /var/subgit/subgit.zip -d /var/subgit&lt;/code&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt; Traduire de SVN vers Git &lt;/h3&gt;
&lt;p&gt;En toute logique avant de synchroniser les commits &#224; venir, il est utile de convertir l'existant. Subgit fournit un script d&#233;di&#233;.&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code lang=&quot;bash&quot;&gt;weisse:/var/subgit# subgit-1.0.0-EAP_391/bin/subgit init /var/subversion/monprojet/&lt;br /&gt; &lt;br /&gt; SubGit version 1.0.0-EAP ('Miai') build #391&lt;br /&gt; This is an EAP build, which you may not like to use in production environment.&lt;br /&gt; &lt;br /&gt; Translating: '/var/subversion/monprojet'&lt;br /&gt; Subversion revisions: 367&lt;br /&gt; &lt;br /&gt; SubGit hooks installed.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; TRANSLATION SUCCESSFUL&lt;br /&gt; &lt;br /&gt; Total time: 26 seconds&lt;br /&gt; &lt;br /&gt; Run 'git clone /var/subversion/monprojet monprojet-git' to obtain Git clone of Subversion repository;&lt;br /&gt; or 'svn co file:///var/subversion/monprojet monprojet-wc' to obtain Subversion working copy.&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Comme on peut le voir dans cet exemple les 367 commits existants cot&#233; SVN ont &#233;t&#233; convertis.&lt;br class='manualbr' /&gt;Par d&#233;faut le d&#233;p&#244;t cr&#233;&#233; est stock&#233; au m&#234;me endroit que le d&#233;p&#244;t SVN, on peut le constater en remarquant la pr&#233;sence des r&#233;pertoires &lt;strong&gt;.git&lt;/strong&gt; et &lt;strong&gt;.subgit&lt;/strong&gt;&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Utiliser ses d&#233;p&#244;ts &lt;/h3&gt;
&lt;p&gt;Du fait que les 2 d&#233;p&#244;ts sont contenus dans le m&#234;me r&#233;pertoire, le chemin d'acc&#232;s est donc le m&#234;me aussi bien pour Git que pour SVN. &lt;br class='manualbr' /&gt;Pour des raisons pratiques il est possible de d&#233;clarer un autre r&#233;pertoire cible pour Git (par exemple si on souhaite coupler gitosis/gitolite ou fournir un acc&#232;s http)&lt;/p&gt; &lt;p&gt;Maintenant nous sommes libres de commiter aussi bien &#224; l'aide d'un &lt;a href=&quot;http://km.azerttyu.net/Giggle-Client-pour-GIT&quot; class='spip_in'&gt;client Git&lt;/a&gt; ou de continuer &#224; utiliser son client SVN.&lt;/p&gt; &lt;p&gt;Tout commit, branche, tag sera report&#233; automatiquement d'une d&#233;p&#244;t &#224; l'autre.&lt;/p&gt; &lt;p&gt;N'est elle pas belle la vie ?&lt;/p&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Monter un partage samba anonyme</title><link>http://km.azerttyu.net/Monter-un-partage-samba-anonyme</link> <guid
isPermaLink="true">http://km.azerttyu.net/Monter-un-partage-samba-anonyme</guid> <dc:date>2011-08-07T11:42:59Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Cet article est un petite m&#233;mo pour rappeler les param&#232;tres importants &#224; consid&#233;rer dans le montage d'un partage r&#233;seau public sans authentification.&lt;br class='autobr' /&gt; Pr&#233; requis&lt;br class='autobr' /&gt;
Le pr&#233;requis est assez simple :&lt;br class='autobr' /&gt; un serveur linux (debian dans mon cas)&lt;br class='autobr' /&gt; un paquet samba &#224; installer&lt;br class='autobr' /&gt; Installation&lt;br class='autobr' /&gt;
Dans le cas o&#249; nous devons installer Samba, nous suivons le processus d'installation et activer tous les param&#232;tres relatifs &#224; windows.&lt;br class='autobr' /&gt; Pr&#233;paration du partage&lt;br class='autobr' /&gt;
Pour l'exemple, nous avons le r&#233;pertoire /mnt/partage_public. (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Cet article est un petite m&#233;mo pour rappeler les param&#232;tres importants &#224; consid&#233;rer dans le montage d'un partage r&#233;seau public sans authentification.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt; Pr&#233; requis &lt;/h3&gt;
&lt;p&gt;Le pr&#233;requis est assez simple :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; un serveur linux (debian dans mon cas)&lt;/li&gt;&lt;li&gt; un paquet &lt;a href=&quot;http://fr.wikipedia.org/wiki/samba&quot; class='spip_glossaire' rel='external'&gt;samba&lt;/a&gt; &#224; installer &lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;spip&quot;&gt; Installation &lt;/h3&gt;
&lt;p&gt;Dans le cas o&#249; nous devons installer Samba, nous suivons le processus d'installation et activer tous les param&#232;tres relatifs &#224; windows.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Pr&#233;paration du partage &lt;/h3&gt;
&lt;p&gt;Pour l'exemple, nous avons le r&#233;pertoire &lt;strong&gt;/mnt/partage_public&lt;/strong&gt;. Le but est qu'il soit accessible et modifiable par tous, par cons&#233;quent nous devons affecter un utilisateur et des droits g&#233;n&#233;riques.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;chown&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-R&lt;/span&gt; nobody:nogroup &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mnt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;partage_public&lt;br /&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;chmod&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-R&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;777&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mnt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;partage_public&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/552f5ad16171cb8dfd8f533f81f836c8.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt; Configuration de samba&lt;/h3&gt;
&lt;p&gt;Le fichier de configuration de samba se trouve dans &lt;strong&gt;/etc/samba/smb.conf&lt;/strong&gt;&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;[global]&lt;br /&gt; guest account = nobody&lt;br /&gt; security = share&lt;br /&gt; null passwords = yes&lt;br /&gt; &lt;br /&gt; [partage_public]&lt;br /&gt; #chemin local de la ressource&lt;br /&gt; path = /mnt/partage_public &lt;br /&gt; #visible dans la liste des partages&lt;br /&gt; public = yes &lt;br /&gt; #permettre les acc&#232;s anonyme&lt;br /&gt; guest ok = yes &lt;br /&gt; #autoriser le parcours du partage&lt;br /&gt; browseable = yes &lt;br /&gt; #permettre l'&#233;criture et modification du partage&lt;br /&gt; writeable = yes &lt;/code&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt; Petite explication de texte &lt;/h3&gt;
&lt;p&gt;Par d&#233;faut samba consid&#233;re que tous les comptes doivent &#234;tre authentifi&#233;s et avec mot de passe. L'activation du mode guest permet aux clients linux de se connecter anonymement. Il est &#224; noter que ce mode n'est pas suffisant pour les clients windows.&lt;br class='manualbr' /&gt;La directive &lt;strong&gt;null password&lt;/strong&gt; permet l'acc&#232;s anonyme pour ces postes.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Test et utiliser &lt;/h3&gt;
&lt;p&gt;Pour v&#233;rifier que la configuration est fonctionnelle, samba fournit la commande &lt;strong&gt;testparm&lt;/strong&gt;.&lt;br class='autobr' /&gt;
Si testparm confirme les bons param&#232;tres, il est possible de parcourir depuis n'importe quel poste informatique ce partage.&lt;/p&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Taxi Brousse recherche un(e) developpeur Web</title><link>http://km.azerttyu.net/Taxi-Brousse-recherche-un-e</link> <guid
isPermaLink="true">http://km.azerttyu.net/Taxi-Brousse-recherche-un-e</guid> <dc:date>2010-11-24T20:40:11Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Mise &#224; jour&lt;br class='autobr' /&gt;
L'offre a &#233;t&#233; pourvue et n'est plus d'actualit&#233;.&lt;br class='autobr' /&gt; Introduction&lt;br class='autobr' /&gt;
Je profite du calme apparent sur le blog pour faire un peu de publicit&#233; pour taxi brousse, une agence de communication qui developpe son p&#244;le web.&lt;br class='autobr' /&gt;
Partant du principe que mes fid&#232;les lecteurs/lectrices sont des habitu&#233;(e)s du web, je ne doute pas que vous aurez dans vos poches un profil qui pourrait r&#233;pondre &#224; l'offre suivante.&lt;br class='autobr' /&gt;
Si vous avez des questions n'h&#233;sitez pas &#224; me contacter ou &#224; les contacter directement.&lt;br class='autobr' /&gt; L'offre (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-Telephonie-" rel="directory"&gt;T&#233;l&#233;phonie&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;Mise &#224; jour&lt;/h3&gt;
&lt;p&gt;L'offre a &#233;t&#233; pourvue et n'est plus d'actualit&#233;.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Introduction &lt;/h3&gt;
&lt;p&gt;Je profite du calme apparent sur le blog pour faire un peu de publicit&#233; pour &lt;a href=&quot;http://www.taxibrousse.fr/&quot; class='spip_out' rel='external'&gt;taxi brousse&lt;/a&gt;, une agence de communication qui developpe son p&#244;le web.&lt;/p&gt; &lt;p&gt;Partant du principe que mes fid&#232;les lecteurs/lectrices sont des habitu&#233;(e)s du web, je ne doute pas que vous aurez dans vos poches un profil qui pourrait r&#233;pondre &#224; l'offre suivante.&lt;/p&gt; &lt;p&gt;Si vous avez des questions n'h&#233;sitez pas &#224; me contacter ou &#224; les contacter directement.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; L'offre &lt;/h3&gt;
&lt;p&gt;Afin d'assurer notre d&#233;veloppement, nous recherchons un(e) un(e) &lt;br class='autobr' /&gt;
D&#233;veloppeur(se). Dans le cadre de votre mission, vous serez amen&#233;(e) &#224; :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Participer aux d&#233;veloppements et &#233;volution des sites web en particulier pour la partie html/php/css&lt;/li&gt;&lt;li&gt; S'assurer du bon r&#233;f&#233;rencement des sites&lt;/li&gt;&lt;li&gt; Participer &#224; la veille technologique web par exemple pour de nouveaux terminaux tels qu'iPad ou smartphone et de nouvelles technologies tels que html5.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Vous avez de l'exp&#233;rience dans le d&#233;veloppement de sites web 2.0.&lt;br class='autobr' /&gt;
Curieux(se) et dynamique, vous &#234;tes &#224; l'avant-garde des nouveaut&#233;s et &lt;br class='autobr' /&gt;
des &#233;volutions du web.&lt;/p&gt; &lt;p&gt;Vous maitrisez les technologies suivantes :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; html, css, javascript, php, MySQL&lt;/li&gt;&lt;li&gt; Une connaissance de Flash serait un plus.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Autonome, passionn&#233;(e) d'internet et rigoureux(se), vous recherchez une &lt;br class='autobr' /&gt;
aventure au sein d'une agence dynamique et ambitieuse.&lt;/p&gt;
&lt;hr class=&quot;spip&quot; /&gt;
&lt;p&gt;Profil junior&lt;/p&gt;
&lt;hr class=&quot;spip&quot; /&gt;
&lt;p&gt;CDI - Dispo le plus vite possible - salaire &#224; n&#233;gocier&lt;/p&gt;
&lt;hr class=&quot;spip&quot; /&gt;&lt;h3 class=&quot;spip&quot;&gt; Qui contacter ? &lt;/h3&gt;
&lt;p&gt;Si vous souhaitez plus d'information vous pouvez contacter Aur&#233;lie VOUTE, directrice artistique de Taxi Brousse.&lt;/p&gt; &lt;p&gt;TAXI BROUSSE&lt;br class='manualbr' /&gt;19, impasse Route de Paris&lt;br class='manualbr' /&gt;69160 Tassin La Demi-Lune&lt;br class='manualbr' /&gt;Tel : 04 78 37 03 88&lt;br class='manualbr' /&gt;Fax : 04 78 37 17 59&lt;br class='manualbr' /&gt;Site : &lt;a href=&quot;http://www.taxibrousse.fr/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;www.taxibrousse.fr&lt;/a&gt;&lt;br class='manualbr' /&gt;D&#233;couvrez notre Blog : &lt;a href=&quot;http://www.taxibuzz.fr/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;www.taxibuzz.fr&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Webacula ou g&#233;rer ses sauvegardes Bacula</title><link>http://km.azerttyu.net/Webacula-ou-gerer-ses-sauvegardes</link> <guid
isPermaLink="true">http://km.azerttyu.net/Webacula-ou-gerer-ses-sauvegardes</guid> <dc:date>2010-08-15T17:47:39Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Bacula est un gestionnaire de sauvegarde complet. Il fournit par d&#233;faut une interface en ligne de commande pour superviser les sauvegarde pass&#233;es, &#224; venir et la restauration. Pour certaines actions, il est quand m&#234;me agr&#233;able d'avoir une interface plus accessible ce que propose Webacula.&lt;br class='autobr' /&gt;
Pr&#233; requis&lt;br class='autobr' /&gt;
Pour installer convenablement Webacula sur son serveur, il faut :&lt;br class='autobr' /&gt; un environnement LAMP ou assimil&#233; (ici je ne traiterais que le cas Apache2).&lt;br class='autobr' /&gt; le module bconsole&lt;br class='autobr' /&gt; un acc&#232;s &#224; la base de donn&#233;es de (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Bacula est un gestionnaire de sauvegarde complet. Il fournit par d&#233;faut une interface en ligne de commande pour superviser les sauvegarde pass&#233;es, &#224; venir et la restauration. Pour certaines actions, il est quand m&#234;me agr&#233;able d'avoir une interface plus accessible ce que propose &lt;a href=&quot;http://webacula.sourceforge.net/&quot; class='spip_out' rel='external'&gt;Webacula&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;Pr&#233; requis&lt;/h3&gt;
&lt;p&gt;Pour installer convenablement &lt;a href=&quot;http://webacula.sourceforge.net/&quot; class='spip_out' rel='external'&gt;Webacula&lt;/a&gt; sur son serveur, il faut :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; un environnement &lt;a href=&quot;http://fr.wikipedia.org/wiki/LAMP&quot; class='spip_glossaire' rel='external'&gt;LAMP&lt;/a&gt; ou assimil&#233; (ici je ne traiterais que le cas Apache2).&lt;/li&gt;&lt;li&gt; le module bconsole&lt;/li&gt;&lt;li&gt; un acc&#232;s &#224; la base de donn&#233;es de bacula director&lt;/li&gt;&lt;li&gt; le framework Zend&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://fr.wikipedia.org/wiki/sudo&quot; class='spip_glossaire' rel='external'&gt;sudo&lt;/a&gt; pour autoriser le pilotage de bconsole&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;D'autres &#233;l&#233;ments sont n&#233;cessaires au bon fonctionnement de l'interface web mais elles seront explicit&#233;es par la suite.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Pr&#233;paration de l'environnement&lt;/h3&gt;
&lt;p&gt;Webacula est une application php qui requiert certains &#233;l&#233;ments :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Zend Framework&lt;/li&gt;&lt;li&gt; php-db&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Nous commen&#231;ons par cr&#233;er un r&#233;pertoire vide &lt;code class='spip_code' dir='ltr'&gt; /var/www/webacula&lt;/code&gt;.&lt;br class='manualbr' /&gt;Nous t&#233;l&#233;chargeons &lt;a href=&quot;http://webacula.sourceforge.net/#downloads&quot; class='spip_out' rel='external'&gt;webacula&lt;/a&gt; et le &lt;a href=&quot;http://framework.zend.com/&quot; class='spip_out' rel='external'&gt;framework Zend&lt;/a&gt; :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wget&lt;/span&gt; http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;github.com&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tim4dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;webacula&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tarball&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;v3.3.1&lt;br /&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wget&lt;/span&gt; http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;framework.zend.com&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;releases&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ZendFramework-1.10.7&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ZendFramework-1.10.7.tar.gz&lt;br /&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; xfzv tim4dev-webacula-v3.3.1-&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;-g32bc0e4.tar.gz&lt;br /&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; xfzv ZendFramework-1.10.7.tar.gz&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/ce0634aa5b0645d75c2eedde7535270b.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Nous associons le framework au projet :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ln&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;webacula&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ZendFramework-1.10.7&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;library&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Zend &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;webacula&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;html&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Zend&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Nous pensons &#224; installer les paquets d'acc&#232;s &#224; la base de donn&#233;es.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; php-bd&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt;Acc&#232;s aux donn&#233;es de Bacula &lt;/h3&gt;
&lt;p&gt;Webacula pour suivre et piloter les sauvegardes a besoin de 2 &#233;l&#233;ments sp&#233;cifiques &#224; &lt;a href=&quot;http://bacula.org/fr/&quot; class='spip_out' rel='external'&gt;Bacula&lt;/a&gt; :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; la console &lt;/li&gt;&lt;li&gt; le catalogue&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt; La console &lt;/h3&gt;
&lt;p&gt;La console bacula est un paquet autonome :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; bacula-console&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Concernant la configuration de celui ci je vous invite &#224; regarder le fichier &lt;code class='spip_code' dir='ltr'&gt;/etc/bacula/bacula-console.conf&lt;/code&gt;.&lt;br class='autobr' /&gt;
Une configuration type serait :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;#&lt;br /&gt; # Bacula User Agent (or Console) Configuration File&lt;br /&gt; #&lt;br /&gt; &lt;br /&gt; Director {&lt;br /&gt; Name = director-dir #Nom du director&lt;br /&gt; DIRport = 9101&lt;br /&gt; address = 192.168.20.10 #IP director &lt;br /&gt; Password = &quot;sWaZRqTS1VX0uTcyTZNRlI4Ax9Gj5MK1FNC92QBta0xi&quot;&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Nous permettons &#224; notre utilisateur apache d'exploiter bconsole gr&#226;ce &#224; sudo :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Dans &lt;code class='spip_code' dir='ltr'&gt;/etc/sudoers&lt;/code&gt;, on ajoute la directive &lt;code class='spip_code' dir='ltr'&gt;www-data ALL=NOPASSWD: /usr/bin/bconsole&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt; Le catalogue &lt;/h3&gt;
&lt;p&gt;Le catalogue liste toutes les donn&#233;es sauvegard&#233;es, o&#249;, comment , ... Il est donc utile de lire ses informations pour avoir le d&#233;tail des &lt;a href=&quot;http://www.bacula.org/fr/dev-manual/Configurer_Director.html#SECTION00463000000000000000&quot; class='spip_out' rel='external'&gt;jobs&lt;/a&gt; par exemple.&lt;/p&gt; &lt;p&gt;Pour acc&#233;der au catalogue, si nous avons une base &lt;a href=&quot;http://fr.wikipedia.org/wiki/MySQL&quot; class='spip_glossaire' rel='external'&gt;MySQL&lt;/a&gt; ou &lt;a href=&quot;http://fr.wikipedia.org/wiki/PostgreSQL&quot; class='spip_glossaire' rel='external'&gt;PostgreSQL&lt;/a&gt; cela est assez simple, on installe les paquets client php pour ces serveurs de donn&#233;es.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; mysql-client php5-mysql &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;br class='manualbr' /&gt;ou bien&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; postgresql-client php5-pgsql &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Si on utilise sqlite, cela est plus original. Si le Director est pr&#233;sent sur la m&#234;me machine, il est possible de se connecter directement au fichier.&lt;br class='manualbr' /&gt;Si le Director est sur une autre machine, on a alors plusieurs alternatives :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; monter un r&#233;pertoire fuse vers le director,&lt;/li&gt;&lt;li&gt; scp la base sqlite,&lt;/li&gt;&lt;li&gt; faire un .dump cot&#233; director et importer le sql sur notre machine web,&lt;/li&gt;&lt;li&gt; autre id&#233;e&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Il faut dans tous les cas avoir les paquets relatifs &#224; Sqlite :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get install&lt;/span&gt; sqlite3 php5-sqlite&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt;Configuration de Webacula &lt;/h3&gt;
&lt;p&gt;La configuration se passe dans le fichier &lt;code class='spip_code' dir='ltr'&gt;/var/www/webacula/application/config.ini&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Je joins une configuration utilisant sqlite :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;[general]&lt;br /&gt; ; supported adapters : PDO_MYSQL, PDO_PGSQL, PDO_SQLITE&lt;br /&gt; db.adapter = PDO_SQLITE&lt;br /&gt; ;db.config.host = localhost&lt;br /&gt; ;db.config.username = root&lt;br /&gt; ;db.config.password =&lt;br /&gt; ; une copie de la base sqlite provenant du director&lt;br /&gt; db.config.dbname = &quot;/var/www/webacula/catalog/bacula.db&quot;&lt;br /&gt; ; pour Sqlite db.config.dbname = &quot;/chemin/complet/du/catalogue/bacula.db&quot;&lt;br /&gt; &lt;br /&gt; ; see http://www.php.net/timezones&lt;br /&gt; def.timezone = &quot;Europe/Paris&quot;&lt;br /&gt; &lt;br /&gt; ; Si pas de locale d&#233;finie par d&#233;faut, webacula utilise l'auto d&#233;tection&lt;br /&gt; ; locales disponibles : en, de, fr, pt_BR, ru&lt;br /&gt; ; locale = &quot;fr&quot;&lt;br /&gt; &lt;br /&gt; ; Se reporter au fichier INSTALL pour plus de d&#233;tail&lt;br /&gt; bacula.sudo = &quot;/usr/bin/sudo&quot;&lt;br /&gt; bacula.bconsole = &quot;/usr/bin/bconsole&quot;&lt;br /&gt; bacula.bconsolecmd = &quot;-n -c /etc/bacula/bconsole.conf&quot;&lt;br /&gt; &lt;br /&gt; ; R&#233;pertoire &quot;tmpdir&quot; dans le quel sera sauv&#233; le fichier contenant la liste des fichier &#224; restaurer.&lt;br /&gt; ; Ce r&#233;pertoire et ses fichiers devaient &#234;tre accessibles en lecture par le Director.&lt;br /&gt; tmpdir = &quot;/tmp&quot;&lt;br /&gt; &lt;br /&gt; ; time to live data (session and temporary data tables) for restore files (sec)&lt;br /&gt; ; default = 1h, minimum = 600sec.&lt;br /&gt; ; ttl_restore_session = 3600&lt;br /&gt; &lt;br /&gt; ; for debug only (default = 0)&lt;br /&gt; ; debug = 1&lt;br /&gt; &lt;br /&gt; ; the text, which will be placed in the header of the page&lt;br /&gt; ; head_title = &quot;webacula :: domain.tld&quot;&lt;br /&gt; &lt;br /&gt; ; Menu principal flottant (default = 0)&lt;br /&gt; ; Le menu demeur visible meme si on scroll dans la page.&lt;br /&gt; ; They're animated, so they move up and down as you scroll the browser window up or down.&lt;br /&gt; ; mainmenu_floating = 1&lt;br /&gt; &lt;br /&gt; [timeline]&lt;br /&gt; gdfontpath = &quot;/usr/share/fonts/dejavu&quot;&lt;br /&gt; fontname = &quot;DejaVuLGCSansMono&quot;&lt;br /&gt; fontsize = 10&lt;br /&gt; &lt;br /&gt; [webacula]&lt;br /&gt; ; supported adapters : PDO_MYSQL, PDO_PGSQL, PDO_SQLITE&lt;br /&gt; db.adapter = PDO_SQLITE&lt;br /&gt; ;db.config.host = localhost&lt;br /&gt; ;db.config.username = wbuser&lt;br /&gt; ;db.config.password = &quot;wbpass&quot;&lt;br /&gt; ;db.config.dbname = webacula&lt;br /&gt; ; for Sqlite db.config.dbname = &quot;/var/lib/sqlite/webacula.db&quot;&lt;br /&gt; db.config.dbname = &quot;/var/www/bacula/catalog/webacula.db&quot;&lt;br /&gt; &lt;br /&gt; email.to_admin = root@localhost&lt;br /&gt; email.from = webacula@localhost&lt;br /&gt; &lt;br /&gt; [feed]&lt;br /&gt; feed_title = &quot;Mon serveur de sauvegarde Bacula #1&quot;&lt;br /&gt; feed_desc = &quot;Description du flux ici&quot;&lt;br /&gt; &lt;br /&gt; [layout]&lt;br /&gt; ; available values : &quot;default&quot;&lt;br /&gt; path = &quot;default&quot;&lt;/code&gt;&lt;/div&gt;&lt;h3&gt; Configuration de la base webacula&lt;/h3&gt;
&lt;p&gt;Webacula trace certains &#233;l&#233;ments internes pour son bon fonctionnement, ce qui explique les 2 configurations d'acc&#232;s aux bases de donn&#233;es.&lt;br class='autobr' /&gt;
Un script est disponible pour g&#233;n&#233;rer la base sqlite adapt&#233;e :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt; .&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;webacula_sqlite_create_database.sh &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;webacula&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;catalog&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;webacula.db &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&#192; noter&lt;/strong&gt; : Il est conseill&#233; de patcher ce script car l'utilisateur apache n'est pas www-data par d&#233;faut.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Configuration d'Apache&lt;/h3&gt;
&lt;p&gt;Notre service webacula est configur&#233;, notre serveur web doit maintenant l'ex&#233;cuter correctement.&lt;br class='manualbr' /&gt;Webacula fournit un fichier de configuration (&lt;code class='spip_code' dir='ltr'&gt;/var/www/webacula/conf/webacula.conf&lt;/code&gt;) g&#233;rant les droits d'acc&#232;s et les alias n&#233;cessaires &#224; son bon fonctionnement.&lt;/p&gt; &lt;p&gt;La solution propos&#233;e est de pr&#233;parer un fichier de configuration apache classique et d'inclure le fichier de configuration Webacula :&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;nano&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;apache2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sites-available&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;webacula&lt;/div&gt;&lt;/div&gt;&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;&lt;VirtualHost *:80&gt;&lt;br /&gt; ServerAdmin webacula@localhost&lt;br /&gt; ServerName webacula&lt;br /&gt; DocumentRoot /var/www/webacula&lt;br /&gt; &lt;br /&gt; &lt;Directory /&gt;&lt;br /&gt; Options FollowSymLinks&lt;br /&gt; AllowOverride None&lt;br /&gt; &lt;/Directory&gt;&lt;br /&gt; &lt;Directory /var/www/webacula/&gt;&lt;br /&gt; Options Indexes Includes FollowSymLinks MultiViews&lt;br /&gt; AllowOverride All&lt;br /&gt; Order allow,deny&lt;br /&gt; Allow from all&lt;br /&gt; &lt;/Directory&gt;&lt;br /&gt; &lt;br /&gt; Include /var/www/webacula/install/webacula.conf&lt;br /&gt; &lt;br /&gt; ErrorLog /var/log/apache2/webacula.log&lt;br /&gt; &lt;br /&gt; # Possible values include: debug, info, notice, warn, error, crit,&lt;br /&gt; # alert, emerg.&lt;br /&gt; LogLevel warn&lt;br /&gt; &lt;br /&gt; CustomLog /var/log/apache2/access.log combined&lt;br /&gt; &lt;br /&gt; &lt;/VirtualHost&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Avant de relancer le serveur web, il est imp&#233;ratif de v&#233;rifier le fichier &lt;code class='spip_code' dir='ltr'&gt;/var/www/webacula/install/webacula.conf&lt;/code&gt;. La configuration par d&#233;faut cible un autre r&#233;pertoire d'ex&#233;cution et les droits d'acc&#232;s sont limit&#233;s &#224; localhost.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; Et pour finir &lt;/h3&gt;
&lt;p&gt;Un petit &lt;code class='spip_code' dir='ltr'&gt;a2ensites webacula ; /etc/init.d/apache2 reload&lt;/code&gt; devrait nous donner satisfaction :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_89 spip_documents spip_documents_center'&gt; &lt;img
src='http://km.azerttyu.net/local/cache-vignettes/L500xH274/Webacula-bfbb6.png' width='500' height='274' alt=&quot;Webacula&quot; title=&quot;Webacula&quot; style='' /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_ps'&gt;&lt;h3 class=&quot;spip&quot;&gt;Ressources&lt;/h3&gt;&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.bacula.org/fr/dev-manual/breve_documentation.html&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.bacula.org/fr/dev-manual/breve_documentation.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://webacula.sourceforge.net/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://webacula.sourceforge.net/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Ranger son parc informatique</title><link>http://km.azerttyu.net/Ranger-son-parc-informatique</link> <guid
isPermaLink="true">http://km.azerttyu.net/Ranger-son-parc-informatique</guid> <dc:date>2010-08-09T22:37:02Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Lorsqu'on g&#232;re un certain nombre de machines il arrive qu'on peine &#224; retrouver ses petits aussi facilement qu'on le voudrait. La question se complique lorsqu'une partie du mat&#233;riel se range dans des baies ou autres locaux techniques.&lt;br class='autobr' /&gt;
Probl&#233;matique&lt;br class='autobr' /&gt;
Pour commencer j'avais besoin de connaitre le nom des mes machines ainsi que leur affection IP et MAC.&lt;br class='autobr' /&gt;
Ensuite j'ai eu besoin de savoir &#224; quoi repondait chaque machine et o&#249; elle se trouvait rang&#233;e.&lt;br class='autobr' /&gt;
Enfin la chose s'est compliqu&#233;e en voulant g&#233;rer la (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-informatique-" rel="directory"&gt;informatique&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Lorsqu'on g&#232;re un certain nombre de machines il arrive qu'on peine &#224; retrouver ses petits aussi facilement qu'on le voudrait. La question se complique lorsqu'une partie du mat&#233;riel se range dans des baies ou autres locaux techniques.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;Probl&#233;matique&lt;/h3&gt;
&lt;p&gt;Pour commencer j'avais besoin de connaitre le nom des mes machines ainsi que leur affection &lt;a href=&quot;http://fr.wikipedia.org/wiki/IP&quot; class='spip_glossaire' rel='external'&gt;IP&lt;/a&gt; et &lt;a href=&quot;http://fr.wikipedia.org/wiki/MAC&quot; class='spip_glossaire' rel='external'&gt;MAC&lt;/a&gt;.&lt;br class='manualbr' /&gt;Ensuite j'ai eu besoin de savoir &#224; quoi repondait chaque machine et o&#249; elle se trouvait rang&#233;e.&lt;br class='manualbr' /&gt;Enfin la chose s'est compliqu&#233;e en voulant g&#233;rer la notion de machines virtuelles et des p&#233;riph&#233;riques annexes comme les onduleurs, switch, ...&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Des solutions simples&lt;/h3&gt;
&lt;p&gt;Au d&#233;but, comme pour la plupart d'entre nous, j'ai pens&#233; aux solutions simples et peu complexes comme :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; un stylo et du papier&lt;/li&gt;&lt;li&gt; une feuille dans un &lt;a href=&quot;http://fr.wikipedia.org/wiki/tableur&quot; class='spip_glossaire' rel='external'&gt;tableur&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Pour les curieux, on remarque d'autres solutions exotiques comme :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; un &lt;a href=&quot;http://wikitech.wikimedia.org/view/Kennisnet_rackspace&quot; class='spip_out' rel='external'&gt;wiki&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Ces solutions r&#233;pondent globalement bien aux premiers besoins. On peut noter certaines limitations comme la difficult&#233; de g&#233;rer plusieurs affections IP (priv&#233;es, publiques, &lt;a href=&quot;http://fr.wikipedia.org/wiki/IPv4&quot; class='spip_glossaire' rel='external'&gt;IPv4&lt;/a&gt;, &lt;a href=&quot;http://fr.wikipedia.org/wiki/IPv6&quot; class='spip_glossaire' rel='external'&gt;IPv6&lt;/a&gt;), les connexions et d&#233;pendances entre machines&lt;/p&gt; &lt;p&gt;J'ai donc voulu aller plus loin.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Des solutions plus compl&#232;tes &lt;/h3&gt;
&lt;p&gt;Il existe de nombreux parcs informatiques plus ou moins complexes, ainsi d'autres se sont pos&#233;s les m&#234;mes questions. En cherchant sur le &lt;a href=&quot;http://fr.wikipedia.org/wiki/web&quot; class='spip_glossaire' rel='external'&gt;web&lt;/a&gt;, on peut trouver des ressources int&#233;ressantes :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.mail-archive.com/frnog@frnog.org/msg05143.html&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.mail-archive.com/frnog@frnog.org/msg05143.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://fr.wikipedia.org/wiki/Logiciel_de_gestion_des_services_d%27assistance&quot; class='spip_url spip_out' rel='external'&gt;http://fr.wikipedia.org/wiki/Logici...&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.artiflo.net/2009/05/outils-de-gestion-de-rack-de-serveurs/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.artiflo.net/2009/05/outils-de-gestion-de-rack-de-serveurs/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;De ces premiers r&#233;sultats, j'ai not&#233; ces outils open source (ou gratuit) :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://flux.org.uk/projects/rackmonkey/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://flux.org.uk/projects/rackmonkey/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://racktables.org/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://racktables.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://rackview.sourceforge.net/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://rackview.sourceforge.net/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Mais on note aussi des solutions &lt;a href=&quot;http://fr.wikipedia.org/wiki/Logiciel_privateur&quot; class='spip_out' rel='external'&gt;commerciales&lt;/a&gt; :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.aperture.com/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.aperture.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.ni2.com/&quot; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.ni2.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;spip&quot;&gt; La solution retenue &lt;/h3&gt;
&lt;p&gt;Apr&#232;s avoir fait le tour des ces solutions, j'ai pr&#233;f&#233;r&#233; me tourner vers une autre plus complexe (compl&#232;te ?) mais couvrant un p&#233;rim&#232;tre plus large que celui initialement d&#233;fini.&lt;/p&gt; &lt;p&gt;C'est un ensemble d'outils compl&#233;mentaires :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.glpi-project.org/&quot; class='spip_out' rel='external'&gt;glpi&lt;/a&gt;&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;https://forge.indepnet.net/projects/show/racks&quot; class='spip_out' rel='external'&gt;et son plugin rack&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.ocsinventory-ng.org/&quot; class='spip_out' rel='external'&gt;le serveur ocs NG&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://fusioninventory.org/wordpress/&quot; class='spip_out' rel='external'&gt;l'agent fusion inventory&lt;/a&gt;&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://forge.fusioninventory.org/projects/fusioninventory-for-glpi/wiki/Fr_sommaire_22x&quot; class='spip_out' rel='external'&gt;et son plugin pour glpi&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cette combinaison d'outils couvre l'ensemble de mes besoins, je peux :&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; connaitre le contenu mat&#233;riel et logiciel de mes machines&lt;/li&gt;&lt;li&gt; d&#233;couvrir de nouveaux p&#233;riph&#233;riques IP assez facilement&lt;/li&gt;&lt;li&gt; ranger mes baies &lt;/li&gt;&lt;li&gt; conna&#238;tre mes allocations IP&lt;/li&gt;&lt;li&gt; g&#233;rer les d&#233;pendances / connexions entre les machines&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;L'installation de ce tout n'est pas des plus triviale, il y aura peut &#234;tre un article pour r&#233;sumer l'installation et configuration pour les boulets comme moi.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt; La suite &lt;/h3&gt;
&lt;p&gt;Avec cette base, j'imagine bien pour plus tard la gestion des incidents ou avoir une (super)vision globale pour les machines infog&#233;r&#233;es.&lt;/p&gt; &lt;p&gt;Et vous ? Avez vous d'autres suggestions ?&lt;/p&gt;&lt;/div&gt; </content:encoded> </item>
<item
xml:lang="fr"><title>Optimiser Trac</title><link>http://km.azerttyu.net/Optimiser-Trac</link> <guid
isPermaLink="true">http://km.azerttyu.net/Optimiser-Trac</guid> <dc:date>2010-03-13T10:37:52Z</dc:date> <dc:format>text/html</dc:format> <dc:language>fr</dc:language> <dc:creator>km</dc:creator> <description> &lt;p&gt;Dans le cadre du projet SPIP, nous utilisons un serveur d&#233;di&#233; pour notre d&#233;p&#244;t subversion. Ces derni&#232;res soir&#233;es nous avons pris les meilleurs conseils sur le net pour optimiser notre serveur.&lt;br class='autobr' /&gt;
L'organisation du serveur&lt;br class='autobr' /&gt;
Pour la suite de l'article, nous vous situons l'organisation de notre serveur.&lt;br class='autobr' /&gt; Nos d&#233;p&#244;ts SVN : /var/svn-repos/&lt;br class='autobr' /&gt; Nos r&#233;pertoires web : /var/www/&lt;br class='autobr' /&gt; Nos d&#233;p&#244;ts Trac : /var/trac/&lt;br class='autobr' /&gt; Les &#233;l&#233;ments statiques : /var/trac/deploy (g&#233;r&#233; par trac-admin)&lt;br class='autobr' /&gt; Nos binaires sp&#233;cifiques /var/trac/bin/&lt;br class='autobr' /&gt;
La (...)&lt;/p&gt;
-
&lt;a href="http://km.azerttyu.net/-Travail-Collaboratif-" rel="directory"&gt;Travail Collaboratif&lt;/a&gt; </description> <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans le cadre du &lt;a href=&quot;http://zone.spip.org/trac/spip-zone/&quot; class='spip_out' rel='external'&gt;projet SPIP&lt;/a&gt;, nous utilisons un serveur d&#233;di&#233; pour notre d&#233;p&#244;t &lt;a href=&quot;http://fr.wikipedia.org/wiki/subversion&quot; class='spip_glossaire' rel='external'&gt;subversion&lt;/a&gt;. Ces derni&#232;res soir&#233;es nous avons pris les meilleurs conseils sur le net pour optimiser notre serveur.&lt;/p&gt;&lt;/div&gt;
&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;L'organisation du serveur &lt;/h3&gt;
&lt;p&gt;Pour la suite de l'article, nous vous situons l'organisation de notre serveur.&lt;/p&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Nos d&#233;p&#244;ts SVN : &lt;strong&gt;/var/svn-repos/&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Nos r&#233;pertoires web : &lt;strong&gt;/var/www/&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Nos d&#233;p&#244;ts Trac : &lt;strong&gt;/var/trac/&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Les &#233;l&#233;ments statiques : &lt;strong&gt;/var/trac/deploy&lt;/strong&gt; (g&#233;r&#233; par trac-admin)&lt;/li&gt;&lt;li&gt; Nos binaires sp&#233;cifiques &lt;strong&gt;/var/trac/bin/&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;spip&quot;&gt;La timeline&lt;/h3&gt;&lt;h4&gt;Situation&lt;/h4&gt;
&lt;p&gt;La timeline est s&#251;rement la page qui consomme le plus de ressources. Sur cette page se trouve l'ensemble de l'activit&#233; du trac, commits svn compris.&lt;/p&gt; &lt;p&gt;Par d&#233;faut elle est sur &lt;strong&gt;30&lt;/strong&gt; jours ce qui est un peu trop sur un projet comme la zone qui g&#233;n&#232;re plusieurs dizaines de commits par jours. De plus il est possible d'effectuer une recherche sur une p&#233;riode de 90 jours d'activit&#233;.&lt;/p&gt; &lt;p&gt;R&#233;sultat, nous avions 1 fois sur 2 la page qui bloquait lors des acc&#232;s &#224; la base de donn&#233;es.&lt;/p&gt;
&lt;h4&gt;Solution&lt;/h4&gt;
&lt;p&gt;Pour limiter les incidents sur cette page, comme le pr&#233;conise la &lt;a href=&quot;http://trac.edgewall.org/wiki/TracPerformance&quot; class='spip_out' rel='external'&gt;page performance&lt;/a&gt; de Trac, nous avons limit&#233; l'affichage par d&#233;faut au 5 derniers jours et autoris&#233; une recherche maximale sur un mois.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;sudoer~: &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;nano&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trac&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;spip-zone&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;conf&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trac.ini&lt;/div&gt;&lt;/div&gt;&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;[timeline]&lt;br /&gt; changeset_show_files = 0&lt;br /&gt; default_daysback = 5&lt;br /&gt; max_daysback = 30&lt;/code&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt; Mapper les ressources statiques &lt;/h3&gt;&lt;h4&gt;Situation&lt;/h4&gt; &lt;p&gt;Par d&#233;faut l'ensemble des donn&#233;es est g&#233;r&#233; par Trac. Les &#233;l&#233;ments statiques tels que les images, javascript, feuilles de style, ... passent par &lt;a href=&quot;http://fr.wikipedia.org/wiki/python&quot; class='spip_glossaire' rel='external'&gt;python&lt;/a&gt;.&lt;br class='manualbr' /&gt;On configure apache pour que celui-ci se charge directement de ces donn&#233;es comme l'explique la &lt;a href=&quot;http://trac.edgewall.org/wiki/TracCgi#MappingStaticResources&quot; class='spip_out' rel='external'&gt;documentation Trac&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Solution &lt;/h4&gt;
&lt;p&gt;Pour obtenir les fichiers statiques nous utilisons la commande &lt;strong&gt;trac-admin deploy&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;sudoer~: trac-admin &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trac&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;spip-zone&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; deploy &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trac&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;deploy&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Nous mettons &#224; jour notre &lt;a href=&quot;http://fr.wikipedia.org/wiki/Virtualhost&quot; class='spip_glossaire' rel='external'&gt;Virtualhost&lt;/a&gt; en mappant les &#233;l&#233;ments statiques.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;sudoer~: &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;nano&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;apache2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sites-enabled&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zone.spip.org&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_apache code&quot;&gt; &lt;span style=&quot;color: #adadad; font-style: italic;&quot;&gt;#Gerer les fichiers statiques en direct&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;Alias&lt;/span&gt; /trac/spip-zone/chrome/ /var/trac/deploy/htdocs/&lt;br /&gt; &lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;Directory&lt;/span&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;/var/trac/deploy/htdocs&quot;&lt;/span&gt;&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;Order&lt;/span&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;allow&lt;/span&gt;,&lt;span style=&quot;color: #00007f;&quot;&gt;deny&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;Allow&lt;/span&gt; from &lt;span style=&quot;color: #0000ff;&quot;&gt;all&lt;/span&gt;&lt;br /&gt; &lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;Directory&lt;/span&gt;&gt;&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/9daebad81f9f1f5ddc269ab94ec3047d.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt; Optimiser Apache &lt;/h3&gt;
&lt;p&gt;Les points qui vont suivre concernent principalement l'optimisation c&#244;t&#233; serveur.&lt;/p&gt; &lt;p&gt;Dans notre cas nous suivons les &lt;a href=&quot;http://developer.yahoo.com/yslow/help/index.html#guidelines&quot; class='spip_out' rel='external'&gt;conseils Yslow&lt;/a&gt;. On peut trouver des informations compl&#233;mentaires sur diff&#233;rents sites tel que &lt;a href=&quot;http://t37.net/le-tuning-apache-pour-augmenter-les-performances-de-votre-application-web.html&quot; class='spip_out' rel='external'&gt;le blog&lt;/a&gt; Fr&#233;d&#233;ric de Villamil ou bien du c&#244;t&#233; de &lt;a href=&quot;http://www.devside.net/guides/config/compression&quot; class='spip_out' rel='external'&gt;devside&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Optimiser la bande passante&lt;/h3&gt;&lt;h4&gt;Situation&lt;/h4&gt;
&lt;p&gt;On constate que l'ensemble de nos donn&#233;es n'est pas optimis&#233; pour la transmission sur le r&#233;seau. Les &#233;l&#233;ments sont envoy&#233;s tels quels, ils ne sont pas compress&#233;s lors de leur passage sur le r&#233;seau.&lt;/p&gt; &lt;p&gt;On peut trouver plus d'information sur cette &lt;a href=&quot;http://developer.yahoo.com/performance/rules.html#gzip&quot; class='spip_out' rel='external'&gt;page d&#233;di&#233;e&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Solution&lt;/h4&gt;
&lt;p&gt;On configure le mode de compression selon la nature des fichiers transmis. On exclut de la compression les &#233;l&#233;ments normalement compress&#233;s comme les archives et les images.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;sudoer~: &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;nano&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;apache2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mods-enabled&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;deflate.conf&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_apache code&quot;&gt;&lt;span style=&quot;color: #adadad; font-style: italic;&quot;&gt;# Compresser tout le contenu, sauf certains types sp&#233;cifiques&lt;/span&gt;&lt;br /&gt;
&lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;IfModule&lt;/span&gt; mod_deflate.c&gt;&lt;br /&gt; &lt;span style=&quot;color: #adadad; font-style: italic;&quot;&gt;# Placer le filtre 'DEFLATE' sur tout le contenu sortant&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;SetOutputFilter&lt;/span&gt; DEFLATE&lt;br /&gt; &lt;span style=&quot;color: #adadad; font-style: italic;&quot;&gt;# Exclure les &#233;l&#233;ment non compressibles en fonction de leur type&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;SetEnvIfNoCase&lt;/span&gt; Request_URI \.(?:gif|jpe?g|png|rar|zip)$ no-gzip&lt;br /&gt; &lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;IfModule&lt;/span&gt; mod_headers.c&gt;&lt;br /&gt; &lt;span style=&quot;color: #adadad; font-style: italic;&quot;&gt;# G&#233;rer proprement les requettes qui transitent pas des proxies&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;Header&lt;/span&gt; append Vary User-Agent&lt;br /&gt; &lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;IfModule&lt;/span&gt;&gt;&lt;br /&gt;
&lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;IfModule&lt;/span&gt;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #adadad; font-style: italic;&quot;&gt;# G&#233;rer proprement les anciens navigateurs qui ne supportent pas la compression&lt;/span&gt;&lt;br /&gt;
&lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;IfModule&lt;/span&gt; mod_deflate.c&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;BrowserMatch&lt;/span&gt; ^Mozilla/&lt;span style=&quot;color: #ff0000;&quot;&gt;4&lt;/span&gt; gzip-only-text/html&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;BrowserMatch&lt;/span&gt; ^Mozilla/&lt;span style=&quot;color: #ff0000;&quot;&gt;4&lt;/span&gt;\.0[&lt;span style=&quot;color: #ff0000;&quot;&gt;678&lt;/span&gt;] no-gzip&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;BrowserMatch&lt;/span&gt; \bMSIE !no-gzip !gzip-only-text/html&lt;br /&gt;
&lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;IfModule&lt;/span&gt;&gt;&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/4e5e6266800588350d70f4fa459aa879.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt;Optimiser la dur&#233;e de vie des fichiers&lt;/h3&gt;&lt;h4&gt;Situation&lt;/h4&gt;
&lt;p&gt;Une certaine partie des &#233;l&#233;ments d'une page sont statiques. C'est &#224; dire qu'ils vont tr&#232;s peu &#233;voluer dans un temps relativement long. Ainsi les navigateurs mettent &#224; jour un certain nombre de fichiers alors que cela est inutile.&lt;/p&gt;
&lt;h4&gt;Solution&lt;/h4&gt;
&lt;p&gt;Pour peaufiner les informations de dur&#233;e de vie nous employons le &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_expires.html&quot; class='spip_out' rel='external'&gt;mode expires&lt;/a&gt; tel que peut nous l'expliquer encore &lt;a href=&quot;http://developer.yahoo.com/performance/rules.html#expires&quot; class='spip_out' rel='external'&gt;Yslow&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On installe ainsi les modules Apache requis.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;sudoer~: a2enmod expires&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;sudoer~: &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;nano&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;apache2&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mods-enabled&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;expires.conf&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_apache code&quot;&gt;&lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;IfModule&lt;/span&gt; mod_expires.c&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresActive&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;On&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; text/css &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 30 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; text/javascript &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 7 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; application/x-javascript &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 7 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; application/javascript &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 7 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; image/x-icon &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 7 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; image/png &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 30 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; image/gif &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 30 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; image/jpeg &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 30 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; image/jpg &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 30 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #00007f;&quot;&gt;ExpiresByType&lt;/span&gt; application/x-shockwave-flash &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;access plus 60 days&quot;&lt;/span&gt;&lt;br /&gt;
&lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;IfModule&lt;/span&gt;&gt;&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/66c962b9af767d16c6bcdab13649e8ee.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt; Les Etag &lt;/h3&gt;&lt;h4&gt;Situation&lt;/h4&gt;
&lt;p&gt;Les Etag sont des identifiants uniques pour associer une ressource (fichier, ...) &#224; une version donn&#233;e.&lt;br class='manualbr' /&gt;Si on se r&#233;f&#232;re aux tests Yslow, on constate que notre serveur serait mal configur&#233;.&lt;br class='autobr' /&gt;
Pour autant avant de courir et de mettre un gros&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_apache code&quot;&gt;&lt;span style=&quot;color: #00007f;&quot;&gt;FileETag&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;none&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt; dans votre configuration. Il est utile de se r&#233;f&#233;rer &#224; certains articles de r&#233;f&#233;rence tel que &lt;a href=&quot;http://performance.survol.fr/2008/06/desactiver-les-etags/&quot; class='spip_out' rel='external'&gt;celui d'Eric dapset&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Solution&lt;/h4&gt;
&lt;p&gt;Dans notre cas, nous avons un seul serveur, des ressources principalement g&#233;r&#233;es dynamiquement et un mappage des ressources statiques. &lt;br class='manualbr' /&gt;La solution est alors simple : &#171; Ne rien faire &#187;.&lt;/p&gt;
&lt;h3 class=&quot;spip&quot;&gt;Fournir Trac, mod_wsgi&lt;/h3&gt;
&lt;p&gt;Trac utilise python, on ne r&#233;p&#232;tera jamais assez ce d&#233;tail.&lt;br class='manualbr' /&gt;Du coup nous avons plusieurs solutions pour le faire fonctionner avec Apache.&lt;/p&gt; &lt;p&gt;On trouve d'un c&#244;t&#233; les solutions &lt;a href=&quot;http://fr.wikipedia.org/wiki/CGI&quot; class='spip_glossaire' rel='external'&gt;CGI&lt;/a&gt; et de l'autre les &lt;a href=&quot;http://modules.apache.org/&quot; class='spip_out' rel='external'&gt;modules&lt;/a&gt;. le site de &lt;a href=&quot;http://webpython.codepoint.net/&quot; class='spip_out' rel='external'&gt;codepoint&lt;/a&gt; fournit un certain nombre d'explications sur ces diff&#233;rentes approches. &lt;br class='manualbr' /&gt;Les solution CGI sont normalement faciles &#224; mettre en place mais leurs performances sont inf&#233;rieures aux modules apache.&lt;/p&gt; &lt;p&gt;Parmi les solutions modules nous avons &lt;a href=&quot;http://fr.wikipedia.org/wiki/mod_python&quot; class='spip_glossaire' rel='external'&gt;mod_python&lt;/a&gt; et &lt;a href=&quot;http://fr.wikipedia.org/wiki/mod_wsgi&quot; class='spip_glossaire' rel='external'&gt;mod_wsgi&lt;/a&gt;. Le &lt;strong&gt;mod_wsgi&lt;/strong&gt; est le module recommand&#233; &#224; l'heure actuelle. Mod_python n'est plus maintenu et fournit comparativement des performances moindres.&lt;/p&gt; &lt;p&gt;Pr&#233;alablement nous avons deploy&#233; les fichiers statiques (pour rappel&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_bash code&quot;&gt;sudoer~: trac-admin &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trac&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;spip-zone&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; deploy &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trac&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;deploy&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;).&lt;/p&gt; &lt;p&gt;Un fichier de configuration sp&#233;cifique pour wsgi est alors fourni, nous le retrouvons dans &lt;strong&gt;/var/trac/deploy/cgi-bin/trac.wsgi&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Nous configurons alors notre serveur en cons&#233;quence. Nous gardons &lt;strong&gt;/var/trac/deploy&lt;/strong&gt; hors du &lt;a href=&quot;http://fr.wikipedia.org/wiki/DocumentRoot&quot; class='spip_glossaire' rel='external'&gt;DocumentRoot&lt;/a&gt; ce qui devrait limiter les incidents de s&#251;ret&#233;.&lt;/p&gt;
&lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_apache code&quot;&gt;&lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;VirtualHost&lt;/span&gt; *:&lt;span style=&quot;color: #ff0000;&quot;&gt;80&lt;/span&gt;&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;DocumentRoot&lt;/span&gt; /var/www/zone.spip.org/&lt;br /&gt;
&lt;br /&gt; &lt;span style=&quot;color: #adadad; font-style: italic;&quot;&gt;#Fournir Trac&lt;/span&gt;&lt;br /&gt; WSGIScriptAlias /trac/spip-zone /var/trac/deploy/cgi-bin/trac.wsgi&lt;br /&gt;
&lt;br /&gt; &lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;Directory&lt;/span&gt; /var/www/zone.spip.org&gt;&lt;br /&gt; PythonOption TracLocale &lt;span style=&quot;color: #7f007f;&quot;&gt;&quot;fr_FR.utf-8&quot;&lt;/span&gt;&lt;br /&gt; WSGIApplicationGroup %{GLOBAL}&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;Order&lt;/span&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;deny&lt;/span&gt;,&lt;span style=&quot;color: #00007f;&quot;&gt;allow&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #00007f;&quot;&gt;Allow&lt;/span&gt; from &lt;span style=&quot;color: #0000ff;&quot;&gt;all&lt;/span&gt;&lt;br /&gt; &lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;Directory&lt;/span&gt;&gt;&lt;br /&gt;
&lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;VirtualHost&lt;/span&gt;&gt;&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://km.azerttyu.net/local/cache-code/e7109d1189bee591c24728fbc574ce51.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;spip&quot;&gt; To be continued &lt;/h3&gt;
&lt;p&gt;Pour aller plus loin dans la configuration du mod_wsgi nous pouvons consulter le &lt;a href=&quot;http://trac.edgewall.org/wiki/TracModWSGI&quot; class='spip_out' rel='external'&gt;site officiel de Trac&lt;/a&gt; et celui du &lt;a href=&quot;http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac&quot; class='spip_out' rel='external'&gt;projet wsgi&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt; </content:encoded> </item>



</channel>

</rss>
