Les boucles FpipR : Flickr pour SPIP - commentaires La boucle FLICKR_TAGS_GETLISTUSER 2008-03-13T09:56:18Z https://files.spip.org/Les-boucles-FpipR#comment403973 2008-03-13T09:56:18Z <p>Question sûrement stupide, mais je gratte depuis quelques temps dessus sans résultat : J'arrive à remonter mes tags, mais je n'arrive pas à en faire des liens valides vers les photos leur correspondant... une solution<small class="fine d-inline"> </small>?</p> La boucle qui tue 2007-10-15T10:07:17Z https://files.spip.org/Les-boucles-FpipR#comment399189 2007-10-15T10:07:17Z <p>juste un espace de trop et le critere auteur a ne pas afficher.<br class="autobr"> par contre le lie ne fonctionne pas, il renvoie vers la meme page</p> La boucle qui tue 2007-10-14T18:32:22Z https://files.spip.org/Les-boucles-FpipR#comment399165 2007-10-14T18:32:22Z <p>justement, en voila une pour afficher les albums...</p> <p>et vlan une erreur de serveur :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_FLICKR_PHOTOSETS_GETLIST(FLICKR_PHOTOSETS_GETLIST){author=43073719@N00} {"<br/>"} }> #SAFE <a href="#URL_PHOTOSET">#TITLE #LOGO_PHOTOSET </a> </BOUCLE_ FLICKR_PHOTOSETS_GETLIST></code></pre></div> La boucle qui tue 2007-10-14T18:23:45Z https://files.spip.org/Les-boucles-FpipR#comment399164 2007-10-14T18:23:45Z <p>Désolé, je fais faire le neueu de service, mais...j'ai recopié une boucle pour afficher les tags. ok ça marche.</p> <p>Le probleme, c'est que je ne sais meme pas comment faire les boucles les plus simple.</p> <p>Du genre afficher les miniatures des photos comme sur flickr, sur 3 colonnes, cliquables vers les grand formats.</p> <p>et / ou une boucle pour afficher (celle la je vois deja plus...)</p> <p>Bref, quelques boucles types pour les bleus<small class="fine d-inline"> </small>?</p> La boucle FLICKR_TAGS_GETLISTUSER 2007-10-08T13:37:14Z https://files.spip.org/Les-boucles-FpipR#comment398916 2007-10-08T13:37:14Z <p>C'est mon interprétation, la documentation est un peu contradictoire puisque la méthode ne demande pas d'authentification, mais qu'elle ne retourne que les tags de l'utilisateur « actuellement connecté »... ce qui, je suppose veut dire que cela utilise l'authentification malgrès tout.</p> La boucle FLICKR_TAGS_GETLISTUSER 2007-10-08T13:19:03Z https://files.spip.org/Les-boucles-FpipR#comment398915 2007-10-08T13:19:03Z <p>Ah Ok, donc ceux qui ne sont pas authentifiés ne peuvent voir que le tag brute.</p> <p>La documentation dis pourtant que l'API renvoie la liste sans authentification (et c'est plutôt logique).</p> La boucle FLICKR_TAGS_GETLISTUSER 2007-10-08T10:27:57Z https://files.spip.org/Les-boucles-FpipR#comment398910 2007-10-08T10:27:57Z <p>non non, tu n'as pas compris, chaque utilisateur authentifiés a un cache indépendant et les visiteurs non authentifié ont le même cache, indépendant de celui des authentifiés.</p> <p>On ne veut pas que quelqu'un qui n'est pas authentifié puisse voire les photos privées de quelqu'un d'autre, etc...</p> <p>donc : <br>- les visiteurs authentifiés verront LEUR liste de RAW <br>- les visiteurs pas authentifiés ne verront rien...</p> <p>c'est une limitation dans l'API flickr je pense, on ne peut pas y faire grand chose :(</p> La boucle FLICKR_TAGS_GETLISTUSER 2007-10-08T00:32:17Z https://files.spip.org/Les-boucles-FpipR#comment398891 2007-10-08T00:32:17Z <p>J'ai compris pour les Raws.</p> <p>Mais en ce qui concerne l'<i>authentification</i>, si au moment ou un visiteur visite le squelette (ou se trouve la boucle des Raws imbriqué dans une boucle de tags) et que ce squelette se recalcule (fin du délais de cache), Spip ne pourra avoir la liste des Raws de Flickr<small class="fine d-inline"> </small>? puisque c'est le visiteur (qui n'est pas <i>authentifié</i>) qui demande le calcul de la page...</p> <p>Si c'est le cas, le délais de cache de cette boucle doit être <strong>éternel</strong>, et c'est l'admin qui devra calculer <strong>en premier</strong> puis <strong>recalculer</strong> quand de nouveaux tags sont ajoutés...</p> La boucle FLICKR_TAGS_GETLISTUSER 2007-10-07T16:26:17Z https://files.spip.org/Les-boucles-FpipR#comment398870 2007-10-07T16:26:17Z <p>#SAFE est en effet le contenu du tag-body de l'API et en effet, ils correspondent au tag « propre », sans espace, etc... Par cette transformation, plusieurs tags « normaux » peuvent avoir le même tag « propre », ainsi, les RAWs correspondent à toutes les transformations de ce tag d'un utilisateur particulier.</p> <p>la méthode flickr.tags.getListUser de l'API flickr ne retourne pas le RAW, donc tu ne peux pas utiliser directement <code class="spip_code spip_code_inline" dir="ltr">#RAW</code> dans cette boucle, c'est pour cela qu'il faut faire une boucle en plus imbriqué.<br class="manualbr">Le problème est alors que pour FpipR, une boucle=une requette au serveur Flickr, donc si tu as 200 tags retournés par getListUser, ça veut dire 200 appels getListUserRaw, c'est un peu idiot, mais on n'y peut rien.</p> <p>Tu peux le faire, mais il faut optimiser l'utilisation du cache de SPIP en mettant la boucle imbriqué dans un squelette tout seul avec un delais « eternel » que tu incluras dans la boucle getListUser (qui devrait aussi etre dans un squelette inclus avec un delais tres grand), ainsi, ça évitera de faire trop souvent ces requettes juste pour avoir les RAWs.</p> <p>Pour l'authentification, en effet, c'est les infos de l'auteur qui est actuellement logué dans le site SPIP qui seront utilisées...</p> La boucle FLICKR_TAGS_GETLISTUSER 2007-10-06T01:34:42Z https://files.spip.org/Les-boucles-FpipR#comment398834 2007-10-06T01:34:42Z <p>Ok,</p> <p>Au fait #SAFE est l'équivalente de tag-body de l'API<small class="fine d-inline"> </small>?</p> <p>Si j'ai bien compris, les tags sont traités par Flickr pour ensuite donner le SAFE (enleve les espaces, tirets, etc.), et si plusieurs tags ont le même SAFE calculés, ils deviennent le RAWs<small class="fine d-inline"> </small>?</p> <p>Vu que je vais afficher les photos de mon compte, et que je controle les tags (tous les tags n'auront q'une version) je peut mettre directement le RAW dans la boucle (pas le SAFE puisqu'il y a un seul RAW) et sans réstreindre la boucle.<small class="fine d-inline"> </small>?</p> <p>Et pour l'authentification, c'est le visiteur du site SPIP qui doit être authentifié en tant qu'administrateur lorsque SPIP calcule le squelette qui contient la boucle FLICKR pour dire qu'il est authentifié<small class="fine d-inline"> </small>?</p> La boucle FLICKR_TAGS_GETLISTUSER 2007-10-05T16:51:20Z https://files.spip.org/Les-boucles-FpipR#comment398826 2007-10-05T16:51:20Z <p>Bon, c'est ma faute et la documentation n'est pas écrite, donc ça aide pas à comprendre.</p> <p>A la base, les boucle _TAGS_ utilise la même table en DB que la boucle TAGS de photos_getinfo. Donc, pour l'user_id, il faut passer <i>author</i> et pas <i>user_id</i>, c'est pas intuitifs au vue de la doc flickr :(</p> <p>Donc ça donnerait :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_flickr_tags_getlistuser(FLICKR_TAGS_GETLISTUSER){author=71651012@N00} {"<br/>"} {0,5}> safe: #SAFE </BOUCLE_flickr_tags_getlistuser></code></pre></div> <p>Pour la version RAW, malheureusement, il <i>n'y a pas moyen</i> dans l'API flickr, de récupérer tous les RAW d'un tag, on peut juste avoir <a href="http://www.flickr.com/services/api/flickr.tags.getListUserRaw.html" class="spip_out" rel='nofollow external'>ceux de l'utilisateur authentifié</a>. Comme la doc dit qu'on n'a pas besoin d'authentification, je ne sais pas ce que ça donnera si on n'est pas authentifié.<br class="manualbr">On peut donc faire quelque chose comme cela :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_flickr_tags_getlistuser(FLICKR_TAGS_GETLISTUSER){author=71651012@N00} {"<br/>"} {0,5}> safe: #SAFE ( <BOUCLE_raw(FLICKR_TAGS_GETLISTUSERRAW) {tag #SAFE} {","}> #RAW </BOUCLE_raw>) </BOUCLE_flickr_tags_getlistuser></code></pre></div> <p>Mais attention, deux boucles flickr imbriquées, si on a bcp de tags (ce qui est le cas en général), c'est mortellement long. Il faut alors :</p> <ul class="spip"><li> limiter la boucle extèrieure</li><li> utiliser un inclure pour faire utilisation du cache au maximum.</li></ul> La boucle FLICKR_TAGS_GETLISTUSER 2007-10-04T17:28:33Z https://files.spip.org/Les-boucles-FpipR#comment398793 2007-10-04T17:28:33Z <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_tags_photos(FLICKR_TAGS_GETLISTUSER){user_id=12037949754@N01}> #RAW </BOUCLE_tags_photos></code></pre></div> <p>Cette boucle doit normalement correspondre à la boucle flickr.tags.getListUser de l'api, selon <a href="http://www.flickr.com/services/api/flickr.tags.getListUser.html" class="spip_out" rel='nofollow external'>la documentation Flickr de cette boucle</a> cette boucle retourne les tags d'un utilisateur Flickr dont l'id et <i>user_id</i>.</p> <p>Or chez moi, cette boucle retourne l'erreur suivante :</p> <blockquote class="spip"> <p># Erreur(s) dans le squelette</p> <p> * Erreur sur le site, boucle critère inconnu user_id<br class="autobr"> * Vous ne pouvez pas utiliser l'operateur sur le critere user_id,<br class="autobr"> * (fpipr_tags)<br class="autobr"> Erreur MySQL<br class="autobr"> fpipr_tags.raw FROM spip_fpipr_tags AS <code class="spip_code spip_code_inline" dir="ltr">fpipr_tags</code> WHERE (user_id = '12037949754@N01')<br class="autobr"> Champ 'user_id' inconnu dans where clause<br class="autobr"> </p> </blockquote> <p>Est-ce que c'est bien la même boucle que celle de Flickr<small class="fine d-inline"> </small>?</p> <p>Et pour la balise #RAW, elle doit retourner (comme dans l'api Flickr) le nom du tag en brut<small class="fine d-inline"> </small>?</p> <p>Merci d'avance.</p> Paramètre taille de la balise LOGO_PHOTO 2007-10-04T15:14:08Z https://files.spip.org/Les-boucles-FpipR#comment398785 2007-10-04T15:14:08Z <p>Merci beaucoup pour la réponse rapide<small class="fine d-inline"> </small>!</p> Paramètre taille de la balise LOGO_PHOTO 2007-10-04T09:13:30Z https://files.spip.org/Les-boucles-FpipR#comment398768 2007-10-04T09:13:30Z <ul class="spip"><li> <code class="spip_code spip_code_inline" dir="ltr">[(#LOGO_PHOTO{s})]</code> retournera la taille carrée,</li><li> <code class="spip_code spip_code_inline" dir="ltr">[(#LOGO_PHOTO{t})]</code> retournera la taille vignette,</li><li> <code class="spip_code spip_code_inline" dir="ltr">[(#LOGO_PHOTO{m})]</code> retournera la taille petite,</li><li> etc.</li></ul> Paramètre taille de la balise LOGO_PHOTO 2007-10-04T00:17:22Z https://files.spip.org/Les-boucles-FpipR#comment398757 2007-10-04T00:17:22Z <p>Comment utiliser le paramètre de taille de la balise #LOGO_PHOTO<small class="fine d-inline"> </small>?</p>