Journal script Greasemonkey pour LinuxFR

Posté par  (site web personnel) .
0
4
juin
2005
Je pense qu'il y a qq utilisateur de Greasemonkey [http://greasemonkey.mozdev.org/(...)] dans la salle. J'aimerai vous faire partager ma première réalisation, en plus c'est pour le site LinuxFR, donc ça tombe bien, non?

Première chose, qu'est ce que c'est que Greasemonkey pour ceux qui débarquent : c'est une extension pour Firefox (j'espère que je peux me permettre de ne pas expliquer ce qu'est Firefox? Un petit lien au cas-où [http://frenchmozilla.sourceforge.net/firefox/(...)]) une extension donc, qui permet d'ajouter des scripts utilisateurs pour certains sites. Ces scripts vont permettre d'ajouter des fonctionnalités, corriger certains bugs, modifier la présentation ou le contenu, etc... Il y en a toute une liste par là : [http://dunck.us/collab/GreaseMonkeyUserScripts(...)]. Il y a de quoi tester ;)

Deuxième chose, il fait quoi mon script? Et bien il m'arrive souvent d'avoir du mal à suivre une discussion sur LinuxFR. La première branche d'un commentaire est assez facile à lire, mais quand j'ai fini avec une branche et que j'attaque la suivante, il m'arrive souvent de ne pas savoir à quel commentaire elle répond... Et quand il faut remonter 20 commentaires pour retrouver le parent de celui qu'on veut lire, pas évident. Donc voila ce que fait mon script : pour chaque commentaire de niveau N, avec N > 1, et si ce commentaire n'est pas sur la première branche de la discussion (ie ce n'est pas le commentaire le plus ancien pour son niveau) alors j'ajoute les liens "masquer" et "afficher" dans le titre du commentaire. Cliquer sur le lien "masquer" permet de masquer (Je trouve que le nom que j'ai donné à ce lien est magnifiquement bien trouvé) tous les commentaires qui le précèdent, il se retrouve donc juste sous le message auquel il répond. Le lien "afficher" re-affiche les commentaires masqués.

Je ne suis pas sûr d'avoir été très clair... bref, ceux qui ont Firefox et Greasemonkey d'installé, si vous voulez essayer, le lien vers le script est là : [http://arliguy.net/papa.user.js(...)] Ca serait sympa de me dire si çamarchechezvous.com. J'ai appelé le script Papa car c'est bientôt la fête des pères et qu'il permet à un commentaire de retrouver son père rapidement, mignon non?

J'ai testé avec et sans la toolbar LinuxFR et cela à l'air de fonctionner correctement pour les news et les journaux, mais je n'ai pas encore essayé les forums. Il n'y a cependant pas de raison pour que cela ne marche pas si le DOM des commentaires est le même.

Si d'autres personnes ont des scripts utiles pour Greasemonkey, ça serait sympa d'en parler. Ou si vous avez des idées de scripts utiles... Moi depuis qq semaines j'ai une folle envie d'implémenter un script de "Troisième page" qui permettrait de déplacer un journal dont le sujet commence à barber (non, je n'ai pas parlé du TCE) au fond de la page des journaux. Il serait donc toujours accessible mais sans polluer le reste. Bon, là cela oblige à faire persister des infos et en cas de changement de poste, c'est perdu... bref, bonne nuit. Merci d'avoir lu jusque ici, merci de tester pour ceux qui le testeront.
  • # Petits scripts

    Posté par  . Évalué à 4.

    Dans un genre plus modeste, mais alors vraiment beaucoup plus modeste, je me sers de GM pour transformer les lien HTTP sur linuxfr.org en leur équivalents HTTPS.
    http://tdegreni.free.fr/greasemonkey/linuxfr-https-links.user.js(...)

    Je l'active sur linuxfr et sur google (note : il faut un GM bien résent pour que l'alias ".tld" fonctionne), ça couvre la plupart des liens auquels je me retrouve confrontés je pense.

    Bien sûr, ça serait plus clean de procéder par redirection, mais pour l'instant GM opère trop tard, après que la page a été rendue et donc que les timestamps pour le marquage des commentaires non-lus ont été mis à jours.

    Oh, et puis j'en ai un aussi pour virer la boite des gagnants OReilly de la page principale, parceque bon, je trouve qu'elle occupe une place trop précieuse pour une info pas capitale.
    http://tdegreni.free.fr/greasemonkey/linuxfr-no_winners.user.js(...)
    (Je vire le logo aussi d'ailleurs pour la même raison, mais ça c'est dans ma CSS.)


    Bon sinon, je viens d'essayer ton masquer/afficher, et c'est plutôt sympa, ça peut effectivement être bien pratique dans les gros trolls :)
    Par contre, ce qui serait top, c'est si on pouvait ne voir "masquer" que quand les grands frères sont affichés, et réciproquement "afficher" quand ils sont masqué, enfin bref si on avait un moyen visuel de savoir dans quel état on est.
    • [^] # Re: Petits scripts

      Posté par  . Évalué à 2.

      > Par contre, ce qui serait top, c'est si on pouvait ne voir "masquer"
      > que quand les grands frères sont affichés, et réciproquement
      > "afficher" quand ils sont masqué, enfin bref si on avait un moyen
      > visuel de savoir dans quel état on est.

      Encore que, c'est vrai que si on voit les liens alors qu'on est direct sous le père, c'est que des frères sont masqués. Mais bon, c'est pas hyper intuitif comme feedback :)
      • [^] # Re: Petits scripts

        Posté par  (site web personnel) . Évalué à 2.

        Oui, c'est vrai que ce n'est pas trés intuitif... j'ai laissé cette "cosmétique" pour plus tard, je voulais d'abord voir si cela marchait. C'est sympa ces user scripts mais bon, il m'a fallu me remettre au javacript, pas forcément évident :)

        j'essayerai de faire qqch pour ce pbm de visualisation dans le weekend... mais j'hésite encore sur comment faire. Bah, j'vérabien.

        merci de vos retours.
        • [^] # Re: Petits scripts

          Posté par  . Évalué à 2.

          Tiens, une autre petite suggestion cosmétique : plutôt que le lien "masquer" pointe sur le commentaire lui même, il devrait pointer sur son père. A priori, si on clique "masquer", c'est qu'on est en train de perdre un peu le fil et qu'on veut recoller les morceaux, donc typiquement c'est au père qu'on veut jeter un oeil, or si le lien pointe sur le fils, bah on fait un petit bond qui va justement le cacher. Enfin moi j'ai browsé un peu là et je me rend compte qu'à chaque fois que je masque un truc, juste après je scroll un coup vers le haut.

          Je sais pas si je suis clair :)
    • [^] # Re: Petits scripts

      Posté par  (site web personnel) . Évalué à 3.

      Je réponds ici pour pouvoir tester directement sur la page de ce journal ce magnifique script qui marche très bien chez moi.
      Pour la pratique :
      Si on clique sur masquer, on ne devrait donc plus voir le post de B r u n o, ni tous les posts qui y répondent.

      Merci encore pour ce script :)
  • # Toolbar

    Posté par  (site web personnel) . Évalué à 6.

    J'ai une nouvelle version de la toolbar en préparation qui rajoute diverses fonctionalités (*), comme le depliage/repliage de tout un thread. Ton idée est pas mal, si tu m'y autorises je vais essayer de rajouter ca au passage... version beta d'ici une semaine si tout va bien.

    (*) Bon, elle est aussi 3 fois plus rapide, mais a la limite ca c'est un détail :)
    • [^] # Re: Toolbar

      Posté par  . Évalué à 2.


      (*) Bon, elle est aussi 3 fois plus rapide, mais a la limite ca c'est un détail :)

      C'est en effet un détail, l'infini divisé par 3 tendra toujours vers l'infini ;-)
    • [^] # Re: Toolbar

      Posté par  (site web personnel) . Évalué à 2.

      3 fois plus rapide et c'est un détail? je me demande ce que cela rend quand tu te donnes la peine d'optimiser alors... ;)

      Quand à rajouter mon idée dans la dlfp toolbar... hummm, il faut que j'en parle à mes avocats, ma mère et mon prêtre avant de prendre une décision. Je te donne la réponse d'ici 2 ou 3 ans, ok?

      Bon, humour mis à part, si tu penses que c'est ajoutable à la toolbar, je n'y vois pas d'inconvénient, au contraire : tout ce que tu fais, je n'aurai plus à le faire (hé hé, "sois fénéant" qu'on m'a dit).

      Sinon, il y a quoi comme nouvelles fonctions à la toolbar?
      • [^] # Re: Toolbar

        Posté par  (site web personnel) . Évalué à 3.

        En fait, niveau fonctionalités ya pas grand chose, j'ai ré-écrit tout depuis 0, d'ou l'amélioration de performances, et c'etait deja pas mal comme boulot:)

        Citons tout de meme:
        * Pouvoir planquer automatiquement des posts de certains troll^Wutilisateurs
        * Pouvoir planquer/deplanquer tout un thread partant d'un post précis (pour le moment par double click sur le lien [+]/[-], je voulais pas rajouter trop de liens)
        * Tout passe dans une css, et l'ancienne CSS est définitivement écrasée lors du rajout de la feuille utilisateurs (les auteurs de feuilles de styles comprendront l'interet)

        Sinon, l'idee plus haut de faire une troisieme page des journaux pourrait etre dans la toolbar aussi, du moins on pourrait les planquer/deplanquer comme c'est le cas pour les commentaires, c'est a voir, ca risque d'etre lourd.

        Bon, tout ca ca m'a donné envie d'accélerer un peu les choses, donc on va dire beta pour demain ou après demain plutot :)
    • [^] # Re: Toolbar

      Posté par  . Évalué à 2.

      > elle est aussi 3 fois plus rapide, mais a la limite ca c'est un détail :)

      Haha, mais non pas du tout : en fait, je ne me sens jamais autant utilisateur lambda démuni devant la complexité de l'informatique que quand mon browser me demande, en substance :
      Y'a un script qui tourne depuis vachement longtemps, voulez vous l'arrêter ?
      [Annuler] [OK]
      À chaque fois, y'a pas moyen que je me souvienne quelle est la réponse pour dire "non", et c'est très énervant :)

      Tiens, et c'est seulement maintenant que je réalise qu'en fait, aussi minable soit-il, ce bug mériterait peut-être d'être rapporté...
      • [^] # Re: Toolbar

        Posté par  (site web personnel) . Évalué à 4.

        En tout cas, pour le changer, c'est dom.max_script_run_time dans about:config. Par défaut il doit etre a 5 minutes (ca me semble bizarre, la toolbar prend vraiment 5 minutes sur certaines pages ? faut vraiment que j'aille me cacher alors :)
        • [^] # Re: Toolbar

          Posté par  . Évalué à 2.

          Nan, il était bien à 5, mais comme ça je dirais que ça doit être des secondes. Enfin ça collerait avec les qlqs fois ou j'ai eu ce message je pense, c'était après qlqs secondes, pas plus...

          Enfin bref, je passe à 20 et je devrais être tranquile.

          Merci bien ;)
          • [^] # Re: Toolbar

            Posté par  (site web personnel) . Évalué à 2.

            Bon, alors du coup ca me parait bizarre dans l'autre sens. 5 secondes, c'est ridiculement petit. Je me souviens avoir regardé des scripts durer facile 50 secondes sans voir ce warning apparaitre...
  • # Version 0.2

    Posté par  (site web personnel) . Évalué à 2.

    Bon j'ai pris 2 petites heures pour apporter les évolutions soulevées dans les précédents commentaires.

    L'adresse du script est toujours la même, à savoir [http://arliguy.net/papa.user.js(...)] et il ajoute :

    - quand on clique sur "Masquer" on est positionné sur le commentaire parent
    - un seul lien "Masquer" ou "Afficher" est visible. En fonction de ce qui est possible pour un commentaire, soit l'un soit l'autre est visible.

    Voila, en espérant que ce petit user script soit aussi utile à ceux qui l'utiliseront (si il y en a) qu'il l'est à moi même (et en espérant aussi que dlfp ne change pas la mise en page sans prévenir, car je navigue pas mal dans l'arbre DOM de facon relative.

    Si qqn trouve un bug, merci de me prévenir
    • [^] # Re: Version 0.2

      Posté par  (site web personnel) . Évalué à 2.

      Quelques détails:
      * Ca serait bien de l'activer par défaut sur les pages https aussi
      * Ca serait bien de pas l'activer sur les pages ou c'est pas necessaire (ok, c'est pas forcement simple a faire)

      Sinon, je pense que si je l'integre dans la toolbar, ca sera en changeant pas mal l'idee, de sorte que ca ne planque les commentaires que en les pliant/depliant (et en ayant donc le petit [+]/[-] pour changer apres). La je m'y perds quand je masque un truc...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.