<?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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Geekographie Ma&#239;eulesque</title>
	<link>https://geekographie.maieul.net/</link>
	<description>Ce site est consacr&#233; &#224; quelques unes des mes geekeries. J'y donne des conseils, des r&#233;flexions, sur les logiciels et les langages que je connais ou que j'apprends.
J'y parle notamment de l'usage de LaTeX en sciences humaines et sociales, en particulier pour la gestion de la bibliographie.
Le contenu peut &#234;tre sous la forme d'articles d&#233;taill&#233;s ou de simples notes.
L'ensemble du contenu est, sauf pr&#233;cision contraire, sous licence Cr&#233;ative Commons Paternit&#233;-Partage des Conditions Initiales &#224; l'identique France.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://geekographie.maieul.net/spip.php?id_rubrique=46&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>G&#233;rer beaucoup de sites SPIP en local sous MacOsX</title>
		<link>https://geekographie.maieul.net/78</link>
		<guid isPermaLink="true">https://geekographie.maieul.net/78</guid>
		<dc:date>2012-01-11T15:38:18Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Ma&#239;eul</dc:creator>



		<description>
&lt;p&gt;Cet article ne s'adresse pas aux SPIPeurs d&#233;butants qui souhaiteraient cr&#233;er un site web en local sous Mac. Un article existe d&#233;j&#224; sur le sujet. Non, cet article s'adresse aux personnes qui souhaitent g&#233;rer beaucoup de site web en local en n'ayant qu'une installation de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; par version, autrement dit en mutualisant le noyau de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;. J'y d&#233;taille ma pratique, que j'utilise depuis trois ans, donc que j'estime m&#251;re. Principe Je d&#233;veloppe en local 30 sites. Chaque site que je d&#233;veloppe&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://geekographie.maieul.net/Mutualisation" rel="directory"&gt;Mutualisation&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Cet article ne s'adresse pas aux SPIPeurs d&#233;butants qui souhaiteraient cr&#233;er un site web en local sous Mac. &lt;a href=&#034;http://www.spip-contrib.net/Installer-SPIP-sous-Mac-OS-X-avec-MAMP&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Un article existe d&#233;j&#224; sur le sujet&lt;/a&gt;. Non, cet article s'adresse aux personnes qui souhaitent g&#233;rer beaucoup de site web en local en n'ayant qu'une installation de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; par version, autrement dit en mutualisant le noyau de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;J'y d&#233;taille ma pratique, que j'utilise depuis trois ans, donc que j'estime m&#251;re.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;h2&#034;&gt;Principe&lt;/h2&gt;
&lt;p&gt;Je d&#233;veloppe en local 30 sites. Chaque site que je d&#233;veloppe poss&#232;de une adresse r&#233;elle, par exemple &lt;a href=&#034;http://maieul.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://maieul.net&lt;/a&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Je sais, c'est un peu narcissique, mais que voulez-vous&#8230;&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;, correspondant &#224; la version cours de production, et une adresse locale, correspondante &#224; la version en cours de d&#233;veloppement.&lt;/p&gt;
&lt;p&gt;Par principe, chaque adresse d'un site local termine par &lt;code&gt;.dev&lt;/code&gt;. Par exemple &lt;code&gt;maieul.dev&lt;/code&gt;, &lt;code&gt;geek.dev&lt;/code&gt;, &lt;code&gt;maman.dev&lt;/code&gt; etc. Pourquoi &lt;code&gt;.dev&lt;/code&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Parce que cette extension n'existe pas, donc je suis certain que lorsque j'utilise &lt;code&gt;.dev&lt;/code&gt; je suis en version locale.&lt;/p&gt;
&lt;p&gt;Je vais dire &#224; mon ordinateur, via la modification d'un fichier cach&#233;, d'orienter mes adresses en &lt;code&gt;.dev&lt;/code&gt; vers l'&lt;a href=&#034;https://fr.wikipedia.org/wiki/IP&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;&lt;span class=&#034;caps&#034;&gt;&lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; &lt;code&gt;127.0.0.1&lt;/code&gt;, autrement dit vers mon propre ordinateur.&lt;/p&gt;
&lt;p&gt;Cons&#233;quent&#160;: lorsque dans mon navigateur je frapperais &lt;code&gt;http://maieul.dev&lt;/code&gt;, celui-ci me redirigera vers 127.0.0.1. L&#224;, mon serveur local, &lt;span class=&#034;caps&#034;&gt;MAMP&lt;/span&gt;, me renverra vers mon &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, que j'aurais organis&#233; selon le principe de la mutualisation facile, c'est &#224; dire &#224; que j'aurais r&#233;gl&#233; pour avoir un seul noyau &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; pour plusieurs sites (par exemple &lt;code&gt;maman.dev&lt;/code&gt;, &lt;code&gt;papa.dev&lt;/code&gt; etc.)&lt;/p&gt;
&lt;p&gt;Par ailleurs, un site fera exception &lt;code&gt;localhost&lt;/code&gt;&#160;: ce site sert de brouillon pour toutes les exp&#233;riences.&lt;/p&gt;
&lt;p&gt;De plus, je souhaite pouvoir disposer de diff&#233;rentes branches de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&#160;: je souhaite pouvoir orienter vers la branche 2.0.z ou vers la branche 2.1.z ou vers la branche 3.0.z selon le cas. En revanche, je souhaite pouvoir facilement mettre &#224; jour une branche.&lt;/p&gt;
&lt;p&gt;Je vais donc cr&#233;er un dossier par branches, avec dans chaque dossier une mutualisation. Je configurerais mon serveur Apache local (install&#233; via &lt;span class=&#034;caps&#034;&gt;MAMP&lt;/span&gt;) pour qu'il me renvoi sur l'un ou l'autre des dossiers selon l'&lt;span class=&#034;caps&#034;&gt;URL&lt;/span&gt; du site.&lt;/p&gt;
&lt;p&gt;Bon, tout ceci c'&#233;tait la th&#233;orie, passons &#224; la pratique.&lt;/p&gt;
&lt;p&gt;Cette pratique n&#233;cessite d'utiliser les Terminal, pour frapper quelques commandes.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Pr&#233;parer les versions de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Dans le terminal, rendons-nous dans le dossier &lt;code&gt;sites&lt;/code&gt; du r&#233;pertoire de d&#233;part&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;cd ~/sites&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis r&#233;cup&#233;rons les dernieres versions stables des diff&#233;rentes branches de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;. &lt;a href=&#034;http://core.spip.org/projects/spip/repository/show/tags&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Ces versions sont situ&#233;es dans le dossier tags du serveur &lt;span class=&#034;caps&#034;&gt;SVN&lt;/span&gt; de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;svn co svn://trac.rezo.net/spip/tags/spip-2.0.9 SPIP 20 svn co svn://trac.rezo.net/spip/tags/spip-2.1.12 SPIP21&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et soyons fous, prenons m&#234;me la derni&#232;re version de dev de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, instable (pour le moment c'est &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; 3)&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;svn co svn://trac.rezo.net/spip/spip SPIPdev&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je me retrouve donc dans mon dossier &lt;code&gt;sites&lt;/code&gt; avec trois dossiers&#160;: &lt;code&gt;SPIP20&lt;/code&gt; &lt;code&gt;SPIP21&lt;/code&gt; et &lt;code&gt;SPIPdev&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Par d&#233;faut mes sites pointeront vers &lt;code&gt;SPIP21&lt;/code&gt;. Les autres sites seront des exceptions.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Pr&#233;parer la mutualisation&lt;/h2&gt;
&lt;p&gt;Maintenant rendons-nous dans le dossier &lt;code&gt;SPIP21&lt;/code&gt; pour pr&#233;parer le chemin &#224; la mutualisation des sites &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;cd ~/SPIP21&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;D'abord il faut r&#233;cup&#233;rer le plugin mutualisation facile&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;svn://zone.spip.org/spip-zone/_plugins_/mutualisation&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ensuite il me faut copier le fichier &lt;code&gt;mes_options.php&lt;/code&gt; dans le dossier &lt;code&gt;config&lt;/code&gt;.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;cp mutualisation mes_options.php.txt mes_options.php&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis ouvrir le fichier &lt;code&gt;config/mes_options.php&lt;/code&gt; avec le logiciel de mon choix.&lt;/p&gt;
&lt;p&gt;Il va falloir r&#233;gler pour indiquer les r&#233;glages MySQL de Mamp.&lt;/p&gt;
&lt;p&gt;Voici le contenu de ce fichier&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt;&lt;?php /* * Inscrire ici le nom du site d'administration du tableau de bord * de la mutualisation (ou plusieurs, separes par des virgules) * (dans cet exemple, 'scriibe.net' est le top level domain, TLD) * pour autoriser tous les sites, ne pas definir la constante ; * Si le site maitre n'est pas dans sites/ mais a la racine, mettre '' * et ajouter 'mutualisation' dans $dossier_squelettes */ define ('_SITES_ADMIN_MUTUALISATION', 'scriibe.net'); if (!defined(&#034;_ECRIRE_INC_VERSION&#034;)) return; if (!is_readable (_DIR_RACINE.'mutualisation/mutualiser.php')) { echo _L(&#034;Fichier 'mutualisation/mutualiser.php' manquant dans la racine &#034; . _DIR_RACINE); exit; } require _DIR_RACINE.'mutualisation/mutualiser.php'; /* placer dans ce tableau les sites ou l'on ne veut pas la redirection canonique */ $www = array(); $site = str_replace('www.', '', $_SERVER['HTTP_HOST']); if ($site != $_SERVER['HTTP_HOST'] AND !in_array($site, $www)) { include_spip('inc/headers'); $req = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/'; if (isset($_SERVER['HTTPS']) AND test_valeur_serveur($_SERVER['HTTPS'])) $protocole = 'https'; elseif (!isset($_SERVER[&#034;SCRIPT_URI&#034;]) OR !($p = strpos($_SERVER[&#034;SCRIPT_URI&#034;], '://'))) $protocole = 'http'; else $protocole = substr($_SERVER[&#034;SCRIPT_URI&#034;],0,$p); redirige_par_entete($protocole . '://' . $site . $req); } // Compatibilite avec le &#034;:&#034; de $dossier_squelettes // Si l'url indique explicitement un port (grace a &#034;:&#034;) // tout eliminer s'il s'agit du port 80 // et remplacer &#034;:&#034; par _ pour les autres ports if (strpos($site, ':')) { if (preg_match('/:80$/', $site)) $site = substr($site,-3); else $site = str_replace(':', '_', $site); } define ('_INSTALL_SITE_PREF', prefixe_mutualisation($site)); define ('_INSTALL_NAME_DB', 'mu_'. _INSTALL_SITE_PREF); define ('_INSTALL_SERVER_DB', 'mysql'); define ('_INSTALL_HOST_DB', 'localhost'); define ('_INSTALL_USER_DB', 'loginsql'); define ('_INSTALL_PASS_DB', '123456HDJ'); /* mettre en commentaire la ligne suivante si vous utilisez l'option table_prefixe plus bas dans la config */ define ('_INSTALL_TABLE_PREFIX', 'spip'); /* * Si le nom du serveur est different du nom dns, * ca peut parfois poser probleme * il faut alors le definir ici */ # define ('_INSTALL_HOST_DB_LOCALNAME', 'nom_serveur'); /* * Si le serveur n'est pas mysql, il faut le preciser obligatoirement. * # define ('_INSTALL_SERVER_DB', 'pg'); // mysql|pg|sqlite2|sqlite3 * * /!\ En PG, il est conseille d'utiliser la creation d'utilisateur SQL */ /* * Creer automatiquement les users SQL (pg|mysql) * * Cela permet * - d'avoir un utilisateur root possedant les droits * de creation de bases (cet utilisateur possedant obligatoirement * une base a son nom en PG - PG ne se connecte pas sans donner un nom de bdd) * - de creer des utilisateurs sql automatiquement * ne possedant que les droits d'administation * de leur base de donnee qui sera creee * * Il faut remplacer alors * _INSTALL_(USER|PASS)_DB par _INSTALL_(USER|PASS)_DB_ROOT * * et ajouter dans demarrer_site l'option * 'creer_user_base' =&gt; true */ # define ('_INSTALL_USER_DB_ROOT', 'mon_root'); # define ('_INSTALL_PASS_DB_ROOT', '********'); /* * Creer les bases de donnees via un ping sur une URL (methode AlternC) * * Il suffit de renseigner l'option url_creer_base, en lui passant les bons parametres : * 'url_creer_base' =&gt; 'https://bureau.tld/admin/sql_doadd.php?username=USER&amp;password=PASS&amp;dbn='.prefixe_mutualisation($site) */ /* * Transformer sur les pages publiques les url des images * /sites/mon_site/IMG/* -&gt; /IMG/* * /sites/mon_site/local/* -&gt; /local/* * * - Necessite le mod_rewrite (reecriture d'url) d'apache * - Ne fonctionne qu'avec des mutualisations de nom de domaine * ('http_host' : http://mon_site_mutu.tld) * (donc pas avec une mutualisation de repertoire - http://site/mon_spip_mutu/) * * et ajouter dans demarrer_site l'option * 'url_img_courtes' =&gt; true * * Il est possible de regenerer les fichiers .htaccess * crees automatiquement dans /IMG et /local * grace a ?var_mode=creer_htaccess_img * */ demarrer_site($site, array( 'creer_site' =&gt; true, // Creer ou non le site s'il n'existe pas (defaut: false) 'creer_base' =&gt; true, // Creer ou non la base de donnee si elle n'existe pas (false) 'creer_user_base' =&gt; false, // Creer ou non un utilisateur pour la nouvelle base de donnee (false) 'mail' =&gt; '', // Adresse mail pour recevoir un mail lors d'une creation de site mutualise ('') 'code' =&gt; 'ecureuil', // Code d'activation ('ecureuil') 'table_prefix' =&gt; false, // Definir automatiquement le prefixe de table (false) ... mettre true si tous les sites dans la meme base 'cookie_prefix' =&gt; true, // Definir automatiquement le prefixe de cookie (false) 'repertoire' =&gt; 'sites', // Nom du repertoire contenant les sites mutualises ('sites') 'url_img_courtes' =&gt; true, // Utiliser la redirection des URL d'images courtes dans la partie publique (false) // /!\ il faut qu'apache ait le droit d'ecrire dans les dossiers IMG/ et local/ a la racine du site ! // C'est la que la mutualisation va ecrire les regles de redirection automatiques pour les images de chaque site # 'utiliser_panel' =&gt; false, // Utiliser une table externe pour recuperer des identifiants ... (code, user, pass) permettant a un utilisateur d'installer le site (false) # 'annonce' =&gt; '&lt;p&gt;Un service propos&amp;eacute; par &lt;a href=&#034;http://www.spip.net/&#034;&gt;la communaut&amp;eacute; SPIP&lt;/a&gt;&lt;/p&gt;', // Texte a afficher en bas du formulaire d'activation de la mutualisation 'url_creer_base' =&gt; '' // Creer la base de donnees via une URL (methode AlternC) ) ); /* * Notes concernant SQLite * * 1) creer_base = false * Avec SQLite, il est inutile de mettre creer_base a true. * Si creer_base est true, une base sera cree (par l'outil de mutualisation) * dans le repertoire defini par la constante _DIR_DB. * * Si cette constante n'est pas renseignee, elle vaudra * _DIR_ETC/bases/ soit : config/bases/, ce qui ne correspond pas * a l'emplacement du futur site : sites/X/config/bases. * * En laissant l'option a false, SPIP creera la base de donnee * au moment de l'installation (exec=install) et a ce moment * la, _DIR_ETC vaudra 'sites/X/config' donc la base sera stockee * ou il faut si _DIR_DB n'est pas defini. * * 2) creer_user_base = false * SQLite ne gerant pas de droits d'utilisateurs, * (les droits sont ceux du fichier .sqlite) * mettre true provoquera des erreurs (je suppose) * * 3) constantes a definir : * define ('_INSTALL_SERVER_DB', 'sqlite3'); // sqlite2 ou sqlite3 * define ('_INSTALL_NAME_DB', 'mu_'.prefixe_mutualisation($site)); * * les constantes _INSTALL_(HOST|PASS|USER)_DB sont inutiles. */ /* * Notes concernant MySQL * * - Pour la creation d'utilisateurs MYSQL * (creer_base+creer_user_base) * il est possible de definir les droits de ces utilisateurs avec la constante * _PRIVILEGES_MYSQL_USER_BASE (ici avec les valeurs utilisees par defaut) : * * define('_PRIVILEGES_MYSQL_USER_BASE','Alter, Select, Insert, Update, Delete, Create, Drop'); * */ ?&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les lignes &#224; changer sont les lignes en mettant 44 et 45&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt; define ('_INSTALL_USER_DB', 'root'); define ('_INSTALL_PASS_DB', 'root');&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il nous reste ensuite &#224; cr&#233;er un r&#233;pertoire &lt;code&gt;sites&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='spip'&gt;&lt;code&gt;mkdir sites&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;h2&#034;&gt;Affinage&lt;/h2&gt;
&lt;p&gt;Comme je suis sur un site local, donc de dev, je ne veux pas de cache. Je met donc dans le fichier &lt;code&gt;mes_options.php&lt;/code&gt; la ligne suivante&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt;define('_NO_CACHE',-1);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans le dossier &lt;code&gt;extensions&lt;/code&gt;, je peux mettre tout les plugins que je souhaite actifs automatiquement pour l'ensemble des sites. Dans le dossier &lt;code&gt;plugins&lt;/code&gt;, je met les plugins qui ne sont pas automatiquement actif.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;R&#233;p&#233;tition pour les autres versions de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Il me faut installer la mutualisation dans chaque dossier correspondant &#224; chaque version de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Installation et Configuration de Mamp&lt;/h2&gt;
&lt;p&gt;Tout d'abord, v&#233;rifier dans les Pr&#233;f&#233;rences Syst&#232;me que le partage web n'est pas activ&#233;.
Puis &lt;a href=&#034;http://www.mamp.info/en/index.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;t&#233;l&#233;charger &lt;span class=&#034;caps&#034;&gt;MAMP&lt;/span&gt;&lt;/a&gt; et l'installer.&lt;/p&gt;
&lt;p&gt;Ouvrir &lt;span class=&#034;caps&#034;&gt;MAMP&lt;/span&gt; dans le dossier &lt;code&gt;MAMP&lt;/code&gt; du dossier &lt;code&gt;Application&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Dans les r&#233;glages, aller dans &lt;code&gt;ports&lt;/code&gt;, et mettre le port Apache sur 80.&lt;/p&gt;
&lt;p&gt;Ensuite comme je ne d&#233;sire pas renvoyer mes sites syst&#233;matiquement vers le m&#234;me dossier, il va falloir faire une intervention &lt;code&gt;&#224; la main&lt;/code&gt; dans les fichiers de &lt;span class=&#034;caps&#034;&gt;MAMP&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Ouvrir le dossier &lt;code&gt;/Applications/MAMP/conf/Apache&lt;/code&gt; et faire une copie de s&#233;curit&#233; du fichier &lt;code&gt;httpd.conf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Puis l'ouvrir avec un &#233;diteur de texte.&lt;/p&gt;
&lt;p&gt;Chercher les lignes o&#249; il est &#233;crit&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;# MAMP DOCUMENT_ROOT !! Don't remove this line !! DocumentRoot &#034;/Applications/MAMP/htdocs&#034;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et faire exactement ce qu'il est dit de ne pas faire, en remplacant &lt;code&gt;DocumentRoot &#034;/Applications/MAMP/htdocs&#034;&lt;/code&gt; par &lt;code&gt;Include /Applications/MAMP/conf/Apache/vhost.conf&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Par cela, je signale que je veux que la gestion des dossiers se fasse dans un fichier &lt;code&gt;vhost.conf&lt;/code&gt; du dossier &lt;code&gt;/Applications/MAMP/conf/Apache/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Je cr&#233;e ce fichier. Voici ce que j'y met&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;&lt;VirtualHost *&gt; DocumentRoot &#034;/Users/maieul/Sites/SPIP21&#034; &lt;/VirtualHost&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&#201;videmment, il faut remplacer &lt;code&gt;maieul&lt;/code&gt; par le nom de votre dossier de d&#233;part.&lt;/p&gt;
&lt;p&gt;Cela indique que par d&#233;faut, mes sites locaux correspondent au dossier &lt;code&gt;/Users/maieul/Sites/SPIP21&lt;/code&gt; de mon ordinateur. Donc mes sites sont cr&#233;&#233;s par d&#233;faut avec &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; 2.1&lt;/p&gt;
&lt;p&gt;En revanche, si je souhaite que le site &lt;code&gt;toto.dev&lt;/code&gt; soit en &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; 2.0, je met en dessous de ces lignes&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;&lt;VirtualHost *&gt; DocumentRoot &#034;/Users/maieul/Sites/SPIP20&#034; ServerName toto.dev &lt;/VirtualHost&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et ainsi de suite pour chaque site ne fonctionnant pas avec &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; 2.1.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Rediriger le site bidule.dev vers 127.0.0.1&lt;/h2&gt;
&lt;p&gt;Bon, maintenant je peux lancer mon site &lt;code&gt;bidule.dev&lt;/code&gt;
Pour ce faire, je vais modifier le fichier &lt;code&gt;/etc/hosts&lt;/code&gt;, qui indique les redirections des adresses web, propres &#224; &lt;strong&gt;mon&lt;/strong&gt; ordinateur.
Pour ce faire, dans le terminal je frappe&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;sudo pico /etc/hosts&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Apr&#232;s la saisie de mon mot de passe administrateur, avec le clavier je me rend sur juste avant la ligne &lt;code&gt;255.255.255.255 broadcasthost&lt;/code&gt;, et j'ins&#233;re la ligne suivante&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;127.0.0.1 toto.dev&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J'enregistre en frappant &lt;code&gt;ctrl + X&lt;/code&gt;
&#192; chaque fois que je voudrais cr&#233;er un nouveau site local, je ferais de m&#234;me.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Lancement du site&lt;/h2&gt;
&lt;p&gt;Aller, on y va&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;! Dans la barre d'adresse du navigateur, j'&#233;cris &lt;code&gt;http://toto.dev&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Je me retrouve alors sur la page me demandant le mot de passe de la mutualisation.&lt;/p&gt;
&lt;p&gt;Comme je ne l'ai pas modifi&#233;, c'est facile&#160;: &lt;code&gt;ecureuil&lt;/code&gt;. Je le rentre donc, et je clique sur ok.&lt;/p&gt;
&lt;p&gt;Je passe ensuite les &#233;tapes suivantes, qui sont automatiques.&lt;/p&gt;
&lt;div class='spip_document_31 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L500xH290/mutu0-da073.png?1760449034' width='500' height='290' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div class='spip_document_32 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L500xH259/mutu1-3ab83.png?1760449034' width='500' height='259' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div class='spip_document_33 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L500xH258/mutu2-b33c7.png?1760449034' width='500' height='258' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div class='spip_document_34 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L500xH258/mutu3-00d4b.png?1760449034' width='500' height='258' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div class='spip_document_35 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L500xH355/mutu4-7132d.png?1760449034' width='500' height='355' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div class='spip_document_36 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L500xH309/mutu5-85354.png?1760449034' width='500' height='309' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div class='spip_document_37 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L500xH295/mutu6-f38ec.png?1760449034' width='500' height='295' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Vient ensuite l'habituel formulaire de cr&#233;ation des comptes sur &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, que je remplis comme d'habitude&#160;:&lt;/p&gt;
&lt;div class='spip_document_38 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L392xH586/mutu7-5dfcd.png?1760449034' width='392' height='586' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Et voil&#224; mon site lanc&#233;.&lt;/p&gt;
&lt;div class='spip_document_39 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://geekographie.maieul.net/local/cache-vignettes/L482xH503/mutu8-5feb1.png?1760449034' width='482' height='503' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;h2&#034;&gt;Particularit&#233; de la mutualisation&lt;/h2&gt;
&lt;p&gt;Chaque sites poss&#232;dent un dossier propre dans le dossier &lt;code&gt;sites&lt;/code&gt;. Dans chaque dossier de sites se trouvent les habituelles dossiers &lt;code&gt;config&lt;/code&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; &lt;code&gt;IMG&lt;/code&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; &lt;code&gt;local&lt;/code&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;;&lt;code&gt;tmp&lt;/code&gt; et &#233;ventuellement &lt;code&gt;squelettes&lt;/code&gt;.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Mise &#224; jour mineure de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Imaginons que la version 2.1.13 de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; sorte.&lt;/p&gt;
&lt;p&gt;Pour faire ma mise &#224; jour en local, c'est simple.&lt;/p&gt;
&lt;p&gt;1. D'abord se rendre dans le dossier avec le terminal&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;cd ~/sites/SPIP21&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;2. Ensuite mettre &#224; jour&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;svn switch svn://trac.rezo.net/spip/tags/spip-2.1.12 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;p&gt;Comme d'habitude, j'attends les r&#233;actions des SPIPeurs.&lt;/p&gt;
&lt;p&gt;Voici quelques liens utiles&#160;:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://www.cuk.ch/articles/4246&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;initiation au terminal&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://lelogiciellibre.net/tutoriaux/fichier-hosts.php&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;le fichier &lt;code&gt;hosts&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.spip-contrib.net/La-mutualisation-facile-modifications-manuelles&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;la mutualisation facile avec &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://httpd.apache.org/docs/2.1/fr/vhosts/examples.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;les Virtualhost d'Apache&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Deux articles d'Alexandra qui expliquent &lt;a href=&#034;http://www.spip-contrib.net/Deuxieme-partie-Comment-creer-un-environnement-de&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;comment ouvrir sur l'exterieur son Mac&lt;/a&gt; et &lt;a href=&#034;http://www.spip-contrib.net/Troisieme-partie-Comment-creer-un-environnement-de&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;comment envoyer des mails avec &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; en local&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.blanche-de-peuterey.com/Mutualiser-Spip-en-local&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La m&#234;me probl&#233;matique, mais sous Windows&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Je sais, c'est un peu narcissique, mais que voulez-vous&#8230;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>G&#233;rer un SPIP mutualis&#233; avec SSH et SVN</title>
		<link>https://geekographie.maieul.net/6</link>
		<guid isPermaLink="true">https://geekographie.maieul.net/6</guid>
		<dc:date>2010-12-05T21:35:14Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Ma&#239;eul</dc:creator>



		<description>
&lt;p&gt;Pourquoi installer trois fois &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; lorsqu'on a trois sites chez le m&#234;me h&#233;bergeur&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Pourquoi ne pas garder un seul noyau qui servirait aux trois sites&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Voici un petit tutorial sur&#160;: utiliser ssh et svn chez un h&#233;bergeur mutualiser un site &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;. Ce tutoriel explique comment j'ai pratiqu&#233; chez l'Autre.net pour avoir un site mutualis&#233;. D&#233;finition &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt; est un protocole qui permet d'ex&#233;cuter des lignes de commandes sur un ordinateur distant, via internet, et ce de mani&#232;re s&#233;curis&#233;. &lt;span class=&#034;caps&#034;&gt;SVN&lt;/span&gt;&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://geekographie.maieul.net/Mutualisation" rel="directory"&gt;Mutualisation&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Pourquoi installer trois fois &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; lorsqu'on a trois sites chez le m&#234;me h&#233;bergeur&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Pourquoi ne pas garder un seul noyau qui servirait aux trois sites&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Voici un petit tutorial sur&#160;:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; utiliser ssh et svn chez un h&#233;bergeur&lt;/li&gt;&lt;li&gt; mutualiser un site &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Ce tutoriel explique comment j'ai pratiqu&#233; chez &lt;a href=&#034;http://lautre.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;l'Autre.net&lt;/a&gt; pour avoir un site mutualis&#233;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;h2&#034;&gt;D&#233;finition&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;https://fr.wikipedia.org/wiki/SSH&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;&lt;span class=&#034;caps&#034;&gt;&lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt; est un protocole qui permet d'ex&#233;cuter des lignes de commandes sur un ordinateur distant, via internet, et ce de mani&#232;re s&#233;curis&#233;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;https://fr.wikipedia.org/wiki/SVN&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;&lt;span class=&#034;caps&#034;&gt;&lt;span class=&#034;caps&#034;&gt;SVN&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt; est un syst&#232;me de gestion de versions de code sources. C'est celui utilis&#233; par &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; mutualis&#233;&lt;/strong&gt;, c'est la possibilit&#233; d'avoir une seul fois le code de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; pour plusieurs sites chez le m&#234;me h&#233;bergeur.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Ce qu'on cherche &#224; faire&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Avoir un &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; mutualis&#233;.&lt;/li&gt;&lt;li&gt; Pouvoir facilement le mettre &#224; jour.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;h2&#034;&gt;Inter&#234;t&lt;/h2&gt;
&lt;p&gt;La mutualisation permet un gain de place et de temps lors des mises &#224; jour de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&#160;: un seul &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; &#224; mettre &#224; jour.&lt;/p&gt;
&lt;p&gt;L'acc&#232;s &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt; &#233;vite d'avoir &#224; passer par &lt;span class=&#034;caps&#034;&gt;FTP&lt;/span&gt; depuis votre ordinateur, et donc de subir la lenteur des connexions sortantes propos&#233;s en &lt;span class=&#034;caps&#034;&gt;ADSL&lt;/span&gt;.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Pr&#233;alable&lt;/h2&gt;
&lt;p&gt;Il est n&#233;c&#233;ssaire de pouvoir faire du &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt;. Sur mac / linux, il faut utiliser le terminal ou l'invite de commande. Sous Windows il faut un logiciel sp&#233;cifique. Voir le &lt;a href=&#034;http://aide.lautre.net/Se-connecter-en-SSH&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;tutoriel de l'Autre.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tout les h&#233;bergeurs ne proposent pas d'acc&#232;s &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt;, car cela pose des probl&#232;mes en termes de s&#233;curit&#233;. L'Autre.net en plus d'&#234;tre un Alter-H&#233;bergeur le permet. Tant mieux&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;!&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Toutefois il est n&#233;cessaire d'activer l'acc&#232;s SSH depuis le panneau de (&#8230;)&#034; id=&#034;nh2-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Tout les h&#233;bergeurs proposant &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt; ne proposent pas forc&#233;ment &lt;span class=&#034;caps&#034;&gt;SVN&lt;/span&gt;. Si c'est le cas du votre, n&#233;gociez avec lui. Et si vous &#233;chouez, ce tutoriel vous sera inutile.&lt;/p&gt;
&lt;p&gt;J'ai trois site&#160;:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; bidule.tld&lt;/li&gt;&lt;li&gt; truc.tld&lt;/li&gt;&lt;li&gt; machin.tld&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Il est n&#233;cessaire de r&#233;gler les &lt;span class=&#034;caps&#034;&gt;DNS&lt;/span&gt; pour qu'ils pointent sur le m&#234;me h&#233;bergeur, puis chez l'h&#233;bergeur, il faut que chaque domaine pointent vers le &lt;strong&gt;m&#234;me&lt;/strong&gt; r&#233;pertoire.&lt;/p&gt;
&lt;p&gt;Voir avec l'h&#233;bergeur pour cela.&lt;/p&gt;
&lt;p&gt;J'imagine ici que mes trois domaines sont r&#233;gl&#233;s pour acc&#233;der au r&#233;pertoire &lt;strong&gt;spip_mutu&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Se connecter via &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Dans le terminal&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2-2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;pour les windowsien, voir le tutoriel de l'Autre.net.&#034; id=&#034;nh2-2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;, taper&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2-3&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;le&#160;% repr&#233;sente l'invite de commande.&#034; id=&#034;nh2-3&#034;&gt;3&lt;/a&gt;]&lt;/span&gt;&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% ssh login@adresse&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le login et l'adresse ssh sont fournis par l'h&#233;bergeur.&lt;/p&gt;
&lt;p&gt;A l'invitation, taper votre mot de pass &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;D&#233;sormais, tout ce que vous frapperez sera ex&#233;cut&#233; sur le serveur de votre h&#233;bergeur. Donc attention&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;!&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;R&#233;cuperer le code de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Tout d'abord, se d&#233;placer dans le dossier &lt;code&gt;spip_mutu&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% cd spip_mutu&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il existe sur le serveur &lt;span class=&#034;caps&#034;&gt;SVN&lt;/span&gt; de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; un dossier &lt;code&gt;tags&lt;/code&gt; qui contient des &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;instan&#233;s&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; des version de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;. En gros, il contient les versions distribu&#233;es sur &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;.net.&lt;/p&gt;
&lt;p&gt;R&#233;cuperons cela par &lt;span class=&#034;caps&#034;&gt;SVN&lt;/span&gt;. Ici la version 2.1.2&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% svn co svn://trac.rezo.net/spip/tags/spip-2.1.2 .&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;! Attention, ne pas oublier le point final. Il permet que le contenu du dossier spip-2.1.2 soit mis directement dans le dossier courant.&lt;/p&gt;
&lt;p&gt;Le jour o&#249; &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; passera en 2.1.3, il suffira de faire&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% svn switch svn://trac.rezo.net/spip/tags/spip-2.1.3&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;qui basculera seulement les fichiers modifi&#233;s entre la 2.1.2 et la 2.1.3&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;R&#233;cuperer le gestionaire de mutualisation&lt;/h2&gt;
&lt;p&gt;Il existe un pseudo-plugin &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; qui permet de g&#233;rer un &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; mutualis&#233;. R&#233;cuperons le&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% svn co svn://zone.spip.org/spip-zone/_plugins_/mutualisation&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il faut ensuite cr&#233;er un dossier sites, dans lequel chaque site aura un dossier sp&#233;cifique. Pour cela&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% mkdir sites&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;h2&#034;&gt;Installer les plugins&lt;/h2&gt;
&lt;p&gt;La plupart des plugins &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; sont d&#233;vellop&#233;s sur la &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Zone, en &lt;span class=&#034;caps&#034;&gt;SVN&lt;/span&gt;. Trouvez ici la liste&#160;: &lt;a href=&#034;http://zone.spip.org/trac/spip-zone/browser/_plugins_/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://zone.spip.org/trac/spip-zone/browser/_plugins_/&lt;/a&gt;, et les squelettes sont par l&#224; &lt;a href=&#034;http://zone.spip.org/trac/spip-zone/browser/_squelettes_&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://zone.spip.org/trac/spip-zone/browser/_squelettes_&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cr&#233;ons notre dossier plugins, puis allons y.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% mkdir plugins
% cd plugins&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Maintenant r&#233;cuperons les plugins qui nous int&#233;resse&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% svn co svn://zone.spip.org/spip-zone/_plugins_/dossierduplugin&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ou &lt;code&gt;dossierduplugin&lt;/code&gt; est &#224; remplacer &#224; chaque fois par le dossier du plugin qui nous int&#233;resse.&lt;/p&gt;
&lt;p&gt;Lorsqu'on voudra mettre &#224; jour un plugin, on fera&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;%svn up dossierduplugin&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 class=&#034;h2&#034;&gt;Configurer la mutalisation&lt;/h2&gt;
&lt;p&gt;Tout d'abord retournons &#224; la racine de notre site&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% cd ..&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis copions le fichier &lt;code&gt;mes_options.php.txt&lt;/code&gt; dans le dossier config de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, en le renommant.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% cp mutualisation/mes_options.php.txt config/mes_options.php&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&#233;ditons avec pico le fichier copi&#233;&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% pico config/mes_options.php&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;Voici le fichier tel que livr&#233; aujourd'hui&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt;&lt;?php if (!defined(&#034;_ECRIRE_INC_VERSION&#034;)) return; require _DIR_RACINE.'mutualisation/mutualiser.php'; /* placer dans ce tableau les sites ou l'on ne veut pas la redirection canonique */ $www = array(); $site = str_replace('www.', '', $_SERVER['HTTP_HOST']); if ($site != $_SERVER['HTTP_HOST'] AND !in_array($site, $www)) { include_spip('inc/headers'); redirige_par_entete('http://'.$site.'/'); } define ('_INSTALL_SERVER_DB', 'mysql'); define ('_INSTALL_HOST_DB', 'localhost'); define ('_INSTALL_USER_DB', 'loginsql'); define ('_INSTALL_PASS_DB', '123456HDJ'); define ('_INSTALL_NAME_DB', 'mu_'.prefixe_mutualisation($site)); /* mettre en commentaire la ligne suivante si vous utilisez l'option table_prefixe plus bas dans la config */ define ('_INSTALL_TABLE_PREFIX', 'spip'); /* * Si le nom du serveur est different du nom dns, * ca peut parfois poser probleme * il faut alors le definir ici */ # define ('_INSTALL_HOST_DB_LOCALNAME', 'nom_serveur'); /* * Si le serveur n'est pas mysql, il faut le preciser obligatoirement. * # define ('_INSTALL_SERVER_DB', 'pg'); // mysql|pg|sqlite2|sqlite3 * * /!\ En PG, il est conseille d'utiliser la creation d'utilisateur SQL */ /* * Creer automatiquement les users SQL (pg|mysql) * * Cela permet * - d'avoir un utilisateur root possedant les droits * de creation de bases (cet utilisateur possedant obligatoirement * une base a son nom en PG - PG ne se connecte pas sans donner un nom de bdd) * - de creer des utilisateurs sql automatiquement * ne possedant que les droits d'administation * de leur base de donnee qui sera creee * * Il faut remplacer alors * _INSTALL_(USER|PASS)_DB par _INSTALL_(USER|PASS)_DB_ROOT * * et ajouter dans demarrer_site l'option * 'creer_user_base' =&gt; true */ # define ('_INSTALL_USER_DB_ROOT', 'mon_root'); # define ('_INSTALL_PASS_DB_ROOT', '********'); /* * Creer les bases de donnees via un ping sur une URL (methode AlternC) * * Il suffit de renseigner l'option url_creer_base, en lui passant les bons parametres : * 'url_creer_base' =&gt; 'https://bureau.tld/admin/sql_doadd.php?username=USER&amp;password=PASS&amp;dbn='.prefixe_mutualisation($site) */ /* * Transformer sur les pages publiques les url des images * /sites/mon_site/IMG/* -&gt; /IMG/* * /sites/mon_site/local/* -&gt; /local/* * * - Necessite le mod_rewrite (reecriture d'url) d'apache * - Ne fonctionne qu'avec des mutualisations de nom de domaine * ('http_host' : http://mon_site_mutu.tld) * (donc pas avec une mutualisation de repertoire - http://site/mon_spip_mutu/) * * et ajouter dans demarrer_site l'option * 'url_img_courtes' =&gt; true * * Il est possible de regenerer les fichiers .htaccess * crees automatiquement dans /IMG et /local * grace a ?var_mode=creer_htaccess_img * */ /* * Inscrire ici le nom du site d'administration du tableau de bord * de la mutualisation (ou plusieurs, separes par des virgules) * (dans cet exemple, 'scriibe.net' est le top level domain, TLD) * pour autoriser tous les sites, ne pas definir la constante ; * Si le site maitre n'est pas dans sites/ mais a la racine, mettre '' * et ajouter 'mutualisation' dans $dossier_squelettes */ define ('_SITES_ADMIN_MUTUALISATION', 'scriibe.net'); demarrer_site($site, array( 'creer_site' =&gt; true, // Creer ou non le site s'il n'existe pas (defaut: false) 'creer_base' =&gt; true, // Creer ou non la base de donnee si elle n'existe pas (false) 'creer_user_base' =&gt; false, // Creer ou non un utilisateur pour la nouvelle base de donnee (false) 'mail' =&gt; '', // Adresse mail pour recevoir un mail lors d'une creation de site mutualise ('') 'code' =&gt; 'ecureuil', // Code d'activation ('ecureuil') 'table_prefix' =&gt; false, // Definir automatiquement le prefixe de table (false) ... mettre true si tous les sites dans la meme base 'cookie_prefix' =&gt; true, // Definir automatiquement le prefixe de cookie (false) 'repertoire' =&gt; 'sites', // Nom du repertoire contenant les sites mutualises ('sites') 'url_img_courtes' =&gt; true, // Utiliser la redirection des URL d'images courtes dans la partie publique (false) // /!\ il faut qu'apache ait le droit d'ecrire dans les dossiers IMG/ et local/ a la racine du site ! // C'est la que la mutualisation va ecrire les regles de redirection automatiques pour les images de chaque site # 'utiliser_panel' =&gt; false, // Utiliser une table externe pour recuperer des identifiants ... (code, user, pass) permettant a un utilisateur d'installer le site (false) # 'annonce' =&gt; '&lt;p&gt;Un service propos&amp;eacute; par &lt;a href=&#034;http://www.spip.net/&#034;&gt;la communaut&amp;eacute; SPIP&lt;/a&gt;&lt;/p&gt;', // Texte a afficher en bas du formulaire d'activation de la mutualisation 'url_creer_base' =&gt; '' // Creer la base de donnees via une URL (methode AlternC) ) ); /* * Notes concernant SQLite * * 1) creer_base = false * Avec SQLite, il est inutile de mettre creer_base a true. * Si creer_base est true, une base sera cree (par l'outil de mutualisation) * dans le repertoire defini par la constante _DIR_DB. * * Si cette constante n'est pas renseignee, elle vaudra * _DIR_ETC/bases/ soit : config/bases/, ce qui ne correspond pas * a l'emplacement du futur site : sites/X/config/bases. * * En laissant l'option a false, SPIP creera la base de donnee * au moment de l'installation (exec=install) et a ce moment * la, _DIR_ETC vaudra 'sites/X/config' donc la base sera stockee * ou il faut si _DIR_DB n'est pas defini. * * 2) creer_user_base = false * SQLite ne gerant pas de droits d'utilisateurs, * (les droits sont ceux du fichier .sqlite) * mettre true provoquera des erreurs (je suppose) * * 3) constantes a definir : * define ('_INSTALL_SERVER_DB', 'sqlite3'); // sqlite2 ou sqlite3 * define ('_INSTALL_NAME_DB', 'mu_'.prefixe_mutualisation($site)); * * les constantes _INSTALL_(HOST|PASS|USER)_DB sont inutiles. */ /* * Notes concernant MySQL * * - Pour la creation d'utilisateurs MYSQL * (creer_base+creer_user_base) * il est possible de definir les droits de ces utilisateurs avec la constante * _PRIVILEGES_MYSQL_USER_BASE (ici avec les valeurs utilisees par defaut) : * * define('_PRIVILEGES_MYSQL_USER_BASE','Alter, Select, Insert, Update, Delete, Create, Drop'); * */
?&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;par mesure de s&#233;curit&#233;, on veut qu'&#224; chaque nouveau site les logins/mdp mysql soient demand&#233;s. On veut &#233;galement que le webmestre cr&#233;e &#224; la main le dossier du site (voir plus bas).&lt;/p&gt;
&lt;p&gt;Donc il faut supprimer les lignes suivantes&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt;define ('_INSTALL_SERVER_DB', 'mysql'); define ('_INSTALL_HOST_DB', 'localhost'); define ('_INSTALL_USER_DB', 'loginsql'); define ('_INSTALL_PASS_DB', '123456HDJ'); define ('_INSTALL_NAME_DB', 'mu_'.prefixe_mutualisation($site));&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et &#233;galement remplacer les lignes suivantes&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt; 'creer_site' =&gt; true, // Creer ou non le site s'il n'existe pas (defaut: false) 'creer_base' =&gt; true, // Creer ou non la base de donnee si elle n'existe pas (false) &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;par&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt; 'creer_site' =&gt; false, // Creer ou non le site s'il n'existe pas (defaut: false) 'creer_base' =&gt; false, // Creer ou non la base de donnee si elle n'existe pas (false) &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et puis remplacer &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;ecureuil&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; par un autre mot de passe.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Cr&#233;er les dossier des sites&lt;/h2&gt;
&lt;p&gt;Chaque site aura un dossier &#224; lui dans le dossier &lt;code&gt;sites&lt;/code&gt;. Ce dossier sera l'url du site, sans le &lt;code&gt;http://www&lt;/code&gt;. Comme nous voulons les cr&#233;ez nous m&#234;me, et non pas confier la t&#226;che &#224; &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, il faut faire cela, dans notre cas&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% mkdir sites/bidule.tld
% mkdir sites/truc.tld
% mkdir sites/machin.tld&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Chacun de ces sous dossiers contiendra les dossiers &lt;code&gt;tmp&lt;/code&gt; &lt;code&gt;IMG&lt;/code&gt;, &lt;code&gt;local&lt;/code&gt;,&lt;code&gt;config&lt;/code&gt; sp&#233;cifique au site.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Renommer le fichier .htacesss&lt;/h2&gt;
&lt;p&gt;Pour utiliser la r&#233;&#233;criture d'&lt;span class=&#034;caps&#034;&gt;URL&lt;/span&gt; et les URLs propres de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, il faut faire&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' cadre='bash'&gt;&lt;code&gt;% mv htaccesss.txt .htaccess&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;afin de renommer le fichier &lt;code&gt;htaccess.tex&lt;/code&gt; en fichier &lt;code&gt;.htaccess&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;! Attention&#160;: la r&#233;&#233;criture d'url via &lt;code&gt;.htaccess&lt;/code&gt; ne fonction que sur les serveurs Apache. C'est pourquoi, si vous n'&#234;tes pas sous Apache, dans le fichier mes_options.php cit&#233;s plus haut, changer la ligne suivante&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt;'url_img_courtes'=&gt;true,&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;par&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='php'&gt;&lt;code&gt;'url_img_courtes'=&gt;false,&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;h2&#034;&gt;Se d&#233;connecter du &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Ca y est, tout les fichiers sont biens en place chez l'h&#233;bergeur. Pour quitter l'acc&#233;s &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt;&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='bash'&gt;&lt;code&gt;% logout&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;h2&#034;&gt;Configurer chaque site&lt;/h2&gt;
&lt;p&gt;Il suffit d&#233;sormais de vous rendre sur &lt;a href=&#034;http://machin.tld&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://machin.tld&lt;/a&gt; pour configurer le site machin.tld, comme vous le feriez &#224; l'install de n'importe quel site &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;. Il faudra simplement donner le mot de passe que vous avez r&#233;gl&#233; dans le fichier mes_options.php&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb2-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 2-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Toutefois il est n&#233;cessaire d'activer l'acc&#232;s &lt;span class=&#034;caps&#034;&gt;&lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt;&lt;/span&gt; depuis le panneau de configuration de votre compte sur l'Autre, et ce pour une dur&#233;e de quatre heures.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2-2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2-2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2-2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;pour les windowsien, voir le tutoriel de l'Autre.net.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2-3&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2-3&#034; class=&#034;spip_note&#034; title=&#034;Notes 2-3&#034; rev=&#034;appendix&#034;&gt;3&lt;/a&gt;] &lt;/span&gt;le&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;% repr&#233;sente l'invite de commande.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>



</channel>

</rss>
