Incrustation d’objets

Dans certains cas, vous pouvez avoir besoin d’insérer dans les pages de votre site web des éléments qui ne peuvent pas être gérés par SPIP. Exemple : vous générez des graphiques ou des cartes dynamiques à partir de votre base de données qui se mettent à jour automatiquement à fréquence régulière.

Une solution est prévue dans le kit pour insérer ce type d’éléments complexes, à la condition qu’ils soient générés et stockés sur une autre machine propre au laboratoire ou au projet. Si vous ne pouvez pas stocker vos éléments, veuillez contacter le Centre de données OSUG.

L’incrustation des éléments se fait directement dans le corps d’un article ou d’une rubrique à l’aide d’une balise particulière <incrustation_html|parametre=valeur|parametre=valeur> dans laquelle les différents paramètres à définir vont déterminer l’élément à incruster et le format.

Remarque : il n’est pas possible d’incruster des fichiers PHP et soyez vigilant en cas d’incrustation de site externe (voir les recommandations en bas de page).

 

Il est possible de déterminer l’élément à incruster en indiquant une url :

paramètredescription
url url complète d’un fichier HTML que l’on veut incruster
Résultat : <incrustation_html|url=http://exemple.url.fr>

 

ou en indiquant les paramètres serveur/ip_serveur et le chemin :

paramètredescription
serveur nom du serveur ou un nom de domaine que l’on veut atteindre
ip_serveur l’adresse IP du serveur que l’on veut atteindre
chemin chemin absolu du fichier HTML auquel on veut accéder
Résultat : <incrustation_html|ip_serveur=127.0.0.1 |chemin=/test/test.html>

Conseil :
Evitez d’insérer des espaces dans le chemin du fichier ou dans le nom ou l’adresse IP du serveur : le modèle ne trouvera alors pas le fichier recherché. Pour que le fichier s’affiche correctement une fois inséré grâce au modèle d’incrustation, veillez à ce que tous les chemins indiqués dans ce fichier soient absolus (à partir de la racine du serveur), et non relatifs. Cela vaut par exemple pour les adresses des images incluses dans la page ou des éventuels fichiers CSS.
Exemple : Vous avez une image dans le même répertoire que le fichier HTML que vous voulez insérer. Si vous l’appelez de cette façon : href =‘mon_image.png’ l’image ne s’affichera pas. Pour qu’elle s’affiche il faudrait écrire : href=‘/repertoire/repertoire_courant /mon_image.png.

 

Deux paramètres optionnels sont également prévus :

paramètredescription
hauteur hauteur (en pixels) que doit faire votre page à l’intérieur de l’article. Par défaut, cette hauteur vaut 500 pixels : si votre page et plus longue, une barre de défilement apparait pour permettre de faire défiler son contenu.
Ce paramètre est certe optionnel mais il est indispensable pour un résultat optimal dans le cas de l’incrustation d’un fichier html (Cf paragraphe ci-dessous)
cache durée (en secondes) pendant laquelle la page doit être stockée en cache. Une fois cette durée écoulée, au prochain affichage de la page tous les calculs seront ré-effectués par le serveur. Par défaut, cette valeur est de 3600 secondes (1 heure). Évitez de mettre une valeur trop basse : le fait d’aller chercher un fichier sur un serveur distant prends du temps, et l’affichage de la page lorsqu’elle n’est pas en cache est donc plus long que pour un article normal. Mettre une valeur élevée permet de garder la page en cache plus longtemps, et donc d’éviter d’avoir un chargement trop long à chaque affichage.
Résultat : <incrustation_html|ip_serveur=127.0.0.1|chemin=/test/test.html|hauteur=1050|cache=2000>

Conseils :

  • Dans le cas d’une image :
    Il n’est pas nécessaire de spécifier la hauteur. L’image s’adaptera à la largeur de la page (750px) en gardant sa proportionnalité. Veillez donc à ne pas incruster des images trop petites car la qualité d’affichage serait alors mauvaise.
  • Dans le cas d’un fichier html :
    Le contenu du fichier s’affichera dans une fenêtre de 750px par 150px. Si les dimensions de la page à incruster sont supérieures, des barre de défilement horizontales et verticales apparaitrons.
    Grâce au paramètre "hauteur" vous pouvez choisir la hauteur de cette fenêtre.
    Pour des raisons de lisibilité, évitez d’insérer des fichiers HTML qui contiennent une page entière, avec l’entête, le menu etc… Cela alourdirait le visuel de l’article. Dans la mesure du possible, préférez des fichiers HTML qui contiennent uniquement le corps de votre page, ou éventuellement moins.

Attention, l’imbrication de page ou deep-linking d’un site dont vous n’êtes pas propriétaire est formellement interdit. Si vous souhaitez faire référence à une url dont vous n’êtes pas propriétaire, nous vous invitons à recourir à des liens externes.
Il suffit pour cela d’ajouter l’attribut HTML target avec la valeur _blank, de cette façon : <a href="page.html" target="_blank">Intitulé du lien</a>

Mis à jour le 19 février 2018