<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://blog.roxing.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>blog.roxing.net</title>
	<link>http://blog.roxing.net/</link>
	<description>weblog roxing.net - astuces spip, php, bash, linux &amp; more</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://blog.roxing.net/spip.php?id_mot=178&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>blog.roxing.net</title>
		<url>https://blog.roxing.net/local/cache-vignettes/L144xH37/siteon0-6ddb5.png?1727125340</url>
		<link>http://blog.roxing.net/</link>
		<height>37</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Concevoir des formulaires efficaces &#8211; UX Collective</title>
		<link>https://blog.roxing.net/concevoir-des-formulaires-efficaces-ux-collective</link>
		<guid isPermaLink="true">https://blog.roxing.net/concevoir-des-formulaires-efficaces-ux-collective</guid>
		<dc:date>2018-09-11T13:26:13Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>formulaire</dc:subject>
		<dc:subject>spip</dc:subject>
		<dc:subject>webdesign</dc:subject>

		<description>
&lt;p&gt;Les formulaires sont l'une des parties les plus importantes de la conception de site internet. &lt;br class='autobr' /&gt;
Cet article passe en revue les probl&#232;mes courants et les probl&#232;mes de conception de formulaire. Gardez &#224; l'esprit que ce sont des lignes directrices g&#233;n&#233;rales et qu'il existe des exceptions &#224; chaque r&#232;gle.&lt;/p&gt;


-
&lt;a href="https://blog.roxing.net/signets" rel="directory"&gt;signets&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/formulaire" rel="tag"&gt;formulaire&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/spip-178" rel="tag"&gt;spip&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/webdesign" rel="tag"&gt;webdesign&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://blog.roxing.net/local/cache-vignettes/L150xH58/arton144-b837b.jpg?1727221894' class='spip_logo spip_logo_right' width='150' height='58' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Les formulaires sont l'une des parties les plus importantes de la conception de site internet. &lt;br class='autobr' /&gt;
Cet article passe en revue les probl&#232;mes courants et les probl&#232;mes de conception de formulaire. Gardez &#224; l'esprit que ce sont des lignes directrices g&#233;n&#233;rales et qu'il existe des exceptions &#224; chaque r&#232;gle.&lt;/p&gt;&lt;/div&gt;
		&lt;div class="hyperlien"&gt;Voir en ligne : &lt;a href="https://uxdesign.cc/design-better-forms-96fadca0f49c" class="spip_out"&gt;Design Better Forms &#8211; UX Collective&lt;/a&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title> Bosser sur la zone avec git</title>
		<link>https://blog.roxing.net/bosser-sur-la-zone-avec-git</link>
		<guid isPermaLink="true">https://blog.roxing.net/bosser-sur-la-zone-avec-git</guid>
		<dc:date>2017-09-22T10:49:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>placido</dc:creator>


		<dc:subject>git</dc:subject>
		<dc:subject>svn</dc:subject>
		<dc:subject>bash</dc:subject>
		<dc:subject>spip</dc:subject>

		<description>
&lt;p&gt;########################################################### ## Cr&#233;ation d'un nouveau plugin sur la zone ############### ########################################################### &lt;br class='autobr' /&gt;
# On commence par r&#233;cup&#233;rer les plugins de la zone, mais sans prendre le contenu des dossiers svn checkout &#8212;depth=immediates svn ://zone.spip.org/spip-zone/_plugins_ &lt;br class='autobr' /&gt;
# On cr&#233;e ensuite son plugin et un trunk cd _plugins_ mkdir mon_plug mkdir mon_plug/trunk &lt;br class='autobr' /&gt;
# puis on le commit svn add mon_plug svn add (&#8230;)&lt;/p&gt;


-
&lt;a href="https://blog.roxing.net/signets" rel="directory"&gt;signets&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/git" rel="tag"&gt;git&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/svn" rel="tag"&gt;svn&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/bash-177" rel="tag"&gt;bash&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/spip-178" rel="tag"&gt;spip&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;textarea readonly='readonly' cols='40' rows='98' class='spip_cadre spip_cadre_block' dir='ltr'&gt;########################################################### ## Cr&#233;ation d'un nouveau plugin sur la zone ############### ########################################################### # On commence par r&#233;cup&#233;rer les plugins de la zone, mais sans prendre le contenu des dossiers svn checkout --depth=immediates svn://zone.spip.org/spip-zone/_plugins_ # On cr&#233;e ensuite son plugin et un trunk cd _plugins_ mkdir mon_plug mkdir mon_plug/trunk # puis on le commit svn add mon_plug svn add mon_plug/trunk svn commit -m &#034;ajout du nouveau plugin mon_plug&#034; # On peut ensuite effacer tout &#231;a, pour la suite on bossera avec git svn ############################################################ ## importer un d&#233;p&#244;t git existant dans la zone ############# ############################################################ # On cr&#233;e le dossier du plugin sur la zone comme ci-dessus, # puis on clone ce dossier en local # l'option -s &#224; la fin est utile si le d&#233;p&#244;t SVN a la structure trunk branches tags git svn clone --prefix=origin/ svn://zone.spip.org/spip-zone/_plugins_/mon_plug -s # On cr&#233;e une branche temporaire git branch svn # On importe le d&#233;p&#244;t git existant (p.ex ici sur github git remote add github git@github.com:mon_compte_github/mon_plug.git git pull github master # Puis on passe tous ces commits git au-dessus du premier commit svn git rebase svn # On peut alors effacer la branche temporaire&#8230; git branch -d svn ############################################################ ## Travailler sur un plugin existant d&#233;j&#224; sur la zone ###### ############################################################ # on clone le projet &#224; l'endroit souhait&#233; # l'option -s &#224; la fin est utile si le d&#233;p&#244;t SVN a la structure trunk branches tags git svn clone --prefix=origin/ svn://zone.spip.org/spip-zone/_plugins_/mon_plug -s # le mieux est ensuite de se cr&#233;er une branche locale git branch local # et de travailler sur cette branche git checkout local # Pour r&#233;cup&#233;rer les nouveaut&#233;s sur la Zone, # on repasse sur la branche principale git checkout master # et on chope les nouveaut&#233;s git svn rebase # qu'on merge ensuite sur la branche locale git checkout local git merge master # Pour publier ses modifs, on commence par r&#233;cup&#233;rer les # nouveaut&#233;s comme ci-dessus&#8230; # Puis on merge la branche locale sur le master git checkout master git merge local # Et on envoie nos commits sur le SVN, chaque commit git va # cr&#233;er un commit svn correspondant git svn dcommit # On peut ensuite travailler normalement avec git, sauf qu'au lieu de faire des # &#034;git push&#034;, on fera git svn dcommit&lt;/textarea&gt;&lt;/div&gt;
		&lt;div class="hyperlien"&gt;Voir en ligne : &lt;a href="https://gist.github.com/bystrano/5755464" class="spip_out"&gt;https://gist.github.com/bystrano/5755464&lt;/a&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>G&#233;n&#233;rer un fichier de commandes SVN et GIT pour l'installation d'un ensemble de plugins &#224; partir de ceux d'un SPIP existant - Documentation technique</title>
		<link>https://blog.roxing.net/generer-un-fichier-de-commandes-svn-et-git-pour-l</link>
		<guid isPermaLink="true">https://blog.roxing.net/generer-un-fichier-de-commandes-svn-et-git-pour-l</guid>
		<dc:date>2017-09-10T10:09:38Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>placido</dc:creator>


		<dc:subject>git</dc:subject>
		<dc:subject>svn</dc:subject>
		<dc:subject>bash</dc:subject>
		<dc:subject>spip</dc:subject>

		<description>
&lt;p&gt;# !/bin/bash # # g&#233;n&#233;rer un sh avec les &#034;svn checkout&#034; ou &#034;git clone&#034; de tous les plugins d'un SPIP # # chaque ligne du fichier g&#233;n&#233;r&#233; est de la forme : # svn co svn ://zone.spip.org/spip-zone/_plugins_/nom_plugin nom_plugin # ou # git clone https://github.com/nom_repo/nom_plugin.git nom_plugin # # ce fichier sera lanc&#233; dans le rep plugins/ d'un SPIP que l'on veut munir des m&#234;mes plugins # # chemin du r&#233;pertoire des plugins du SPIP REP_PLUGINS=/var/www/mon_spip/plugins # chemin du (&#8230;)&lt;/p&gt;


-
&lt;a href="https://blog.roxing.net/signets" rel="directory"&gt;signets&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/git" rel="tag"&gt;git&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/svn" rel="tag"&gt;svn&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/bash-177" rel="tag"&gt;bash&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/spip-178" rel="tag"&gt;spip&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;textarea readonly='readonly' cols='40' rows='41' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#!/bin/bash # # g&#233;n&#233;rer un sh avec les &#034;svn checkout&#034; ou &#034;git clone&#034; de tous les plugins d'un SPIP # # chaque ligne du fichier g&#233;n&#233;r&#233; est de la forme: # svn co svn://zone.spip.org/spip-zone/_plugins_/nom_plugin nom_plugin # ou # git clone https://github.com/nom_repo/nom_plugin.git nom_plugin # # ce fichier sera lanc&#233; dans le rep plugins/ d'un SPIP que l'on veut munir des m&#234;mes plugins # # chemin du r&#233;pertoire des plugins du SPIP REP_PLUGINS=/var/www/mon_spip/plugins # chemin du fichier sh &#224; cr&#233;er FICHIER_SH=./dupliquer_plugins.sh # initialiser le fichier echo &#034;# commandes des plugins a installer&#034; &gt; $FICHIER_SH for i in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ls $REP_PLUGINS&lt;/code&gt;; do if [ -d $REP_PLUGINS/$i/.svn ]; then svn info $REP_PLUGINS/$i |sed -r -n '/^URL.:/{h;G;s/\n/ /;s/URL.:/svn co/1;s/\/trunk$//;s/\/branches\/[^\/]*$//;s/URL.*\///;p}' &gt;&gt; $FICHIER_SH fi if [ -d $REP_PLUGINS/$i/.git ]; then grep &#034;url&#034; $REP_PLUGINS/$i/.git/config |sed 's/.*url = /git clone /;s/.*\/\([^\/]*\).git$/\0 \1/' &gt;&gt; $FICHIER_SH fi done # passer le fichier sh en executable chmod +x $FICHIER_SH&lt;/textarea&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;a href=&#034;http://spip.pastebin.fr/51693&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Un autre script&lt;/a&gt; (SVN uniquement) via @Marcimat :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='53' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#!/bin/bash # # Ce script cr&#233;e un fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;liste_svn_co.done.sh&lt;/code&gt; contenant une liste # de commande svn checkout &#224; faire pour retrouver la m&#234;me arborescence # # Ceci sous-entend que seuls les r&#233;pertoires &#224; la racine du r&#233;pertoire # d'ex&#233;cution sont sous svn (pas de sous r&#233;pertoire ayant lui m&#234;me les r&#233;pertoires SVN). # Tout r&#233;pertoire non svn est ignor&#233;. # # Ainsi, si le script est ex&#233;cut&#233; dans plugins/ # Avec cette arbo cela fonctionnera : # - A # - B # - C # o&#249; A, B et C sont les r&#233;pertoires issus d'un SVN quelconque. # # Mais *pas* avec cette arbo : # - themes/A # - themes/B # - C # Le r&#233;pertoire 'themes' n'&#233;tant pas en SVN sera ici ignor&#233;. # FILE='liste_svn_co.done.sh' ICI=$(pwd) rm -f $FILE; echo &#034;#!/bin/bash&#034; &gt;&gt; $FILE echo &#034;#&#034; &gt;&gt; $FILE echo &#034;# Liste des svn co du r&#233;pertoire :&#034; &gt;&gt; $FILE echo &#034;# &#034;$ICI &gt;&gt; $FILE echo &gt;&gt; $FILE for i in $(ls); do if [ -d $i ]; then cd $i URL=$(svn info | grep URL | head -1 | cut -d &#034;:&#034; -f2-3) NOM=$(basename $i) cd .. if [ -n &#034;$URL&#034; ]; then echo &#034;svn co&#034;$URL $NOM &gt;&gt; $FILE; fi fi done&lt;/textarea&gt;&lt;/div&gt;
		&lt;div class="hyperlien"&gt;Voir en ligne : &lt;a href="https://tech.gamuza.fr/generer-un-fichier-de-commandes-svn-et-git-pour-l-installation-d-un-ensemble-de-plugins-a-partir-de-ceux-d-un-spip-existant" class="spip_out"&gt;https://tech.gamuza.fr/generer-un-f...&lt;/a&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
