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

<channel xml:lang="fr">
	<title>Teddy Payet</title>
	<link>https://preprod.teddypayet.com/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.preprod.teddypayet.com/spip.php?id_mot=58&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>Teddy Payet</title>
		<url>https://www.preprod.teddypayet.com/local/cache-vignettes/L144xH162/siteon0-84dcb.png?1724344960</url>
		<link>https://preprod.teddypayet.com/</link>
		<height>162</height>
		<width>144</width>
	</image>

                   

<item xml:lang="fr">
		<title>Cr&#233;ation d'un squelette sur la base de 960.gs</title>
		<link>https://www.preprod.teddypayet.com/Creation-d-un-squelette-sur-la-base-de-960-gs</link>
		<guid isPermaLink="true">https://www.preprod.teddypayet.com/Creation-d-un-squelette-sur-la-base-de-960-gs</guid>
		<dc:date>2011-12-30T13:17:08Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Teddy Payet</dc:creator>


		<dc:subject>SPIP</dc:subject>
		<dc:subject>XHTML</dc:subject>
		<dc:subject>CSS</dc:subject>
		<dc:subject>Web Design</dc:subject>
		<dc:subject>Astuce</dc:subject>
		<dc:subject>Boucle ARTICLES</dc:subject>
		<dc:subject>Boucle DOCUMENTS</dc:subject>

		<description>
&lt;p&gt;Comme vous avez pu le voir, l'interface de mon site est toute fraiche. Il est bas&#233; sur le framework CSS 960.gs. Je l'utilise quasi syst&#233;matiquement pour la cr&#233;ation de mes squelettes persos comme professionnels. Je vais vous expliquer comment j'ai proc&#233;d&#233; &#224; sa r&#233;alisation avec SPIP. &lt;br class='autobr' /&gt; Avant propos J'ai d&#233;j&#224; abord&#233; sur mon blog de certaines astuces que j'ai r&#233;utilis&#233; sur mon site : Le RewriteRule ; Changer de squelettes comme de chemises. &lt;br class='autobr' /&gt;
Je vais aujourd'hui vous parler de la premi&#232;re (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.preprod.teddypayet.com/Blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.preprod.teddypayet.com/SPIP" rel="tag"&gt;SPIP&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/XHTML" rel="tag"&gt;XHTML&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/CSS" rel="tag"&gt;CSS&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Web-Design" rel="tag"&gt;Web Design&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Astuce" rel="tag"&gt;Astuce&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Boucle-ARTICLES" rel="tag"&gt;Boucle ARTICLES&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Boucle-DOCUMENTS" rel="tag"&gt;Boucle DOCUMENTS&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Comme vous avez pu le voir, l'interface de mon site est toute fraiche. Il est bas&#233; sur le framework CSS &lt;a href=&#034;http://960.gs&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;960.gs&lt;/a&gt;. Je l'utilise quasi syst&#233;matiquement pour la cr&#233;ation de mes squelettes persos comme professionnels. Je vais vous expliquer comment j'ai proc&#233;d&#233; &#224; sa r&#233;alisation avec SPIP.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Avant propos&lt;/h2&gt;
&lt;p&gt;J'ai d&#233;j&#224; abord&#233; sur mon blog de certaines astuces que j'ai r&#233;utilis&#233; sur mon site :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='https://www.preprod.teddypayet.com/RewriteRule-et-la-recherche-personnalisee-de-google' class=&#034;spip_in&#034;&gt;Le RewriteRule&lt;/a&gt; ;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.preprod.teddypayet.com/Changer-de-squelettes-comme-de-chemises' class=&#034;spip_in&#034;&gt;Changer de squelettes comme de chemises&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Je vais aujourd'hui vous parler de la premi&#232;re partie de la r&#233;alisation de mon squelette. Nous n'aborderons pas l'&#233;tape graphique qui est propre &#224; chacun.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;sentation de 960.gs&lt;/h2&gt;
&lt;p&gt;Il existe plusieurs frameworks CSS : Blueprint, YUI Grid CSS, 960 Grid System.&lt;br class='manualbr' /&gt;Ce dernier (960.gs pour les intimes) est devenu ma r&#233;f&#233;rence maintenant. Il me permet de r&#233;aliser rapidement mes prototypes mais aussi mes versions de squelettes en production.&lt;/p&gt;
&lt;p&gt;Pour mon design, j'ai r&#233;alis&#233; ma maquette sous Photoshop gr&#226;ce &#224; la grille psd mis &#224; disposition sur le site officiel. De ce fait, je peux ais&#233;ment retrouver mes largeurs de bloc par rapport &#224; un &#233;l&#233;ment de grille (2 grilles, 3 grilles, etc.). Rapide et efficace.&lt;/p&gt;
&lt;p&gt;Mon design est bas&#233; sur une division de 4 &#171; sections &#187; de la grille de 16. Ce qui correspond &#224; la classe CSS &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grid_4&lt;/code&gt;.&lt;/p&gt;
&lt;div class='spip_document_106 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;50&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.preprod.teddypayet.com/IMG/png/tutoriel-creationskel2012.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.preprod.teddypayet.com/local/cache-vignettes/L500xH903/tutoriel-creationskel2012-5a567.png?1725404043' width='500' height='903' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;Grille 960.gs appliqu&#233;e &#224; ma nouvelle interface.
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Mise en place des gabarits.&lt;/h2&gt;
&lt;p&gt;En plus de ma grille 960.gs, mon squelette est bas&#233; sur la structure &#171; &lt;a href=&#034;http://www.spip-contrib.net/Le-Squelette-Zpip-dist&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Z&lt;/a&gt; &#187; et le plugin &lt;a href=&#034;http://www.spip-contrib.net/Compositions-2-0&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Compositions&lt;/a&gt;. Je recr&#233;e de ce fait les r&#233;pertoires de base de ma structure :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; contenu&lt;/li&gt;&lt;li&gt; extra&lt;/li&gt;&lt;li&gt; head&lt;/li&gt;&lt;li&gt; images&lt;/li&gt;&lt;li&gt; inclure&lt;/li&gt;&lt;li&gt; lang&lt;/li&gt;&lt;li&gt; navigation&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Selon mes besoins, je copierai les fichiers html que je dois modifier de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;z-dist_v1/&lt;/code&gt; &#224; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;squelettes/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Premier &#233;l&#233;ment : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;head.html&lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Head.html&lt;/h2&gt;
&lt;p&gt;Il faut que SPIP arrive &#224; retrouver les fichiers de 960.gs. Je copie les fichiers &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;960.css&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;reset.css&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;text.css&lt;/code&gt; &#224; la racine de mon dossier squelettes.&lt;br class='manualbr' /&gt;Dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;inclure/head.html&lt;/code&gt;, je copie ce code juste avant tous les appels des fichiers css pr&#233;sent dans ce fichier :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='11' class='spip_cadre spip_cadre_block' dir='ltr'&gt;[ (#REM) Feuille de style du framework 960.gs ] &lt;link rel=&#034;stylesheet&#034; href=&#034;[(#CHEMIN{reset.css}|direction_css)]&#034; type=&#034;text/css&#034; media=&#034;all&#034; /&gt; &lt;link rel=&#034;stylesheet&#034; href=&#034;[(#CHEMIN{text.css}|direction_css)]&#034; type=&#034;text/css&#034; media=&#034;all&#034; /&gt; &lt;link rel=&#034;stylesheet&#034; href=&#034;[(#CHEMIN{960.css}|direction_css)]&#034; type=&#034;text/css&#034; media=&#034;all&#034; /&gt;&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Body.html&lt;/h2&gt;
&lt;p&gt;Mon design n'utilise pas de zone &#171; extra &#187; de base. En tout cas, pas sur la page &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;contenu/page-sommaire.html&lt;/code&gt;. L'appel aux extras se fera dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;contenu/type.html&lt;/code&gt; (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;article.html&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;breve.html&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mot.html&lt;/code&gt;, etc.)&lt;/p&gt;
&lt;p&gt;En voici le code source spipien :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='54' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;div id=&#034;page&#034;&gt; &lt;div id=&#034;culotte&#034; class=&#034;wrapper&#034;&gt; &lt;div class=&#034;container_16 clearfix&#034;&gt; &lt;div class=&#034;grid_4&#034;&gt; &lt;div id=&#034;entete&#034;&gt; &lt;INCLURE{fond=inclure/entete,env} /&gt; &lt;div class=&#034;clear&#034;&gt;&lt;img src=&#034;#CHEMIN{css/images/spacer.gif}&#034; width=&#034;1&#034; height=&#034;1&#034; alt=&#034; &#034; /&gt;&lt;/div&gt; &lt;/div&gt; &lt;div id=&#034;nav&#034;&gt; &lt;INCLURE{fond=inclure/barre-nav,env} /&gt; &lt;div class=&#034;clear&#034;&gt;&lt;img src=&#034;#CHEMIN{css/images/spacer.gif}&#034; width=&#034;1&#034; height=&#034;1&#034; alt=&#034; &#034; /&gt;&lt;/div&gt; &lt;/div&gt; &lt;div class=&#034;clear&#034;&gt;&lt;img src=&#034;#CHEMIN{css/images/spacer.gif}&#034; width=&#034;1&#034; height=&#034;1&#034; alt=&#034; &#034; /&gt;&lt;/div&gt; &lt;/div&gt; &lt;div class=&#034;grid_12&#034;&gt; &lt;div id=&#034;bouton&#034; class=&#034;grid_8 prefix_4 omega&#034;&gt; &lt;INCLURE{fond=inclure/navigation-secondaire,env} /&gt; &lt;div class=&#034;clear&#034;&gt;&lt;img src=&#034;#CHEMIN{css/images/spacer.gif}&#034; width=&#034;1&#034; height=&#034;1&#034; alt=&#034; &#034; /&gt;&lt;/div&gt; &lt;/div&gt; &lt;div id=&#034;contenu&#034;&gt; &lt;INCLURE{fond=contenu/#ENV{type},env} /&gt; &lt;/div&gt; &lt;div class=&#034;clear&#034;&gt;&lt;img src=&#034;#CHEMIN{css/images/spacer.gif}&#034; width=&#034;1&#034; height=&#034;1&#034; alt=&#034; &#034; /&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div id=&#034;pied&#034;&gt; &lt;div class=&#034;wrapper&#034;&gt; &lt;div class=&#034;container_16&#034;&gt; &lt;INCLURE{fond=inclure/pied,env} /&gt; &lt;div class=&#034;clear&#034;&gt;&lt;img src=&#034;#CHEMIN{css/images/spacer.gif}&#034; width=&#034;1&#034; height=&#034;1&#034; alt=&#034; &#034; /&gt;&lt;/div&gt; &lt;/div&gt;&lt;!-- fin container_16 --&gt; &lt;/div&gt;&lt;!-- fin wrapper--&gt; &lt;/div&gt; &lt;/div&gt;&lt;/textarea&gt;&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;&lt;strong&gt;&#192; noter :&lt;/strong&gt; la zone de contenu est dans un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grid_12&lt;/code&gt;. De ce fait, si nous utilisons des &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grid_X&lt;/code&gt; dans cette zone, nous devrons attribuer des &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;alpha&lt;/code&gt; et/ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;omega&lt;/code&gt; selon la position en premier ou dernier dans la colonne. Cela a pour effet d'enlever les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;margin-left&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;margin-right&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J'ai gard&#233; le m&#234;me principe d'INCLURE pour mes besoins sp&#233;cifiques : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;inclure/navigation-secondaire&lt;/code&gt;&lt;br class='manualbr' /&gt;Ce dernier fait appel &#224; ma petite barre de navigation contenant : le lien vers la page d'accueil, lien vers mon CV, lien vers mes informations g&#233;n&#233;rales telles que les conditions g&#233;n&#233;rales, la page de contact et enfin ma barre de recherche.&lt;/p&gt;
&lt;p&gt;Jusque l&#224;, rien de bien &#171; difficile &#187;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Le contenu&lt;/h2&gt;
&lt;p&gt;En tout premier lieu, on va commencer par &#233;diter le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;contenu/page-sommaire.html&lt;/code&gt;. Il est la vitrine du site, et conditionnera les autres pages. Ses lignes de codes sont tr&#232;s simple :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='15' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;B_articles&gt; &lt;div class=&#034;liste articles&#034;&gt; #ANCRE_PAGINATION &lt;ul class=&#034;liste-items&#034;&gt; &lt;BOUCLE_articles(ARTICLES){id_secteur=1} {!par date} {pagination 9}&gt;[(#SET{position,[(#COMPTEUR_BOUCLE|alterner{' alpha','',' omega'})]})] #INCLURE{fond=inclure/article-resume-rubrique,id_article,position=#GET{position},grille=grid_4} &lt;/BOUCLE_articles&gt; &lt;/ul&gt; [&lt;p class=&#034;pagination&#034;&gt;(#PAGINATION{precedent_suivant})&lt;/p&gt;] &lt;/div&gt; &lt;/B_articles&gt;&lt;/textarea&gt;
&lt;p&gt;Rien de plus.&lt;/p&gt;
&lt;p&gt;La subtilit&#233; vient de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;inclure/article-resume-rubrique.html&lt;/code&gt;. Vous pouvez voir des param&#232;tres particuliers qui vont me servir selon la page :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='35' class='spip_cadre spip_cadre_block' dir='ltr'&gt;[(#SET{imglargeur, [(#ENV{imglargeur}|sinon{220})]})] [(#SET{imghauteur, [(#ENV{imghauteur}|sinon{220})]})] &lt;BOUCLE_articles(ARTICLES) {id_article} {statut?}&gt; &lt;li class=&#034;item hentry[ (#ENV{grille})][ (#ENV{position})]&#034; id=&#034;art#ID_ARTICLE&#034;&gt; &lt;div class=&#034;bordure fdblanc arrondi&#034;&gt;[(#SET{alt, [(#TITRE|attribut_html)]})] &lt;div class=&#034;logo&#034;&gt;&lt;a href=&#034;#URL_ARTICLE&#034;&gt;&lt;BOUCLE_documents(DOCUMENTS) {id_article}{par date,id_document}{extension IN jpg,gif,bmp,png}{0,1}&gt;[(#LOGO_DOCUMENT**|image_passe_partout{[(#GET{imglargeur})],[(#GET{imghauteur})]}|image_recadre{[(#GET{imglargeur})],[(#GET{imghauteur})],top}|inserer_attribut{'class','spip_logos'}|inserer_attribut{'alt',#GET{alt}})]&lt;/BOUCLE_documents&gt;&lt;/B_documents&gt;[(#LOGO_ARTICLE_NORMAL||image_passe_partout{[(#GET{imglargeur})],[(#GET{imghauteur})]}|image_recadre{[(#GET{imglargeur})],[(#GET{imghauteur})],top}|inserer_attribut{'class','spip_logos'}|inserer_attribut{'alt',#GET{alt}})]&lt;//B_documents&gt;&lt;/a&gt;&lt;/div&gt; &lt;div class=&#034;titre&#034;&gt;&lt;a href=&#034;#URL_ARTICLE&#034;&gt;[(#TITRE)]&lt;/a&gt;&lt;/div&gt; &lt;div class=&#034;info-publi&#034;&gt;[&lt;abbr class=&#034;published&#034; title=&#034;[(#DATE|date_iso)]&#034;&gt;(#DATE|nom_mois)[ (#DATE|annee)]&lt;/abbr&gt;]&lt;/div&gt; [&lt;div class=&#034;[(#EDIT{intro})] introduction entry-content&#034;&gt;(#INTRODUCTION|couper{150}|replace{' :',' :'})&lt;/div&gt;] &lt;div class=&#034;lire-la-suite&#034;&gt;&lt;a class=&#034;lire-la-suite&#034; href=&#034;#URL_ARTICLE&#034;&gt;&lt;:zpip:lire_la_suite:&gt;&lt;/a&gt;&lt;/div&gt; &lt;/div&gt; &lt;/li&gt; &lt;/BOUCLE_articles&gt;&lt;/textarea&gt;
&lt;p&gt;Il y a 2 &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SET&lt;/code&gt; importants. Ils d&#233;terminent la largeur et la hauteur de mes vignettes.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SET&lt;/code&gt; : il est configur&#233; gr&#226;ce aux param&#232;tres &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;imglargeur&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;imghauteur&lt;/code&gt;. On y met une valeur de s&#233;curit&#233; si l'un des param&#232;tres n'est pas renseign&#233;.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[ (#ENV{grille})]&lt;/code&gt; : renseigne sur quelle grille va s'adapter mon bloc.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[ (#ENV{position}]&lt;/code&gt; : renseigne tour &#224; tour si je suis en d&#233;but de colonne ou en fin de colonne (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;alpha&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;omega&lt;/code&gt; ou rien&#8230;). Je le conditionne dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;contenu/page-sommaire.html&lt;/code&gt; avec un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#COMPTEUR_BOUCLE|alterner{&#8230;}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;image_passe_partout&lt;/code&gt; : mon filtre pr&#233;f&#233;r&#233; pour les images, coupl&#233; &#224; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;image_recadre&lt;/code&gt;. Dans ces 2 filtres, j'applique ma largeur et ma hauteur d&#233;termin&#233;es par les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SET&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Voil&#224; ! Le site est pr&#234;t !&lt;/strong&gt; Si si, je vous jure ! On a fait le plus dure. Le reste n'est que la d&#233;clinaison de ce m&#234;me principe&#8230;&lt;br class='manualbr' /&gt;Pour chaque rubrique, ou presque, j'ai un gabarit sp&#233;cifique que j'applique gr&#226;ce au plugin &lt;i&gt;Compositions&lt;/i&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;D&#233;clinaisons&lt;/h2&gt;
&lt;p&gt;Pour ma rubrique &lt;a href='https://www.preprod.teddypayet.com/Savoir-faire' class=&#034;spip_in&#034;&gt;Savoir-faire&lt;/a&gt;, j'ai un squelette d&#233;di&#233; : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;contenu/rubrique-services.html&lt;/code&gt;.&lt;br class='manualbr' /&gt;C'est le meilleur exemple pour la r&#233;utilisation de mon mod&#232;le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;inclure/article-resume-rubrique.html&lt;/code&gt;. &lt;i&gt;Bon&#8230; J'avoue, je l'ai un peu modifi&#233; en r&#233;el car je n'ai pas besoin de la date ni m&#234;me de l'auteur sur ces pages. Un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;display:none&lt;/code&gt; ne me suffisait pas&#8230;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Donc, dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;contenu/rubrique-services.html&lt;/code&gt;, j'ai fait une boucle pour chaque sous rubrique pour les afficher diff&#233;remment. &lt;i&gt;Rien de complexe de ce fait, je ne l'illustre pas car un basique en boucle SPIP.&lt;/i&gt; Ma premi&#232;re boucle utilise cette inclusion :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='7' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;BOUCLE_articlesinternet(ARTICLES){id_rubrique} {!par date}&gt;[(#SET{position,[(#COMPTEUR_BOUCLE|alterner{' alpha',' omega'})]})] #INCLURE{fond=inclure/article-resume-rubrique,id_article,position=#GET{position},grille=grid_6,imglargeur=340,imghauteur=220} &lt;/BOUCLE_articlesinternet&gt;&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Explications :&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#GET{position}&lt;/code&gt; : &#231;a n'a pas chang&#233; de sa premi&#232;re utilisation. &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[(#COMPTEUR_BOUCLE|alterner{' alpha',' omega'})]&lt;/code&gt; d&#233;fini la position de mon bloc ;&lt;/li&gt;&lt;li&gt; Le param&#232;tre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grille&lt;/code&gt; : je nomme express&#233;ment ma grille &#224; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grid_6&lt;/code&gt; pour que je sois &#224; l'affichage sur &#034;2 colonnes&#034; ;&lt;/li&gt;&lt;li&gt; Le param&#232;tre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;imglargeur&lt;/code&gt; : je donne la largeur &#224; laquelle mon logo sera redimensionn&#233;, 340 px qui correspondent &#224; la largeur d'un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grid_6&lt;/code&gt; ;&lt;/li&gt;&lt;li&gt; Le param&#232;tre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;imghauteur&lt;/code&gt; : je donne la hauteur &#224; laquelle mon logo sera redimensionn&#233;, 220 px ;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Vous pouvez v&#233;rifier ce que &#231;a donne &lt;a href='https://www.preprod.teddypayet.com/Savoir-faire#internet' class=&#034;spip_in&#034;&gt;ici&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le deuxi&#232;me appel&lt;/strong&gt;&lt;br class='manualbr' /&gt;Pour ma 2&#232;me sous-rubrique, je fais l'appel ainsi :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='6' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;BOUCLE_articlesdesign(ARTICLES){id_rubrique} {!par date}&gt;[(#SET{position,[(#COMPTEUR_BOUCLE|alterner{' alpha','',' omega'})]})] #INCLURE{fond=inclure/article-resume-rubrique,id_article,position=#GET{position},grille=grid_4} &lt;/BOUCLE_articlesdesign&gt;&lt;/textarea&gt;
&lt;p&gt;L&#224;, pas de changement existentiel. On est sur 3 colonnes, soit des &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grid_4&lt;/code&gt;. Pas la peine de renseigner la largeur et la hauteur de ma vignette car les nombres par d&#233;faut me conviennent sur cette grille.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Et enfin&#8230;&lt;/strong&gt;&lt;br class='manualbr' /&gt;Je fais un 3&#232;me et dernier appel &#224; cet inclure pour les articles de ma rubrique (et plus ses sous-rubriques) :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='5' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;BOUCLE_articles(ARTICLES){id_rubrique} {!par date}&gt; #INCLURE{fond=inclure/article-resume-rubrique,id_article,position=&#034;alpha omega&#034;,grille=&#034;grid_10 prefix_1 suffix_1&#034;,imglargeur=580} &lt;/BOUCLE_articles&gt;&lt;/textarea&gt;
&lt;p&gt;Le but de cet appel est d'afficher sur une plus grande largeur les articles de la rubrique. On est sur un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grid_10&lt;/code&gt;. Je lui rajoute un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;prefix_1&lt;/code&gt; et un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;suffix_1&lt;/code&gt; pour que la colonne soit centr&#233;e dans ma zone de contenu.&lt;br class='manualbr' /&gt;La position est en &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;alpha&lt;/code&gt; ET &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;omega&lt;/code&gt; car 10+1+1=12. Les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;margin-left&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;margin-right&lt;/code&gt; sont alors superflus.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Vous pouvez voir que ce n'est pas compliqu&#233; de r&#233;aliser un squelette pour SPIP sur les mod&#232;les :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Z-dist ;&lt;/li&gt;&lt;li&gt; Compositions ;&lt;/li&gt;&lt;li&gt; et enfin 960.gs.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Pour pousser l'exemple, un autre article sera publi&#233; dans peu de temps sur les quelques param&#232;tres &#224; modifier pour en faire un squelette d&#233;di&#233; aux smartphones. Cette d&#233;clinaison m'a pris 1 heure de mon temps maximum.&lt;/p&gt;
&lt;p&gt;Le tout est de bien pens&#233; &#224; votre squelette, comment vous simplifier la t&#226;che par la suite. C'est le conseil que je peux vous donner.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;h2 class=&#034;spip&#034;&gt;Pour aller plus loin&lt;/h2&gt;
&lt;p&gt;Voici quelques lectures suppl&#233;mentaires :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;i&gt;image_passe_partout :&lt;/i&gt; &lt;a href=&#034;http://www.spip.net/fr_article4562.html&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://www.spip.net/fr_article4562.html&lt;/a&gt; ;&lt;/li&gt;&lt;li&gt; &lt;i&gt;image_recadre :&lt;/i&gt; : dans le paragraphe &#034;Recadrer une image&#034; &lt;a href=&#034;http://www.spip.net/fr_article3327.html&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://www.spip.net/fr_article3327.html&lt;/a&gt; ;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.spip-contrib.net/Zpip-et-la-creation-rapide-de-pages&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Zpip et la cr&#233;ation rapide de pages&lt;/a&gt; ;&lt;/li&gt;&lt;li&gt; 960.gs : &lt;a href=&#034;http://960.gs&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;le site officiel&lt;/a&gt; ;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Nouvelle syntaxe de #LOGO_XX en spip 2.x</title>
		<link>https://www.preprod.teddypayet.com/Nouvelle-syntaxe-de-LOGO_XX-en-spip-2-x</link>
		<guid isPermaLink="true">https://www.preprod.teddypayet.com/Nouvelle-syntaxe-de-LOGO_XX-en-spip-2-x</guid>
		<dc:date>2009-12-09T13:41:33Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Teddy Payet</dc:creator>


		<dc:subject>SPIP</dc:subject>
		<dc:subject>Boucle DOCUMENTS</dc:subject>

		<description>
&lt;p&gt;Suite &#224; une discussion sur IRC, il est apparu que #LOGO_XX a &#233;t&#233; modifi&#233; depuis spip 2. Il est maintenant plus obligatoire de mettre un double pipe (||) pour appliquer un filtre image. &lt;br class='autobr' /&gt;
Se r&#233;f&#233;rer &#224; changeset du trac : &lt;br class='autobr' /&gt; La balise #LOGO_ARTICLE et consorts rentrent dans le moule commun. Les faux filtres |fichier et |lien sont remplac&#233;s respectivement par l'&#233;criture #LOGO_ARTICLE** et #LOGO_ARTICLE*. Les faux filtres de positionnement (top,left,right,center,bottom) et les balises #URL_xxx (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.preprod.teddypayet.com/Blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.preprod.teddypayet.com/SPIP" rel="tag"&gt;SPIP&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Boucle-DOCUMENTS" rel="tag"&gt;Boucle DOCUMENTS&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Suite &#224; une discussion sur IRC, il est apparu que &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_XX&lt;/code&gt; a &#233;t&#233; modifi&#233; depuis spip 2.&lt;br class='manualbr' /&gt;Il est maintenant plus obligatoire de mettre un double pipe (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;||&lt;/code&gt;) pour appliquer un filtre image.&lt;/p&gt;
&lt;p&gt;Se r&#233;f&#233;rer &#224; changeset du trac :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://trac.rezo.net/trac/spip/changeset/13550&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://trac.rezo.net/trac/spip/chan...&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; &lt;a href=&#034;http://trac.rezo.net/trac/spip/changeset/14074&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://trac.rezo.net/trac/spip/chan...&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; &lt;a href=&#034;http://trac.rezo.net/trac/spip/changeset/14175&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://trac.rezo.net/trac/spip/chan...&lt;/a&gt;&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;
La balise &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_ARTICLE&lt;/code&gt; et consorts rentrent dans le moule commun. Les faux filtres |fichier et |lien sont remplac&#233;s respectivement par l'&#233;criture &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_ARTICLE**&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_ARTICLE*&lt;/code&gt;. Les faux filtres de positionnement (top,left,right,center,bottom) et les balises &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#URL_xxx&lt;/code&gt; en position de filtres sont &#224; pr&#233;sent &#224; &#233;crire comme argument de la balise, l'&#233;criture &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_ARTICLE|left&lt;/code&gt; est donc remplac&#233;e par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_ARTICLE{left}&lt;/code&gt; et l'&#233;criture &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_ARTICLE|#URL_AUTEUR&lt;/code&gt; est donc remplac&#233;e par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_ARTICLE{#URL_AUTEUR}&lt;/code&gt;. Ces deux &#233;critures peuvent se combiner entre elles et avec les deux nombres donnant les dimensions, comme dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_DOCUMENT{#URL_ARTICLE,bottom,60,80}&lt;/code&gt; , l'ordre des 4 param&#232;tres &#233;tant libre. Avec tout &#231;a, il n'est plus n&#233;cessaire d'&#233;crire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;||&lt;/code&gt; pour stipuler que les filtres normaux commencent.&lt;/p&gt;
&lt;p&gt;Les anciennes &#233;critures restent comprises mais doivent &#234;tre consid&#233;r&#233;es comme obsol&#232;tes. Une &#233;criture th&#233;oriquement possible mais vraisemblablement pas utilis&#233;e est n&#233;anmoins totalement exclue &#224; pr&#233;sent (savoir &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_ARTICLE|f&lt;/code&gt; o&#249; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;f&lt;/code&gt; ne contiendrait pas le caract&#232;re # mais donnerait on ne sait comment une URL).&lt;/p&gt;
&lt;p&gt;Test (en plus de squelette-dist, remis d'&#233;querre) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='prettyprint linenums langage-html spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;BOUCLE_doc(DOCUMENTS){id_article}&gt; [(#LOGO_DOCUMENT{43,left,66})] LOGO_DOCUMENT{# URL_ARTICLE,77,bottom,67} [(#LOGO_DOCUMENT{#URL_ARTICLEbottom,77,67})] &lt;br&gt; LOGO_DOCUMENT** [(#LOGO_DOCUMENT**)] &lt;br&gt; LOGO_DOCUMENT|lien [(#LOGO_DOCUMENT|lien)] &lt;br&gt; LOGO_DOCUMENT* [(#LOGO_DOCUMENT*)] &lt;br&gt; LOGO_DOCUMENT{12,13}trim{f}} [(#LOGO_DOCUMENT{12,13}trim{f})] &lt;br&gt; LOGO_DOCUMENT{left,bottom,right} [(#LOGO_DOCUMENT{left,bottom,right})] &lt;/BOUCLE_doc&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
