[SPIP Zone] [Spip-zone-commit] r34155 - in _plugins_: . stream stream/contenu stream/controleurs stream/extra stream/formulaires stream/images stream/vues

C'est visible en action quelque part ???

J'ai construit ma propre page de lifestream avec SPIP, mais j'ai largement matière à amélioration :
http://www.gasteroprod.com/lifestream/

J'ai notamment dû créer le plugin « pivot_syndic » pour certains flux tordus :

Le 4 janv. 2010 à 00:08, fil@rezo.net a écrit :

Author: fil@rezo.net
Date: 2010-01-04 00:08:05 +0100 (Mon, 04 Jan 2010)
New Revision: 34155

Added:
  _plugins_/stream/
  _plugins_/stream/contenu/
  _plugins_/stream/contenu/page-stream-admin.html
  _plugins_/stream/contenu/page-stream-visiteur.html
  _plugins_/stream/contenu/page-stream.html
  _plugins_/stream/controleurs/
  _plugins_/stream/controleurs/streamitem.html
  _plugins_/stream/extra/
  _plugins_/stream/extra/page-stream.html
  _plugins_/stream/formulaires/
  _plugins_/stream/formulaires/stream.html
  _plugins_/stream/formulaires/stream.php
  _plugins_/stream/images/
  _plugins_/stream/images/refresh.gif
  _plugins_/stream/inclure/
  _plugins_/stream/plugin.xml
  _plugins_/stream/stream_options.php
  _plugins_/stream/vues/
  _plugins_/stream/vues/streamitem.html
Log:
plugin "stream" pour gerer un lifestream

Details: Connexion · GitLab

_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : http://flic.kr/nicolas-hoizey/

C'est visible en action quelque part ???

Certainement la partie "visiteur" sur zzz.rezo.net/?page=stream ; mais
ce n'est pas ça l'aspect intéressant du système -- c'est son crayon
qui permet d'éditer un item et son bookmarklet qui pemet d'en ajouter
un depuis une page web quelconque (à la delicious).

L'étape suivante c'est de donner sous chaque item les boutons qui
permettent de pousser les infos vers les sites communautaires, afin
que le stream puisse être indifféremment "agrégateur" et "maître".

J'aimerais aussi permettre de commenter les items (d'où le début de
passage de spip_forum en mode [objet, id_objet]).

Faire un système d'envoi :
- par email (des patrons pour spip-listes sans doute)
- par RSS (facile : c'est déjà dans sedna)
- par omb/twitter (la fonction est dans microblog, reste à configurer
et poser le(s) bouton(s))

J'ai construit ma propre page de lifestream avec SPIP, mais j'ai largement matière à amélioration :
http://www.gasteroprod.com/lifestream/

ah c'est vraiment joli, super ça ! le mien est super basique en présentation.

J'ai notamment dû créer le plugin « pivot_syndic » pour certains flux tordus :
Connexion · GitLab

Cool ; j'ai aussi ajouté un truc pour déréférencer les URLs des flux
de feedburner (facile) et de facebook (chaud... et limite n'importe
quoi). Je devrais les mettre dans ce plugin je crois.

-- Fil

Le 4 janv. 2010 à 18:55, Fil a écrit :

C'est visible en action quelque part ???

Certainement la partie "visiteur" sur zzz.rezo.net/?page=stream ; mais
ce n'est pas ça l'aspect intéressant du système -- c'est son crayon
qui permet d'éditer un item et son bookmarklet qui pemet d'en ajouter
un depuis une page web quelconque (à la delicious).

En gros, si je comprends bien, c'est plus qu'une « simple » agrégation de (micro) contenus publiés partout ailleurs, c'est aussi un outil de bookmarking...

L'étape suivante c'est de donner sous chaque item les boutons qui
permettent de pousser les infos vers les sites communautaires, afin
que le stream puisse être indifféremment "agrégateur" et "maître".

OK. Les items sont toujours des liens de syndication, quand même ?

J'aimerais aussi permettre de commenter les items (d'où le début de
passage de spip_forum en mode [objet, id_objet]).

Bien !

Faire un système d'envoi :
- par email (des patrons pour spip-listes sans doute)
- par RSS (facile : c'est déjà dans sedna)
- par omb/twitter (la fonction est dans microblog, reste à configurer
et poser le(s) bouton(s))

Le RSS par défaut n'inclue pas les flux syndiqués ?

J'ai construit ma propre page de lifestream avec SPIP, mais j'ai largement matière à amélioration :
http://www.gasteroprod.com/lifestream/

ah c'est vraiment joli, super ça ! le mien est super basique en présentation.

Je voulais qu'on puisse voir pas mal d'éléments d'un coup d'oeil.

J'ai notamment dû créer le plugin « pivot_syndic » pour certains flux tordus :
Connexion · GitLab

Cool ; j'ai aussi ajouté un truc pour déréférencer les URLs des flux
de feedburner (facile) et de facebook (chaud... et limite n'importe
quoi).

Qu'est-ce que tu appelles « déréférencer » ?

Je devrais les mettre dans ce plugin je crois.

Dans « pivot_syndic » ? Avec plaisir ! :wink:

L'idée ultime serait de définir un vrai format complet unique accepté en entrée par SPIP, et que tout le nettoyage sorte dans ce plugin...

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr

En gros, si je comprends bien, c'est plus qu'une « simple » agrégation de (micro) contenus publiés partout ailleurs, c'est aussi un outil de bookmarking...

oui, et comme de plus l'url n'est pas obligatoire, c'est aussi un
outil d'édition de "brèves". (et un argument de plus pour tuer
spip_breves).

OK. Les items sont toujours des liens de syndication, quand même ?

oui

Le RSS par défaut n'inclue pas les flux syndiqués ?

non, mais sedna le fait

Qu'est-ce que tu appelles « déréférencer » ?

Si tu actives les stats d'utilisation dans un flux feedburner, tu te
retrouves avec une url de la forme
http://feedproxy.google.com/~r/SITE/rss/~3/d1mCEAL6X-8/urltric
et dans le stream tu voudrais plutôt la "vraie" adresse.

Pareil avec les bit.ly goog.gl et autres trucs d'urls "courtes".

-- Fil

Le 5 janv. 2010 à 12:51, Fil a écrit :

En gros, si je comprends bien, c'est plus qu'une « simple » agrégation de (micro) contenus publiés partout ailleurs, c'est aussi un outil de bookmarking...

oui, et comme de plus l'url n'est pas obligatoire, c'est aussi un
outil d'édition de "brèves". (et un argument de plus pour tuer
spip_breves).

Yep.

OK. Les items sont toujours des liens de syndication, quand même ?

oui

OK.

Le RSS par défaut n'inclue pas les flux syndiqués ?

non, mais sedna le fait

D'accord.

Qu'est-ce que tu appelles « déréférencer » ?

Si tu actives les stats d'utilisation dans un flux feedburner, tu te
retrouves avec une url de la forme
http://feedproxy.google.com/~r/SITE/rss/~3/d1mCEAL6X-8/urltric
et dans le stream tu voudrais plutôt la "vraie" adresse.

Ah oui, OK.

Pareil avec les bit.ly goog.gl et autres trucs d'urls "courtes".

On pourrait effectivement faire un plugin "déraccourcir les URL"...

D'ailleurs, existe-t-il quelque part un (projet de) standard d'API pour tous ces systèmes d'URL raccourcies ?

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr

D'ailleurs, existe-t-il quelque part un (projet de) standard d'API pour tous ces systèmes d'URL raccourcies ?

ben a priori c'est http, l'API : tu fais un get sur l'api bit.ly et tu
regardes le Location: en enlevant le cas échéant certaines merdes
(?utm_source=....) parfois ajoutées à la fin de l'adresse.

L'outil de base c'est :
# curl -I $URL | grep "Location:"

-- Fil

Le 5 janv. 2010 à 17:19, Fil a écrit :

D'ailleurs, existe-t-il quelque part un (projet de) standard d'API pour tous ces systèmes d'URL raccourcies ?

ben a priori c'est http, l'API : tu fais un get sur l'api bit.ly et tu
regardes le Location: en enlevant le cas échéant certaines merdes
(?utm_source=....) parfois ajoutées à la fin de l'adresse.

L'outil de base c'est :
# curl -I $URL | grep "Location:"

Ah oui, je cherchais plutôt une API dans l'autre sens (pour mon http://cas.im/ notamment) mais ici on n'a besoin que de connaître la redirection, effectivement !

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr

L'outil de base c'est :
# curl -I $URL | grep "Location:"

Je viens de coder un service (génial !) d'extension d'URLs :
http://long.rezo.net/

function long_url($url) {
  if (!preg_match('#^(https?://)?(\w{1,10}\.\w{2,4}/[a-z0-9]{1,10})$#i',
  $url, $u))
    return '';
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, 'http://'.$u[2]);
  curl_setopt($ch, CURLOPT_HEADER, true);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $a = curl_exec($ch);
  if(preg_match('#Location: (.*)#', $a, $r))
    return $r[1];
  else
    return '';
}

on peut l'intégrer là-dedans

-- Fil

Tiens d'ailleurs tu as un bug : http://long.rezo.net/?url=http://cas.im/ir

On Tue, Jan 5, 2010 at 11:45 PM, Fil <fil@rezo.net> wrote:

L'outil de base c'est :
# curl -I $URL | grep "Location:"

-- Fil

Le 5 janv. 2010 à 23:45, Fil a écrit :

L'outil de base c'est :
# curl -I $URL | grep "Location:"

Je viens de coder un service (génial !) d'extension d'URLs :
http://long.rezo.net/

function long_url($url) {
if (!preg_match('#^(https?://)?(\w{1,10}\.\w{2,4}/[a-z0-9]{1,10})$#i',
$url, $u))
   return '';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://'.$u[2]);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a = curl_exec($ch);
if(preg_match('#Location: (.*)#', $a, $r))
   return $r[1];
else
   return '';
}

Excellent !

on peut l'intégrer là-dedans

Ou faire un petit plugin "enlarge-short-urls" qui serait utilisable aussi pour d'autres contextes, genre tout automatique si souhaité, ou au coup par coup avec un filtre [(#TEXTE|enlarge_urls)], non ?

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr

Le 6 janv. 2010 à 00:18, Fil a écrit :

Tiens d'ailleurs tu as un bug : http://long.rezo.net/?url=http://cas.im/ir

Euh... non, je vois pas de bug...

On Tue, Jan 5, 2010 at 11:45 PM, Fil <fil@rezo.net> wrote:

L'outil de base c'est :
# curl -I $URL | grep "Location:"

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr

Tiens d'ailleurs tu as un bug : http://long.rezo.net/?url=http://cas.im/ir

Euh... non, je vois pas de bug...

http://cas.im/ir redirige vers http://cas.im/ir/ qui redirige vers la
bonne url ; c'est une redirection de trop

-- Fil

Le 6 janv. 2010 à 10:53, Fil a écrit :

Tiens d'ailleurs tu as un bug : http://long.rezo.net/?url=http://cas.im/ir

Euh... non, je vois pas de bug...

http://cas.im/ir redirige vers http://cas.im/ir/ qui redirige vers la
bonne url ; c'est une redirection de trop

Il y a des règles à respecter à ce sujet ? :wink:

http://cas.im/ir est une URL raccourcie

http://cas.im/ir/ est un vrai dossier, avec une redirection vers Github, qui disparaîtra peut-être si j'écrie une vraie doc qui ne serait pas sur Github

Du coup, http://cas.im/ir restera toujours valable, c'est mon but.

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr