[SPIP Zone] Tooter depuis SPIP

Hello,

je regardais les plugins Microblog et Twitter, il y a tout ce qu'il faut pour se brancher sur Mastodon en Oauth et utiliser l'API pour Tooter.

Dilemne : Twitter est une version plus évoluée de Microblog mais qui ne prend en charge que Twitter.
On pourrait y ajouter Mastodon, mais le nom du plugin ne correspondrait plus à ses usages.
Ou bien on fait évoluer Microblog en y réintégrant les évolutions pour twitter (modèles d'affichage).

Sinon, Microblog n'est pas conçu pour utiliser plusieurs services, ça serait pas mal de gérer cette possibilité, chacun ayant des caractéristiques différentes (nombre de caractères par exemple).

Ou bien un plugin Mastodon dans son coin ?
Bof, il y aurait pas mal de redondance de code...

Cerdic, Fil, un avis ?

--
nicod_

Le 17.04.17 à 15:06, nicod_ a écrit :

Hello,

je regardais les plugins Microblog et Twitter, il y a tout ce qu'il faut
pour se brancher sur Mastodon en Oauth et utiliser l'API pour Tooter.

Dilemne : Twitter est une version plus évoluée de Microblog mais qui ne
prend en charge que Twitter.
On pourrait y ajouter Mastodon, mais le nom du plugin ne correspondrait
plus à ses usages.
Ou bien on fait évoluer Microblog en y réintégrant les évolutions pour
twitter (modèles d'affichage).

Sinon, Microblog n'est pas conçu pour utiliser plusieurs services, ça
serait pas mal de gérer cette possibilité, chacun ayant des
caractéristiques différentes (nombre de caractères par exemple).

Ou bien un plugin Mastodon dans son coin ?
Bof, il y aurait pas mal de redondance de code...

Cerdic, Fil, un avis ?

un plugin générique d'API pour le code commun avec des sous plugins pour chaque service?

--
Maïeul

Le 17/04/2017 à 16:11, Maïeul a écrit :

un plugin générique d'API pour le code commun avec des sous plugins pour
chaque service?

Ça a déjà été longuement discuté autour de divers sujets (le plugin COnnecteur, qui lui sert à mettre en commun des connections depuis des services tiers, et d'autres trucs).

J'ai jamais eu le temps d'y mettre les mains, mais je ne sais pas vraiment si je suis satisfait de comment c'est actuellement (la dernière fois que j'ai eu besoin, au final j'ai repris Magic Login qui fait tout-en-un).

Dans mon idée idéale il y devrait y avoir :
- un plugin "Connexion/Inscription depuis un service tiers" qui fournit une API à implémenter et qui quand des choses l'implémente ajoute des interfaces
- un plugin "Publication sur des services tiers" qui fournit une API à implémenter (avec des formats courts, longs, etc à implémenter) et qui quand des choses l'implémente ajoute des interfaces unifiées (publier cet article dans plusieurs services à la fois, au même endroit sans que chaque plugin ajoute son propre bloc !)
- puis un plugin par service, qui fournit les outils pour dialoguer avec UN service, puis qui implémente les API des autres plugins

Mais bon, c'est dans ma tête…

--
RastaPopoulos

Le 17/04/2017 à 20:23, RastaPopoulos a écrit :

Le 17/04/2017 à 16:11, Maïeul a écrit :

un plugin générique d'API pour le code commun avec des sous plugins pour
chaque service?

Ça a déjà été longuement discuté autour de divers sujets (le plugin
COnnecteur, qui lui sert à mettre en commun des connections depuis des
services tiers, et d'autres trucs).

J'ai jamais eu le temps d'y mettre les mains, mais je ne sais pas
vraiment si je suis satisfait de comment c'est actuellement (la dernière
fois que j'ai eu besoin, au final j'ai repris Magic Login qui fait
tout-en-un).

Dans mon idée idéale il y devrait y avoir :
- un plugin "Connexion/Inscription depuis un service tiers" qui fournit
une API à implémenter et qui quand des choses l'implémente ajoute des
interfaces
- un plugin "Publication sur des services tiers" qui fournit une API à
implémenter (avec des formats courts, longs, etc à implémenter) et qui
quand des choses l'implémente ajoute des interfaces unifiées (publier
cet article dans plusieurs services à la fois, au même endroit sans que
chaque plugin ajoute son propre bloc !)
- puis un plugin par service, qui fournit les outils pour dialoguer avec
UN service, puis qui implémente les API des autres plugins

Mais bon, c'est dans ma tête…

Oui, c'est une belle architecture idéale, mais je suis pas sûr d'avoir le temps et l'énergie de conceptualiser / coder tout ça juste pour pouvoir poueter un coup.

Bon, à la réflexion je pense qu'il vaut mieux faire évoluer Microblog, qui est fait pour, plutôt que Twitter, qui est mono service.

--
nicod_

En fait Microblog avait été écrit au début en se disant "Tiens il y a plusieurs plateforme de microblogage, écrivons un plugin qui les gèrent toutes et une api commune en amont (la fonction microblog()) pour faciliter leur utilisation."

Ça tenait la route au départ, mais en pratique :
- la plateforme alternative à Twitter, soit Identica/Status.net est morte
- les appels aux api sont passées d'une simplissime requete http à du complexe OAuth
- l'interaction avec la plateforme de microblogage ne se limite pas à Poster, mais aussi souvent à afficher sur son site une timeline

Du coup on avait certes un plugin unifié microblog (mais qui n'unifiait plus que Twitter), mais à côté un plugin pour afficher les widgets twitter.
Bilan de l'opération : négative puisqu'il fallait installer 2 plugins pour gérer Twitter, avec de la doc dispersée, et du code mort dans le plugin microblog.

D'où ma décision de fusionner microblog et Twidget dans un plugin Twitter dédié à Twitter, modernisé, débarassé du code mort et qui gère toutes les interactions avec Twitter.

Sur cette base je serai plutôt d'avis de laisser microblog en état de mort clinique, et de faire un plugin mastodon forké de Twitter, qui repartira d'une base à jour (en oauth) et propre.
Ça n'empêche pas le plugin de conserver l'api microblog() et que l'un comme l'autre des plugin indiquent fournir microblog dans leur déclaration.

Si l'expérience montre qu'il y a très peu de modifs de code pour gérer mastodon on pourra envisager une unification, mais j'ai peur que ce soit de l'énergie perdue du fait des évolutions totalement indépendantes des plateformes

--
Cédric

nicod_ a écrit :

Le 17/04/2017 à 20:23, RastaPopoulos a écrit :

Le 17/04/2017 à 16:11, Maïeul a écrit :

un plugin générique d'API pour le code commun avec des sous plugins pour
chaque service?

Ça a déjà été longuement discuté autour de divers sujets (le plugin
COnnecteur, qui lui sert à mettre en commun des connections depuis des
services tiers, et d'autres trucs).

J'ai jamais eu le temps d'y mettre les mains, mais je ne sais pas
vraiment si je suis satisfait de comment c'est actuellement (la dernière
fois que j'ai eu besoin, au final j'ai repris Magic Login qui fait
tout-en-un).

Dans mon idée idéale il y devrait y avoir :
- un plugin "Connexion/Inscription depuis un service tiers" qui fournit
une API à implémenter et qui quand des choses l'implémente ajoute des
interfaces
- un plugin "Publication sur des services tiers" qui fournit une API à
implémenter (avec des formats courts, longs, etc à implémenter) et qui
quand des choses l'implémente ajoute des interfaces unifiées (publier
cet article dans plusieurs services à la fois, au même endroit sans que
chaque plugin ajoute son propre bloc !)
- puis un plugin par service, qui fournit les outils pour dialoguer avec
UN service, puis qui implémente les API des autres plugins

Mais bon, c'est dans ma tête…

Oui, c'est une belle architecture idéale, mais je suis pas sûr d'avoir
le temps et l'énergie de conceptualiser / coder tout ça juste pour
pouvoir poueter un coup.

Bon, à la réflexion je pense qu'il vaut mieux faire évoluer Microblog,
qui est fait pour, plutôt que Twitter, qui est mono service.

Le 19 avril 2017 à 12:48, Cédric Morin a écrit :

En fait Microblog avait été écrit au début en se disant "Tiens il y a
plusieurs plateforme de microblogage, écrivons un plugin qui les gèrent
toutes et une api commune en amont (la fonction microblog()) pour faciliter
leur utilisation."

Ça tenait la route au départ, mais en pratique :
- la plateforme alternative à Twitter, soit Identica/Status.net est morte

N'enterrons pas si vite le dormant :slight_smile:
Certes, la plate-forme publique et gratuite n'enregistre plus de nouveaux
venus, mais elle tourne encore et certains anciens y postent de temps à
autre.
Et comme Pump.io est libre et disponible, des groupes peuvent se monter
leur réseau non mondial (genre communautés d'entreprise comme essaient de
faire des Yammer et consors) ou un autre noeud de la Diaspora (comme
https://Framasphere.org/ par exemple)

- les appels aux api sont passées d'une simplissime requete http à du
complexe OAuth
- l'interaction avec la plateforme de microblogage ne se limite pas à
Poster, mais aussi souvent à afficher sur son site une timeline

Du coup on avait certes un plugin unifié microblog (mais qui n'unifiait
plus que Twitter), mais à côté un plugin pour afficher les widgets twitter.
Bilan de l'opération : négative puisqu'il fallait installer 2 plugins pour
gérer Twitter, avec de la doc dispersée, et du code mort dans le plugin
microblog.

D'où ma décision de fusionner microblog et Twidget dans un plugin Twitter
dédié à Twitter, modernisé, débarassé du code mort et qui gère toutes les
interactions avec Twitter.

Sur cette base je serai plutôt d'avis de laisser microblog en état de mort
clinique, et de faire un plugin mastodon forké de Twitter, qui repartira
d'une base à jour (en oauth) et propre.
Ça n'empêche pas le plugin de conserver l'api microblog() et que l'un
comme l'autre des plugin indiquent fournir microblog dans leur déclaration.

Si l'expérience montre qu'il y a très peu de modifs de code pour gérer
mastodon on pourra envisager une unification, mais j'ai peur que ce soit de
l'énergie perdue du fait des évolutions totalement indépendantes des
plateformes

Je le préssent aussi : tant qu'il n'y aura pas de standard...
Mais un plugin DiasporaPumpio lui servira par contre à beaucoup de
StatutNeteurs qui ne portent pas leur nom

Gildas Cotomale a écrit :

Le 19 avril 2017 à 12:48, Cédric Morin a écrit :

    En fait Microblog avait été écrit au début en se disant "Tiens il y
    a plusieurs plateforme de microblogage, écrivons un plugin qui les
    gèrent toutes et une api commune en amont (la fonction microblog())
    pour faciliter leur utilisation."

    Ça tenait la route au départ, mais en pratique :
    - la plateforme alternative à Twitter, soit Identica/Status.net est
    morte

N'enterrons pas si vite le dormant :slight_smile:
Certes, la plate-forme publique et gratuite n'enregistre plus de
nouveaux venus, mais elle tourne encore et certains anciens y postent de
temps à autre.
Et comme Pump.io est libre et disponible, des groupes peuvent se monter
leur réseau non mondial (genre communautés d'entreprise comme essaient
de faire des Yammer et consors) ou un autre noeud de la Diaspora (comme
https://Framasphere.org/ par exemple)

Je disais que Identica/Status.net est mort parce que le code a été abandonné. Pump.io est un restart de zéro par son développeur, mais rien n'est compatible. En ce sens le plugin microblog ne sait pas interagir avec quoi que ce soit d'autre que Twitter.
Quand à parler avec Pump.io ou Disapora pourquoi pas, mais force est de constater que ce besoin n'a jamais emergé, sans doute à cause du peu de succès de ces plateformes.

Mon propos était surtout d'éviter de se contraindre avec des contraintes qui de fait n'existent pas aujourd'hui et correspondent à une situation passée. Ça n'insulte pas l'avenir et n'empêchera pas de fédérer/unifier si ça a un sens et un objet (à savoir une pluralité de plateformes utilisables).

Surtout si chaque plugin supporte l'API microblog() mais si tu regardes le code tu verras qu'elle est déjà inadaptée puisqu'implicitement coupe tout à 140caractères :

et était designée pour des services auxquels on passe les identifiants en http, qu'elle reçoit dans ses arguments :

Ce qui veut dire qu'en l'état elle n'est plus du tout opérationnelle.
A la place il faudrait la repenser, la rendre plus générique etc.
En gros mon propos c'est de dire : avant de penser à faire une surcouche API générique, ayons déjà des services opérationnels à mettre en dessous, en nombre supérieur à 1

Cédric