[SPIP 1.9 et GD2] Voici un filtre technique qui, dans son usage le plus immédiat, ne provoque aucun effet graphique : il se contente de supprimer la transparence d’une image et de sauvegarder l’image dans un format déterminé.
Nous en aurons certainement une utilité nettement plus créative par la suite, mais pour l’instant, contentons-nous de l’utiliser pour aplatir une image et, surtout, la convertir dans un certain format graphique.
Notez bien : ce filtre est désormais inclus en standard dans SPIP (...)
[SPIP 1.9 et GD2] Nous avons déjà réalisé des filtres manipulant la couche alpha (les informations de transparence d’une image PNG 24) :
image_contour_alpha « sélectionne » les zones de transition de transparence et leur applique une couleur (on « dessine » ainsi les zones entre les pixels visibles et les pixels transparents d’une image d’origine) ;
image_podpod créé des zones différenciées de transparence à partir d’une image qui n’a pas forcément de couche alpha ;
le filtre d’estampage (...)
[SPIP 1.9 et GD2] Si vous suivez ces trucs et astuces depuis un moment, vous avez pu constater que l’utilisation des filtres graphiques devient réellement impressionnante lorsqu’on combine plusieurs filtres successifs. Dans l’exemple du titre en relief, le code SPIP devient interminable, dès lors que non seulement on applique une série de filtres mais que de plus on « fusionne », avec image_masque, deux images calculées.
Et plus votre maîtrise des filtres graphiques progressera, plus vous aurez des (...)
[SPIP 1.9 et GD2] Après notre filtre de dispersion, voici un nouveau filtre inspiré des effets Photoshop et Gimp : un filtre d’estampage (emboss). Le but de ce filtre est de pouvoir réaliser ce genre de mise en relief :
Afin, comme d’habitude, de nous laisser un maximum de liberté en combinant différents filtres SPIP, notre nouveau filtre aura un effet très spécifique (ou limité), et c’est en utilisant plusieurs filtres successifs que nous obtiendrons le bon résultat.
Voici le code de ce nouveau (...)
[SPIP 1.9 et GD2] On a souvent besoin de faire ressortir les contours entre différentes zones à l’intérieur d’une image : il s’agit notamment de « dessiner » les frontières entre deux couleurs. Notre but est un peu plus modeste aujourd’hui : nous allons dessiner les frontières entre deux zones de niveaux de transparence.
L’utilisation principale est de pouvoir dessiner les contours d’un lettrage réalisé avec image_typo. Comme le filtre travaillera sur les différences de transparence, ces images (...)
[SPIP 1.9 et GD2] Adapté de la bande dessinée de Frank Miller, le film Sin City présente des images lourdement retravaillées en post-production : l’image est entièrement passée dans un noir et blanc très contrasté, à l’exception des zones rouges apparaissent comme des taches colorées au milieu d’une image totalement désaturée.
Voici comment réaliser un effet similaire, automatiquement, avec un filtre de SPIP.
Notre filtre se nomme image_sincity, et voici son code :
function image_sincity($im) $image (...)
[SPIP 1.9 et GD2] Une habitude très utile lorsqu’on construit l’interface graphique d’un site Web consiste à choisir un nombre restreint de couleurs (par exemple, 3 couleurs), ce qui revient à définir une palette de couleurs, et à réaliser le site en n’utilisant que ces couleurs. Cela garantit au site un grande cohérence graphique, même lorsque les contenus et les maquettes sont différentes d’une page à l’autre.
Pour créer et manipuler les couleurs, SPIP 1.9 fournit un ensemble de filtres destinés à (...)
[SPIP 1.9 et GD2] La puissance des effets que l’on peut obtenir en quelques lignes de code avec GD2 ne cesse de m’épater. Si vous avez suivi la présentation de quelques uns des filtres précédents, vous aurez compris que l’essentiel du code des filtres graphiques de SPIP sert à gérer la création et le cache des fichiers graphiques ; les transformations induites par les fitres reposent en général sur une poignée de lignes PHP particulièrement simples.
Dans cette logique, voici un filtre particulièrement (...)
[SPIP 1.8] Voici une technique très simple : nous allons profiter de la possibilité de « joindre » un document « distant » (introduite dans SPIP 1.8) pour intégrer dans un article une vidéo installée sur YouTube.
Il est souvent difficile d’installer de la vidéo sur son propre site : espace disque insuffisant, bande passante limitée. Pour la plupart des gens, installer de la vidéo sur son propre site revient à espérer que personne n’ait l’idée de visiter le site... Plusieurs services permettent désormais (...)
[SPIP 1.9 et GD2] Cet article va vous présenter la création d’un filtre qui convertira les informations de couleurs RVB (Rouge Vert Bleu) en HSV (Hue Saturation Value), avant d’appliquer l’effet désiré. Technique plus fréquente dans les filtres Photoshop que dans un CMS...
Commençons par expliquer notre réalisation graphique : notre filtre va saturer ou désaturer les couleurs d’une image. La luminosité de l’image et le contraste sont inchangés, mais la couleur est « affadie » ; l’effet, utilisé (...)
[SPIP 1.9 et GD2] Vous voulez faire de l’e-art digitalo-conceptuel ? Vous voulez vous marier en direct-live de tous les modems 28,8 bauds de la planète ? Vous voulez requestionner des trucs dans l’optique du machin quelquepart ? Vous voulez toucher des droits d’auteur sans trop vous fouler ? Vous avez toujours rêvé de rencontrer André Santini ?
SPIP va vous aider à réaliser vos rêves (rien que ça).
Au niveau concept, je vous renvoie à mon petit filtre image_podpod ; grâce à lui, nous allons (...)
[SPIP 1.8] Dorian explique sur SPIP-Contrib comment créer des liens « article précédent », « article suivant ».
Mais comment présenter non pas un, mais plusieurs articles précédents et suivants ?
#DATEn-3,3> #TITRE
#TITRE
#TITRE
La boucle meme_rub_avant est très simple, il s’agit simplement de l’extension de ce que faisait Dorian : au lien d’afficher uniquement un seul article, on affiche les trois premiers. La seule difficulté logique est de considérer (...)
[SPIP 1.9 et GD2] À moins de vivre dans une cave, vous ne pouvez pas avoir manqué la nouvelle campagne d’affichage pour le podPod de la marque à la pomme : fond bleu « moucheté », ombres détourées et podPod blanc.
Le présent article va illustrer l’intérêt, notamment pour un graphiste pas trop manchot avec PHP, de créer son propre filtre graphique pour traiter automatiquement les images dans SPIP. Les rédacteurs se contentent d’installer des photographies, et les squelettes fabriquent automatiquement des (...)
[SPIP 1.8] Le filtre reduire_image a été conçu pour réduire les dimensions d’une image selon les dimensions maximales de l’image réduite. L’utilisation principale dans une page Web d’une telle réduction d’image a, en effet, généralement besoin de valeurs maximales :
limiter les dimensions lors d’un affichage, pour éviter qu’une trop grande image fasse exploser la maquette ;
forcer une des dimensions de vignettes alignées, de façon à obtenir un bel alignement (par exemple, si l’on place les vignettes (...)
[SPIP 1.9 et GD2] L’article suivant complète l’article sur l’habillage irrégulier des images. Celui-ci étant déjà relativement lourd, je préfère le compléter par un nouvel article, ce qui me permettra d’insister sur les détails qui ont évolué. Dans tous les cas, avant de lire le présent article, consultez le précédent qui, lui, contient les grands principes de cette méthode (ou bien copiez-collez le code du filtre sans vous demander comme ça fonctionne).
Dans la version précédente, le filtre (...)
[SPIP 1.9 et GD2] Voici un nouveau filtre SPIP qui vous permettra de réaliser un effet que nous attendons depuis des années en HTML (et qui n’est pas prêt d’arriver sous la forme d’un style facile à utiliser), réalisable en bidouillant mais pour lequel il n’existait pas encore d’automatisme (à ma connaissance).
(Attention : cet article est désormais complété par un second article ; les explications qui suivent sont nécessaires à la compréhension de ce nouvel article.)
Le but est de réaliser un (...)
[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.
Par exemple, sur une image verticale, on obtient ceci :
La technique suivante consiste à déterminer, directement avec une (...)
[SPIP 1.9 et GD2] L’astuce qui suit n’a rien de bien compliqué, il s’agit d’une nouvelle variation dans l’utilisation du nouveau filtre image_masque. Nous allons, tout bonnement, placer nos vignettes dans des timbres.
Commençons par réaliser notre « masque » :
Ce fichier (timbre-horizontal.png), que nous installons dans notre dossier de squelettes, est un fichier PNG 24, où la zone grise (gris 50%) au centre laissera l’image d’origine intacte, la zone blanche devra devenir parfaitement blanche, (...)
[SPIP 1.8] SPIP ne permet pas de définir des liens de traduction entre rubriques (seulement entre articles). Or, certains sites ont une structure correspondant exactement à ce besoin, car leur structure multilingue est basée sur une séparation des rubriques par langues.
La méthode suivante permet d’établir assez simplement des liens entre les rubriques, tout en facilitant le classement des rubriques dans la gestion dans l’espace privé.
Principe
Le principe consiste, tout simplement, à numéroter (...)
[SPIP 1.9 et GD2] Voici un effet particulièrement à la mode : le texte et le fond peu contrastés, une légère lueur autour des caractères adoucissant encore la typo. On va dans ce qui suit réaliser l’effet suivant :
Afin de régler notre choix de couleur, et pour avoir une version de notre titre qui fonctionne même sans charger les images, commençons en mode texte.
#TITRE
Voici un style qui approche l’effet recherché, directement en CSS :
body background-color : #eeeeee ; h1 font-size : 50px ; (...)
[SPIP 1.9 et GD2] Vous avez toujours rêvé d’un site sous SPIP avé la moquette sur le volant ? Le pare-soleil Pioneer sur la plage arrière ? La sono qui crache le Mia ? Et la peau de zèbre sur les sièges en skaï ?
Pour la peau de zèbre, lisez ce qui suit...
Il faut tout d’abord réaliser une image typographique de notre titre. Récupérons une police plutôt typée. Pour l’exemple, j’ai récupéré la police African chez 1001freefonts mais, comme souvent avec les polices en freeware, il manque les accents... (...)
Voilà bien le genre d’astuce qui ne va certainement pas servir tous les jours...
Si, pour une raison quelconque, vous ressentez le besoin de créer un comportement (behavior) HTC (pour Microsoft Explorer) en tant que squelette SPIP, c’est tout à fait faisable (puisqu’un fichier « .htc » est essentiellement du Javascript).
Cependant, votre fichier d’appel n’ayant pas une terminaison « .htc » (mais, plus sûrement, « .php »), il n’enverra pas le bon type MIME, et Microsoft Explorer refusera de le faire (...)
[SPIP 1.9 et GD 2] On veut créer et placer une ombre portée derrière une image. Cette image peut être une photographie rectangulaire (JPEG et non transparente), une image détourée (idéalement, un PNG 24 transparent, car placer une image derrière un GIF transparent est toujours risqué), ou encore une image typographique (du texte transformé en image).
Une ombre portée est une duplication de l’image, entièrement noircie, floutée, semi-transparente (une ombre entièrement noire n’est pas jolie, on préfère (...)
[SPIP 1.8] Il est possible de faire afficher des images au format PNG 24 à MSIE, et cela en respectant la transparence (couche alpha). Pour réaliser cela, on applique un comportement (behavior), système propre à Microsoft Explorer, à une feuille de style.
Cela est indispensable, au passage, pour afficher correctement :
les images typographiques,
les images passées par certains filtres graphiques de SPIP qui fabriquent de la transparence en PNG 24,
les fichiers GIF transparents réduits par GD 2 (...)
[SPIP 1.9 et GD 2] On veut transformer des images (documents joints de portfolio, logos...) au format PNG 24. Le but de la manipulation est de pouvoir ensuite appliquer une batterie complète de filtres (redimensionnements, recadrages, rotations, inversions, etc.), sans accumuler les recompressions JPEG (qui sont à chaque fois destructives).
En passant les images, dès le début des opérations, au format PNG, on travaillera tout au long de la chaîne, dans ce format non destructif.
Si l’image est en (...)
[SPIP 1.9 et GD2] On veut recadrer toutes les vignettes de documents (pour la navigation dans un portfolio par exemple), c’est-à-dire en forcer les dimensions.
Le filtre reduire_image permet, en donnant une des valeurs, de forcer toutes les images à une certaine hauteur (idéal pour un alignement horizontal, les vignettes les unes à côté des autres), ou à une certaine largeur (pour un alignement vertical, les vignettes les unes sous les autres). Nous voulons aller plus loin et forcer la hauteur et (...)
Les administrateurs système gérant les comptes sur Apache (VHOST) veulent attribuer le minimum d’autorisations pour les reconfigurations de type htaccess par les utilisateurs hébergés sur ces comptes.
Aurélien Requiem (UNGI) me fait savoir que la configuration minimale de « AllowOverride » permettant de définir les redirections d’adresse (mod_rewrite) est : FileInfo.
Ce qui donne par exemple : AllowOverride FileInfo Order deny,allow Allow from all Options (...)
[SPIP 1.8] On souhaite récupérer la largeur d’une image et l’attribuer à un ... (qui, lui, pourrait contenir un texte descriptif). L’interface s’adapte ainsi à l’image.
Cela peut se coder ainsi, avec le filtre largeur :
...
Plus fréquemment, on veut récupérer la valeur de l’image, une fois celle-ci réduite (avec reduire_image. Le traitement de la partie #LOGO_ARTICLE du code devient :
[(#LOGO_ARTICLE ; reduire_image100,80 ; largeur)]
Voici désormais la petite subtilité de cet article : il est (...)