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.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 GIF transparent, alors c’est le PNG 24 qui récupérera sa transparence.
— Si l’image est en JPEG, alors on obtient un PNG 24 sans niveau de transparence.
— Si l’image est en PNG, l’opération la laissera inchangée.
Le filtre dont nous avons besoin est : image_alpha{0}. Ce filtre modifie la transparence de l’image : avec la valeur 0 on ne modifie pas la transparence ; avec 63 on passe en transparence à 50% ; avec 127 on rend l’image complètement transparente. On l’utilisera ainsi :
pour éventuellement démarrer une chaîne de traitements :
Attention ! Les images PNG sont notoirement plus lourdes que les fichiers JPEG. Par ailleurs, les traitements sur de grosses images peuvent ne pas être possibles sur un hébergeur mutualisé : soit parce que l’opération prendra trop de temps pour être terminée, soit parce qu’on dépassera le quota de mémoire attribué à PHP. Selon les besoins, prévoir de d’abord appliquer des filtres de réduction de la taille de l’image avant de tout passer en PNG.
Puisque la réduction de taille, si elle se fait en JPEG, provoquera une première « destruction » d’informations (compression JPEG), on peut préférer réduire à une taille supérieure à la taille finale, appliquer le filtre image_alpha{0} pour forcer le passage en PNG, en ensuite seulement on opérera une seconde réduction.
dans un désir un peu différent j’aimerais associé le logo d’une rubrique avec son titre pour créer automatiquement sur certaine page une image png associant les deux (est-ce clair ce que je dis ????)