#descriptif

  • Nouveau #plugin #SPIP : obfuscation_liens
    https://git.spip.net/spip-contrib-extensions/obfuscation_liens

    C’est pour faire du SEO. Ça s’utilise via un #FILTRE{obfuscation_liens} dans le squelette concerné : dans ce cas tous les liens trouvés dans ce squelette sont transformés en <span>, et le lien (href) est encodé en base64 et installé dans un data-obf.

    Il paraît que c’est la seule façon de réellement « cacher » un lien pour le crawler de Google, qui ne respecterait pas réellement les no-follow.

    • Oui alors à la base, ce genre de chose n’est pas non plus ma tasse thé… :-)

      Mais vu qu’on m’a demandé de le faire, parce qu’une spécialiste du SEO a fait un audit du site, j’ai pas trop le choix, autant partager l’outil.

      Aprrrrrrèèèèèès (mais vraiment loin après) :
      – l’utilisation première est restreinte à certains liens externes omniprésents (dans les footers notamment), qu’on est plus ou moins obligés d’avoir pour des raisons politiques, mais qui ne servent pas à grand chose, et qui d’après la spécialsite SEO, nuisent au référencement…
      – dans une interface très graphique, j’ai un bout d’interface très visuel, totalement redondante avec la navigation traditionnelle, je me dis qu’éviter de coller des liens difficiles à comprendre là-dedans pour les gens qui ne voient pas l’interface, alors qu’on a la même information, mais proprement structurée par ailleurs, ça peut se justifier (je ne vais pas le jurer, mais p’têt ben que oui).

    • un autre intérêt que je verrais à l’obfuscation, c’est si je veux referencer un site (car source pour un article que j’écris) sans pour autant augmenter son SEO (genre si je cite un texte d’un cite d’extreme droite ou du gouvernement)

    • @maieul Pour le moment, je ne suis pas allé chercher plus précisément que tous les liens dans un bout de squelette, donc là c’est pas fait pour.

      Il faudrait un autre filtre qui irait taper uniquement sur des liens avec un classe précise (.spip_obf par exemple), mais de toute façon je ne vois pas comment fabriquer des liens avec une classe spécifique dans les raccourcis SPIP.

    • @maieul Avec ce filtre on peut introduire une règle pour les auteurs d’un site. Par exemple en filtrant les champs #DESCRIPTIF, #TEXTE etc. SPIP n’afficherait en clair que les liens de la table spip_syndic ou contenus dans #PS , alors les auteurs devraient décider sur l’affichange ou non d’un lien en le plaçant ou dans le texte ou dans un contexte de publication en clair.

      Ce filtre ajoute également un argument supplémentaire à la question des liens « interdits par la loi » dont on peut questionner l’illégalité quand les « liens » sont rendus inopérants sans javascript et exclu du référencement par les crawler .

  • core/plugins/sites (Historie) – SPIP-ZONE
    https://zone.spip.org/trac/spip-zone/log/_core_/plugins/sites

    Cedric nous fait savoir dans spip-dev qu’il vient d’agrandir la fonctionnalité du plugin #sites. Chouette, en intégrant ce plugin dans #Seenthis il sera enfin possible d’abonner autre chose que du RSS, pas vrai ?

    Hello,

    j’ai mis en chantier sur le plugin-dist/sites de la version dev de SPIP (3.3) une extension du domaine de la syndication :
    https://zone.spip.org/trac/spip-zone/log/_core_/plugins/sites

    L’idée c’est qu’on peut syndiquer d’autres choses que des flux RSS, et notamment des flux de réseaux sociaux qui souvent nécessitent de passer par une API car le RSS n’est pas une option.

    Avec ces modifications on peut donc prefixer les urls de syndication par un nom de méthode qui précise comment le flux doit être récupéré
    (par defaut c’est la methode atomrss, native du plugin donc, qui sait traiter le Atom et le RSS).

    Première application de cette extension : le plugin mastodon
    https://github.com/Cerdic/mastodon

    qui, une fois configuré et connecté à un compte mastodon, permet de récuperer des flux de la forme

    mastodon:https://mamot.fr/@LaurentChemla (pour avoir plein de pouets de cuisine et de chats)
    mastodon:https://mamot.fr/@LaurentChemla/media (pour avoir que des images de cuisine et de chats)
    mastodon:https://mamot.fr/tags/pouetradio (pour avoir des sons)

    Ici le plugin mastodon renseigne toutes les informations habituelles d’un article syndiqués + 3 nouveaux champs raw_data, raw_methode et raw_format, qui permettent ensuite, dans une boucle (SYNDIC_ARTICLES) d’accéder aux données JSON renvoyées par l’API via par exemple #RAW_DATA{account/display_name}

    Bien entendu, les champs #TITRE, #DESCRIPTIF, #DATE etc habituels restent utilisables.

    On peut décliner cette utilisation à toute plateforme fournissant des flux via API (plus ou moins fermés, plus ou moins propriétaires)

    Le chantier est déjà fonctionnel, mais il reste à compléter la fonction d’auto-detection :
    quand on renseigne une URL dans le formulaire de création d’un nouveau site, seuls les flux RSS sont actuellement détectés, il faut encore que chaque methode soit capable de détecter les flux qu’elle peut syndiquer à partir de l’URL de la page web et les propose en résultat de la détection.

    Ça sera pour plus tard, je m’en vais marcher sur d’autres chemins.
    A bientôt.

    –-
    Cédric

    @fil @arno

  • Avec Mosquito, on vient de livrer le nouveau site de la Fémis :
    http://www.femis.fr

    C’est du #SPIP_3, #responsive, #HTML5 (et du #shameless_autopromo évidemment).

    Parmi les points originaux…

    – Le menu de navigation principal avec son animation « gauche-droite » au survol. Le javascript est très simple, et l’animation est directement en transition CSS. Dans chaque menu, les colonnes des rubriques/sous-rubriques sont aussi équilibrées que possible, et c’est fait directement avec Masonry.

    – Les images passent par mon plugin « image_responsive », ce qui permet de gérer différentes tailles, ainsi que le chargement d’images deux fois plus grandes pour les écrans haute définition.

    – Il y a réellement très peu d’images pour réaliser l’interface graphique. C’est essentiellement des CSS avec des dégradés discrets, des ombres portées… Comme d’habitude, mon plugin « CSS imbriqués » est très utile pour faciliter le codage (CSS avec gestion des préfixes et des variantes de navigateurs, code hiérarchisé, inversion des #media_queries…).

    – La moteur de recherche (c’est du pur SPIP/Fulltext) bénéficie de petites améliorations dans les squelettes. (C’est accessible via la loupe en haut à gauche de la page.) La première consiste à faire des suggestions lorsqu’on commence à taper un mot. Tu tapes « réali », et ça te déplie des suggestions : « réalisation, réalisateurs, réalisateur, réalisé, réaliser… » classées en fonction de la présence de ces mots dans le site. Une fois que tu as validé ta recherche, la page de résultats est classique, mais avec un détail : le texte « descriptif » de chaque article est calculé pour afficher le terme recherché, surligné dans son contexte (habituellement on affiche simplement le début du texte comme partout dans le site ; là il y a un calcul amusant).

    – Une grosse partie du boulot a consisté à refondre la base de donnée des anciens élèves. D’abord créer des moulinettes pour réorganiser l’ancienne base de données dans ma nouvelle structure. Ensuite évidemment gérer l’affichage sur le site (avec SPIP, cette partie, c’est assez finger in ze noze). Et surtout : des formulaires pour que chaque ancien étudiant gère lui-même sa fiche, ses infos personnelles, sa filmographie, son CV structuré… Le tout en essayant de proposer des interfaces aussi intuitives que possible, ce qui est toujours une gageure quand on a des formulaires un peu complexes.

    – Ça faisait carrément longtemps : on utilise les brèves de SPIP ! (Pour l’« Actualité des diplômés »).

    – Comme à mon habitude, la page d’accueil et le footer sont construits avec une « rubrique technique » invisible, laquelle contient des sous-rubriques pour structurer, et il faut donc publier des « articles virtuels » qui redirigent vers ce qu’on veut. C’est un peu plus contraignant que d’autres techniques, mais c’est ce qui donne la plus grande souplesse (on peut « référencer » des articles, des rubriques, des pages distantes…, forcer le classement qu’on veut en page d’accueil, utiliser des titres et des descriptifs plus adaptés…).

    • Comme à mon habitude, la page d’accueil et le rooter sont construits avec une « rubrique technique » invisible, laquelle contient des sous-rubriques pour structurer, et il faut donc publier des « articles virtuels » qui redirigent vers ce qu’on veut. C’est un peu plus contraignant que d’autres techniques, mais c’est ce qui donne la plus grande souplesse (on peut « référencer » des articles, des rubriques, des pages distantes…, forcer le classement qu’on veut en page d’accueil, utiliser des titres et des descriptifs plus adaptés…).

      Héhé, par deux fois déjà, j’ai opté pour exactement la même technique, afin de sélectionner les contenus listés dans un carrousel d’accueil. Cela permet d’avoir une image différente, pas forcément intégrée au contenu final qui est lié, pareil pour le titre et le descriptif, qui peuvent être propres à l’accroche, et ça permet effectivement aussi de rediriger vers un autre contenu externe.

      Pour ne pas faire de bidouille, ça pourrait mériter un plugin dédié, du genre « Sélections de contenus », où on pourrait en créer autant qu’on veut, avec un identifiant textuel non lié à la base (ce qui permet de l’utiliser dans les squelettes génériquement), et qui permettrait alors de sortir :
      <BOUCLE_news_accueil(SELECTIONS){identifiant=news_accueil}>
      LOGO_SELECTION
      TITRE
      DESCRIPTIF
      LIEN (celui ci pouvant gérer à la fois une URL classique, ou un identifiant de contenu SPIP du genre : « evenement1234 »)
      </BOUCLE_news_accueil>

      Avec une interface bien fichue pour les administrer. Ça sera plus facile et plus facilement compréhensible (car pas un détournement).

    • Salut @arno,
      j’ai enfin pris le temps de commencer ce plugin de sélections éditoriales.

      Voici le premier commit :
      http://zone.spip.org/trac/spip-zone/changeset/83884

      Tu peux donc te faire une sélection « accueil », une autre « footer », etc. Et les récupérer facilement dans tes squelettes :

      <BOUCLE_une(SELECTIONS){identifiant=accueil}>
         <BOUCLE_contenus(SELECTIONS_CONTENUS){id_selection}>
             <a href="#URL">
             #LOGO_SELECTIONS_CONTENU
             #TITRE
             #DESCRIPTIF
             </a>
         </BOUCLE_contenus>
      </BOUCLE_une>

      Et dans le champ « url », tu peux y mettre :
      – soit un URL complet quelconque
      – soit un objet SPIP sous la forme « article123 », « evenement456 », « rubrique789 ».

      Dis moi ce que tu en penses.

      (Et comme le dit le commit, viendra ensuite l’ajout de sélections en-dessous d’un objet SPIP. Lorsqu’on le veut.)

    • Oublié de le dire :
      1) j’ai ajouté la création d’une sélection sous un contenu SPIP (un article par exemple), et
      2) j’ai modifié le formulaire d’ajout d’un contenu sélectionné pour le rendre plus pratique : seule l’URL est obligatoire, et si on ne met que ça, la magie va chercher le titre du contenu SPIP (si on a mis « article1234 » par exemple) ou le titre de la page HTML (si on a mis un URL http).