[PLUGIN]inMyPluxml : Pluxml façon Poche

Jerry WhamJerry Wham Member
janvier 2014 modifié dans Plugins
Suite à une demande de Lunatic, je viens d'écrire un petit plugin qui permet de sauvegarder une page web dans Pluxml à la manière de Poche.

Pour l'utiliser, il suffit de l'activer après téléchargement et renommage du dossier en "inMyPluxml".

Puis de placer le bookmarklet situé dans la page d'aide du plugin dans votre barre de favoris.

Lorsque vous souhaitez sauvegarder une page web quelconque, il suffit de cliquer sur le bookmarklet et de se connecter à Pluxml dans la fenêtre pop-up qui devrait s'ouvrir.

Cette fenêtre devrait se fermer automatiquement après enregistrement de l'article.

Historique :

12/01/2014 V1.0 :
[list=*]
[*]Mise en ligne[/*]
[/list]
14/01/2014 V1.1 :
[list=*]
[*]Bug : url avec des ancres ou des paramètres[/*]
[*]Add : création d'une catégorie pour les pages sauvegardées via inMyPluxml[/*]
[*]Add : fichier de configuration du nom de la catégorie[/*]
[*]Add : fichier de langue (fr)[/*]
[/list]
18/01/2014 V1.2 :
[list=*]
[*]Add : encodage des images en base 64 pour éviter de taper sur les serveurs tiers et conserver une copie locale des images[/*]
[*]Add : bookmarklet déplacer dans le fichier de config (toujours présent dans l'aide en français)[/*]
[*]Add : fichier functions.php permettant l'encodage des images[/*]
[/list]
18/01/2014 V1.3 :
[list=*]
[*]Del : encodage des images en base 64 pour éviter de taper sur les serveurs tiers et conserver une copie locale des images[/*]
[*]Add : sauvegarde des images dans un dossier local[/*]
[/list]
«1

Réponses

  • Super, un grand merci :)

    Je ne sais pas si c'est un bug ou pas (peut-être n'as-tu pas codé cette fonction), le champ « titre » reste vide (il n'est pas rempli par le titre de la page capturée).

    Bravo en tout cas pour ton efficacité et ta rapidité !!! :cool:
  • De rien. Normalement, le titre devrait s'enregistrer. Quelle version de pluxml utilises-tu ?
  • Je suis encore en 5.2. Je testerai avec la 5.3 après la mise à jour, sous peu.
  • Je confirme le non-enregistrement du titre sur la 5.3. Juste la mention du site d'origine dans le châpo. :)

    (testé sur Chromium pour Debian, ça a peut-être une importance)


    à plus,

    Gzyg
  • J'ai testé sur une 5.3 et ça fonctionne chez moi. Est-ce que vous pouvez me donner l'url de la page que vous souhaitez charger ?
  • Par exemple, celle-ci :

    http://forum.pluxml.org/viewtopic.php?pid=36592#p36592 :)

    Mais c'est pareil avec n'importe quelle page.

    Pour certaines (dot celle indiquée) je n'ai même que ça dans le châpo :

    <p>Site d'origine : <a href=""></a></p>

    ???


    à plus,

    Gzyg
  • LunaticLunatic Member
    janvier 2014 modifié
    Idem, j'ai essayé avec cette page ou celle-ci, mais quelle que soit la page j'ai le même comportement.

    Je viens de tester avec un profil propre sous Firefox (donc débarrassé de toutes mes extensions), pareil. Je suis aussi sous Debian.

    NB : je suis toujours en 5.2 (mais visiblement ce n'est pas le soucis)
  • Oui, ça bugue chez moi également. Ce n'est pas la version de pluxml qui est en cause.
    Je cherche... :(
  • Jerry WhamJerry Wham Member
    janvier 2014 modifié
    Bon, je suis définitivement un boulet : j'ai modifié le nom du plugin juste avant de l'envoyer sur github et j'ai oublié de le changer également dans le chemin qui appelle un script. Je viens de le corriger et les sources sont disponibles sur github.

    Pour les pages de Lunatic ça fonctionne. Pour celle de Gzyg, non. Je pense que cela vient du format un peu bizarre du titre. Je vais essayer de corriger.

    Enjoy :P
  • Super, merci !!!

    (Si tu as un compte Flattr, je t'enverrais bien de quoi te payer un café ou une bière !)
  • Salut Jerry Wham !

    Bonne idée ;-)

    Pourquoi ne pas directement utiliser poche ? Et faire un plugin qui va "taper" sur ton instance de poche ? (par exemple, des plugins existent pour tiny tiny RSS ou Leed RSS).
  • Jerry WhamJerry Wham Member
    janvier 2014 modifié
    @Nico_somb : j'espère que tu ne m'en veux pas trop d'avoir détourné un peu ton outil que j'utilise régulièrement et qui me satisfait grandement. Je l'ai fait pour répondre à une demande qui me semblait intéressante. Rien de plus. ;)

    Pour ce qui est d'aller "taper dans ma poche", je t'avouerais que je ne maîtrise pas suffisamment le code de poche pour avoir essayé. Et je n'ai pas trouvé dans ta doc comment créer un plugin. Peut-être ai-je mal cherché ?

    Mais c'est vrai que ta remarque est plus que judicieuse car cela permettrait d'évoluer en même temps que poche évolue. Mais il faut dire aussi que pour l'utilisateur final, ça impliquerait d'avoir deux outils différents à maintenir également... :/

    Et comment verrais-tu la chose : chaque page sauvée dans poche se retrouverait également dans pluxml ? ou un nouveau "bouton" dans poche permettrait au cas par cas d'afficher la sauvegarde dans pluxml ?

    Ce qui m'a semblé intéressant en utilisant pluxml c'est la possibilité d'éditer le code source de la page à la volée et d'ajouter/supprimer certains passages manquants/en trop (parfois la sauvegarde fait sauter certains passages, comme des exemples de code hébergés sur un service tiers comme sur le blog de Léa Verou par exemple, ou les exemples en svg sur le site http://svground.fr/...) et d'ajouter également sa touche personnelle (une note, un commentaire...).
    Bref d'avoir un shaarli dans sa poche :P .

    @Lunatic : c'est sympa mais je n'ai pas de compte flattr. Mais si tu veux remercier quelqu'un, remercie Nico_somb via son site http://www.inthepoche.com (il a un compte flattr) car c'est à lui que revient tout le mérite. Je n'ai fait que détourner tout le travail qu'il a au préalable effectué.
  • Nouvelle version disponible corrigeant le bug de Gzyg (voir premier post).
  • Le problème que je verrais d'aller « taper » dans poche, outre la nécessité de maintenir deux outils comme l'a souligné Jerry Wham, est que ça oblige à réaliser une action supplémentaire pour ceux dont l'objectif final est bien d'utiliser Pluxml.

    (Peut-être faudrait-il rappeler ici que la requête initiale qui est la mienne est de permettre à Pluxml de se rapprocher d'un Scoop.it)

    Concernant flattr, nico_somb est tout en haut de ma liste des destinataires puisque j'utilise poche avec grand plaisir depuis quelques jours ;) Mais l'un n'empêche pas l'autre, et si un jour, Jerry, il te prend l'envie d'ouvrir un compte…

    En tout cas, grâce à vous deux, je me rapproche beaucoup de ce que je voulais pour me libérer de Scoop.it. Il me reste à trouver un thème qui puisse afficher 2 ou 3 billets par ligne et ce sur plusieurs lignes (histoire de maximiser l'espace utilisé) ; et le dernier détail — non rédhibitoire — est la nécessité de se connecter à l'administration de Pluxml à chaque ajout de lien (je n'ai pas encore regardé si un plugin existait déjà pour ça).
  • ah oui le but c'est de sauvegarder un article pour créer une nouvelle entrée dans pluxml ?
    et publier cette info comme avec shaarli donc ...
  • Oui c'est tout à fait ça. Ça se rapproche d'un Shaarli « boosté », permettant la mise en forme poussée des articles, les commentaires, le classement en catégories, etc.
  • JosJos Member
    Bon boulot Jerry (même si je n'ai pas testé). Je pense que se sera très utile dans certains projets spécifique.
  • nico_sombnico_somb Member
    janvier 2014 modifié
    il y a quelques mois, j'avais modifié le bookmarklet de shaarli pour qu'il récupère automatiquement le texte sélectionné et l'ajoute directement dans son shaarli.

    Le code est là, ça pourrait t'aider plutôt que d'embarquer toutes les librairies.

    Sauf si ton but, c'est de récupérer un article entier.

    EDIT : le code est là https://gist.github.com/nicosomb/3511615
  • Jerry WhamJerry Wham Member
    janvier 2014 modifié
    @nico_somb : Merci Nico pour le partage ;)
    Ça peut m'être utile.

    @Lunatic : je n'ai pas compris ta remarque sur la connexion à Pluxml : tu voudrais ne pas entrer les identifiants à chaque fois que tu cliques sur le bookmarklet c'est ça ? Si c'est ça, je ne pense pas faire grand chose vu que c'est un élément important du fonctionnement de la connexion à pluxml et le modifier pourrait compromettre la sécurité du système. :(

    [del]Sinon, pour le thème, tu as celui-ci (http://luiszuno.com/blog/downloads/folder-template/). A priori c'est adapté à pluxml mais je n'ai pas vérifié.[/del] Désolé, c'est pour wp...

    @Jos : Merci ;)
  • Jerry Wham a écrit:

    @Lunatic : je n'ai pas compris ta remarque sur la connexion à Pluxml : tu voudrais ne pas entrer les identifiants à chaque fois que tu cliques sur le bookmarklet c'est ça ? Si c'est ça, je ne pense pas faire grand chose vu que c'est un élément important du fonctionnement de la connexion à pluxml et le modifier pourrait compromettre la sécurité du système. :(

    Ouaip c'est bien ça. Tant pis !
    [del]Sinon, pour le thème, tu as celui-ci (http://luiszuno.com/blog/downloads/folder-template/). A priori c'est adapté à pluxml mais je n'ai pas vérifié.[/del] Désolé, c'est pour wp...

    Je viens de découvrir layout it! — grâce à ce blog — ça devrait me permettre de construire un truc simple rapidement.
  • Je viens de faire une mise à jour pour avoir une copie locale des images, encodée en base 64.
    J'ai également placé le bookmarklet dans le fichier de config afin qu'il soit disponible même si l'aide n'est pas traduite.
  • Bon, l'encodage en base64, ce n'était pas une bonne idée car la taille du fichier final était juste énorme.

    J'ai donc modifié le code pour récupérer une copie locale des images, qu'elles soient ou non en base64.
  • Ça a l'air super :) En revanche ça fonctionne comment ? Je ne vois pas de différence, y'a un truc particulier à faire ?
  • Non, il y a rien de particulier à faire, juste modifier les fichiers par les nouveaux.

    Dans la version 1.2, le code source de la page d'origine était modifié à la volée pour que l'url de la source des images soit remplacée par le code de l'image en base64. Ça fonctionnait sauf que le poids du fichier final était considérablement augmenté et que j'obtenais le contraire de ce que je voulais, à savoir gagner en vitesse de chargement.

    Maintenant, le code source de la page d'origine est rapatrié. Si on décide de l'enregistrer, soit en publiant directement la page, soit en la sauvegardant comme un brouillon, un dossier dont le nom est l'url de la page d'origine est créé dans le dossier images de pluxml et une copie de chaque image est créée dans ce dossier.
    Le code final de la page est modifié au moment de l'enregistrement (et pas avant) de manière à ce que l'url des images ne soit non plus celle d'origine vers le serveur de la page copiée mais celle vers le dossier de ton pluxml créé précédemment.

    Ainsi, la bande passante est préservée et si jamais la page d'origine venait à être supprimée, les images seront toujours disponibles.
  • Ok, ça fonctionne très bien ; j'ai eu un soucis hier qui devait être dû au fait que l'extension de l'image était suivie d'une chaîne de caractères (du genre .jpg?blabla)

    Ce plugin devient parfait :)

    Du coup, je me permets une suggestion de fonctionnalité : le redimensionnement automatique des images importées (ça pourrait être fait sous forme d'une option dans la config', permettant de préciser la hauteur et/ou la largeur max.), ceci afin d'éviter les images inutilement grandes.

    En tout cas, merci encore !
  • Oui, pas bête. Je vais essayer de faire quelque chose. En attendant, tu peux utiliser a posteriori les fonctions natives du gestionnaire de medias.
  • Bonjour

    Impossible de faire marcher le plugin chez moi... :/

    Je suis sous Pluxml 5.3 (migration depuis la beta) avec Firefox sous Mac. J'ai bien mon panneau de login, puis plus rien...
  • Jerry WhamJerry Wham Member
    février 2014 modifié
    Ça veut dire quoi plus rien ?
  • Page blanche... :/
  • Quand tu dis migration depuis la beta, ça veut dire quoi (désolé pour ces questions mais je veux être sûr de bien comprendre ce que tu dis) ?
    Si tu es sous mac, ouvre une console et dis moi ce que dis php.log. Si ce fichier n'est pas disponible, regarde dans le dossier mamp et ouvre le avec une console.
Connectez-vous ou Inscrivez-vous pour répondre.