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
L'irruption d'une contradiction traduit la résistance du réel à la logique.  (Edgar Morin )
La réflexion du jour
L'intelligence n'est pas le propre de l'homme puisque beaucoup d'animaux en font preuve.
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
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
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, (...)

4 mars 2019 – Fin de Spip3.0

Le support et la maintenance de SPIP 3.0 prendront fin le 30 juin 2019. Il n’y aura plus de mise à jour pour cette version, ni corrections de bugs (...)