Avant propos
Un mot sur les performances
Attention, essayez de bien comprendre cette partie si vous ne voulez pas avoir des problèmes avec vos utilisateurs et l’administrateur de votre serveur. En résumé, pensez à mettre des valeurs de durée de cache intelligentes et de bien diviser vos squelettes pour éviter de surcharger votre serveur avec des recalcules trop réguliers.
Chaque boucle demande au moins une requête au serveur Flickr par boucle. Quand vous utilisez une boucle FpipR, le plugin va faire une demande au serveur Flickr pour récupérer les informations que vous demandez.
Elles seront alors stockées temporairement dans une table visible par SPIP qui pourra alors boucler dessus.
Chaque requête au serveur Flickr est bloquante et peut prendre du temps (il s’agit d’un téléchargement de données à travers internet), il faut donc éviter d’en faire trop souvent et beaucoup en même temps. Une bonne idée pour éviter les mauvaises expériences est de :
- utiliser des délais de cache élevé,
- diviser le squelette en inclusions qui ont des délais différents pour éviter de tout recalculer en même temps.
Authentification
Certaines boucles demande d’être identifié. En effet, Flickr offre différent niveau de droits d’accès au photos en fonction de votre relation avec leur propriétaire.
Chaque auteur connecté au site SPIP et ayant configuré sa connection avec Flickr dans l’espace privé aura accès à un cache différent de la page et on peut ainsi proposer des squelettes gérant correctement les droits Flickr.
Balises spéciales
- #FLICKR_PHOTO_ID, #FLICKR_PHOTO_SECRET :
FpipR permet d’ajouter des documents aux articles comme documents distant. Pour savoir si un document retourné par une boucle DOCUMENTS est une image Flickr, on peut utiliser ces balises, qui pourront aussi être utilisées comme paramètre pour les boucles FPIPR. - #FPIPR_EXISTS : cette balise permet de savoir si le plugin est installé. Si le plugin n’est pas installé, cette balise ne retournera rien. On peut ainsi faire des squelettes qui feront des inclusions spécifiques si le plugin est installé.
- #PAGINATION_FLICKR : la balise de pagination SPIP ne fonctionne pas correctement avec les boucles FpipR. Quand on fait une boucle FpipR avec critère
{pagination}
, il faut utiliser cette balise à la place de la balise#PAGINATION
Documentation partielle
Le plugin FpipR ajoute 35 nouvelles boucles et un grand nombre de balises et critères associés. La documentation de toutes ces fonctionalités n’est pas encore complète, mais chaque boucle correspond à peu prêt à une méthode de l’API Flickr. Pour savoir ce que la boucle fait, allez lire la documentation de l’API Flickr (en anglais pour l’instant). Si vous voulez aider à documenter tout cela, connecter vous ici et proposer des nouvelles documentations.
Boucle FLICKR_PHOTOS_SEARCH
Cette boucle implante la méthode : flickr.photos.search On peut l’utiliser pour chercher des photos. ATTENTION, il faut absolument spécifier au moins un critère précisant la recherche si on veut que la boucle retourne des résultats.
Critères
Les critères correspondent aux paramètres de la méthode Flickr.
Les critères suivant peuvent être utilisés comme les critères standard de SPIP : {user_id=#FLICKR_NSID}
ou {upload_date < #DATE}
par exemple. Ils peuvent aussi être utiliser dans des tris
-
{user_id}
-
{license}
-
{upload_date}
-
{taken_date}
Les critères suivant sont « spéciaux » et prennent leur paramètre directement : {tags spip, gateau}
par exemple
-
{tags}
-
{tag_mode}
-
{text}
-
{privacy_filter}
- 1 public photos
- 2 private photos visible to friends
- 3 private photos visible to family
- 4 private photos visible to friends & family
- 5 completely private photos
-
{safe_search}
-
{content_type}
-
{machine_tags}
voir http://www.flickr.com/groups/api/di... -
{machine_tag_mode}
par defaut ’any’ -
{bbox}
limitation geographique de la recherche, separé par des :, longitude minimum, latitude minimum, longitude max, latitude max -
{accuracy}
Les critères suivant peuvent être spécifié pour les tri : {par date_posted}
, {par date_taken}
, {par interestingness}
, {par relevance}
(dans le cas d’une recherche).
Balises
- #ID_PHOTO id de la photo
- #USER_ID nsid de l’utilisateur
- #SECRET secret de la photo pour construire l’url et obtenir plus d’info
- #SERVER le server où la photo se trouve
- #TITLE le titre de la photo
- #ISPUBLIC 1 si la photo est publique, 0 sinon
- #ISFRIEND 1 si la photo est accessible aux amis, 0 sinon
- #ISFAMILY 1 si la photo est accessible à la famille, 0 sinon
- #ORIGINALFORMAT l’extension du fichier original
- #LICENSE la « license » (voir les valeurs ici)
- #UPLOAD_DATE quand la photo a été postée sur Flickr
- #TAKEN_DATE quand la photo a été prise, si dispo dans les infos EXIF
- #ONWER_NAME le nom de l’utilisateur
- #ICON_SERVER le serveur où trouver l’icone de l’utilisateur
- #LAST_UPDATE date de dernière modification des données de la photo
- #LONGITUDE
- #LATITUDE
- #ACCURACY la précision de l’info géographique :
- 1 niveau global
- 3 niveau d’un pays
- 6 niveau d’une région
- 11 niveau d’une ville
- 16 niveau de la rue
Balises Calculées
(c.f. http://www.flickr.com/services/api/... et http://www.flickr.com/services/api/...
- #URL_PHOTO l’url de la photo
- #URL_OWNER l’url du photographe
- #LOGO_PHOTO retourne l’image taille moyenne (500px sur le côté le plus long), sauf si on lui passe un paramètre :
- s petit carre 75x75
- t vignette, 100px sur le côté le plus long
- m petite, 240px sur le côté le plus long
- b large, 1024px sur le côté le plus long (seulement si o est très large)
- o image originale, jpg, png ou gif en fonction de #ORIGINALFORMAT
- #LOGO_OWNER le logo du photographe
Boucle FLICKR_PHOTOS_GETINFO
Retourne des informations complémentaires sur une photo. (voir : http://www.flickr.com/services/api/...)
Critères
- On doit absolument spécifier le critère
{id_photo}
- On peut aussi spécifier le critère
{secret}
Balises
- #ID_PHOTO
- #SECRET
- #SERVER
- #ISFAVORITE
- #LICENSE
- #ROTATION la rotation effectue automatiquement sur l’image
- #ORIGINALFORMAT
- #USER_ID
- #OWNER_USERNAME le username flickr du photographe
- #OWNER_REALNAME le nom réel du photographe
- #OWNER_LOCATION où le photographe vit
- #TITLE
- #DESCRIPTION
- #ISPUBLIC
- #ISFRIEND
- #ISFAMILY
- #DATE_POSTED
- #DATE_TAKEN
- #DATE_LASTUPDATE
- #COMMENTS Le nombre de commentaires sur la photo
- #LATITUDE
- #LONGITUDE
- #ACCURACY
Balises Calculées
Identiques à la boucle précédente
Boucle FLICKR_PHOTO_TAGS
CETTE BOUCLE N’EST DISPONIBLE QUE DANS UNE BOUCLE FLICKR_PHOTOS_GETINFO
Retourne la liste de tag d’une photo
Critère
Pas de critères spécifique
Balises
- #ID_TAG
- #AUTHOR le nsid de l’auteur qui a ajouté le tag sur la photo
- #RAW la version normale du tag (avec espace, caractères spéciaux etc.)
- #SAFE une version « sûre » du tag, qu’on peut utiliser dans des urls, etc.
- #ID_PHOTO
Boucle FLICKR_PHOTO_NOTES
CETTE BOUCLE N’EST DISPONIBLE QUE DANS UNE BOUCLE FLICKR_PHOTOS_GETINFO
Retourne la liste des notes sur une photo
Critère
Pas de critères spécifique
Balises
- #ID_NOTE
- #AUTHOR le nsid de l’auteur qui a ajouté la note sur la photo
- #AUTHOR_NAME le username de l’auteur qui a ajouté la note sur la photo
- #X #Y les coordonnées du coin en haut à gauche
- #WIDTH #HEIGHT Les dimensions de la note
- #TEXTE le texte de la note
- #ID_PHOTO
Boucle FLICKR_PHOTO_URLS
CETTE BOUCLE N’EST DISPONIBLE QUE DANS UNE BOUCLE FLICKR_PHOTOS_GETINFO
Retourne la liste des urls d’une photo
Critères
Pas de critères spécifique
Balises
- #TYPE le type de l’url
- #URL l’url
- #ID_PHOTO
Boucle FLICKR_PHOTOSETS_GETLIST
Retourne la liste des sets d’un utilisateur
Critère
- user_id l’identifiant flickr (nsid) de l’utilisateur
Balises
- #ID_PHOTOSET
- #USER_ID le nsid de l’auteur qui a ajouté le tag sur la photo
- #PRIMARY_PHOTO l’id de la photo illustrant le set
- #SECRET le secret de cette photo
- #SERVER le serveur de cette photo
- #PHOTOS le nombre de photos dans le set
- #TITLE
- #DESCRIPTION
Balises calculées
- #LOGO_PHOTOSET le logo du photoset (la « primary » image, prend les memes paramètre que la balise #LOGO_PHOTO sauf ’o’)
- #URL_PHOTOSET
Boucle FLICKR_PHOTOSETS_GETPHOTOS
Retourne les photos dans un set
Critères
-
{id_photoset}
l’id du photoset -
{privacy_filter}
pas testé
Balises
Un sous set des balises de FLICKR_PHOTOS_SEARCH, mais on peut imbriquer une boucle FLICKR_PHOTOS_GETINFO à l’intérieur pour avoir plus de détails.
- #ID_PHOTO
- #SECRET
- #SERVER
- #LICENSE
- #DATE_UPLOAD
- #DATE_TAKEN
- #OWNER_NAME
- #ICON_SERVER
- #ORIGINAL_FORMAT
- #LAST_UPDATE
Balises Calculées
- #URL_PHOTO l’url de la photo
- #LOGO_PHOTO retourne l’image taille moyenne (500px sur le côté le plus long), sauf si on lui passe un paramètre :
- s petit carre 75x75
- t vignette, 100px sur le côté le plus long
- m petite, 240px sur le côté le plus long
- b large, 1024px sur le côté le plus long (seulement si o est très large)
- o image originale, jpg, png ou gif en fonction de #ORIGINALFORMAT
Balises a utiliser quand #ID_PHOTO est disponible
Voici des balises, correspondantes aux informations fournis par la méthode : flickr.photos.getContext. Elles peuvent être utilisées dans n’importe quelle boucle qui fournit un #ID_PHOTO
- #PHOTOS_COUNT le total de photos de l’utilisateur possédant cette photo
- #PREVPHOTO_ID l’id de la photo précédente dans le photostream
- #PREVPHOTO_SERVER le serveur de la photo précédente dans le photostream
- #PREVPHOTO_SECRET le secret de la photo précédente dans le photostream
- #PREVPHOTO_TITLE le titre de la photo précédente dans le photostream
- #URL_PREVPHOTO l’url de la page de la photo précédente dans le photostream
- #PREVPHOTO_THUMB l’url de la vignette de la photo précédente dans le photostream
- #LOGO_PREVPHOTO le logo de la photo précédente dans le photostream (prend un parametre comme les autres balises logo, sauf ’o’)
- #NEXTPHOTO_ID l’id de la photo suivante dans le photostream
- #NEXTPHOTO_SERVER le serveur de la photo suivante dans le photostream
- #NEXTPHOTO_SECRET le secret de la photo suivante dans le photostream
- #NEXTPHOTO_TITLE le titre de la photo suivante dans le photostream
- #URL_NEXTPHOTO l’url de la page de la photo suivante dans le photostream
- #NEXTPHOTO_THUMB l’url de la vignette de la photo suivante dans le photostream
- #LOGO_NEXTPHOTO le logo de la photo suivante dans le photostream (prend un paramètre comme les autres balises logo, sauf ’o’)
Toutes les boucles
Voir http://www.flickr.com/services/api/ pour les détails. La plupart des boucles prennent les même critères que les méthodes décrites dans ces pages.
- FLICKR_CONTACTS_GETLIST
- FLICKR_CONTACTS_GETPUBLICLIST
- FLICKR_FAVORITES_GETLIST
- FLICKR_FAVORITES_GETPUBLICLIST
- FLICKR_GROUPS_GETINFO
- FLICKR_GROUPS_POOLS_GETGROUPS
- FLICKR_GROUPS_POOLS_GETPHOTOS
- FLICKR_INTERESTINGNESS_GETLIST
- FLICKR_PEOPLE_GETINFO
- FLICKR_PEOPLE_GETPUBLICGROUPS
- FLICKR_PHOTO_NOTES
- FLICKR_PHOTO_TAG
- FLICKR_PHOTO_URLS
- FLICKR_PHOTOS_COMMENTS_GETLIST
- FLICKR_PHOTOS_GETALLCONTEXTS
- FLICKR_PHOTOS_GETCONTACTSPHOTOS
- FLICKR_PHOTOS_GETCONTACTSPUBLICPHOTOS
- FLICKR_PHOTOS_GETEXIF
- FLICKR_PHOTOS_GETINFO
- FLICKR_PHOTOS_GETNOTINSET
- FLICKR_PHOTOS_GETRECENT
- FLICKR_PHOTOS_GETUNTAGGED
- FLICKR_PHOTOS_GETWITHGEODATA
- FLICKR_PHOTOS_GETWITHOUTGEODATA
- FLICKR_PHOTOS_RECENTLYUPDATED
- FLICKR_PHOTOS_SEARCH
- FLICKR_PHOTOSETS_COMMENTS_GETLIST
- FLICKR_PHOTOSETS_GETLIST
- FLICKR_PHOTOSETS_GETPHOTOS
- FLICKR_TAGS_GETHOTLIST
- FLICKR_TAGS_GETLISTPHOTO
- FLICKR_TAGS_GETLISTUSER
- FLICKR_TAGS_GETLISTUSERPOPULAR
- FLICKR_TAGS_GETLISTUSERRAW
- FLICKR_TAGS_GETRELATED
- FLICKR_URLS_LOOKUPGROUP
- FLICKR_URLS_LOOKUPUSER
Toutes les balises calculées
TODO : Il faut encore trier ces balises pour les associer aux bonnes boucles dans la doc
- #ACCURACY
- #FLICKR_PHOTO_ID
- #FLICKR_PHOTO_SECRET
- #ID_GROUP
- #ID_PHOTOSET
- #ISFAMILY
- #ISFRIEND
- #ISPUBLIC
- #LATITUDE
- #LOGO_CONTACT
- #LOGO_GROUP
- #LOGO_NEXTPHOTO
- #LOGO_OWNER
- #LOGO_PHOTO
- #LOGO_PHOTOSET
- #LOGO_PREVPHOTO
- #LONGITUDE
- #NEXTPHOTO_ID
- #NEXTPHOTO_SECRET
- #NEXTPHOTO_SERVER
- #NEXTPHOTO_THUMB
- #NEXTPHOTO_TITLE
- #PHOTOS_COUNT
- #PREVPHOTO_ID
- #PREVPHOTO_SECRET
- #PREVPHOTO_SERVER
- #PREVPHOTO_THUMB
- #PREVPHOTO_TITLE
- #URL_GROUP
- #URL_NEXTPHOTO
- #URL_OWNER
- #URL_PHOTO
- #URL_PHOTOSET
- #URL_PREVPHOTO
- #URL_USERPHOTOS
- #URL_USERPROFILE
Toutes les balises/critères pour limiter dans les tables
TODO trier, expliquer
-
{id_photo}
/ #ID_PHOTO -
{user_id}
/ #USER_ID -
{secret}
/ #SECRET -
{server}
/ #SERVER -
{title}
/ #TITLE -
{ispublic}
/ #ISPUBLIC -
{isfriend}
/ #ISFRIEND -
{isfamily}
/ #ISFAMILY -
{originalformat}
/ #ORIGINALFORMAT -
{license}
/ #LICENSE -
{upload_date}
/ #UPLOAD_DATE -
{taken_date}
/ #TAKEN_DATE -
{owner_name}
/ #OWNER_NAME -
{icon_server}
/ #ICON_SERVER -
{last_update}
/ #LAST_UPDATE -
{latitude}
/ #LATITUDE -
{longitude}
/ #LONGITUDE -
{accuracy}
/ #ACCURACY -
{rang}
/ #RANG -
{id_photoset}
/ #ID_PHOTOSET -
{id_group}
/ #ID_GROUP -
{added_date}
/ #ADDED_DATE -
{field}
/ #FIELD -
{id_photo}
/ #ID_PHOTO -
{secret}
/ #SECRET -
{server}
/ #SERVER -
{isfavorite}
/ #ISFAVORITE -
{license}
/ #LICENSE -
{rotation}
/ #ROTATION -
{originalformat}
/ #ORIGINALFORMAT -
{user_id}
/ #USER_ID -
{owner_username}
/ #OWNER_USERNAME -
{owner_realname}
/ #OWNER_REALNAME -
{owner_location}
/ #OWNER_LOCATION -
{title}
/ #TITLE -
{description}
/ #DESCRIPTION -
{ispublic}
/ #ISPUBLIC -
{isfriend}
/ #ISFRIEND -
{isfamily}
/ #ISFAMILY -
{date_posted}
/ #DATE_POSTED -
{date_taken}
/ #DATE_TAKEN -
{date_lastupdate}
/ #DATE_LASTUPDATE -
{comments}
/ #COMMENTS -
{latitude}
/ #LATITUDE -
{longitude}
/ #LONGITUDE -
{accuracy}
/ #ACCURACY -
{field}
/ #FIELD -
{id_tag}
/ #ID_TAG -
{author}
/ #AUTHOR -
{raw}
/ #RAW -
{safe}
/ #SAFE -
{id_photo}
/ #ID_PHOTO -
{score}
/ #SCORE -
{count}
/ #COUNT -
{field}
/ #FIELD -
{id_note}
/ #ID_NOTE -
{id_photo}
/ #ID_PHOTO -
{author}
/ #AUTHOR -
{authorname}
/ #AUTHORNAME -
{x}
/ #X -
{y}
/ #Y -
{width}
/ #WIDTH -
{height}
/ #HEIGHT -
{texte}
/ #TEXTE -
{field}
/ #FIELD -
{type}
/ #TYPE -
{id_photo}
/ #ID_PHOTO -
{url}
/ #URL -
{field}
/ #FIELD -
{id_photoset}
/ #ID_PHOTOSET -
{user_id}
/ #USER_ID -
{primary_photo}
/ #PRIMARY_PHOTO -
{secret}
/ #SECRET -
{server}
/ #SERVER -
{photos}
/ #PHOTOS -
{title}
/ #TITLE -
{description}
/ #DESCRIPTION -
{field}
/ #FIELD -
{id_contexte}
/ #ID_CONTEXTE -
{title}
/ #TITLE -
{type}
/ #TYPE -
{id_photo}
/ #ID_PHOTO -
{field}
/ #FIELD -
{id_comment}
/ #ID_COMMENT -
{user_id}
/ #USER_ID -
{authorname}
/ #AUTHORNAME -
{date_create}
/ #DATE_CREATE -
{permalink}
/ #PERMALINK -
{texte}
/ #TEXTE -
{id_photo}
/ #ID_PHOTO -
{id_photoset}
/ #ID_PHOTOSET -
{field}
/ #FIELD -
{id_group}
/ #ID_GROUP -
{user_id}
/ #USER_ID -
{admin}
/ #ADMIN -
{eighteenplus}
/ #EIGHTEENPLUS -
{iconserver}
/ #ICONSERVER -
{name}
/ #NAME -
{description}
/ #DESCRIPTION -
{members}
/ #MEMBERS -
{privacy}
/ #PRIVACY -
{throttle_count}
/ #THROTTLE_COUNT -
{throttle_mode}
/ #THROTTLE_MODE -
{throttle_remaining}
/ #THROTTLE_REMAINING -
{photos}
/ #PHOTOS -
{field}
/ #FIELD -
{user_id}
/ #USER_ID -
{isadmin}
/ #ISADMIN -
{ispro}
/ #ISPRO -
{iconserver}
/ #ICONSERVER -
{username}
/ #USERNAME -
{realname}
/ #REALNAME -
{location}
/ #LOCATION -
{url_photos}
/ #URL_PHOTOS -
{url_profile}
/ #URL_PROFILE -
{date_firstphoto}
/ #DATE_FIRSTPHOTO -
{date_taken_firstphoto}
/ #DATE_TAKEN_FIRSTPHOTO -
{photos_count}
/ #PHOTOS_COUNT -
{ignored}
/ #IGNORED -
{family}
/ #FAMILY -
{friend}
/ #FRIEND -
{field}
/ #FIELD -
{id_photo}
/ #ID_PHOTO -
{secret}
/ #SECRET -
{server}
/ #SERVER -
{tagspace}
/ #TAGSPACE -
{tagspaceid}
/ #TAGSPACEID -
{tag}
/ #TAG -
{label}
/ #LABEL -
{raw}
/ #RAW -
{clean}
/ #CLEAN -
{field}
/ #FIELD
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |