Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Noizy - un RSS vers rézosocio

Il y a une fonctionnalité de blogotext que j'aimerais utiliser davantage : les marque pages. C'est exactement le même principe que shaarli, c'est juste intégré à blogotext et me paraît très adapté pour de la prise de note rapide, le partage d'une idée simple qui ne mérite pas un billet complet.

À côté de ça, je vois plusieurs personnes relayer manuellement ou automatiquement leurs articles vers diaspora ou mastodon. C'est notamment le cas du journalduhacker. J'ai demandé à Carl Chenet comment il automatisait le tout, c'est avec deux outils en python séparés dont feed2toot. J'aime bien python, mais ça me semblait peu pratique pour deux raisons :

Me voilà donc parti à l'aventure pour coder un truc en PHP qui fonctionnerait. J'en suis arrivé à ça : Noizy.
Pour l'instant, ça fait son boulot. Il y a une interface de configuration très minimaliste, et il supporte uniquement mastodon :

Cependant, j'ai besoin de vous :

Le code est , je vous le laisse en espérant le voir modifié et torturé dans tous les sens :) .

À vous ;)

le 17/08/2017 à 15:38:53, Max Koder a dit :

Hello,

Je suis impressionné par le code que tu as produit. Si réellement tu ne connais pas PHP, tu as du passer un paquet d'heures à te cogner tout ça. Chapeau à toi.

Sinon, je suis l'auteur de la librairie tootophp que tu utilises. Si jamais tu as des soucis avec n'hésites pas à me contacter.
J'avais d'ailleurs prévu de la refaire, mais faute de temps elle en est toujours au même point.

Concernant l'intégration d'autres outils comme Diaspora, c'est franchement chiant quand il n'existe que des sources en Python. Pour tootophp c'est ce que j'ai dû faire, m'inspirer du Python pour faire du PHP, et c'est franchement chiant pour quelqu'un qui ne connaît pas.

Bonne continuation.

le 17/08/2017 à 15:44:59, thuban a dit :

@Max Koder : Salut !
Il n'y a pas de quoi être impressionné, j'apprends en lisant le code des autres, petit à petit. C'est tout l'intérêt du code libre :)
Merci pour la lib tootophp, elle fonctionne très bien :) J'ai juste eu un avertissement de type “Notice”, rien de bloquant, tu verras l'issue sur framagit :)

Tu as utilisé curl pour tootophp, je pense qu'on peut faire de même avec le code de diaspy vers une lib php, ça serait génial. diaspora est peu utilisé notamment à cause de ça.
Une fois que j'aurais diaspora intégré à noizy, on pourra alors penser à y ajouter les réseaux pourris comme twitter ou facebook pour lesquels les libs ne manquent pas.

le 17/08/2017 à 16:17:32, nIQnutn a dit :

ça m'intéresse :)

le 17/08/2017 à 16:23:57, thuban a dit :

@nIQnutn : …pour écrire une lib PHP permettant d'intégrer diaspora? ;P

le 17/08/2017 à 19:50:08, thuban a dit :

Pour info, je viens d'ajouter le support de twitter. C'est tout bête quand une API et une lib existent déjà :)

le 18/08/2017 à 00:15:34, HugoPoi a dit :

Bonjour Thuban,

Je suis impressionné par la qualité du code. Pour quelqu'un qui se dit débuter en PHP, tu débute pas en développement ça se voit dans le code :-).
J'ai commencé un petite revue du code.
Quelques remarques / propositions rapide (je ne sais si c'est l'endroit) :
Il serait intéressant de mettre les fonctions publish_* dans des fichiers séparés.
Utiliser Composer pour éviter d'avoir engines dans le dépot git
Pas de XSS a première vue :-D
J'ai repérer un premier bug #233 dans functions.php (>= et pas >)
Problème de sécurité une fois l'installation terminé n'importe qui peu relancer l'installation (mettre dans la doc de virer install.php ?)

Il tard je vais essayé de tout tester / créer des issues pour les problèmes rencontrés

Bonne nuit

le 18/08/2017 à 07:48:38, thuban a dit :

@HugoPoi : Salut !
Merci pour ces retours. Contrairement à ce que tu avances, si, ce sont mes premières vraies lignes en PHP., et je crois avoir pas mal de choses à corriger.
Les retours sur le code sont appréciés, n'hésite pas à ouvrir des issues ou envoyer des pull request sur framagit, c'est fait pour ;)
Je note tes propositions ;)
Composer, je ne connais pas :s
Par contre, non, l'install ne peut pas se relancer puisque lorsque l'utilisateur a finit de configurer, il y a une checkbox à cocher et ça ajoute “INSTALL_DONE” dans le fichier de configuration empêchant une nouvelle installation. J'ai galéré avec cette configuration et n'en suis pas du tout satisfait…

le 18/08/2017 à 09:29:24, GIL Morgan a dit :

@thuban : Le projet m'a l'air assez intéressant, pourquoi ne pas utiliser un moteur de templates pour se simplifier la vie ?

le 18/08/2017 à 11:45:09, thuban a dit :

@GIL Morgan : Eh bien pour la même raison que je débute en PHP, donc aprendre à gérer les moteurs de template je ne sais pas encore faire :)

le 18/08/2017 à 11:57:11, thuban a dit :

Okay, donc pour info, j'ai ajouté la possibilité de raccourcir les liens postés avec https://huit.re, le raccourcisseur de framasoft :)

le 19/08/2017 à 21:10:04, f4b1 a dit :

Super merci, ca m'intéresse aussi je vais jeter un œil :)

le 20/10/2017 à 19:15:55, Fd a dit :

Bonjour @thuban,

Merci pour ce script. Exactement ce que je cherchais :)
Mais ça marche pô :(

L'install se passe normalement en local mais pas chez mon hébergeur. J'y ai des erreurs “Cannot modify header information”, solutionnées avec un ob_start(); juste après l'ouverture de la balise php du fichier functions.php.

Ensuite, tout semble bien se passer, mais ça toote pas ^^
Le script récupère bien mes flux, indique un envoi chez mastodon (instance mamot.fr), mais rien chez eux… Je ne sais pas si cela peut être lié, mais quand j'affiche à nouveau la page d'install, les éléments “Mastodon account” restent vides.

Je cherche mais je n'ai encore rien trouvé…