<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://lapsuske.brubel.net/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>LapSuske</title>
	<link>https://lapsuske.brubel.net/</link>
	<description>Dans LapSuske, il y a Lapsus et Suske, tu saisis ?Suske, 36 ans en 2004 et toutes ses dents (moins une mais il y a prescription). Le lapsus est un peu plus ancien (situation dentaire inconnue).</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://lapsuske.brubel.net/spip.php?id_rubrique=37&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>D&#233;livrer des noisettes selon le statut &#034;Admin complet&#034; ou &#034;Admin restreint&#034;</title>
		<link>https://lapsuske.brubel.net/Delivrer-des-noisettes-selon-le-statut-Admin-complet-ou-Admin-restreint</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Delivrer-des-noisettes-selon-le-statut-Admin-complet-ou-Admin-restreint</guid>
		<dc:date>2013-10-09T06:51:02Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>



		<description>&lt;p&gt;SPIP permet de facilement d&#233;livrer des noisettes adapt&#233;es au statut du visiteur. Pour diff&#233;rencier les admins, depuis hier c'est aussi tr&#232;s facile ;-) (merci Denis).&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;SPIP permet de facilement d&#233;livrer des noisettes adapt&#233;es au statut du visiteur. Pour diff&#233;rencier les admins, depuis hier c'est aussi tr&#232;s facile ;-) (merci Denis).&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Pour cette &#034;recette SPIP&#034; d&#233;livr&#233;e par denisb sur IRC en ce beau 8 octobre 2013, il vous faudra :&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Ingr&#233;dients&lt;/h2&gt;
&lt;p&gt;@@@ 2 squelettes d'inclure :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; squelettes/fond_pour_complet.html
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; squelettes/fond_pour_restreint.html&lt;/p&gt;
&lt;p&gt;@@@ un appel :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;[(#AUTORISER{publierdans, rubrique, #ID_RUBRIQUE|intval|sinon{-1}, #SESSION{id_auteur}})&lt;INCLURE{fond=fond_pour_#AUTORISER{configurer}|?{complet, restreint}}&gt;]&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Comprendre&lt;/h2&gt;
&lt;p&gt;@@@ explication :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#AUTORISER{publierdans, rubrique, #ID_RUBRIQUE|intval|sinon{-1}, #SESSION{id_auteur}}&lt;/textarea&gt;
&lt;p&gt;ici, on teste si l'auteur loggu&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION{id_auteur}&lt;/code&gt; a le droit de publier dans la rubrique &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#ID_RUBRIQUE&lt;/code&gt;.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#ID_RUBRIQUE|intval|sinon{-1}&lt;/textarea&gt;
&lt;p&gt;ici, on r&#233;cup&#232;re l'&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#ID_RUBRIQUE&lt;/code&gt; de l'environnement (soit il est d&#233;clar&#233; dans une BOUCLE, soit il est pass&#233; en URL).&lt;br class='autobr' /&gt;
si &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#ID_RUBRIQUE&lt;/code&gt; n'existe pas ou n'est pas un entier, alors on lui affecte la valeur -1 (valeur qui ne peut exister).&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#AUTORISER{configurer}|?{complet, restreint}&lt;/textarea&gt;
&lt;p&gt;ici, on sait que l'auteur est administrateur.&lt;br class='autobr' /&gt;
on teste alors s'il a le droit de configurer le site. si oui, c'est un administrateur complet, si non c'est un administrateur restreint.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;INCLURE{fond=skel_pour_#AUTORISER{configurer}|?{complet, restreint}}&gt;&lt;/textarea&gt;
&lt;p&gt;il reste &#224; appeler le bon squelette d'INCLURE selon les droits de l'administrateur reconnu.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Billet pomp&#233; sans vergogne de &lt;a href=&#034;http://spip.pastebin.fr/29002&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://spip.pastebin.fr/29002&lt;/a&gt; afin de p&#233;renniser cette merveille.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Astuce reprise avec plein d'autres sur &lt;a href=&#034;http://contrib.spip.net/Astuces-longues-pour-SPIP#admin_rest_complet&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://contrib.spip.net/Astuces-lon...&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Afficher une vid&#233;o Youtu.be dans une mediabox</title>
		<link>https://lapsuske.brubel.net/Afficher-une-video-Youtu-be-dans-une-mediabox</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Afficher-une-video-Youtu-be-dans-une-mediabox</guid>
		<dc:date>2013-04-22T08:47:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>



		<description>&lt;p&gt;[12:40] Est-ce que l'un de vous a deja tente...&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;IRC, 19/4/2013&lt;/h2&gt;&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;[12:40] Ernest : Est-ce que l'un de vous a deja tente ( et reussi ) d'afficher une video youtube dans avec le plugin mediabox ?&lt;br class='autobr' /&gt;
[12:47] C&#233;lestine : oui Ernest&lt;br class='autobr' /&gt;
[12:48] Ernest : pas moyen d'afficher une video youtube comme splash, ou je me trompe ?&lt;br class='autobr' /&gt;
[12:49] C&#233;lestine : j'utilise oembed pour le document youtube&lt;br class='autobr' /&gt;
[12:49] C&#233;lestine : et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;a href=&#034;[(#URL_DOCUMENT)]&#034; class=&#034;mediabox BoxIframe boxWidth-600px boxHeight-450px&#034; title=&#034;&lt;:voir_video_presentation:&gt;&#034;&gt;#LOGO_DOCUMENT&lt;/a&gt;&lt;/code&gt;&lt;br class='autobr' /&gt;
[12:50] C&#233;lestine : &#231;a fonctionne bien&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 class=&#034;spip&#034;&gt;D&#233;monstration&lt;/h2&gt;
&lt;p&gt;Cliquer sur la vignette...&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;&lt;youtube529&gt;&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;Ou sur celle-ci.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;&lt;youtube533&gt;&lt;/tt&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;En pratique...&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;Mise &#224; jour du 6/1/2014&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Cr&#233;er un mod&#232;le squelettes/modeles/youtube.html contenant le code :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='9' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;BOUCLE_yt(DOCUMENTS){id_document=#ENV{id}}&gt;
&lt;div style=&#034;display:inline-block; margin: auto; overflow:auto;position:relative;left:0&#034;&gt;
&lt;a href=&#034;[(#URL_DOCUMENT|abs_url)]&#034; class=&#034;mediabox BoxIframe boxWidth-600px boxHeight-450px&#034; title=&#034;[(#TITRE|attribut_html)]&#034;&gt;#LOGO_DOCUMENT&lt;/a&gt;
&lt;/div&gt;
&lt;/BOUCLE_yt&gt;&lt;/textarea&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Installer le &lt;a href=&#034;http://contrib.spip.net/oEmbed-4407&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugin oEmbed&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Dans l'encart d'ajout de documents, s&#233;lectionner depuis &#034;internet&#034; et coller l'url de la vid&#233;o&lt;/p&gt;
&lt;div class='spip_document_549 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://lapsuske.brubel.net/local/cache-vignettes/L236xH548/oembed-a938d.png?1524886932' width='236' height='548' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Dans le texte de l'article, il vous reste &#224; indiquer &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;youtube529&gt;&lt;/code&gt; (en adaptant le num&#233;ro du document bien entendu).&lt;/p&gt;
&lt;p&gt;Voil&#224;, voil&#224; ;-)&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;Mise &#224; jour du 6/1/2014&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;HS, ceci est une formule de sucre complexe :&lt;code class='spip_code spip_code_inline' dir='ltr'&gt; &lt;non_carb&gt;-(1-4)-&#945;-D-6-deoxy-Glcp4N-(1-4)-D-1-deoxy-Glcp&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		
		<enclosure url="https://lapsuske.brubel.net/IMG/distant/html/m4-89PqmsOU-ab41-7333a1e.html" length="226" type="text/html" />
		
		<enclosure url="https://lapsuske.brubel.net/IMG/distant/html/08NlhjpVFsU-0ede-e333810.html" length="226" type="text/html" />
		

	</item>
<item xml:lang="fr">
		<title>D&#233;bloquer SVP ?</title>
		<link>https://lapsuske.brubel.net/Debloquer-SVP</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Debloquer-SVP</guid>
		<dc:date>2013-03-15T13:34:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>



		<description>&lt;p&gt;Des var_mode pour d&#233;bloquer SVP (le syst&#232;me de t&#233;l&#233;chargement des plugins), si jamais &#231;a arrive (j'ai pas trop eu &#231;a par contre).&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;Il y a 2 var_mode exploitables dans SVP (sur la page d'admin des plugins), l'un&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; var_mode=vider_paquets_locaux indique &#224; SVP de forcer un recalcul de ses informations en base pour ce qui concerne les plugins locaux donc (plugins/ , plugins-dist/).&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; var_mode=reinstaller_svp est encore plus bourrin : il d&#233;sinstalle SVP (il se r&#233;installera au prochain tour).&lt;/p&gt;
&lt;p&gt;Donc, si c'est un probl&#232;me de lecture par SVP, le premier devrait corriger &#231;a (&#231;a arrivait dans des cas rares, mais normalement on devrait plus en avoir besoin). Le second &#233;videmment n&#233;cessite de reconfigurer SVP par la suite (d&#233;pots de plugins &amp; conf si elle avait &#233;t&#233; chang&#233;&#8230;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Et voil&#224; !&lt;/p&gt;
&lt;p&gt;Merci Matthieu !&lt;/p&gt;&lt;/div&gt;
		&lt;div class="hyperlien"&gt;Voir en ligne : &lt;a href="http://permalink.gmane.org/gmane.comp.web.spip.user/180241" class="spip_out"&gt;Le message sur &#034;spip-user&#034;&lt;/a&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Esprit SPIP es-tu l&#224; ? Ou pas ?</title>
		<link>https://lapsuske.brubel.net/Esprit-SPIP-es-tu-la-Ou-pas</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Esprit-SPIP-es-tu-la-Ou-pas</guid>
		<dc:date>2013-02-13T17:16:22Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>



		<description>&lt;p&gt;Quelques pens&#233;es en rapport avec la vie communautaire, le d&#233;veloppement, les outils et l'entraide autour de SPIP.&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Quelques &#233;pisodes plus ou moins r&#233;cents me donnent l'envie de tapoter ici quelques &#233;l&#233;ments de la perception que j'ai de la Communaut&#233; SPIP, de son fonctionnement, de ses &#034;&#233;lites&#034;, de ... la tendresse permanente dans laquelle elle baigne. Ou pas.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Un article de base de la documentation de SPIP&lt;/h2&gt;&lt;blockquote class=&#034;spip&#034;&gt;&lt;h2 class=&#034;spip&#034;&gt;Est-ce que je peux utiliser SPIP pour r&#233;aliser un site marchand, un site avec des pubs, ou un site de droite, ou un site qui d&#233;bine le logiciel libre... .&lt;/h2&gt;
&lt;p&gt;Vous faites bien ce que vous voulez...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A lire ici : &lt;a href=&#034;http://www.spip.net/fr_article1475.html&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://www.spip.net/fr_article1475.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;De la diff&#233;rence entre l'utilisation de l'outil et la participation &#224; la vie de sa communaut&#233;&lt;/h2&gt;
&lt;p&gt;Cette &#034;ouverture g&#233;n&#233;reuse&#034; (qui en fait n'a rien &#224; voir avec SPIP mais seulement sa licence GPL et avec votre libert&#233; d'expression et d'action) ne garantit pas que vous serez bien re&#231;u, par exemple sur IRC ou sur les listes e-mail, si vous d&#233;barquez avec ostentation pour exposer vos business, votre plugin d'&#233;change de banni&#232;re publicitaire ou toute autre chose qui a tr&#232;s clairement &#224; voir avec le business et le google-fb-web 2.0&lt;/p&gt;
&lt;p&gt;Faire des sites, y compris en SPIP, peut bien &#234;tre une mani&#232;re de gagner sa vie, y compris pour vendre des choses avec ces sites mais bon, c'est pas vraiment le fondement de SPIP, voil&#224;. Mais l'usage en est libre et tout le monde en est fier.&lt;/p&gt;
&lt;p&gt;Cependant, si parce que vous &#234;tes utilisateur (ou dev de plugins ou...), vous utilisez votre passage dans la communaut&#233; pour y exposez vos id&#233;es de droite ou pour d&#233;biner le logiciel libre, la probabilit&#233; que vous soyez ignor&#233; ou jet&#233; augmente sensiblement. Ou pas. On ne sait pas par qui d'ailleurs. Mais l'ambiance peut monter assez vite. Disons que si vous militez contre le sang de cette communaut&#233;, ses lymphocytes vont vous identifier, c'est clair. Cela ne veut pas dire que tous les spipeurs sont pour le mariage pour tous. En fait je n'ai pas connaissance d'une &#233;tude &#224; ce sujet, ni d'un r&#233;f&#233;rendum, ni de rien, et je pense que celui ou celle qui utiliserait les canaux de SPIP pour tenter &#231;a serait bien re&#231;u-e aussi. Mon sentiment est que vous aurez peu d'accroches avec les d&#233;veloppeurs de SPIP si vous faites des sites de droite ou qui d&#233;binent le logiciel libre mais surtout vous seriez bien inspir&#233; de ne pas y faire r&#233;f&#233;rence de mani&#232;re ostentatoire. Et encore, il y a des moments o&#249; les aspects techniques risquent de l'emporter malgr&#233; tout et de permettre la discussion sur le code.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Pour d&#233;crire cet esprit, une charte...&lt;/h2&gt;
&lt;p&gt;Suite &#224; l'ouverture de SPIP-Zone (espace coop&#233;ratif/contributif de la communaut&#233;), le besoin s'est fait sentir de d&#233;finir un peu ce qui serait bienvenu sur la zone et ce qui ne le serait pas. &lt;a href=&#034;http://zone.spip.org/trac/spip-zone/wiki/CharteDeFonctionnement&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Cela a donn&#233; lieu &#224; la cr&#233;ation d'une Charte&lt;/a&gt; dans laquelle on trouve notamment ce qui suit.&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;Respect des buts et valeurs du projet SPIP&lt;/p&gt;
&lt;p&gt;Rappelons que SPIP est un logiciel libre, et chaque personne qui l'utilise peut en faire ce qu'elle veut ; toutefois la participation &#224; la SPIP Zone doit &#234;tre faite dans le cadre des buts et valeurs promus par le projet initial du &lt;a href=&#034;http://www.uzine.net/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;minir&#233;zo&lt;/a&gt;, et notamment :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; promouvoir et d&#233;fendre la libert&#233; d'expression de tous sur Internet
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; une d&#233;fiance vis-&#224;-vis de l'argent
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; le respect de l'identit&#233; de chacun&lt;/p&gt;
&lt;p&gt;Cela implique, entre autres, un effort pour internationaliser ses contributions, veiller &#224; ce que le langage et le fonctionnement choisis soient non-sexistes, une priorit&#233; accord&#233;e aux besoins associatifs sur les besoins marchands, etc.&lt;/p&gt;
&lt;p&gt;Ce site n'est pas une plateforme de d&#233;veloppement pour des versions militaires ou business-oriented de SPIP qui viendraient en changer la nature. Il n'a pas non plus vocation &#224; servir de support de communication ou de publicit&#233; pour consultants. Si vous pensez que votre activit&#233; professionnelle peut entrer en conflit avec ces exigences, on peut en parler et trouver des solutions (l'usage d'un pseudo par exemple).&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 class=&#034;spip&#034;&gt;En guise de (ma) conclusion&lt;/h2&gt;
&lt;p&gt;Bref, SPIP est un logiciel libre et s'il peut servir &#224; quiconque, cela ne saurait chagriner les auteurs et d&#233;veloppeurs m&#234;me s'ils ne sont pas d'accord avec vos contenus. Par contre, si vous passez dans la galaxie (sites, mailing-listes, etc.), une certaine neutralit&#233; est attendue. La libert&#233; d'expression est l&#224; certes, vous y avez droit. Les d&#233;veloppeurs de SPIP aussi, et ils ou elles ne manqueront pas de vous le faire savoir si vous sortez un peu trop &#224; leur gout de l'esprit de cette charte...&lt;/p&gt;
&lt;p&gt;Cela donnera par exemple &lt;a href=&#034;http://permalink.gmane.org/gmane.comp.web.spip.user/179196&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ceci pour demander &#224; d'aucuns de garder leurs id&#233;es politiques pour eux&lt;/a&gt; ou encore &lt;a href=&#034;http://permalink.gmane.org/gmane.comp.web.spip.zone/29150&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;cela si un d&#233;veloppeur veut partager un truc tr&#232;s utile mais qui sinc&#232;rement est hors cadre SPIP&lt;/a&gt; ou encore &lt;a href=&#034;http://comments.gmane.org/gmane.comp.web.spip.zone/28477&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ce genre de discussion quand une d&#233;veloppeuse se saisit d'une probl&#233;matique qui grandit et qui va &#224; l'encontre de l'esprit SPIP&lt;/a&gt;...&lt;/p&gt;
&lt;p&gt;Esprit SPIP es-tu l&#224; ? Certainement. Il n'est pas univoque, il ne garantit pas la tendresse dans les contacts humains, il ne veut pas dire &#034;tous d'accord tout le temps&#034; (moins qu'ailleurs en fait, je le pense sinc&#232;rement) mais il y a du fond, de la r&#233;flexion et une certaine vision du monde. Celle que cette charte permet de deviner. Ou pas.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Retrouver une valeur dans une cha&#238;ne structur&#233;e</title>
		<link>https://lapsuske.brubel.net/Retrouver-une-valeur-dans-une-chaine-structuree</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Retrouver-une-valeur-dans-une-chaine-structuree</guid>
		<dc:date>2013-01-06T18:37:57Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>



		<description>
&lt;p&gt;Lu sur IRC le 28/5/2011 &lt;br class='autobr' /&gt; [Jules] Jim : help :-) j'ai un [id_organisations_lien] =&gt; 1-263-rubrique, comment est-ce que je peux r&#233;cup&#233;rer le #ID_ORGANISATION ? c'est la 1&#232;re valeur... &lt;br class='autobr' /&gt;
[Jim] [(#VAL1-263-rubrique|explode-|table_valeur2)] Jules&lt;/p&gt;


-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Lu sur IRC le 28/5/2011&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;[Jules] Jim : help :-) j'ai un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[id_organisations_lien] =&gt; 1-263-rubrique&lt;/code&gt;, comment est-ce que je peux r&#233;cup&#233;rer le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#ID_ORGANISATION&lt;/code&gt; ? c'est la 1&#232;re valeur...&lt;/p&gt;
&lt;p&gt;[Jim] &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[(#VAL{1-263-rubrique}|explode{-}|table_valeur{2})]&lt;/code&gt; Jules&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>D&#233;mosph&#232;re, agenda alternatif belgo-bruxellois</title>
		<link>https://lapsuske.brubel.net/Demosphere-agenda-alternatif-belgo-bruxellois</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Demosphere-agenda-alternatif-belgo-bruxellois</guid>
		<dc:date>2012-11-09T11:45:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>



		<description>&lt;p&gt;Un agenda au format iCal, repris ici par la gr&#226;ce du plugin iCalendar.&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Un agenda au format iCal, repris ici par la gr&#226;ce du plugin iCalendar.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Le plugin iCalendar pour SPIP&lt;/h2&gt;
&lt;p&gt;Documentation : &lt;a href=&#034;http://contrib.spip.net/Plugin-iCalendar&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://contrib.spip.net/Plugin-iCalendar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il y a des tas de d&#233;veloppements &#224; partager sur ce plugin &#034;un peu nu&#034; ;-)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Agenda D&#233;mosph&#232;re BxlBel&lt;/h2&gt;
&lt;p&gt;Le site ressource : &lt;a href=&#034;http://bxl.demosphere.eu&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://bxl.demosphere.eu&lt;/a&gt;. La liste ci-dessous est affich&#233;e au moyen du mod&#232;le &#034;prochainement&#034; fourni par le plugin : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;prochainement|ics=http://bxl.demosphere.eu/events.ics&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;&lt;prochainement|ics=http://bxl.demosphere.eu/events.ics&gt;&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Red&#233;finissons les &#034;define&#034; (param&#233;trer son site en SPIP)</title>
		<link>https://lapsuske.brubel.net/Redefinissons-les-define-parametrer-son-site-en-SPIP</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Redefinissons-les-define-parametrer-son-site-en-SPIP</guid>
		<dc:date>2012-09-06T00:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>



		<description>&lt;p&gt;C'est un des &#034;trucs&#034; de SPIP : il y a des configurations &#034;cach&#233;es&#034; que l'on peut modifier pour modifier le fonctionnement du logiciel (ou d'un plugin). En fait, le code en est &#034;truff&#233;&#034; et bien souvent, une simple surcharge de la valeur par d&#233;faut permet de r&#233;soudre au moins partiellement un &#034;petit&#034; probl&#232;me... Un exemple avec le plugin &#034;Sites&#034;.&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;C'est un des &#034;trucs&#034; de SPIP : il y a des configurations &#034;cach&#233;es&#034; que l'on peut modifier pour modifier le fonctionnement du logiciel (ou d'un plugin). En fait, le code en est &#034;truff&#233;&#034; et bien souvent, une simple surcharge de la valeur par d&#233;faut permet de r&#233;soudre au moins partiellement un &#034;petit&#034; probl&#232;me... Un exemple avec le plugin &#034;Sites&#034;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Je d&#233;couvre ce jour que les fichiers de syndication au format &#034;&lt;a href=&#034;https://fr.wikipedia.org/wiki/atom&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;atom&lt;/a&gt;&#034; transmettent deux dates sous les entr&#233;es :&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;published&gt;2012-08-20T11:33:00.000-07:00&lt;/published&gt;&lt;updated&gt;2012-09-05T14:25:58.393-07:00&lt;/updated&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et je d&#233;couvre par l&#224; m&#234;me que sur un site qui reprend ce type de flux de publication, SPIP utilise la valeur &#034;updated&#034; pour mettre &#224; jour la date de publication. En l'occurrence, une simple correction d'alignement (un recentrage) d'une image sur le site d'origine entra&#238;ne la remont&#233;e d'un billet ancien en t&#234;te de liste &#224; la date &#034;updated&#034;...&lt;/p&gt;
&lt;p&gt;Comme je commence &#224; conna&#238;tre l'&#233;cureuil, je suppose a priori que certains r&#233;glages sont possibles, m&#234;me si l'espace de gestion des plugins ou le menu interne ne propose pas de configuration. Cela se passe alors dans des valeurs constantes, d&#233;finies dans le code.&lt;/p&gt;
&lt;p&gt;On les trouve ais&#233;ment en faisant une recherche sur les fichiers contenant le code &#034;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;define(&lt;/code&gt;&#034; par lequel ces r&#233;glages sont d&#233;clar&#233;s par d&#233;faut. Dans le cas qui m'occupe, je limite cette recherche au plugin &#034;Sites&#034;, qui g&#232;re la syndication des sites. Bingo.&lt;/p&gt;
&lt;p&gt;Dans plugins-dist/sites/genie/syndic.php :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; lignes 18 &#224; 21 :&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;	define('_PERIODE_SYNDICATION', 2*60); ... define('_PERIODE_SYNDICATION_SUSPENDUE', 24*60);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ligne 154 : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; define('_SYNDICATION_URL_UNIQUE', false);&lt;/code&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ligne 160 : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; define('_SYNDICATION_CORRECTION', true);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Cette derni&#232;re d&#233;finition me semble int&#233;ressante, d'autant que les commentaires du d&#233;veloppeur m'aident &#224; voir que c'est ce que je recherche...&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;	// Si false, on ne met pas a jour un lien deja syndique avec ses nouvelles&lt;br class='autobr' /&gt; // donnees ; par defaut [true] : on met a jour si le contenu a change&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J'ouvre donc les fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;config/mes_options.php&lt;/code&gt; et j'y ins&#232;re simplement la ligne &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;define('_SYNDICATION_CORRECTION', false);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Du coup, une fois un article syndiqu&#233; dans mon site, il ne sera plus modifi&#233;, vu que les constantes d&#233;finies dans mes_options.php prennent la priorit&#233; sur leur d&#233;finition &#233;ventuelle par ailleurs&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;pr&#233;cise &#034;Comme son nom le sugg&#232;re, cette valeur ne peut jamais &#234;tre modifi&#233;e (&#8230;)&#034; id=&#034;nh2-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Des &#034;define&#034;, il y en a plein dans SPIP et ils sont l&#224; pour permettre de param&#233;trer votre site comme vous l'entendez, du coup : pourquoi s'en priver ?&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;&lt;a href=&#034;http://be2.php.net/manual/fr/language.constants.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://be2.php.net/manual/fr/language.constants.php&lt;/a&gt; pr&#233;cise &#034;Comme son nom le sugg&#232;re, cette valeur ne peut jamais &#234;tre modifi&#233;e durant l'ex&#233;cution du script...&#034;, hors mes_options.php est appel&#233; par SPIP avant tout autre traitement, donc ce qui est d&#233;fini l&#224; aura la priorit&#233;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Afficher directement l'article unique d'une rubrique</title>
		<link>https://lapsuske.brubel.net/Afficher-directement-l-article-unique-d-une-rubrique</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Afficher-directement-l-article-unique-d-une-rubrique</guid>
		<dc:date>2012-03-24T16:21:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>


		<dc:subject>SPIP</dc:subject>
		<dc:subject>Trucs en SPIP</dc:subject>

		<description>&lt;p&gt;C'est parfois un probl&#232;me avec SPIP : on cr&#233;e une rubrique pour un seul article, afin que les choses soient bien rang&#233;es. Mais du coup, les visiteurs doivent cliquer et recliquer pour rien. Sur SPIP-Contrib, dans ce cas-l&#224;, la page de l'article unique est affich&#233;e directement. Voici comment.&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;

/ 
&lt;a href="https://lapsuske.brubel.net/SPIP,30" rel="tag"&gt;SPIP&lt;/a&gt;, 
&lt;a href="https://lapsuske.brubel.net/Trucs-en-SPIP" rel="tag"&gt;Trucs en SPIP&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;C'est parfois un probl&#232;me avec SPIP : on cr&#233;e une rubrique pour un seul article, afin que les choses soient bien rang&#233;es. Mais du coup, les visiteurs doivent cliquer et recliquer pour rien. Sur SPIP-Contrib, dans ce cas-l&#224;, la page de l'article unique est affich&#233;e directement. Voici comment.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Le code utilis&#233; sur SPIP-Contrib est visible sur la zone : &lt;a href=&#034;http://zone.spip.org/trac/spip-zone/browser/_galaxie_/www.spip-contrib.net/squelettes/2012/rubrique.html?order=date&amp;desc=1&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://zone.spip.org/trac/spip-zone...&lt;/a&gt;. Il contient quelques crit&#232;res dont nous n'avons pas besoin pour un cas g&#233;n&#233;ral. Nous les enlevons donc, ce qui donne :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='23' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#SET{normale,' '} [(#REM) test sur presence sous-rubriques] &lt;BOUCLE_test_sousrubrique(RUBRIQUES){id_parent}{0,1}&gt; &lt;/BOUCLE_test_sousrubrique&gt; &lt;BOUCLE_articles_unseul(ARTICLES){id_rubrique}{pagination 1}&gt; [(#GRAND_TOTAL|=={1}|oui) &lt;?php include_spip('inc/headers'); redirige_par_entete('[(#URL_ARTICLE|texte_script)]'); ?&gt; [(#SET{normale,''})] [(#REM) reinjecter l'id_article dans le contexte pour les stats] ] &lt;?php if ('#GRAND_TOTAL'=='1') $GLOBALS['contexte']['id_article'] = intval('[(#ID_ARTICLE)]'); ?&gt; &lt;/BOUCLE_articles_unseul&gt; &lt;//B_test_sousrubrique&gt; &lt;BOUCLE_principale_rubrique(RUBRIQUES){id_rubrique}&gt;[(#GET{normale}|oui)&lt;INCLURE{fond=structure}{env}{type=rubrique}{composition} /&gt;]&lt;/BOUCLE_principale_rubrique&gt;&lt;/textarea&gt;
&lt;p&gt;Explication :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; lignes 1 : on d&#233;finit une variable locale &#034;normale&#034;, qui servira a lancer le squelette &#034;normal&#034; si la rubrique appel&#233;e contient au moins une sous-rubrique ou plus d'un article.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; lignes 3 : tester s'il existe au moins une sous-rubrique de la rubrique appel&#233;e. Si c'est le cas, la BOUCLE_articles_unseul ne sera pas ex&#233;cut&#233;e vu qu'elle est dans la partie alternative de la BOUCLE_test_sousrubrique.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ligne 4 &#224; 12 si la BOUCLE_test_sousrubrique est vide, BOUCLE_articles_unseul est ex&#233;cut&#233;e. Elle liste les articles de la rubrique. Si leur nombre est &#233;gal &#224; 1 (l.5), la fonction SPIP &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;redirige_par_entete&lt;/code&gt; est appel&#233;e et le navigateur est renvoy&#233; directement sur la page d'article (code 302). On vide la variable &#034;normale&#034; et on s'occupe des statistiques de visite.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ligne 13 : voici le marqueur qui indique que ce qui pr&#233;c&#232;de est &#224; ex&#233;cuter si la boucle principale ne renvoie rien
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ligne suivante : une derni&#232;re boucle sur la rubrique appel&#233;e, qui lance en l'occurrence la m&#233;canique de ZPIP si et et seulement si la variable &#034;normale&#034; est positionn&#233;e (donc, qu'on a au moins une sous-rubrique ou plus d'un article).&lt;/p&gt;
&lt;p&gt;De mani&#232;re g&#233;n&#233;rale, le php n'est pas &#224; utiliser dans les squelettes. On constate ici qu'il est utilis&#233; uniquement pour faire appel &#224; des fonctions ou globales de SPIP, je suppose que c'est ce qui rend cet usage acceptable.&lt;/p&gt;
&lt;p&gt;Voil&#224;, voil&#224;. Bon SPIP !&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Chapitre 1er : plugin.xml, pipelines, CFG</title>
		<link>https://lapsuske.brubel.net/Chapitre-1er-plugin-xml-pipelines-CFG</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Chapitre-1er-plugin-xml-pipelines-CFG</guid>
		<dc:date>2012-03-23T19:03:55Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>


		<dc:subject>SPIP</dc:subject>
		<dc:subject>Trucs en SPIP</dc:subject>
		<dc:subject>auto-formation</dc:subject>

		<description>&lt;p&gt;Adapter SPIP Bisous &#224; SPIP 3... Premier &#233;tape du chantier, en regarder les bases : les fichiers situ&#233;s &#224; la racine du plugin. Je vais regarder, et toucher (mais peu, je ne sais m&#234;me pas vraiment o&#249; je vais).&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/Adapter-SPIP-Bisous-a-SPIP-3" rel="directory"&gt;Adapter SPIP Bisous &#224; SPIP 3&lt;/a&gt;

/ 
&lt;a href="https://lapsuske.brubel.net/SPIP,30" rel="tag"&gt;SPIP&lt;/a&gt;, 
&lt;a href="https://lapsuske.brubel.net/Trucs-en-SPIP" rel="tag"&gt;Trucs en SPIP&lt;/a&gt;, 
&lt;a href="https://lapsuske.brubel.net/auto-formation" rel="tag"&gt;auto-formation&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Premier &#233;tape du chantier, en regarder les bases : les fichiers situ&#233;s &#224; la racine du plugin. Je vais regarder, et toucher (mais peu, je ne sais m&#234;me pas vraiment o&#249; je vais). On va donc commencer par les fichiers &#224; la racine : plugin.xml et bisous_pipelines.php&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Plugin.xml&lt;/h2&gt;
&lt;p&gt;SPIP 3 marquera l'abandon progressif de ce fichier de d&#233;claration de plugins, au profit d'un autre nomm&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;paquet.xml&lt;/code&gt;. Le plugin &#034;Plugonet&#034; facilite la cr&#233;ation de paquet.xml, nous y reviendrons plus tard. Dans l'imm&#233;diat, regardons de quoi se compose le plugin.xml de Bisous pour SPIP 2 et voyons ce qu'il y a &#224; y changer.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='32' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;plugin&gt; &lt;nom&gt;SPIP Bisous !&lt;/nom&gt; &lt;auteur&gt;RastaPopoulos&lt;/auteur&gt; &lt;licence&gt;GPL&lt;/licence&gt; &lt;version&gt;0.2.0&lt;/version&gt; &lt;version_base&gt;0.2&lt;/version_base&gt; &lt;etat&gt;dev&lt;/etat&gt; &lt;description&gt;Vous &#234;tes en col&#232;re ? Il vous faut des bisous ! Vous &#234;tes content ? Il vous faut des bisous !&lt;/description&gt; &lt;lien&gt;&lt;/lien&gt; &lt;!-- URI de documentation --&gt; &lt;prefix&gt;bisous&lt;/prefix&gt; &lt;icon&gt;images/amour.png&lt;/icon&gt; &lt;install&gt;base/bisous_installation.php&lt;/install&gt; &lt;pipeline&gt; &lt;nom&gt;declarer_tables_interfaces&lt;/nom&gt; &lt;inclure&gt;base/bisous_tables.php&lt;/inclure&gt; &lt;/pipeline&gt; &lt;pipeline&gt; &lt;nom&gt;declarer_tables_principales&lt;/nom&gt; &lt;inclure&gt;base/bisous_tables.php&lt;/inclure&gt; &lt;/pipeline&gt; &lt;pipeline&gt; &lt;nom&gt;affiche_gauche&lt;/nom&gt; &lt;inclure&gt;bisous_pipelines.php&lt;/inclure&gt; &lt;/pipeline&gt; &lt;necessite id=&#034;SPIP&#034; version=&#034;[2.0.0;2.1.99]&#034; /&gt; &lt;categorie&gt;communication&lt;/categorie&gt; &lt;/plugin&gt;&lt;/textarea&gt;
&lt;p&gt;Commentaires :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Ligne 5 : le num&#233;ro de version du plugin est bien entendu un &#233;l&#233;ment crucial pour la bonne information du webmestre. Jusqu'&#224; l'apparition du plugin STEP pour SPIP 2.1, ce num&#233;ro n'&#233;tait pas utilis&#233; dynamiquement en spip. Dans SPIP 3, l'interface de gestion des plugins fera usage de cette donn&#233;e pour g&#233;rer les mises &#224; jour, les d&#233;pendances, etc. Ce num&#233;ro doit avoir la forme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;X.Y.Z&lt;/code&gt;. Si je faisais une &#233;volution du plugin existant, je devrais l'incr&#233;menter en Z, au minimum mais je crois que ce n'est pas n&#233;cessaire vu que je cr&#233;e une version sp&#233;cifique pour SPIP 3&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb3-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;A noter que plusieurs plugins ont une compatibilit&#233; qui s'&#233;tale &#224; plusieurs (&#8230;)&#034; id=&#034;nh3-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Ligne 6 : le num&#233;ro de version de la base doit &#234;tre incr&#233;ment&#233;, en cas de modification de la base de donn&#233;e par le plugin. Son incr&#233;mentation d&#233;clenche les actions ad hoc de SPIP. &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ligne 10 : Outre son utilisation n&#233;cessaire dans les noms de fonctions, etc., &#224; partir de SPIP 3, c'est le pr&#233;fixe qui d&#233;termine l'unicit&#233; du plugin pour le serveur de plugins.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; lignes 12 &#224; 20 : la m&#233;canique d'installation et de fonctionnement des tables du plugin, c'est pour plus tard peut-&#234;tre.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;lignes 21 &#224; 24 :&lt;/strong&gt; le pipeline &#034;afficher_gauche&#034; d&#233;finit un affichage dans la colonne de gauche de l'espace priv&#233;. Comme perso j'aime l'affichage en 3 colonnes du priv&#233; et que la droite est souvent oubli&#233;e, je vais mettre &#034;afficher_droite&#034;. Par ailleurs, le contenu de cet affichage est d&#233;fini dans le fichier bisous_pipelines.php, &#231;a tombe bien on ira y jeter un &#339;il tout &#224; l'heure.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;ligne 25 :&lt;/strong&gt; pour que ce plugin s'installe sous SPIP 3, il faudra adapter &#231;a : je mets &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;necessite id=&#034;SPIP&#034; version=&#034;[3.0.0-dev;3.0.99]&#034; /&gt;&lt;/code&gt;&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; ligne 26 : la cat&#233;gorie est d&#233;sormais n&#233;cessaire pour pouvoir mettre un peu d'ordre dans la gestion des plugins, tant dans SPIP que sur le serveur de plugins&lt;/p&gt;
&lt;p&gt;Ajout suppl&#233;mentaire :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Il est d&#233;sormais pr&#233;vu pour chaque plugin un &#034;slogan&#034; qui d&#233;finit en quelques mots l'utilit&#233; du plugin. J'ajoute une ligne comme ceci, sous le nom : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;slogan&gt;Embrassez-vous !&lt;/slogan&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Mon plugin.xml pour SPIP 3 ressemble donc d&#233;sormais &#224; ceci :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='33' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;plugin&gt; &lt;nom&gt;SPIP Bisous !&lt;/nom&gt; &lt;slogan&gt;Embrassez-vous !&lt;/slogan&gt; &lt;auteur&gt;RastaPopoulos&lt;/auteur&gt; &lt;licence&gt;GPL&lt;/licence&gt; &lt;version&gt;0.2.0&lt;/version&gt; &lt;version_base&gt;0.2&lt;/version_base&gt; &lt;etat&gt;dev&lt;/etat&gt; &lt;description&gt;Vous &#234;tes en col&#232;re ? Il vous faut des bisous ! Vous &#234;tes content ? Il vous faut des bisous !&lt;/description&gt; &lt;lien&gt;&lt;/lien&gt; &lt;!-- URI de documentation --&gt; &lt;prefix&gt;bisous&lt;/prefix&gt; &lt;icon&gt;images/amour.png&lt;/icon&gt; &lt;install&gt;base/bisous_installation.php&lt;/install&gt; &lt;pipeline&gt; &lt;nom&gt;declarer_tables_interfaces&lt;/nom&gt; &lt;inclure&gt;base/bisous_tables.php&lt;/inclure&gt; &lt;/pipeline&gt; &lt;pipeline&gt; &lt;nom&gt;declarer_tables_principales&lt;/nom&gt; &lt;inclure&gt;base/bisous_tables.php&lt;/inclure&gt; &lt;/pipeline&gt; &lt;pipeline&gt; &lt;nom&gt;affiche_gauche&lt;/nom&gt; &lt;inclure&gt;bisous_pipelines.php&lt;/inclure&gt; &lt;/pipeline&gt; &lt;necessite id=&#034;SPIP&#034; version=&#034;[3.0.0-dev;3.0.99]&#034; /&gt; &lt;categorie&gt;communication&lt;/categorie&gt; &lt;/plugin&gt;&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Rest &#224; faire :&lt;/strong&gt; Passer &#231;a en paquet.xml, PlugOnet nous y aidera (plus tard).&lt;/p&gt;
&lt;p&gt;Attaquons-nous maintenant &#224; ce fameux bisous_pipelines.php.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;h2 class=&#034;spip&#034;&gt;bisous_pipelines.php&lt;/h2&gt;
&lt;p&gt;La version SPIP 2 est la suivante :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='28' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;?php function bisous_affiche_gauche($flux){ include_spip('inc/presentation'); include_spip('public/assembler'); if ($flux['args']['exec'] == 'auteur_infos'){ $flux['data'] .= debut_cadre_relief('',true,'',_T('bisous:bisous_donnes')); $flux['data'] .= recuperer_fond('prive/bisous_donnes',array('id_auteur'=&gt;$flux['args']['id_auteur'])); $flux['data'] .= fin_cadre_relief(true); $flux['data'] .= debut_cadre_relief('',true,'',_T('bisous:bisous_recus')); $flux['data'] .= recuperer_fond('prive/bisous_recus',array('id_auteur'=&gt;$flux['args']['id_auteur'])); $flux['data'] .= fin_cadre_relief(true); } return $flux; } ?&gt;&lt;/textarea&gt;
&lt;p&gt;Commentaires :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ligne 2 : cette fonction (la seule du fichier, chouette !) est visiblement une fonction d'affichage. Je veux un affichage &#224; droite en cas d'&#233;cran sur 3 colonnes, je d&#233;duis que je dois en changer le nom : ce sera &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;function bisous_affiche_droite($flux)&lt;/code&gt;. Je suppose que le premier terme doit correspondre au pr&#233;fixe du plugin et les deux suivants au pipeline que j'ai appel&#233; dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;plugin.xml&lt;/code&gt; . &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; lignes 3 et 4 : il y a inclusion de deux fichiers de SPIP que je suppose &#234;tre charg&#233; de la mise en forme et de la construction de page. Un petit coup d'oeil dans /ecrire (le dossier des fichiers internes de SPIP, en tout cas du priv&#233;) me montre que ces deux fichiers existent toujours en SPIP 3. Pour faire bonne mesure, je vais comparer aussi avec un plugin du core : l'extension &#034;organiseur&#034;. Je constate des similitudes et des diff&#233;rences :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='16' class='spip_cadre spip_cadre_block' dir='ltr'&gt;function organiseur_affiche_droite($flux){ if ($flux['args']['exec']=='accueil'){ $flux['data'] .= recuperer_fond( 'prive/squelettes/inclure/organiseur-rappels', array( 'id_auteur'=&gt;$GLOBALS['visiteur_session']['id_auteur'], 'last' =&gt; $GLOBALS['visiteur_session']['quand'], ) ); } return $flux; }&lt;/textarea&gt;
&lt;p&gt;Ces deux lignes d'inclusion n'y sont pas pr&#233;sentes. L'inclusion se fait probablement d'office &#224; pr&#233;sent. Je les enl&#232;ve et croise les doigts ;-). Par ailleurs mon hypoth&#232;se pour la ligne 2 est valid&#233;e, semble-t-il.&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ligne 7 : je constate qu'en SPIP 2 les bisous donn&#233;s et re&#231;us s'affichent sur la page d'auteur, dans le priv&#233;. Cette page s'appelle via &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ecrire/?exec=auteurs_infos&lt;/code&gt;. Il s'agit d'un fichier qui se trouve dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ecrire/exec/auteurs_infos.php&lt;/code&gt;. &lt;br class='manualbr' /&gt;En SPIP 3, il n'existe plus. La page d'auteur est d&#233;sormais appel&#233;e via &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ecrire/?exec=infos_perso&lt;/code&gt;. Je vais donc &#224; la recherche d'un fichier &#034;infos_perso&#034;, et je le trouve dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/prive/squelettes/contenu&lt;/code&gt;. Au passage je note que ce qui concerne le squelette de l'espace priv&#233; de SPIP semble donc se trouver donc dans /prive/squelettes, vu que j'y retrouve la liste de sous-dossiers habituelle en Zpip ! Pour la ligne 7, je tente donc le remplacement par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if ($flux['args']['exec'] == 'infos_perso')&lt;/code&gt;. &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; lignes 8 &#224; 14 : je d&#233;tecte des cha&#238;nes de langue (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_T('bisous...')&lt;/code&gt;) et des indications de mise en forme ( les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;debut_cadre_relief('',true,'',_T('bisous:bisous_donnes'));&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;fin_cadre_relief&lt;/code&gt;). Je suppose qu'il s'agit de la m&#233;thode SPIP 2 pour d&#233;finir les cadres dans le priv&#233;. Comme je sais que l'interface priv&#233;e est &#034;squeletis&#233;e&#034;, il doit y avoir moyen de faire &#231;a en boucles. Je le note et on verra plus tard. Ce qui m'int&#233;resse ici, c'est que je retrouve bien la fonction &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;recupere_fond&lt;/code&gt; et ses arguments. Dans bisous pour SPIP 2, ces fonds se trouvent dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/prive&lt;/code&gt;. Je note d'adopter l'organisation SPIP 3 mais je ne touche &#224; rien pour l'instant. Je reviendrai quand j'aurai avanc&#233; sur ces fameux squelettes du priv&#233;.&lt;/p&gt;
&lt;p&gt;Mon fichier ressemble d&#233;sormais &#224; ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip&#034; spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;?php function bisous_affiche_droite($flux){ if ($flux['args']['exec'] == 'infos_perso'){ $flux['data'] .= debut_cadre_relief('',true,'',_T('bisous:bisous_donnes')); $flux['data'] .= recuperer_fond('prive/bisous_donnes',array('id_auteur'=&gt;$flux['args']['id_auteur'])); $flux['data'] .= fin_cadre_relief(true); $flux['data'] .= debut_cadre_relief('',true,'',_T('bisous:bisous_recus')); $flux['data'] .= recuperer_fond('prive/bisous_recus',array('id_auteur'=&gt;$flux['args']['id_auteur'])); $flux['data'] .= fin_cadre_relief(true); } return $flux; } ?&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J'enregistre le tout et constate que j'ai d&#233;sormais bien des boites &#034;Bisous donn&#233;s&#034; et &#034;Bisous re&#231;us&#034; sur ma page d'auteur. Cool :-)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reste &#224; faire :&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; remplacer les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;debut_cadre_relief&lt;/code&gt; par le syst&#232;me SPIP 3
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; d&#233;placer les fonds dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;prive/squelettes/inclure/&lt;/code&gt; ET reporter ici la modification.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; ajouter la ligne &#034;s&#233;curit&#233;&#034; qui v&#233;rifie inc-version (je me souviens avoir vu &#231;a passe sur toute la zone il y a peu mais elle ne se trouve pas sur spip-bisous)&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Un petit suppl&#233;ment pour la route...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;CFG a &#233;t&#233; int&#233;gr&#233; &#224; SPIP 3&lt;/h2&gt;
&lt;p&gt;Derni&#232;re &#233;tape : dans le priv&#233; je ne vois pas d'entr&#233;e pour la configuration de SPIP-Bisous. Cela semble normal : j'ai lu que la plupart des fonctionnalit&#233;s de base de &lt;a href=&#034;http://www.spip-contrib.net/Config-CFG&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;CFG&lt;/a&gt; ont &#233;t&#233; int&#233;gr&#233;es &#224; SPIP 3 et j'ai constat&#233; qu'un logo de configuration vient &#224; pr&#233;sent se poser dans la page d'administration des plugins, en regard des plugins &#224; configurer.&lt;/p&gt;
&lt;p&gt;Par &lt;a href=&#034;http://zone.spip.org/trac/spip-zone/browser/_plugins_/manuel_site/prive/exec/configurer_manuelsite.html?order=date&amp;desc=1&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;comparaison avec d'autres plugins&lt;/a&gt;, je d&#233;duis que le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;fonds/cfg_bisous.html&lt;/code&gt; doit &#234;tre d&#233;plac&#233; vers &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;prive/exec/configurer_bisous.html&lt;/code&gt; pour &#234;tre pris en compte.&lt;/p&gt;
&lt;p&gt;Un commit plus tard, je constate qu'en effet, la page de configuration est d&#233;sormais prise en compte. J'y ajoute un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; &lt;div class=&#034;formulaire_spip&#034;&gt;&lt;/code&gt; pour que cela soit un rien mieux int&#233;gr&#233;. J'ignore si la configuration est prise en compte par contre :-), ce sera pour plus tard... Par contre, je vois que ce formulaire n'utilise pas le m&#233;canisme CVT de SPIP. Ce sera &#224; adapter...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reste &#224; faire :&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; v&#233;rifier si la configuration est enregistr&#233;e
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; passer le form de configuration en CVT.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;h2 class=&#034;spip&#034;&gt;Pour la suite...&lt;/h2&gt;
&lt;p&gt;Voil&#224; tout pour aujourd'hui. Outre les &#034;Reste &#224; faire ci-dessus&#034;, je constate encore que le plugin n'est pas fonctionnel &#224; ce stade : un test de bisou sur une page auteur me renvoie une superbe page blanche :-)&lt;/p&gt;
&lt;p&gt;Ce n'est pas une surprise, il va falloir descendre dans les entrailles du plugin.&lt;/p&gt;
&lt;p&gt; A suivre...&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb3-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh3-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 3-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;A noter que plusieurs plugins ont une compatibilit&#233; qui s'&#233;tale &#224; plusieurs versions de SPIP : 2.0, 2.1, 3.0 . Je suis trop ignorant pour g&#233;rer &#231;a, ayant toujours recul&#233; devant la cr&#233;ation de pages priv&#233;es dans SPIP 2.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>R&#233;cup&#233;rer un zip depuis le site de la zone &#034;SPIP&#034;</title>
		<link>https://lapsuske.brubel.net/Recuperer-un-zip-depuis-le-site-de-la-zone-SPIP</link>
		<guid isPermaLink="true">https://lapsuske.brubel.net/Recuperer-un-zip-depuis-le-site-de-la-zone-SPIP</guid>
		<dc:date>2012-01-03T11:07:06Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fran&#231;ois Rygaert (aka Suske)</dc:creator>


		<dc:subject>SPIP</dc:subject>
		<dc:subject>Trucs en SPIP</dc:subject>

		<description>&lt;p&gt;Lorsqu'on a pas de client &lt;a href=&#034;https://fr.wikipedia.org/wiki/SVN&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;SVN&lt;/a&gt; sous la main et que le plugin que l'on veut r&#233;cup&#233;rer n'est pas fourni en &#034;zip&#034;, la zone offre une solution alternative (ne pas abuser pour ne pas faire tomber le serveur plus que n&#233;cessaire :-p)&lt;/p&gt;

-
&lt;a href="https://lapsuske.brubel.net/SPIP" rel="directory"&gt;SPIP &lt;/a&gt;

/ 
&lt;a href="https://lapsuske.brubel.net/SPIP,30" rel="tag"&gt;SPIP&lt;/a&gt;, 
&lt;a href="https://lapsuske.brubel.net/Trucs-en-SPIP" rel="tag"&gt;Trucs en SPIP&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Lorsqu'on a pas de client &lt;a href=&#034;https://fr.wikipedia.org/wiki/SVN&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;SVN&lt;/a&gt; sous la main et que le plugin que l'on veut r&#233;cup&#233;rer n'est pas fourni en &#034;zip&#034;, la zone offre une solution alternative (ne pas abuser pour ne pas faire tomber le serveur plus que n&#233;cessaire :-p)&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Dans le cas pr&#233;sent, je tente de mettre &#224; jour r&#233;guli&#232;rement une version SVN de SPIP3. Pour le core de SPIP, pas de souci, tout est mis &#224; jour r&#233;guli&#232;rement dans le zip qui est l&#224; : &lt;a href=&#034;http://www.spip.net/fr_download&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://www.spip.net/fr_download&lt;/a&gt;. Par contre, cela ne permet pas de r&#233;cup&#233;rer les derni&#232;res versions des extensions, lesquelles sont d&#233;velopp&#233;es sur la zone et ne sont &#034;packag&#233;es&#034; avec SPIP que lors de la publication d'une version &#034;officielle&#034; (SPIP3beta par exemple). Dans l'intervalle, il faut utiliser SVN, ou ruser.&lt;/p&gt;
&lt;p&gt;Le principe est simple, il suffit d'appeler dans son navigateur :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://zone.spip.org/trac/spip-zone/changeset/latest/ICI_LE_CHEMIN_COMPLET SUR LE ZONE?old_path=/&amp;format=zip&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Donc pour r&#233;cup&#233;rer le zip avec les extensions actualis&#233;es de SPIP (que je peux lister &#224; &lt;a href=&#034;http://zone.spip.org/trac/spip-zone/browser/_core_/plugins&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://zone.spip.org/trac/spip-zone...&lt;/a&gt;), il me suffit de reporter ce qui suit &#034;browser&#034; dans l'url, soit _core_/plugins puis visiter le lien : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://zone.spip.org/trac/spip-zone/changeset/latest/_core_/plugins?old_path=/&amp;format=zip&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Bon alors attention : si on indique un chemin (path) trop court &#231;a choppe toute l'arborescence dessous, donc... C'est le genre de distraction qui a pu faire tomber la zone. C'est aussi pour &#231;a qu'elle est red&#233;marr&#233;e automatiquement toutes les heures.&lt;/p&gt;
&lt;p&gt;Un autre exemple : certains plugins/squelettes d&#233;velopp&#233;s sur la zone ne sont pas propos&#233;es en zip sur &lt;a href=&#034;http://files.spip.org/spip-zone&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://files.spip.org/spip-zone&lt;/a&gt;, pour toutes sortes de raison. Ce syst&#232;me permet de rem&#233;dier &#224; cela, au cas o&#249;...&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Mise &#224; jour du 25 mai 2012 :&lt;/p&gt;
&lt;p&gt;Sur &lt;a href=&#034;http://spip.net/irc&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;IRC#spip&lt;/a&gt;, denisb me souffle&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;en fait non, il me pastebin ;-)&#034; id=&#034;nh4-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;
@@@r&#233;cup&#233;rer un zip des diff entre 2 r&#233;visions :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://zone.spip.org/trac/spip-zone/changeset?format=zip&amp;new=[[jusqu'&#224; la r&#233;vision]]&amp;old=[[depuis la r&#233;vision]]&amp;new_path=_plugins_/[[nom du plugin]]&amp;old_path=_plugins_/[[nom du plugin]]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;par exemple :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://zone.spip.org/trac/spip-zone/changeset?format=zip&amp;new=59775&amp;old=56572&amp;new_path=_plugins_/langonet&amp;old_path=_plugins_/langonet&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce syst&#232;me permet donc de r&#233;cup&#233;rer uniquement les fichiers modifi&#233;s entre 2 r&#233;visions, ce qui peut &#234;tre utile pour minimiser les transfert de fichiers sur certains gros plugins ou ne pas int&#233;grer des modifs trop r&#233;centes par exemple...&lt;/p&gt;
&lt;p&gt;Toujours plus b&#244;&#244;&#244;, toujours plus cool....&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Voil&#224;, voil&#224;.&lt;/p&gt;
&lt;p&gt;SPIP c b&#244;&#244;&#244;&#244;.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb4-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;en fait non, il me pastebin ;-)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
