Technologie de l'information et de la communication
Un peu geek mais surtout un dinosaure, de ceux qui ont soudé les composants de leur première machine, flashé la mémoire et publié dans Hebdogiciel.
La citation du jour
Ceux qui savent ne disent pas et ceux qui disent ne savent pas.  (Michelle Schatzman )
La réflexion du jour
Le surréalisme et l'hyperréalisme ne sont déjà plus des réalismes.
Activités
geek - cycliste - généalogiste - Savoir - lecteur - collectionneur - Philosophe - citoyen - marcheur - scripteur - Photographe - instituteur - enseignant en sciences - enseignant formateur - journaliste local - bénévole
Les mots clés
doc TIC * SPIP * Wikipedia * web & internet * Php * OVH * informatique * Sql * Wamp * Qwant * Firefox * LibreOffice * Thunderbird * FOAD * Buttercup * Mastodon * PeerTube * Chatons * OpenStreetMap * IrfanView * E-learning * Logiciel libre
Lorand

Site personnel de Roland Bouat. Pour les curieux : Lorand est un anagramme de Roland.

Noisette pour SPIP : affichage d’images au hasard

Mots clés : geek , SPIP

jeudi 14 janvier 2016 , par Roland


J’ai créé d’après des articles de la galaxie SPIP   (entre autres Afficher une image aléatoire d’une rubrique) , un fichier à inclure pour afficher en vignette des images choisies aléatoirement sur le site. Cela fonctionne bizarrement. Ce fichier est inclus plusieurs fois sur les pages. Mais... une fois sur deux (à peu près), c’est la même image qui s’affiche sur toute la page.

Voici ma boucle

[(#REM) image au hasard 
    accepte les paramètres 
    - nb_photos pour afficher plusieurs photos l'une au-dessus de l'autre;
    - taille pour... la taille (par défaut = 100)
   ]
    <BOUCLE_docuImg(documents_liens)
             {objet = article}
             {documents.extension IN jpg,png,gif}
             {par hasard}
             {0, #ENV{nb_photos,1}}
    		 >
    	[<a href="#URL_ARTICLE{#ID_OBJET}">
    			(#LOGO_DOCUMENT||image_reduire{#ENV{taille,100}}|inserer_attribut{class,photo})
    	</a>]
    </BOUCLE_docuImg>

Note 1 : au passage j’ai découvert que les balises html alt et title [1] étaient vides (je les ai donc supprimées dans le code ci-dessus). Il faudra que je reprenne ça, en créant une boucle ARTICLE pour récupérer le titre de l’article.

Note 2 : Et puis, c’est pas sérieux de commenter encore avec "<!--", il faut revenir à [(@REM)].

Je n’ai pas compris ni quand ni pourquoi le comportement n’est normal que de temps à autre. J’ai l’impression que lorsque je demande le re-calcul de la page, cela fonctionne correctement.


J’ai lancé un appel sur SPIP  -forum dans le forum "Création de squelettes" et j’ai continué mes recherches en attendant une hypothétique réponse [2].


La boucle citée plus haut fonctionne bien et ce n’est pas elle qui dysfonctionne.

J’ai donc relu les docs sur la gestion du cache, le critère doublons, les balises inclure... Par exemple : <INCLURE> d’autres squelettes

La syntaxe <INCLURE{fond=..}> provoque l’inclusion des pages à chaque visite d’un internaute, que celle-ci concerne une page déjà en cache ou non.

Avec la nouvelle balise [(#INCLURE{fond=...})], l’inclusion est réalisée lors du calcul du squelette, et son résultat est stocké dans le cache de la page appelante.

Parce que j’appelais ma noisette depuis une autre noisette (ouais, je sais, c’est de l’imbrication qui complexifie le système). La page "sommaire" appelle les fichiers à inclure "colonnedroite" et "colonnegauche".

L’utilisation de doublons dans l’appel de l’inclure ne suffit pas à cause de l’inclure utilisé (celui qui commence par <inclure...). Il faut utiliser la balise #INCLURE et le critère doublons en même temps.

[(#INCLURE{fond=inc/bdimages, doublons})]

[1code utilisé : inserer_attribut{alt,#TITRE} et inserer_attribut{title,#URL_ARTICLE}.

[2Réponse qui n’est jamais venue si ce n’est de ma part.


Brèves
19 octobre – Correction des erreurs d’encodage terminée...

... peut-être !
La probabilité que l’encodage se soit emmêlé les pinceaux vient probablement d’une mise à jour de l’ensemble php/Mysql mais également, (...)

1er juin – Les "bizarreries" continuent...

Déjà un mois que je me bagarre avec elles ! Le progrès principal est la probable identification. Il s’agit des mises à jour Apache, MySql, PHP, qui (...)

1er mai – Bizarrerie sur mon site

Depuis que le site a été restauré, il semblerait qu’il y ait eu un bug lors de la restauration, bug ne concernant que certaines informations (dont, (...)