Vous trouverez ici des trucs et astuces destinés aux développeurs de sites sous SPIP.
La majorité de ces trucs est consacrée aux filtres graphiques introduits dans SPIP 1.9. Il y a là en effet un vaste champ d’expérimentation pour les webmestres et les graphistes.
Chaque truc est suivi d’un forum auquel nous vous invitons à participer.
N.B. La présence de ces trucs et astuces sur notre site professionnel est destinée à faire connaître notre activité de création de sites sous SPIP. Vous pouvez librement utiliser les morceaux de code fournis ici dans vos propres squelettes. Vous pouvez reprendre ces exemples sur votre site ou dans les forums d’un autre site ; dans ce cas, nous vous demandons simplement d’avoir la courtoisie de référencer la page d’où est tiré le code repris.
[SPIP 1.8] La technique du timbre, telle que nous l’avons exposée précédemment, fonctionne très bien à la condition que toutes les images ainsi manipulées soient en format « paysage », c’est-à-dire plus larges que hautes. En effet, notre « timbre-masque » étant lui-même plus large que haut, si on découpe une image ayant des proportions très différentes, on risque des découpes désastreuses.
La technique suivante consiste à déterminer, directement avec une boucle SPIP (c’est-à-dire sans ajouter de code PHP), si une image est verticale ou horizontale (portait ou paysage).
Commençons par une boucle qui affichera des informations sur les images jointes à un article :
Nous avons donc des valeurs SPIP, #LARGEUR et #HAUTEUR, qui affichent les dimensions d’une image.
Avec le nouveau moteur de la version 1.8, il est possible d’utiliser ces balises SPIP comme critères de sélection des boucles.
Nous allons donc, à l’intérieur de notre BOUCLE_doc, ajouter une boucle de contrôle, c’est-à-dire une boucle qui affiche l’élément déjà sélectionné, en ajoutant un critère supplémentaire.
La premier argument de cette nouvelle boucle, {id_document}, sélectionne le document qui est déjà sélectionné. Le second argument, {largeur>#HAUTEUR}, permet de dire :
— nous voulons le document actuel,
— nous voulons ce document s’il a une largeur supérieure à la #HAUTEUR de la boucle précédente ; or, la #HAUTEUR de la boucle dans laquelle nous nous trouvons, c’est déjà celle du document !
La partie alternative de la boucle signifie que, si la largeur n’est pas supérieure à la #HAUTEUR, alors nous affichons un autre texte.
IMG/jpg/DSC02185_1.jpg - largeur : 600 - hauteur : 900
Plus haut que large
IMG/jpg/DSC00399.jpg - largeur : 900 - hauteur : 676
Plus large que haut
IMG/jpg/DSC02139_1.jpg - largeur : 900 - hauteur : 675
Plus large que haut
Cette technique peut se révéler utile pour gérer des différences subtiles d’habillage selon les dimensions de logos ou d’images de portfolio.
Dans notre cas, nous allons simplement l’appliquer à notre technique du timbre. À partir d’ici, il faut SPIP 1.9 et GD2.
En plus de notre masque timbre-horizontal.png, nous ajoutons un autre masque, vertical (portrait), timbre-vertical.png.
timbre-horizontal.png
(Si vous utilisez ce fichier, pensez à le renommer.)
timbre-vertical.png
Et réunissons les deux techniques :
Le résultat est alors :
Septembre 2006
Timbre en portrait ou en paysage
Jnelk (jnelkaston chez yahoo.fr)
Bonjour,
bravo pour ce site d’une grande richesse et doté, chose rare, d’une immense pédagogie.
Dans mon cas, le timbre horizontal fonctionne parfaitement mais le timbre vertical est moins réussi : j’ai l’impression que mon image (qui est bien un portrait) vient se caler complètement en bas à droite du masque (image_masque timbre-vertical.png - sans rotation ni réduction) et cache alors les nervures du bas et de droite...