Your IP : 216.73.217.68


Current Path : /home/atelierpru/paris/plugins/auto/metasplus/v2.2.3/inclure/metasplus/
Upload File :
Current File : /home/atelierpru/paris/plugins/auto/metasplus/v2.2.3/inclure/metasplus/dist.html

[(#REM)

	Pour déboguer sur spip.php?page=inclure/metasplus/dist :
	- var_mode=debug pour le débug normal (sql, etc.)
	- debug=oui pour avoir un simple retour texte

][(#ENV{var_mode}|=={debug}|?{#HTTP_HEADER{Content-Type:text/html},#ENV{debug}|?{#HTTP_HEADER{Content-Type:text/plain}}})]
[(#REM)

	Métas+ : ce squelette génère les métas pour Dublin Core, Open Graph et Twitter.

	Il s'agit du squelette par défaut inclus automatiquement dans le <head>, il tente de générer au mieux les informations des pages.

	On peut lui transmettre certaines valeurs à prendre en priorité par rapport à la récupération automatique.

	Il est possible de créer des variantes pour des pages précises : inclure/metasplus/{page}.html
	Plusieurs possibilités pour le contenu des variantes :
	- vide = pas de métas (voir aussi la constante _METASPLUS_PAGES_EXCLUES)
	- inclure ce squelette en ne transmettant *que* les paramètres à modifier
	- inclure inc-dist.html en transmettant *tous* les paramètres
	- tout faire à la main

	Précisions :
		- Sur une page d'objet, on met og-type = article par défaut
		- Sur une page lambda, on omet volontairement le titre et la description puisqu'on ne les connait pas, twitter et facebook se rabattent sur les metas <title> et <description>.

	Format des logos : https://goo.gl/L4StmD
		- Twitter  : taille min 440 x 220
		             taille recommandée 506 x 253
		             taille max 1024 x 512
		             poids max 5 Mo
		             ratio 2:1
		- Facebook : pas de taille min
		             taille recommandée > 600 x 315 ou 1200 x 630 (hidpi)
		             poids max 8 Mo
		             ratio 1.91:1

	Contexte : 
		- type-page
		- objet
		- id_objet
		- id_patate

	Paramètres :
		- debug :      'Oui' quand on débogue le squelette
		               spip.php?page=inclure/metasplus/dist&objet=truc&id_objet=N&debug=oui
		- titre :      Titre de la ressource
		- desc :       Description
		- langue :     Langue au format iso. ex. fr
		- territoire : Complète la langue pour former le duet langue_territoire, ex. UK
			             Si rien n'est renseigné, on tente un lang_LANG
		- date :       Date de publication au format Y-m-d
		- maj :        Date de mise à jour au format Y-m-d
		- url :        URL de la ressource
		- auteurs :    Soit un tableau linéaires
		               Soit des auteurs séparés par des virgules
		- logos :      Soit un tableau de tableaux associatifs avec URL et alt
		               #LISTE{#ARRAY{url,...,alt...},#ARRAY{url,...,alt...}}
		               Soit des URLs séparées par des virgules
		- mots :       Soit un tableau linéaire
		               Soit des mots-clés séparés par des virgules
		- og-type :    (open graph) Type de la ressource : article, profile, book, etc.
		- dc-type :    (dublin core) Type de la ressource : Text, Event, PhysicalObject, etc.

	Paramètres dépréciés :
		- auteur => auteurs
		- logo => logos
		- lang => langue
]

[(#REM)

	=======================================
	1. Récupération automatique des valeurs
	=======================================

]

[(#REM)

	Cas 1 : Page d'un objet éditorial

]
<BOUCLE_objet(CONDITION) {si #ENV{objet}|et{#ENV{id_objet}}}>
#SET{og-type_auto,    article}
#SET{dc-type_auto,    Text}
#SET{titre_auto,      #INFO_TITRE{#ENV{objet},#ENV{id_objet}}|concat{" – ",#NOM_SITE_SPIP}}
#SET{desc_auto,       #INFO_INTRODUCTION{#ENV{objet},#ENV{id_objet}}
	|sinon{#INFO_DESCRIPTIF{#ENV{objet},#ENV{id_objet}}}
	|sinon{#INFO_TEXTE{#ENV{objet},#ENV{id_objet}}}}
#SET{url_auto,        #INFO_URL{#ENV{objet},#ENV{id_objet}}}
#SET{date_auto,       #INFO_DATE{#ENV{objet},#ENV{id_objet}}}
#SET{maj_auto,        #INFO_MAJ{#ENV{objet},#ENV{id_objet}}}
#SET{langue_auto,     #INFO_LANG{#ENV{objet},#ENV{id_objet}}|sinon{#LANG}}
#SET{territoire_auto, ''}

[(#REM) Les auteurs ]
#SET{auteurs_auto,#ARRAY}
<BOUCLE_auteurs_objet(AUTEURS)
	{objet}
	{id_objet}
	{par nom}
	{si #ENV{auteurs}|non}
	{si #CONFIG{metasplus/masquer_auteurs}|non}
>
#SET{auteurs_auto, #GET{auteurs_auto}|push{#NOM}}
</BOUCLE_auteurs_objet>
#SET{auteurs_auto, #NOM_SITE_SPIP}
<//B_auteurs_objet>

[(#REM) Les mots-clés ]
#SET{mots_auto,#ARRAY}
<BOUCLE_mots_objet(MOTS)
	{objet}
	{id_objet}
	{par titre}
	{si #ENV{mots}|non}
>
#SET{mots_auto, #GET{mots_auto}|push{#TITRE}}
</BOUCLE_mots_objet>

[(#REM) Les images : logo de l'objet puis images liées ]
<BOUCLE_logo_objet(CONDITION){si #ENV{logos}|non}>
#SET{logo_objet, #ENV{id_objet}|quete_logo_objet{#ENV{objet},on}}
#SET{logos_auto, #GET{logo_objet}|?{#LISTE{#ARRAY{url,#GET{logo_objet/chemin}}},#ARRAY}}
#SET{par,#SPIP_VERSION|floatval|>{3.1}|?{rang_lien,largeur}}
#SET{defaut_tri,#ARRAY{
	rang_lien, 1,
	largeur, -1,
}}
<BOUCLE_images_objet(DOCUMENTS)
	{objet}
	{id_objet}
	{media = image}
	{!extension = svg}
	{!fichier = #GET{logos_auto/0/url}|replace{#VAL{_NOM_PERMANENTS_ACCESSIBLES}|constant}|replace{'\.\./'}}
	{tri #GET{par}, #GET{defaut_tri}}
	{0,#GET{logos_auto}|?{2,3}}
	{!par largeur}
	{tout}
>
#SET{logos_auto, #GET{logos_auto}|push{#ARRAY{
	url, #FICHIER,
	alt, #TITRE|sinon{#DESCRIPTIF}|couper{80},
}}}
</BOUCLE_images_objet>
</BOUCLE_logo_objet>
</BOUCLE_objet>


[(#REM)

	Cas 2 : Page lambda

]
#SET{og-type_auto,    website}
#SET{dc-type_auto,    Text}
#SET{titre_auto,      #ENV{type-page,sommaire}|=={sommaire}|?{#NOM_SITE_SPIP}}
#SET{desc_auto,       #ENV{type-page,sommaire}|=={sommaire}|?{#DESCRIPTIF_SITE_SPIP}}
#SET{url_auto,        #ENV{type-page,sommaire}|=={sommaire}|?{#URL_SITE_SPIP,#URL_PAGE{#ENV{type-page}}}}
#SET{date_auto,       #DATE}
#SET{maj_auto,        ''}
#SET{langue_auto,     #LANG}
#SET{territoire_auto, ''}
#SET{auteurs_auto,    #NOM_SITE_SPIP}
#SET{mots_auto,       ''}
<//B_objet>

[(#REM)

	Cas 1 et 2 : compléments
	Pas de logo ? On prend celui configuré par défaut, sinon celui du site

]
[(#ENV{logos}|non|et{#GET{logos_auto}|non}|oui)
#SET{logos_auto,#INFO_FICHIER{document,#CONFIG{metasplus/id_doc_logo}}|sinon{#LOGO_SITE_SPIP|extraire_attribut{src}|supprimer_timestamp}}
]


[(#REM)

	====================
	2. Code des metas
	====================

]
<INCLURE{fond=inclure/metasplus/inc-dist,
	titre=#ENV{titre,#GET{titre_auto}},
	desc=#ENV{desc,#GET{desc_auto}},
	url=#ENV{url,#GET{url_auto}},
	date=#ENV{date,#GET{date_auto}},
	maj=#ENV{maj,#GET{maj_auto}},
	langue=#ENV{langue,#GET{langue_auto}},
	territoire=#ENV{territoire,#GET{territoire_auto}},
	og-type=#ENV{og-type,#GET{og-type_auto}},
	dc-type=#ENV{dc-type,#GET{dc-type_auto}},
	logos=#ENV{logos,#GET{logos_auto}},
	auteurs=#ENV{auteurs,#GET{auteurs_auto}},
	mots=#ENV{mots,#GET{mots_auto}}
}/>

#FILTRE{trim}