<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://falconnet.eu/spip.php?page=backend.xslt" ?>
<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>Julien FALCONNET, Informaticien Ind&#233;pendant</title>
	<link>https://falconnet.fr/</link>
	<description>Julien FALCONNET est informaticien freelance sp&#233;cialiste des questions Internet. Conseil en strat&#233;gie Internet, r&#233;alisation de sites web et r&#233;f&#233;rencement sont ses principales prestations.
Vous trouverez aussi ici un certain nombre d'astuces et d'aides sur diff&#233;rents probl&#232;mes li&#233;s &#224; Internet.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://falconnet.eu/spip.php?id_rubrique=15&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>SPIP + OVH = ecrire cass&#233;</title>
		<link>https://falconnet.eu/SPIP-OVH-ecrire-casse.html</link>
		<guid isPermaLink="true">https://falconnet.eu/SPIP-OVH-ecrire-casse.html</guid>
		<dc:date>2012-03-11T20:25:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Julien Falconnet</dc:creator>



		<description>
&lt;p&gt;Symptomes &lt;br class='autobr' /&gt;
L'administration est toute cass&#233;e, avec le menu en liste &#224; puce. &lt;br class='autobr' /&gt;
Quand on &#233;tudie le code on s'apper&#231;oit qu'il n'arrive pas &#224; charger une feuille de style calcul&#233;e. En d'autres termes impossible d'afficher &lt;br class='autobr' /&gt;
http://.../spip.php?page=style_prive &lt;br class='autobr' /&gt;
On a un beau &lt;br class='autobr' /&gt;
500 Internal Server Error Solution &lt;br class='autobr' /&gt;
Apr&#232;s beaucoup de recherches j'ai fini par trouver qu'il suffisait d'ajouter &lt;br class='autobr' /&gt;
SetEnv PHP_VER 5 &lt;br class='autobr' /&gt;
dans le .htaccess &lt;br class='autobr' /&gt;
Et hop, R&#233;solu&lt;/p&gt;


-
&lt;a href="https://falconnet.eu/-Divers,15-.html" rel="directory"&gt;Divers&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Symptomes&lt;/h2&gt;
&lt;p&gt;L'administration est toute cass&#233;e, avec le menu en liste &#224; puce.&lt;/p&gt;
&lt;p&gt;Quand on &#233;tudie le code on s'apper&#231;oit qu'il n'arrive pas &#224; charger une feuille de style calcul&#233;e. En d'autres termes impossible d'afficher&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;http://.../spip.php?page=style_prive&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On a un beau&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;500 Internal Server Error&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 class=&#034;spip&#034;&gt;Solution&lt;/h2&gt;
&lt;p&gt;Apr&#232;s beaucoup de recherches j'ai fini par trouver qu'il suffisait d'ajouter&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;SetEnv PHP_VER 5&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;dans le .htaccess&lt;/p&gt;
&lt;p&gt;Et hop, &lt;strong&gt;R&#233;solu&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Subversion : export des fichiers depuis une r&#233;vision en bash</title>
		<link>https://falconnet.eu/Subversion-export-des-fichiers.html</link>
		<guid isPermaLink="true">https://falconnet.eu/Subversion-export-des-fichiers.html</guid>
		<dc:date>2009-11-11T17:59:11Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Julien Falconnet</dc:creator>



		<description>&lt;p&gt;Exporter l'ensemble des fichiers modifi&#233;s depuis une r&#233;vision donn&#233;e avec subversion (SVN). Un script bash reposant sur svn export et svn diff : &lt;strong&gt;svnxport.sh&lt;/strong&gt;&lt;/p&gt;

-
&lt;a href="https://falconnet.eu/-Divers,15-.html" rel="directory"&gt;Divers&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Lorsqu'on travaille avec Subversion (SVN) la mise en production demande de passer par la commande svn export. Mais qu'en est il des mises &#224; jour ? La proc&#233;dure recommand&#233;e est de passer par diff et patch. Mais que faire lorsqu'il est impossible de passer par patch parce que l'on est limit&#233; &#224; l'utilisation d'un FTP, par exemple ?&lt;/p&gt;
&lt;p&gt;Et bien, on est bien emb&#234;t&#233;. En tout cas, c'&#233;tait mon cas. Apr&#232;s quelques recherches sur Internet, difficile de trouver une solution satisfaisante. Aucun utilitaire ne semblant faire r&#233;f&#233;rence, et les scripts maison ne correspondant pas &#224; mes besoin, j'ai d&#233;cid&#233; de mettre au point un petit utilitaire bash que je vous livre ici en &lt;a href=&#034;http://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNU&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;GPL&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Comment exporter tous les fichiers qui ont chang&#233; depuis ma derni&#232;re livraison ? Voici une question qui a du tarauder un certain nombre de d&#233;veloppeur au moins une fois. C'est vrai, apr&#232;s tout, on investit du temps sur l'utilisation d'un syst&#232;me de suivi de version (ici &lt;strong&gt;svn&lt;/strong&gt;), si c'est pour en perdre encore lorsqu'il faut livrer, o&#249; est l'int&#233;r&#234;t ? Pourquoi livrer la biblioth&#232;que monstrueuse qu'on a du ajouter en r&#233;vision 132 alors qu'on est r&#233;vision 683 et qu'on fait une livraison en r650. Et je passe sur la question du client qui se demande pourquoi on lui renvoie une archive de 60 Mo alors qu'il n'a demand&#233; que quelques corrections d'orthographe et de typographie ( si ! si ! &#231;a p&#232;se super lourd une virgule !).&lt;/p&gt;
&lt;p&gt;En effet, &lt;i&gt;svn export&lt;/i&gt; exporte toute le projet &#224; une r&#233;vision donn&#233;e. Et &lt;i&gt;svn diff&lt;/i&gt; qui affiche bien les diff&#233;rences entre deux r&#233;visions ne produit que des sorties au format patch (il n'indique que les lignes qui ont &#233;t&#233; modifi&#233;es).&lt;/p&gt;
&lt;p&gt;Apr&#232;s un certain nombre de recherches, j'ai &#233;t&#233; bien d&#233;sesp&#233;r&#233; de voir que non seulement je n'&#233;tais pas le seul &#224; buter sur ce probl&#232;me, mais qu'en plus aucune solution ne semblait faire consensus. J'ai trouv&#233; quelques solutions maisons et m&#234;me des scripts entiers, mais aucuns ne correspondait &#224; ce que je voulais faire, c'est-&#224;-dire un simple export diff&#233;rentiel qui ressemblerait &#224; un svn export (donc en &lt;strong&gt;bash&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;J'ai donc d&#233;cid&#233; de me lancer et de cr&#233;er cette perle rare. Comme j'en &#233;tais content et que je me suis dit que &#231;a pourrait resservir, je vous la sert donc ci-dessous (en &lt;a href=&#034;http://www.gnu.org/licenses/gpl.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;gpl&lt;/a&gt;). Vous noterez que je suis tellement persuad&#233; de la dimension universelle de ce probl&#232;me que j'ai d&#233;cid&#233; de le coder (et de le commenter en anglais).&lt;/p&gt;
&lt;p&gt;Voici le code bash de&lt;strong&gt;svnxport.sh&lt;/strong&gt;.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='72' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#!/bin/sh # svnxport.sh #Export only modified files in SVN # # Copyright (C) 2009 by Julien Falconnet # http://www.falconnet.fr # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # #BEWARE : This script does not operate correctly with files whose filename contains spaces # tests for parameters if [ ! $1 ];then echo &#034;svnxport : No source specified. Needs : source revision target_directory&#034;;exit;fi if [ ! $2 ];then echo &#034;svnxport : No revision specified. Needs : source revision target_directory&#034;;exit;fi if [ ! $3 ];then echo &#034;svnxport : No target_directory specified. Needs : source revision target_directory&#034;;exit;fi # check if the target_directory allready exists if [ -d $3 ];then echo &#034;svnxport : target_directory '$3' allready exists. Remove it or change target_directory parameter.&#034;;exit;fi echo &#034;Processing : source($1), revision($2), target_directory($3)&#034; # we use svn diff to select changed files and only keep those updated or added. # Then the 'for' separate status from filename (here is the problem with file with blanks) for myfile in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;svn diff -r $2:HEAD --summarize $1 | grep -e '^M ' -e '^A '&lt;/code&gt; do if [ &#034;$myfile&#034; = &#034;M&#034; -o &#034;$myfile&#034; = &#034;AM&#034; -o &#034;$myfile&#034; = &#034;A&#034; -o &#034;$myfile&#034; = &#034;.&#034; -o -d $myfile ] then # we ignore the status, and the directory to update continue else #we focus on true changed files #first we create needed directories for the current file #note that we use a relative directory system outfile=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo $myfile |sed &#034;s|$1||g&#034;&lt;/code&gt; dir=&#034;$3/$outfile&#034; mkdir -p $(dirname $dir) #then we export the file svn export $myfile $3/$outfile &gt;&gt; /dev/null echo &#034;export $3/$outfile &#034; fi done # List other files. Changed but not exported. Mainly the deleted ones. # Usefull to know which files should be removed and follow weird comportment echo &#034;Watch for : &#034; svn diff -r $2:HEAD --summarize $1 | grep -v -e 'M ' -e 'A ' |sed &#034;s|$1||g&#034;&lt;/textarea&gt;
&lt;p&gt;Pour ceux que &#231;a int&#233;ressent, deux points ont &#233;t&#233; compliqu&#233;s. D'abord, le fait qu'en &lt;strong&gt;bash&lt;/strong&gt; le for d&#233;coupe sur les espaces (et non pas sur les retours &#224; la ligne) : Un coup sur deux j'avais le statut, ce qui &#233;tait p&#233;nible puisque je ne voulais traiter que les A et les M et pas les D. J'ai faillit pass&#233; par un marqueur et finalement j'ai trouv&#233; plus &#233;l&#233;gant de passer par un grep (qui s'intercale avant le d&#233;coupage du for).&lt;/p&gt;
&lt;p&gt;L'autre soucis a &#233;t&#233; la cr&#233;ation de l'arborescence. En effet j'ai &#233;t&#233; d&#233;&#231;u de voir que ni touch, ni mkdir, ni svn export n'&#233;taient capables de cr&#233;er des sous r&#233;pertoires en m&#234;me temps que le r&#233;pertoire p&#232;re. Du coup j'ai &#233;t&#233; oblig&#233; de rajouter cette boucle toute laide de mkdir. [edit ; gr&#226;ce au post de Rodney Amato j'ai put trouver le param&#232;tre -p de mkdir qui remplace avantageusement la boucle en question]&lt;/p&gt;
&lt;p&gt;Par contre, du coup, les espaces dans les noms de fichiers sont d&#233;coup&#233;s par le for et les fichiers correspondants ne sont pas export&#233;s par le script. Il faudrait remplacer les espaces dans les fichier &#224; la vol&#233;e avant le for et les re-remplacer apr&#232;s mais c'&#233;tait tellement in&#233;l&#233;gant que je m'y suis refus&#233;. D'autant que cela ne me sert pas puisque je ne mets jamais d'espace dans mes noms de fichiers (c'est trop laid). Par contre si quelqu'un &#224; une solution &#233;l&#233;gante pour contourner ce probl&#232;me je suis preneur.&lt;/p&gt;
&lt;p&gt;A bient&#244;t...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Parmi les scripts int&#233;ressant que j'ai trouv&#233;, celui ci est celui qui m'a le plus inspir&#233;. H&#233;las il &#233;tait en php et faisait plus que ce que je voulais. Mais pour ceux qui cherchent une solution en php plut&#244;t qu'en bash, je pense qu'elle est valide :&lt;a href=&#034;http://forum.phpfrance.com/vos-contributions/export-fichier-depuis-subversion-pour-mise-production-backup-inclus-t241495.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://forum.phpfrance.com/vos-contributions/export-fichier-depuis-subversion-pour-mise-production-backup-inclus-t241495.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Les &lt;a href=&#034;http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;hooks SVN&lt;/a&gt; auraient pu &#234;tre une autre piste int&#233;ressante mais demandent de modifier le d&#233;pot, donc des droits &#233;tendus. (une &lt;a href=&#034;http://www.clever-age.com/veille/blog/utilisation-des-hooks-avec-subversion.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pr&#233;sentation rapide en fran&#231;ais&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Merci aussi &#224; ce &lt;a href=&#034;http://idn.interspire.com/blogs/6/Exporting-only-the-files-changed-between-2-revisions-in-Subversion.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;post de Rodney Amato&lt;/a&gt; qui m'a apport&#233; la r&#233;v&#233;lation du mkdir -p.&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>SPF : Prot&#233;ger ses domaines du SPAM</title>
		<link>https://falconnet.eu/SPF-Proteger-ses-domaines-du-SPAM.html</link>
		<guid isPermaLink="true">https://falconnet.eu/SPF-Proteger-ses-domaines-du-SPAM.html</guid>
		<dc:date>2007-06-22T12:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Julien Falconnet</dc:creator>



		<description>&lt;p&gt;Comment &#233;viter que vos noms de domaines ne soient utilis&#233;s comme source apparente de SPAM ? Comment &#233;viter la pollution des millier de retour erron&#233;s ?&lt;/p&gt;

-
&lt;a href="https://falconnet.eu/-Divers,15-.html" rel="directory"&gt;Divers&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Depuis quelque temps, je re&#231;oit des centaines de SPAMs par jour. Mon anti spam fait de moins en moins bien son travail et &#231;a finit par me prendre un certain temps de classer mes mails. Trop de temps...&lt;br class='autobr' /&gt;
Voyons comment faire pour prot&#233;ger un nom de domaine achet&#233; chez gandi et g&#233;r&#233; par phpnet.org.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Tout le monde souffre du spam, mais les propri&#233;taire de domaine ont une visibilit&#233; accrue et en souffre sans doute davantage. Si en plus ils activent l'option catch-all&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;qui leur permet de recevoir tous les mails envoy&#233; aux adresses de type (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;, &#231;a devient vite l'enfer.&lt;/p&gt;
&lt;p&gt;J'ai remarqu&#233; que ces derniers temps, l'essentiel des spams que je recevais ne m'&#233;taient pas directement envoy&#233; mais en r&#233;alit&#233; &#233;taient des retour de mails envoy&#233;s &#224; des adresse incorrectes mais soit disant envoy&#233;s &#224; partir d'une adresse sur mon nom de domaine.&lt;/p&gt;
&lt;p&gt;Mon anti-spam &#233;tant d&#233;pass&#233; par les derni&#232;res &#233;volution des SPAM, je me suis souvenu de la &lt;a href='https://falconnet.eu/Dedibox-Envoyer-des-mails-a-partir.html' class=&#034;spip_in&#034;&gt;recherche que j'avais faite sur le SPF&lt;/a&gt;, et j'ai d&#233;cid&#233; de prendre le taureau par les cornes.&lt;/p&gt;
&lt;p&gt;Voici ma petite aventure.&lt;/p&gt;
&lt;p&gt;Pr&#233;ambule : Mon nom de domaine que nous nommeront ndd.net est g&#233;r&#233; chez &lt;a href=&#034;https://www.gandi.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;gandi&lt;/a&gt;.&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Sur &lt;a href=&#034;http://www.openspf.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.openspf.org/&lt;/a&gt; dans la section &#034;Deploying SPF&#034; on trouve un outil d'aide o&#249; l'on peut indiquer pour commencer le nom de son domaine. En validant on arrive sur une page o&#249; des informations compl&#233;mentaires peuvent &#234;tre indiqu&#233;es.
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Est-ce que le serveur web peut envoyer des mails ? Pour moi oui.&lt;/li&gt;&lt;li&gt; Est-ce que le prestataire qui g&#232;re mes mails me permet d'en envoyer ? Pour moi encore oui.&lt;/li&gt;&lt;li&gt; Est-ce que tous les serveur qui ont un nom qui finit par mon nom de domaine comme source reconnue de mail ? Pour moi non. Je connais bien mes serveur et &#231;a reste un nom de domaine relativement personnel.&lt;/li&gt;&lt;li&gt; Quels sont les autres serveurs qui doivent &#234;tre autoris&#233;s &#224; envoyer un mail comme provenant de mon nom de domaine ? Comme je travaille de chez moi, j'utilise fr&#233;quemment le smtp de mon fournisseur pour envoyer mes mails, donc j'ajoute smtp.free.fr dans le champ a : . Et pour plus de suret&#233;, j'ajoute free.fr dans le champs include : (d&#233;s fois que le smtp ne change).&lt;/li&gt;&lt;li&gt; Est-ce que j'ai bien rep&#233;r&#233; toutes les source potentielles d'envois de mail ? Serveur web, smtp de mon webmail, smtp de mon FAI... je crois que j'ai fait le tour, donc oui.&lt;/li&gt;&lt;li&gt;Ensuite continue ! Et hop &#231;a recalcule la bonne entr&#233;e SPF (spf record) et encore plus beau &#231;a vous l'explique.&lt;br class='autobr' /&gt;
Pour moi donc :
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;v=spf1 ip4:195.144.11.67 a mx a:smtp.free.fr include:free.fr all&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Plus bas ils conseillent aussi d'ajouter &#231;a, en fonction de l'outil utilis&#233; pour la gestion des DNS :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;ns2.phpnet.org. IN TXT &#034;v=spf1 a -all&#034;&lt;br class='autobr' /&gt;
smtp2.phpnet.org. IN TXT &#034;v=spf1 a -all&#034;&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;Un petit copier coller et je repars.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Je me connecte ensuite sur mon compte Gandi.
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; je s&#233;lectionne mon domaine.&lt;/li&gt;&lt;li&gt; Dans param&#232;tre technique... Et pis non en fait comme mon ndd n'est pas sur les DNS gandi mais redirig&#233; vers les DNS de mon h&#233;bergeur je ne peux pas faire les modifications ici. Choux blanc donc.&lt;/li&gt;&lt;li&gt; Je repars sur la console de mon h&#233;bergeur&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt; Je me connecte sur le panel de&lt;a href=&#034;https://www.phpnet.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;phpnet.org&lt;/a&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Dans la section Domaines je choisis le domaine qui m'int&#233;resse.&lt;/li&gt;&lt;li&gt; Dans la page d&#233;taill&#233;e je choisi Changer le mode DNS (pour passer en mode expert.&lt;/li&gt;&lt;li&gt; Dans le section DNS, je choisis d'ajouter un enregistrement de type TXT ou je colle mon beau copier coller. Je valide.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Maintenant reste plus qu'&#224; attendre et &#224; voir.&lt;/p&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;qui leur permet de recevoir tous les mails envoy&#233; aux adresses de type nimportequoi@leurdomaine.com&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>PhpMyVisit : Ins&#233;rer les codes</title>
		<link>https://falconnet.eu/PhpMyVisit-Inserer-les-codes.html</link>
		<guid isPermaLink="true">https://falconnet.eu/PhpMyVisit-Inserer-les-codes.html</guid>
		<dc:date>2007-03-15T16:38:47Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Julien Falconnet</dc:creator>



		<description>&lt;p&gt;Pour que phpmyvisites puisse &#233;tablir les statistiques d'un site, il faut ins&#233;rer un code sur chaque page . Mais o&#249; est-il mieux de les ins&#233;rer ? Comment faire pour phpBB, MediaWiki ou SPIP ? Cet article donne quelques r&#233;ponses que j'ai du trouver ou inventer&lt;/p&gt;

-
&lt;a href="https://falconnet.eu/-Divers,15-.html" rel="directory"&gt;Divers&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;J'ai r&#233;cemment voulu mettre en place un outil qui me permettrait de suivre d'un coup d'oeil l'&#233;volution de l'ensemble de mes sites web. J'ai test&#233; quelques temps Google Analytics, mais outre le faite que Google commence &#224; me faire peur, la technologie flash qui est utilis&#233;e est incompatible avec Linux. J'ai donc opt&#233; pour l'excellent phpmyvisites qui permet de faire du suivi de stats multisite. Apr&#233;s une installation facile, s'est pos&#233;e la question de mettre en place les codes de tra&#231;age, et l&#224; les choses sont devenues plus compliqu&#233;es !!!&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://www.phpmyvisites.net/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Phpmyvisites&lt;/a&gt;&lt;/strong&gt; a besoin pour pouvoir suivre ce qui se passe sur un site qu'un code javascripts soit ins&#233;r&#233; sur toutes les pages &#224; auditer. Si cela parait simple avec un site r&#233;alis&#233; &#224; la main, les chose se corsent lorsqu'on cherche &#224; avoir des statistiques d'outils clef en main comme phpBB, MediaWiki ou SPIP.&lt;/p&gt;
&lt;p&gt;Je vous livre ici, le r&#233;sultat de mes recherches et exp&#233;riences.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Sites &#034;maison&#034;&lt;/h2&gt;
&lt;p&gt;La meilleure solution pour les sites maison reste d'ajouter le code dans un fichier qui est appel&#233; dans toutes les pages. Si un tel fichier n'existe pas, c'est le moment de le cr&#233;er, et de l'appeler dans toutes vos pages.&lt;br class='autobr' /&gt;
En g&#233;n&#233;ral un fichier, on fait un fichier footer ou bas-de-page pour assurer que la pr&#233;sentation du bas de la page soit homog&#232;ne. C'est id&#233;al A d&#233;faut, on trouvera certainement un fichier menu. D'autres possibilit&#233; sont aussi possible. En cas d'h&#233;sitation, choisissez plut&#244;t celui qui est appel&#233; en dernier. Il faut bien sur que ce fichier serve a g&#233;n&#233;rer du code HTML et que le code javascript soit ins&#233;r&#233; dans ce HTML.&lt;/p&gt;
&lt;p&gt;Une fois le fichier id&#233;al rep&#233;r&#233;, il ne reste plus qu'&#224; copier coller le code fourni par l'interface d'administration.&lt;/p&gt;
&lt;p&gt;PS : je laisse l'option d'insertion automatique par .htaccess de cot&#233;, car elle est plus compliqu&#233;e et demande qu'Apache soit configur&#233; de mani&#232;re ad&#233;quate.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;PHPBB&lt;/h2&gt;
&lt;p&gt;Pour &lt;strong&gt;&lt;a href=&#034;http://www.phpbb.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;phpBB&lt;/a&gt;&lt;/strong&gt; le probl&#232;me est un peu plus compliqu&#233; puisqu'on est tributaire de la structure du site. Apr&#233;s quelques recherche il semble que la meilleure solution soit d'ins&#233;rer le code juste avant le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;/body&gt;&lt;/code&gt; dans le fichier overall_footer.tpl du template que vous utilisez (par d&#233;faut : /templates/subSilver/).&lt;/p&gt;
&lt;p&gt;Par contre si plusieurs templates sont utilis&#233;s avec &lt;strong&gt;phpBB&lt;/strong&gt;, il faut l'ajouter au niveau de chaque template (toujours dans overall_footer.tpl)&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Attention en cas de mise &#224; jours de &lt;strong&gt;phpBB&lt;/strong&gt; ou des templates, il faudra recommencer la manipulation.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Source : &lt;a href=&#034;http://www.phpmyvisites.net/faq/comment-installer-phpmyvisites-forum-phpbb-37.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;FAQ phpmyvisites&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;MediaWiki&lt;/h2&gt;
&lt;p&gt;Pas de piste vraiment officielle pour &lt;strong&gt;&lt;a href=&#034;http://www.mediawiki.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Mediawiki&lt;/a&gt;&lt;/strong&gt;. La moins mauvaise solution (qui marche en tous cas) consiste &#224; ajouter le code au niveau du skin utilis&#233;. Il faut donc l'ajouter dans /skins/&lt;i&gt;nom_du_skin&lt;/i&gt;.php, &#224; la fin de la fonction execute(), juste avant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;/BODY&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Attention si vous changez de skin sous &lt;strong&gt;Mediawiki&lt;/strong&gt;, &#224; bien refaire la manipulation.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;SPIP&lt;/h2&gt;
&lt;p&gt;Sans doute le plus compliqu&#233; puisque tout d&#233;pend du jeu de squelettes utilis&#233; par &lt;strong&gt;&lt;a href=&#034;http://www.spip.net/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;SPIP&lt;/a&gt;&lt;/strong&gt;. Voici une proc&#233;dure possible, dans le cas o&#249; le squelette de base (dist) est utilis&#233; (version1 1.9.2).
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; cr&#233;er un r&#233;pertoire &#034;squelettes&#034; &#224; la racine de &lt;strong&gt;SPIP&lt;/strong&gt;.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; recopier le fichier inc_pied.html de /dist/ vers /squelettes/
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; dans /squelettes/inc_pied.html ajouter le code apr&#233;s &lt;/small&gt;&lt;/p&gt;
&lt;p&gt;Par contre le code pose un probl&#232;me de &lt;strong&gt;validation xhtml&lt;/strong&gt;. En effet le code ins&#233;r&#233; fait perdre sa conformit&#233; xhtml stricte aux pages &lt;strong&gt;SPIP&lt;/strong&gt;. Pour &#233;viter ce probl&#232;me il faut modifier le code fournit, voici un exemple de modification :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;!-- phpmyvisites --&gt; &lt;a href=&#034;http://www.phpmyvisites.net/&#034; title=&#034;phpMyVisites | Open source web analytics&#034; onclick=&#034;window.open(this.href);return(false);&#034;&gt;&lt;script type=&#034;text/javascript&#034;&gt; &lt;!-- var a_vars = Array(); var pagename=''; var phpmyvisitesSite = num; var phpmyvisitesURL = &#034;http://mon.site.tld/phpmv2/phpmyvisites.php&#034;; //--&gt; &lt;/script&gt; &lt;script src=&#034;http://mon.site.tld/phpmv2/phpmyvisites.js&#034; type=&#034;text/javascript&#034;&gt;&lt;/script&gt;&lt;/a&gt; &lt;noscript&gt;&lt;p&gt;&lt;a href=&#034;http://www.phpmyvisites.net/&#034; title=&#034;phpMyVisites | Open source web analytics&#034;&gt;phpMyVisites | Open source web analytics &lt;img src=&#034;http://mon.site.tld/phpmv2/phpmyvisites.php&#034; alt=&#034;Statistics&#034; style=&#034;border:0&#034; /&gt; &lt;/a&gt;&lt;/p&gt;&lt;/noscript&gt; &lt;!-- /phpmyvisites --&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
