SPIP

SPIP un jour, SPIP toujours ... Une part de manuel, une part de totomatique sur ce compte de short-blogging.

  • Meet « Stuckie » — The Mummified Dog Stuck In A Tree For Over 50 Years
    https://allthatsinteresting.com/stuckie-mummy-dog

    Un chien retrouvé momifié dans un tronc d’arbre

    After cutting off the top of the tree, and loading it onto a truck for transport, a member of the team happened to peer down the hollow trunk. Inside, he found the perfectly mummified remains of a dog, looking back at him, its teeth still bared in a fight for survival.

    Experts who studied the carcass concluded that the pup was most likely a hunting dog from the 1960s, who had chased something such as a squirrel through a hole in the roots, and up the center of the hollow tree.

    The higher the dog got, however, the narrower the tree became. From the position of the dog’s paws, experts believe that it continued to climb until it effectively wedged itself in. Unable to turn around, the dog died.

  • On vient de mettre en ligne le mini-site « Hommage à Frédéric Bazille », sur la plateforme « Fabre dans mon canapé », qu’on avait lancée pour le Musée Fabre de #Montpellier :
    https://fabre.montpellier3m.fr/Hommage-a-Frederic-Bazille

    Comme tu dois le savoir désormais, c’est du #SPIP, et l’originalité à nouveau, c’est que la prestation consiste essentiellement dans la mise en ligne de contenu, plutôt que du développement Web traditionnel.

    Mais il y a tout de même quelques petits détails nouveaux qui enrichissent ma plateforme…

    – Un parcours sur une carte interactive avec des informations géolocalisées :
    https://fabre.montpellier3m.fr/Sur-les-pas-de-Frederic-Bazille-a-Montpellier

    Ça c’est un nouveau format pour la plateforme. J’avais déjà intégré la possibilité d’un parcours géolocalisé sur les longforms, où chaque partie peut être placée sur une carte :
    https://fabre.montpellier3m.fr/Moyen-age-et-Renaissance
    Ici c’est exactement la même structure d’information, mais c’est la carte plein écran qui prime pour entrer dans l’information. Un bouton de géolocalisation de l’usager permet en plus de se promener en ville en suivant la carte. (Sur smartphone, ça détecte en plus la direction dans laquelle pointe le téléphone, ce qui facilite le repérage sur la carte.)

    Et au fait : la documentation de cette page est particulièrement riche, si tu t’intéresses à #Montpellier, tu vas apprendre plein de choses…

    – Une autre interface nouvelle sur la plateforme, c’est une image en « méga-zoom », avec des hotspots :
    https://fabre.montpellier3m.fr/L-Atelier-de-la-rue-de-La-Condamine
    Ça devrait te rappeler une interface réalisée (à la main) par @philippe_de_jonckheere il y a quelques années…
    http://www.desordre.net/accessoires/peinture/bazille
    Là, évidemment, c’est du SPIP, les hotspots se placent en drag-and-drop, et les tableaux sont les fiches de la base de données des œuvres du musée.

    – Une petite visite virtuelle des salles dédiées à l’événement dans le musée :
    https://fabre.montpellier3m.fr/Visite-virtuelle
    J’ai progressé dans le traitement des images sorties de mon appareil 360° (un Ricoh Theta Z1, photos prises en HDR de 9 prises de vues), la qualité des images panoramiques est meilleure qu’au début.

    Et à nouveau, pour les « logos » des différentes pièces, j’utilise des « mini-planètes » que je calcule sur le serveur avec Imagemagick, à partir de mes images équirectangulaires.

    – Enfin plusieurs longforms documentaires. L’un d’eux est consacré à la découverte d’un tableau disparu de Bazille, « sous » un tableau inachevé présent dans les collections du musée :
    https://fabre.montpellier3m.fr/A-la-recherche-du-tableau-disparu

    Pour l’occasion, j’ai développé un petit modèle SPIP, qui me permet de configurer un slider « avant-après » intégré dans le texte de la page, pour montrer le tableau qui dévoile l’image radiographiée en dessous. (Il existe un plugin pour SPIP qui fait quelque chose de similaire, mais j’ai des besoins un peu particuliers, notamment j’impose mon propre plugin d’image_responsive, alors j’ai préféré rapidement refaire un petit truc pour mes propres besoins.)

    Voilà, c’est ma #spip_recette et #shameless_autopromo du jour.

    • @arno , je ne sais pas si c’est de votre ressort, je poste tout de même la lettre émouvante de Gaston Bazille à l’ami de son fils . J’ai mis en gras les ajouts ou changements que j’ai faits.
      https://fabre.montpellier3m.fr/Correspondance
      ““““““““““““““"
      Gaston Bazille [à Edmond Maître ?]
      2 février 1871

      Montpellier, 2 février 1871
      Cher monsieur, votre lettre de la fin de décembre m’est parvenue dans les premiers jours de janvier, je vous expédiai de suite une dépêche télégraphique, il est fort probable qu’elle ne vous soit pas parvenue. Je profite de l’armistice pour vous annoncer l’affreux malheur qui nous a frappés ; mon cher Frédéric est mort en héros, tué de deux balle s à l’attaque de Beaune-la-Rolande, le 28 novembre. Malgré l’occupation prussienne et des difficultés de tout genre, j’ai pu après dix jours, retrouver sur le champ de bataille, parfaitement intact, dans la fosse où il avait été inhumé, le corps de mon cher enfant. J’ai suivi à pied pendant cinq jours dans la neige , l’humble charrette, le seul véhicule que j’avais pu me procurer à Beaune qui portait le cercueil de ce brave soldat, le chemin de fer ne marchait qu’à Issoudin . La mort de Frédéric a été pour Montpellier un deuil public ; il était adoré dans son régiment, comme tant d’autres, il aurait pu facilement avoir un grade dans un état-major, ou attendre tranquillement ici le départ des gardes nationaux mobilisés. Il a voulu servir son pays dès le premier danger ; il est allé un mois environ en Afrique du 15 août au 15 septembre, puis un mois à Montpellier où le 3e Zouave était venu se former, une quarantaine de jours près de Besançon, enfin transporté avec tout un corps d’armée à Gien , il a été frappé quelques jours après, à la tête de son régiment, tout près des murs crénelés de Beaune la Rolande. Le 3e Zouave a été cruellement éprouvé dans cette attaque. J’ai vu à Beaune et plus tard à Montpellier bien des soldats de ce régiment ; tous étaient pleins d’admiration pour Frédéric et m’en parlaient avec les yeux pleins de larmes ; il s’était fait adorer par ses frères d’armes. Il était sergent fourrier, menant à l’attaque une partie de sa compagnie et ses derniers mots à ses soldats, l’un d’eux me les a répétés : « si nous pénétrons dans la ville, fesons (sic) nous tuer, il le faut, c’est notre métier ; mais à aucun prix ne tirons sur des maisons où il y aurait des femmes ou des enfants. »
      Grâce au froid très vif qu’il avait fait, et sur les indications des hommes requis pour enterrer les morts après la bataille, j’ai fait ouvrir la fosse où mon noble fils avait été placé avec une une vingtaine d’hommes, certain de le reconnaître. Son beau visage était aussi calme aussi pur qu’au moment où il avait été frappé ; ce fut certes un moment très affreux pour un père que de retrouver et reprendre son fils au milieu de ces cadavres ; mais aussi quelle profonde satisfaction de le revoir encore, et de le presser dans mes bras. J’ai eu comme tout le monde dans la vie des jours heureux et malheureux ; mais je ne changerai pas la plus belle journée pour celle où j’ai pu retrouver et embrasser mon fils mort.
      Vous qui le connaissiez intimement vous comprenez mieux qu’un autre la perte que nous avons faite.
      Frédéric avait tout pour lui : force, jeunesse, intelligence, talent. Il a sacrifié un brillant avenir sans hésiter une minute ; et si vous aviez vu avec quelle simplicité il a agi ! sans se faire valoir, trouvant son dévouement à son pays tout naturel. Ah oui ! c’était un noble cœur et un beau caractère.
      On nous dit pour nous consoler, à sa mère et à moi : la mort de votre fils a été glorieuse. Sans doute, mais ce n’est pas moins la mort, et jusqu’à la fin de notre vie nous plierons sous le poids de cette immense douleur.
      Quand nous serons revenu à un temps plus calme, je vous prierai , cher Monsieur, de vouloir bien nous faire parvenir toutes les toiles, toutes les œuvres que mon fils avait dans son atelier ; vous voudriez bien aussi, je vous prie, prévenir le propriétaire de l’atelier pour qu’à la fin de l’année de bail, il reprenne possession de ce lieu. Frédéric avait sans doute quelque petits comptes chez divers marchands ; vous me rendrez aussi un bien grand service, de me faire savoir ce qui leur est dû, de manière à ce que je puisse les désintéresser mais sans être trompé par eux, il me serait bien difficile de vérifier les comptes.
      Adieu, mon cher Monsieur, je connais toute l’affection que vous portiez à mon cher Frédéric, je comprends combien cette lettre vous rendra malheureux , Veuillez je vous prie, faire savoir la fatale nouvelle aux autres amis de Frédéric. Je vous embrasse de tout mon cœur,
      Gaston Bazille

    • La guerre de ’70 n’a pas eu lieu pendant mon enfance ... ;-)
      https://fabre.montpellier3m.fr/Correspondance

      TÉLÉGRAMME DE GASTON BAZILLE À EDMOND MAÎTRE LUI ANNONÇANT LA MORT DE FRÉDÉRIC
      8 janvier 1971

      https://fr.wikipedia.org/wiki/Fr%C3%A9d%C3%A9ric_Bazille#Inhumation

      Pour moi, je suis bien sûr de ne pas être tué : j’ai trop de choses à faire dans la vie », déclare-t-il à son capitaine la veille de sa mort.

      Très beau site, mais quel imbécile.

  • Sur un site #SPIP, j’ai besoin de détecter les langues des messages, mais je ne veux détecter que dans trois langues (français, anglais, allemand).

    Du coup mon #plugin seenthis_detecter_langue n’est pas utilisable directement :
    https://git.spip.net/spip-contrib-extensions/seenthis_detecter_langue

    parce que je n’ai pas prévu de limiter arbitrairement le choix des langues. (Ce qui est assez logique en général.)

    Du coup, dans mes_fonctions.php, je fabrique une fonction detecter_la_langue ainsi :

    $my_ngrams = false;
    function detecter_la_langue($texte) {
            if (!$my_ngrams) {
                    $my_ngrams["fr"] = $GLOBALS["ngrams"]['fr'];
                    $my_ngrams["en"] = $GLOBALS["ngrams"]['en'];
                    $my_ngrams["de"] = $GLOBALS["ngrams"]['de'];
                    $GLOBALS["ngrams"] = $my_ngrams;
            }
            return detecter_langue($texte);
    }

    Du coup on ne teste les « ngrams » que sur ces trois langues, donc le plugin ne pourra plus retourner qu’une de ces trois valeurs.

  • RSS-Bridge/rss-bridge : The RSS feed for websites missing it
    https://github.com/RSS-Bridge/rss-bridge
    https://repository-images.githubusercontent.com/11935508/5d62b680-977c-11e9-99ec-5d131da3c993

    RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for websites that don’t have one. It can be used on webservers or as a stand-alone application in CLI mode.

    Projet très intéressant déjà bien maintenu pour réussir à lire les contenus des réseaux privateurs et pouvoir les importer ailleurs.

    Par défaut ça génère des flux Atom ou RSS mais… on peut aussi définir son format, donc je suppose qu’il doit être possible de générer des flux ICS pour des calendriers d’événements Facebook par exemple aussi !

    Ça me parait une très bonne base pour faire un agrégateur de contenus venant de ces réseaux (un « social wall » comme c’était la mode de le dire à un moment), mélangeant plusieurs réseaux dans la même page, pas dans des blocs différents.

    ping @jeanmarie aussi, je me dit que ça peut intéresser pour aspirer des calendriers, des organismes qui ne mettent leurs événements que sur ces réseaux et pouvoir les aspirer/agréger dans un même site (SPIP évidemment).

    via @nicod_
    #RSS #Atom #réseaux_sociaux #Facebook #Twitter #Instagram

  • Territoires, utilisation du plugin

    L’objectif du plugin est de fournir un nouvel objet éditorial couvrant l’ensemble des zones géographiques du continent à la subdivision minimale d’un pays. De fait, ce plugin pourrait à terme remplacer les plugins Pays, Continents, COG et Géographie en fournissant un objet unique et servir de pivot à d’autres plugins de géographie comme GIS, Contours ou Cartes Choroplèthes.

    https://contrib.spip.net/Territoires-utilisation-du-plugin

    #spip_blog

  • Agenda : Inscription libre aux événements

    Propose un module alternatif aux inscriptions des événements de l’agenda
    – les inscriptions sont ouvertes à tous les visiteurs du site sans à avoir à se connecter (pas de création de compte)
    – l’inscription se fait en 2 étapes avec l’envoi d’email qui contient un lien pour valider son inscription (pour garantir l’unicité et la validité de l’email soumis)

    https://contrib.spip.net/Agenda-Inscription-libre-aux-evenements

    #spip_blog

  • À l’aide, @SPIP : j’essaie de convertir un de mes plugins qui permet d’uploader un fichier via un formulaire CVT dans l’espace privé, pour qu’il fonctionne avec BigUp.

    J’arrive maintenant à obtenir l’interface, et le glisser-déposer d’un gros fichier semble se faire jusqu’au bout. Mais à la fin de l’upload (avec la prévisuation, la vignette et la barre de progression), ça se contente de faire disparaître la barre de progression et ça remplace le bouton « Annuler » par le bouton « Enlever ».

    Mais l’action voulue (traiter l’image dans la partie traiter du formulaire) n’est pas du tout déclenchée.

    Mais je ne trouve ni exemple d’utilisation de BigUp en dehors des éléments natifs de l’interface, dans un autre plugin par exemple, ni documentation détaillée de ce qu’il faut faire côté PHP.

    Est-ce qu’il y a un /formulaire quelque part dans l’espace SPIP, par exemple dans un plugin, qui me permettrait de comprendre comment je dois procéder ?

    • Oui. Et notamment ceci que je ne comprends pas :

      Pour recréer le tableu $_FILES tel que le crée habituellement PHP, il faut connaître la valeur de l’attribut name de la balise input.

      Cette valeur est transmise avec le token calculé, et est inscrite dans le chemin de cache des fichiers reçu. Cela permet, à partir d’un fichier cache donné, de recréer le $_FILES qui lui correspondait.

      Apparemment, je ne récupères pas de valeur $_FILES dans mon _traiter ($_FILES qui fonctionne en mode « non bigup ») . Est-ce qu’il y a quelque chose à faire pour récupérer ce tableau calculé à partir du token, et si oui : quoi ?

    • Non plus. J’avais déjà ajouté :

              if (!$_FILES) {
                      $_FILES = isset($GLOBALS['HTTP_POST_FILES']) ? $GLOBALS['HTTP_POST_FILES'] : array();
              }

      qui ne m’apporter rien (je ne vois pas d’infos concernant le fichier installé ni dans $_FILES ni dans $_GLOBALS).

    • Ah… il faut ajouter

      $valeurs['_bigup_rechercher_fichiers'] = true;

      dans la partie _charger du formulaire.

      C’est écrit de manière un peu critique dans le README :

      Au chargement d’un formulaire CVT, si la clé _bigup_rechercher_fichiers est présente, le plugin Bigup se chargera de retrouver les fichiers déjà chargés pour ce formulaire et d’ajouter leur liste, pour chaque champ concerné du formulaire, dans l’environnement.

    • Grrrr, ça marchait ça marche plus, et je n’arrive pas à voir pourquoi.

      Quand je valide mon formulaire (après l’upload via Bigup), je me cogne un vilain écran d’erreur :

      Fatal error: Uncaught Error: [] operator not supported for strings in /home/clients/d674084bbe9c0c511a4685e13dee1efb/web/fabre/plugins-dist/bigup/inc/Bigup/Files.php:163 Stack trace: #0 /home/clients/d674084bbe9c0c511a4685e13dee1efb/web/fabre/plugins-dist/bigup/inc/Bigup.php(93): Spip\Bigup\Files::integrer_fichier('upload_fond_hot...', Array) #1 /home/clients/d674084bbe9c0c511a4685e13dee1efb/web/fabre/plugins-dist/bigup/bigup_pipelines.php(169): Spip\Bigup\Bigup->reinserer_fichiers(Array) #2 /home/clients/d674084bbe9c0c511a4685e13dee1efb/web/fabre/ecrire/inc/utils.php(199): bigup_formulaire_receptionner(Array) #3 /home/clients/d674084bbe9c0c511a4685e13dee1efb/web/fabre/tmp/cache/charger_pipelines.php(640): minipipe('bigup_formulair...', Array) #4 /home/clients/d674084bbe9c0c511a4685e13dee1efb/web/fabre/ecrire/inc/utils.php(265): execute_pipeline_formulaire_receptionner(Array) #5 /home/clients/d674084bbe9c0c511a4685e13dee1efb/web/fabre/ecrire/public/aiguiller.php(212): pipeline('formulaire_rece...', Array) #6 /home/clients in /home/clients/d674084bbe9c0c511a4685e13dee1efb/web/fabre/plugins-dist/bigup/inc/Bigup/Files.php on line 163

      [EDIT] Corrigé : il faut que le formulaire soit dans une classe .ajax (donc formulaire Ajax).

    • En revanche, il me reste un truc que je ne trouve pas : comment je fais pour que le formulaire se valide dès que ça a terminé l’upload ?

      Ça le fait pour les logos et pour les documents joints, mais je ne trouve pas comment faire pour mon propre formulaire. Parce que pour l’instant, j’ai le barre d’upload, puis ça affiche la petit vignette, le nom du fichier et son poids, mais il faut encore que le valide le formulaire (« Téléverser »).

    • ça peut être fait en surchargeant l’appel de bigup de la façon suivante :

      $('input.bigup').bigup({}, {
              complete: function(){
                      $('.formulaire_bigform form').submit();
              }
      }).on('bigup.fileSuccess', function(){
              setTimeout("ajaxReload('docs_ressource')", 2000);
      });

      (dans cet exemple qui se joue en page publique, la 2ème partie permet de recharger la liste des docs affichés)

    • En tout cas, merci les amis, c’est vraiment une belle bête ce Big-Up. J’avais hâte de réussir à faire tourner mon propre formulaire avec. Surtout que c’est précisément un endroit où j’ai généralement besoin d’installer des gros fichiers…

  • Fos / étang de Berre : 200 ans d’histoire industrielle et environnementale
    https://fos200ans.fr

    Un webdoc en SPIP comme support de vulgarisation d’un projet de recherche socio-historique.
    Double navigation immersive ou cartographique, création d’un outil de génération de fonds cartographiques pour GIS à partir d’images, plein d’interviews vidéos des acteurs locaux... une collaboration chercheurs/vidéaste/spipeurs efficace !
    on est super content du résultat, principalement développé par Adèle une nouvelle spipeuse chez Gamuza :-)

    #spip #pollution #lutte_environnementale #fos #webdoc #shameless_autopromo

  • Encore un mini-site pour le Musée Fabre de #Montpellier : il s’agit du minisite accompagnant la nouvelle app Fabre & the City 2 lancée par le musée :
    https://fabre.montpellier3m.fr/Fabre-the-City-2

    La app, c’est donc réalisé pour une boîte locale, qui s’est lancée récemment sur le concept d’escape game géolocalisé sur smartphone en ville.

    De notre côté (#shameless_autopromo), il s’agit donc de l’intégration d’un mini-site de présentation dans notre site Fabre dans mon canapé. Comme je l’expliquais hier pour le mini-site de l’expo Pharmacopées :
    https://seenthis.net/messages/880108
    c’est la première fois qu’on vend une prestation de mise en ligne de contenu. Chose qui me plaît d’ailleurs beaucoup, puisque ça me permet de pousser les outils que j’ai développés (sous #SPIP) aussi loin que possible.

    Ici, il s’agit essentiellement de longforms. Trois principaux couvrent les « parcours » du jeu :
    https://fabre.montpellier3m.fr/Moyen-age-et-Renaissance
    https://fabre.montpellier3m.fr/Epoque-moderne
    https://fabre.montpellier3m.fr/Periode-post-revolutionnaire-XIXe-siecle

    Une petite innovation ici dans ces longforms, comme il s’agit d’endroits qui existent en ville (et que ça accompagne, justement, une application géolocalisée), c’est que chaque lieu est associé à un point de la carte, et que le scroll dans la page fait surgir une petit carte que l’on peut agrandir pour afficher le parcours de cette longform.

    L’autre petite innovation, ce sont les animations installées sur Viméo qui se déclenchent automatiquement quand on arrive à leur niveau. Et on masque complètement les contrôles de Viméo, pour donner l’impression d’une animation intégrée à la page, façon « app ». À noter cette subtilité : il faut que la vidéo soit muette pour se déclencher sans « click » de l’usager, et donc dans mon code, avant de déclencher la vidéo, je force un « mute » du volume (même si ces animations n’ont pas de son).

    Un gros morceau, ce sont les documentations plus complètes pour chacune des lieux, soit accessibles via les liens « Pour en savoir plus » des longforms précédents, soit via la rubrique dédiée :
    https://fabre.montpellier3m.fr/Pour-aller-plus-loin
    Y’a de quoi s’occuper un moment (et hop, j’ai encore appris plein de choses sur la ville d’adoption).

    Et enfin, un format nouveau : l’image panoramique à 360° dans laquelle on zoome/scroll automatiquement simplement en scrollant dans la page (ici c’est avec une illustration à 360°, mais ça fonctionne très bien avec une véritable photo panoramique) :
    https://fabre.montpellier3m.fr/Le-jardin-des-plantes

    On scroll donc verticalement, et à chaque cartel explicatif, on se déplace automatiquement dans l’image panoramique. Au lieu d’avoir une visite « libre » d’un endroit avec des hotspots (ce que je fais beaucoup sur ce site, et notamment sur Pharmacopées), on a une narration guidée (ce que j’aime beaucoup, comme format de médiation).

  • Un peu de #shameless_autopromo avec le Musée Fabre de #Montpellier :
    https://fabre.montpellier3m.fr/Pharmacopee

    Je viens de mettre en ligne un mini-site consacré à l’exposition Pharmacopée qui débute ce week-end à l’hôtel Sabatier d’Espeyran. C’est donc dans le site (et avec les outils) Fabre dans mon canapé, qu’on a livré à la fin du confinement.

    La « nouveauté » importante pour nous sur ce site n’est pas du tout technique : c’est le fait que nous avons vendu comme prestation la mise en ligne de contenu (un peu complexe) pour un site Web. Depuis l’époque où l’on s’était vantés qu’« avec SPIP, tu te débarrasses du webmestre », ça n’était jamais arrivé : une fois qu’on livrait un site, le client se débrouillait tout seul.

    Mais depuis, avec les nouveaux outils qu’on a développés dans SPIP, je soutiens l’idée qu’il y a place pour un profil éditorial/graphiste/technicien, capable de gérer des maquettes un peu compliquées, de gérer de la création graphique, et qui maîtrise des outils techniques pas forcément évidents (ici, par exemple, fabriquer les panoramiques 360°). Un peu l’inverse donc de l’habitude prise avec les CMS. Alors que, par ailleurs, les gens continuent de payer des mini-sites à des agences de comm, pour tel ou tel événement, en marge de leur site principal. Ici donc, tenter de réintroduire les contenus et maquettes complexes dans la logique d’un site global. À terme : laisser au webmestre de l’institution la gestion quotidienne du site et la publication d’informations institutionnelles, mais réintervenir ponctuellement à la façon qu’un graphiste/maquettiste quand on a besoin d’une mise en scène plus « magazine », vivante et originale, au sein du même site.

    On a donc pour cette expo 3 parties distinctes :

    – une assez conséquente documentation historique sur la pharmacie depuis le moyen âge, sous forme d’une collection de longforms :
    https://fabre.montpellier3m.fr/La-documentation-historique
    (moi j’aime bien : j’ai appris plein de choses)

    – une visite virtuelle de l’expo de pots de pharmacie du rez-de-chaussée de l’hôtel Sabatier :
    https://fabre.montpellier3m.fr/L-exposition-des-salles-Cavalier

    – et assez tripant : la visite virtuelle complète de l’hôtel, pour l’exposition des œuvres de l’artiste Jeanne Susplugas :
    https://fabre.montpellier3m.fr/L-exposition-Jeanne-Susplugas

    Au passage, sur la page de l’expo Susplugas, les vignettes ont été créées par un script maison, qui fabrique des « mini-planètes » à partir de mes images panoramiques 360°.

    • Non, pas de moteur de recherche sur ce site, conçu pour être très « plat » (c’est-à-dire que tout est accessible dès la page d’accueil).

      Et pas de Raoult, parce qu’ici c’est la Paillade* !

      Plus sérieusement, ça ne présente que des médicaments qui ont prouvé qu’ils sont efficaces (mithridate, eau de vipère, et thériaque de Montpellier – la seule thériaque recommandée par ton médecin). Donc pas la poudre de perlimpinpin de ton savant de Marseille.

      * Chant des supporters du foot local.

  • Est-ce que quelqu’un sait ce que Reporterre utilise sur son site #SPIP pour réaliser sa page de don :
    https://reporterre.net/spip.php?page=don

    Je n’arrive pas à déterminer si c’est un plugin, ou un truc maison. J’aurais tendance à penser que c’est un truc maison, puisqu’on trouve le squelette ici (et c’est plutôt, hum, rustique, avec un mélange très oldschool de PHP et de HTML) :
    https://reporterre.net/squelettes/don.html

    • Oui c’est un truc perso.

      Il y a le plugin Souscriptions qui fait « campagnes de dons » et « campagnes d’adhésions » ici, si ça te suffit :
      https://github.com/otetard/spip_souscription

      On a besoin de dons dans relativement peu de temps mais ce dernier ne nous convient pas du tout car il veut tout faire à la fois. Notamment il ne permet pas de choisir soi-même la manière d’enregistrer les infos des gens (comment, quels champs, où) car tout est dans le même formulaire en dur. Or pour certaines assocs qui font d’autres choses (abonnements, vente de choses à l’unité, adhésions, etc) on veut plutôt stocker les infos de la même manière et au même endroit que les autres tunnels qui vont exister en parallèle (nous on utilise Profils par ex, mais chacun devrait pouvoir choisir sa méthode/son endroit préféré). Et donc nous pensons qu’un plugin Dons plus générique ne devrait faire que ça, sans imposer des choses, sur le même principe que le plugin Produits, le plugin Abonnements, etc : séparer la gestion de « qu’est-ce qu’on doit payer », de la gestion de « qui paye ».

      Du coup on a prévu à assez court terme de développer un nouveau plugin plus concis, plus autonome, qui ne fait qu’une chose.

  • Pourquoi #SPIP n’est pas populaire ?

    http://seonul.blogspot.fr/2011/11/parmi-les-cms-que-jai-eu-loccasion-jai.html

    Quand je cherche quelque chose sur Wordpress, je connais tous les sites officiels et je n’ai pas besoin de chercher l’information à droite à gauche. Wordpress possède aussi des dizaines de sites dédiés, mais la différence est qu’ils sont centralisés sur la plateforme officielle.

    Mais :

    Pour ma part, je pense que les différents sites officiels de SPIP sont trop éparpillés et que l’utilisateur lambda est complètement perdu.

    donc, ça doit être une question de dosage...

    • pas du tout convaincu par l’argument sur la doc éparpillée ; par contre en effet c’est codé en français (ou franco-franglais), et on n’a jamais fait de marketing : ça n’a donc jamais été très porteur sur “le marché”…

    • Que la doc soit éparpillée, sur plusieurs sites, n’est pas le plus gênant… puisqu’on trouve tout avec un bon moteur de recherche :)

      J’ai toujours pensé qu’il vaut mieux un petit site qui fait une chose et la fait bien, qu’on jette quand il n’est plus utile et qui est remplacé par un autre, plutôt qu’un gros site qui veut tout faire et qu’on a finalement a du mal à maintenir dans le temps.

      Le plus gênant, c’est l’inégalité de la doc existante : « Le problème avec SPIP, finalement, c’est qu’à force de chercher pour tomber une fois sur deux sur un truc périmé qui te fiche dans la merde, on perd confiance et on finit par ne même plus chercher… » me disait l’autre jour un dev qui débute en SPIP.

      Oui, refondre spip.net en portail aiderait à mieux s’y retrouver dans cette galaxie, en orientant vers les docs à jour.

    • Et ce chantier existe depuis janvier 2011, sous la forme d’un plan de travail que j’ai mis en ligne il y a 2 ans maintenant :
      http://contrib.spip.net/Refonte-de-spip-net

      Actuellement, le site c’est surtout pour les copains : ceux qui connaissent déjà SPIP et qui viennent alors chercher de la documentation, qui sur l’utilisation, qui sur les squelettes.

      Or spip.net est avant tout l’URL officielle du logiciel, donc celle où arrivent aussi ceux qui ne connaissent pas encore. J’insiste : qui ne connaissent pas du tout .

      Il faut donc réorganiser le contenu pour mieux séparer les différentes zones, et dans un deuxième temps réfléchir à comment ce sera présenté à l’écran. Dans l’ordre !

      Ou encore :

      Documentation : il est important ici de d’abord rester dans l’abstrait ! En effet, si au départ il y avait peu de choses, au fil du temps on se retrouve avec moult types de documentations différentes. Il est alors vain de vouloir les afficher directement toutes dans les menus, sur l’accueil ou même dans un site unique. Il vaut mieux une entrée sobre et compréhensible par tous « Documentation » qui affichera alors une page qui, elle, redirigera vers les différents types de documentation (dans le même site ou ailleurs).

    • D’après moi, ça tient assez peu debout car
      1) les commanditaires d’un site web ne regardent quasiment jamais la grosseur de la communauté d’un logiciel libre, mais plutôt le nombre de prestataires pro qui l’utilisent,
      2) la majorité des prestataires, y compris dans les autres logiciels ne contribuent JAMAIS à la communauté, la plupart ne sont que des utilisateurs, qui tournent avec le vent et redistribuent rarement,
      3) il y a encore quelques années (et sûrement encore maintenant) on trouvait des centaines (oui oui) de prestataires pro petits et gros sachant faire des sites avec SPIP, ce qui donc convient au point 1).

      Une des grandes différences c’est que toutes les autres communautés ont une approche marketing ainsi qu’une association ou fondation légale (et non un truc informel d’individus comme chez SPIP). Ce qui fait que les prestataires pro, justement, peuvent copier-coller facilement des choses, que ce soit pour des visuels ou pour des arguments marketing (nouvelle version, fonctionnalités, etc). Et du coup les prestataires pro passent à d’autres CMS (même s’ils savent toujours faire du SPIP pour certains, il ne le mette pas en avant). C’est beaucoup une question de mode.

      Sans aller jusqu’au marketing, SPIP a une grosse marge de manœuvre d’améliorations possibles niveau communication (mieux communiquer ce n’est pas spécialement du marketing). À commencer par le portail officiel, son contenu et son image.

    • Puisque vous vous posez des questions existentielles sur le manque de popularité de Spip, voici quelques outils pourraient être utiles :
      – Un formulaire de contact sur Spip-contrib a destination des contributeurs
      – Une nouvelle rédaction de la page de présentation de Spip zone.

      Ces petits changements pourraient permettre de rendre l’équipe de Spip plus disponible pour les contributeurs et futurs développeur de Spip.

  • Je viens de faire une mise à jour de mon #plugin pour #SPIP : Office2SPIP :
    http://zone.spip.org/trac/spip-zone/browser/_plugins_/office2spip

    Documenté ici :
    http://www.paris-beyrouth.org/tutoriaux-spip/article/le-convertisseur-office2spip

    Au menu :
    – compatibilité minimal avec SPIP 3 (les redirections ne sont pas correctes, mais c’est pas super-grave) ;
    – plus intéressant : quand on récupère une page distante, ça passe par la version PHP de Readability, on n’aspire donc que le contenu pertinent.

    Au fait : quelqu’un peut me dire s’il y a quelque chose d’autre pour faire la même chose avec SPIP ? Parce que, bon, c’est tout de même des fonctionnalités carrément démentes (importer des documents Word directement via l’interface en ligne ; importer des articles du Web et se retrouver directement avec du balisage SPIP tout propre…), mais je n’ai pas l’impression qu’Office2SPIP suscite vraiment l’intérêt. Il y a une alternative plus pratique/puissante ?

  • Pour ce qui nous intéresse (si si), la grosse nouveauté d’iOS 14, c’est qu’il accepte désormais les images WebP.

    J’ai testé avec mes sites où la version WebP est générée directement par mon #plugin #SPIP image_responsive, ça bascule sur les versions WebP de manière totalement transparente.

    De ma propre expérience :

    – sur les fichiers JPEG, je gagne généralement autour de 30% à 50% sur le poids des images. Avec des dessins au trait, je gagne systématiquement 50%.

    – sur des fichiers PNG (quand j’ai besoin de la transparence), c’est absolument énorme, les images sont 7 à 8 fois plus légères.

    Sur un site comme La Méthode Curie, où j’utilise énormément d’images au trait avec transparence, la différence est donc phénoménale :
    https://lamethodecurie.fr/index.html

  • Un petit #shameless_autopromo : on vient de mettre en ligne, pour le Musée Fabre de #Montpellier, le mini-site pour l’exposition Le Canada et l’Impressionnisme, qui ouvre ce week-end :
    https://fabre.montpellier3m.fr/Le-Canada-et-l-impressionnisme

    C’est essentiellement une collection de longforms (mais courts…) sous #SPIP. Pour des questions de droits, on ne pouvait pas faire une visite virtuelle complète, mais on a intégré tous les audioguides.

    Du coup la petite nouveauté technique, c’est l’affichage des audioguides, en ajoutant un petit symbole avec un numéro (reprenant la signalétique du musée) :

    Et un petit bout de code qui coupe et réinitialise les lecteurs audio quand on en déclenche un nouveau, de façon à ne pas avoir plusieurs audioguides qui se déclenchent en même temps.

    Mon petit bout de code :

    function initier_audio_seul() {
            $("audio").on("play", function(){
                            $('audio').not(this).each(function(){
                                    this.pause(); // Stop playing
                                    this.currentTime = 0; // Reset time
                            });        
            });
    }

    $(document).ready(initier_audio_seul);
    $(document).ajaxSuccess(initier_audio_seul);
    • Sinon, j’en profite pour enrichir ma plateforme (« Fabre dans mon Canapé »).

      Outre plusieurs formats (pas encore exploités publiquement), j’ai désormais la possibilité d’aspirer directement une rubrique (« mini-site ») d’un coup de wget, mais avec des adaptations qui me facilitent la fabrication d’apps pour tablettes (et smartphones, évidemment). Le musée dispose d’une flotte de tablettes Android à prêter, mais en ces temps de Covid, ce ne sera pas pour ce coup-ci. En tout cas, mon outil est prêt pour ça, et le résultat est très sympa.

      Parmi les choses pour faciliter l’« aspiration » :
      – ça vire automatiquement les timestamp,
      – ça ne fabrique pas, dans ce mode, les versions WebP des images,
      –ça repasse les URL en mode simplifié (« rubrique30.html »…), pour fonctionnement simplifié en local,
      – ça ajoute les liens complets (<link href…>) pour aspirer automatiquement toutes les images responsive,
      – ça limite les liens pour ne charger que la partie du site qui m’intéresse (l’expo),
      – ça vire le footer, qui est plus une logique de site Web que d’app,
      – ça adapte un peu la maquette ;
      – ça intègre la gestion des padding « safe » liés à l’interface spécifique des iPhone X en interface bord-à-bord (c’est très joli)…
      – et tout ça sans impacter le fonctionnement du site accessible au public.

      Et derrière, un coup dans Cordova et c’est cool.