• 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.

  • Il y a eu pas mal de changement sur mon #plugin #SPIP Outils de base pour HTML5 et responsive :
    https://git.spip.net/spip-contrib-extensions/html5_responsive

    Il y a désormais une constante, _HTML5_RESPONSIVE_ACCESSIBLE (par défaut à true) qui fait que, par défaut, on ne bloque pas le comportement de zoom de l’ensemble de la page (c’était le cas auparavant).

    En revanche, si on définit :

    define("_HTML5_RESPONSIVE_ACCESSIBLE", false);

    le viewport est bloqué à l’échelle 1. Ce qui est généralement nécessaire quand je fais des applis Web.

    Au passage, dans le cas où on définit cette constante à false, je viens en plus d’ajouter des CSS censées bloquer le swipe gauche qui provoque de retour à la page précédente (très pénible quand on fait une interface d’application), et une qui devrait bloquer correctement le zoom de l’écran (parce que les navigateurs, même sur les smartphones, ne respectent plus le meta viewport…).

  • pqina/filepond : 🌊 A flexible and fun JavaScript file upload library
    https://github.com/pqina/filepond

    A JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience.
    [...]
    Core Features
    – Accepts directories, files, blobs, local URLs, remote URLs and Data URIs.
    – Drop files, select on filesystem, copy and paste files, or add files using the API.
    – Async uploads with AJAX, supports chunk uploads, can encode files as base64 data and send along form post.
    – Accessible, tested with AT software like VoiceOver and JAWS, navigable by Keyboard.
    – Image optimization, automatic image resizing, cropping, filtering, and fixes EXIF orientation.
    – Responsive, automatically scales to available space, is functional on both mobile and desktop devices.

    Voir aussi sur le site officiel :
    – la documentation : https://pqina.nl/filepond/docs
    – les exemples : https://pqina.nl/filepond/#examples

    #upload #SPIP #bigupload #javascript #redimensionner_image #EXIF

  • Les ami·es, j’ai une question #SPIP : est-ce qu’il existe un module pour l’inscription aux événements de l’Agenda :
    – qui d’inscrire un nombre de personnes en une seule fois (genre une famille : nous on est 5) ;
    – qui n’exige pas forcément une adresse email.

    Mon besoin, c’est une forme d’inscription très légère, parce qu’on a beaucoup d’événements avec une jauge maximum (Covid), mais pas des besoins du genre conférence avec inscription. Juste que les gens disent qu’ils viennent, ça leur dit OK, et basta. Et s’ils veulent venir à 5, il y en a un qui s’inscrit et qui dit qu’ils sont 5. Sans avoir à renseigner 5 fiches individuelles avec 5 adresses email…

    • Et donc comme d’habitude effacement une fois de plus de l’autrice du plugin SPIP cité. Oui, Maïeul a ensuite contribué au code pour y ajouter certaines fonctions dont on a discuté ensemble et on peut le remercier. Mais en l’occurrence Anne-lise Martenot, développeuse que je connais un tant soit peu doit faire front aux 98% de mecs développeurs dont certains s’attribuent sans vergogne son travail, même si il n’est pas très difficile de trouver la source :
      https://git.spip.net/spip-contrib-extensions/formidable_participation/src/branch/master/paquet.xml

    • Ça me reste en travers, ce plugin n’est pas de Maïeul Rouquette il a été créé en 2014 par Anne-lise Martenot.
      Maïeul ajoute des fonctions en me consultant avant depuis 2018 et tu l’as utilisé en prod quand Maïeul n’y avait pas encore touché, cf la discussion où tu es intervenu quand je demandais à phenix en 2016 d’arrêter de « corriger » ce plugin sans faire de branches. (ça c’est le pendant d’un plugin en prod corrigé par un homme que je me suis pris à de multiples reprises)
      Et oui, je crois encore dans les contributions collectives du libre quand elles en portent le nom et les valeurs.
      La notion du logiciel libre ne peut pas être à différente vitesse, et non, la conception et la réalisation première ne sont pas anodines. Des ajouts sur linux ne feront jamais de moi l’autrice.

      Mes contributions ont longtemps été anonymes, parce que naïve, je croyais que le partage et l’entraide dans le libre était égal pour tout·es avant de comprendre avec stupeur que ce n’était pas le cas et que les femmes disparaissaient sous les pratiques technologiques masculines prédatrices.
      J’ai modifié alors mon nom pour signer les plugins que j’ai créé pour que l’on comprenne qu’il y a des femmes dans SPIP mais ça ne semble toujours pas envisageable pour certains.

  • Démarrage aujourd’hui de l’expo De Funès à la Cinémathèque. Alors un petit #shameless_autopromo : avec Mosquito on a développé un écran interactif pour l’expo.

    Ça fait partie des 3-4 chouettes développements qu’on avait terminés et qu’on devrait livrer pour des expositions qui allaient ouvrir quasiment la semaine du confinement

    Et pour de Funès, comme pour Pompéi, malgré la réouverture des expos, ce n’est toujours pas idéal, puisque pour l’instant il n’est pas possible de toucher les écrans. Donc à la place on a installé des boucles vidéos qui « jouent » à la place du visiteur (en attendant une période plus propice).

    L’interface est baptisée « La machine à mimiques » : il s’agit de 24 courts extraits de De Funès, « renfrogné », « colérique », « anxieux », « exaspéré »… « extatique », « modeste », « étonné », « attendri »… que l’on déclenche simplement avec des gros boutons répartis en « Bonne humeur / Mauvaise humeur » avec un gros slider pour passer de l’un à l’autre.

    Est-ce que c’est du #SPIP ? Bien sûr que c’est du SPIP.

    L’originalité, ici, c’est que c’est affiché grâce à un player BrightSign connecté à un écran tactile vertical. C’est une direction qu’on essaie de développer, parce que ça permet de proposer des supports moins chers qu’un PC complet pour faire tourner des médias HTML/CSS/JS, et c’est extrêmement facile à configurer : on met une carte SD dans le player et ça tourne tout seul (avec un PC sous Windows, créer un mode kiosque robuste, c’est casse-pied). Pour les clients, ça abaisse considérablement le prix du matériel.

    • Ah mais c’est pas mal, ça !

      Je viens d’essayer à la maison : ça fonctionne très bien avec un de mes vieux stylets à bout mou (je pense un Belkin, donc un peu cher), et pas du tout avec un autre (Bic 2 en 1), très bien avec un très ancien FiftyThree.

      Faudrait trouver le modèle qui va bien et qui coûte 50 centimes sur le Web. Parce prêter des modèles à 5 euros pièce, c’est un peu extravagant. Mais à 50 centimes le truc, c’est beaucoup plus jouable.

    • Sinon on me dit que la Cinémathèque va certainement remettre en place la version interactive. Et sinon on me parle aussi de films anti-bactériens (je ne sais pas trop ce que c’est), qu’on va tester demain.

    • Je vais voir ça vendredi prochain à 14h, j’ai eu l’immense honneur de pouvoir acheter mon billet au guichet et pas en ligne. Maintenant qu’on sait que le virus se propage sur les aérosols, on va peut-être mettre tous nos efforts sur le port du masque et arrêter la psychose sur les surfaces ?

      PS : Sinon, je m’en fous un peu, de pouvoir décider moi-même quelle tête faire faire à #Louis_de_Funès mais j’avoue qu’une fonction aléatoire m’agrée plus qu’un défilement dans l’ordre et une boucle qui ne change jamais. Ça me titillerait plus l’impatience.
      #exposition #musée #muséographie

  • Suite à un article sur la publication d’un guide à destination des organisations de l’#ESS, le directeur de @framasoft répond à une critique sur le fait que le logiciel libre, c’est un peu la zone, on n’y comprend souvent rien, on ne sais pas par où rentrer dedans et c’est chronophage...

    Un texte inspirant partagé par @nicod_ sur la communauté #spip

    Ca fait plus de 20 ans que j’entends cette critique du « Le libre, c’est trop le bordel, on voudrait un point d’entrée clair et bien foutu, svp ». J’ai moi-même émis cette critique, d’ailleurs.

    C’est légitime, mais … ça n’est pas comme ça que fonctionne le libre, et j’ai mis des années à comprendre pourquoi.
    Je partage donc ma réflexion, qui ne vaut que pour moi (d’où l’utilisation du « je » ci-dessous), mais qui peut être t’aidera à comprendre mon point de vue.

    Je ne voulais à l’époque qu’une distribution Linux (et non des milliers), un seul annuaire (celui de Framasoft tant qu’à faire), un seul guide, un seul logiciel de retouche d’images, etc.
    Mais ça m’aura pris des années pour comprendre que le côté « bazar » du libre ne vise pas aux mêmes objectifs que ceux que la société de consommation/compétition essaie de nous imposer (relire https://archive.framalibre.org/IMG/cathedrale-bazar.pdf même si ça a plus de 20 ans peut être utile).

    1. Je ne pense pas que le libre ait besoin de « gagner » : ça n’est pas une lutte du bien contre le mal. On est dans un monde de compétition, mais je m’intéresse plus aux valeurs défendues par le libre que par ses parts de marché. Ca a été difficile pour moi de faire le deuil du « Mais enfin, il faut qu’on fasse croître le taux d’adoption du libre ! » et autres « On se bat pour #lesgens, donc il faut que le maximum de #lesgens utilisent du libre ». Non, me concernant je ne fais pas du libre pour passer de 2% de postes de travail sous linux à 20% puis 50% puis 100%. Je le fais parce que le modèle et les valeurs portées m’intéressent. Parce que, même avec 2%, on y fait des choses formidables. Parce que ça m’apporte, ça m’enrichit. Si pour passer à 20% de part de marché, cela signifiait utiliser des méthodes marketing/management qui sont à mon sens délétères, alors je préfère rester à 2%. Comme dit le proverbe : « Assied toi au bord de la rivière et tu verra passer le corps de ton ennemi ». Le temps joue en notre faveur, nous n’avons pas d’actionnaires qui nous mettent sous pression. Alors nous sommes au bord de la rivière, à faire nos « trucs ». Nous rejoins qui veut. Mais nous ne sommes pas une entreprise de propagande.

    2. Le libre est un moyen, non une fin. Pour moi, c’est un moyen vers une société libre. Mais même si on était à 100% de taux d’adoption du libre (bye bye Microsoft, Google, Zoom, etc). Ca ne signifie pas que la société elle même serait libre. Il s’agit donc d’opposer en quelque sorte des « forces centrifuges » (qui tendent vers l’extérieur, le collectif et la diversité) face à des « forces centripètes » (qui tendent vers l’intérieur, l’individualisme et la normalisation). « Pousser » le libre permet d’ajouter une force à d’autres, mais la prétendre comme une fin en soi est à mon sens une erreur de jugement, où l’on reste dans sa tour d’ivoire, sans voir que d’autres forces doivent être actionnées. Le coeur du problème est donc de jouer notre part dans ce rapport de force. Mais ça ne signifie pas que nous devons gagner à tout prix.

    3. La diversité est une force supérieure à la faiblesse qu’elle comporte intrinsèquement. Par exemple : gérer du collectif (dans une association, une colocation, une équipe projet, voir une famille 😛 …) c’est … chiant, c’est relou Souvent ça bouscule, ça provoque de fortes émotions. Mais c’est aussi ce qui fait qu’en tant qu’humain⋅es, on apprend, on change, on évolue. Ca serait parfois *tellement* plus simple de dire : « Je décide, vous appliquez », ou « Toi, tu es trop différent⋅e, je préfère ne pas me prendre la tête et ne pas m’occuper de toi ». Et parfois, on le fait, d’ailleurs, parce qu’on est humain⋅es et faillibles. Mais je suis convaincu (c’est même un moteur pour moi) que l’intelligence collective et les solidarités spontanées sans attentes de retour non seulement existent, fonctionnent, mais qu’elles sont notre seul avenir. Avoir 1001 distribution Linux, ça fait chier, c’est relou. MAIS ça nous permet d’apprendre ensemble, d’expérimenter, de tester. On est sur un côté presque organique, où la vie cherche son chemin. Il y aura évidemment énormément de déperdition d’énergies, c’est vrai. Mais au moins on est pas avec un seul projet, autoritaire, prêt à penser.

    4. Je ne peux pas préjuger de ce dont #lesgens ont besoin. J’ai mes biais et un point de vue situé. Tu aime le site « Dégooglisons Internet » ? Tant mieux (moi aussi :P). Mais est-ce que parce que ça te convient à toi ou à moi, ça signifie que [RESOLU], qui est avant tout un guide papier avant un site web, ne conviendra pas mieux à d’autres publics (par exemple moins connectés) ?

    5. Enfin, le plus important pour moi : ne voir et ne vouloir qu’une seule tête, c’est mettre en place des mécanismes de pouvoir. Favoriser des projets multiples, même foutraques, c’est donner la possibilité à des gens lambdas, « non spécialistes », d’apprendre en faisant, en construisant, en se plantant. Et donc de sortir d’un système où seuls « ceux qui savent », « ceux qui ont les moyens », « ceux qui ont les compétences » font.

    Rapporté à [RESOLU] (qui est un projet sur lequel je n’ai pas travaillé, en plus 😛 ) ça me pousse donc à te répondre qu’on est ici sur un projet sur lesquelles des personnes qui n’avaient jamais travaillées ensemble ont pu penser, écrire, décider, rédiger, repenser, faire et défaire ensemble. Une expérience qui les a rapporchées, et qui ont qu’elles feront sans doutes d’autres projets ensemble par la suite.

    Que le résultat ne te convienne pas, c’est tout à fait entendable. Que cette énergie aurait pu être mise ailleurs, c’est probable. Mais je veux insister sur le fait que, malgré tout, le monde (oui oui carrément !) avait besoin de ce projet. Même s’il termine dans un tiroir dans 3 mois. Même s’il ajoute de la confusion pour certain⋅es d’entre vous. Parce qu’il n’a rien à vous vendre. Parce qu’il ne cherche pas à être un projet « dominant », parce qu’il a exploré d’autres pistes et d’autres façons de faire, parce qu’il a permis à des gens de se rencontrer et de « faire ensemble », parce qu’il ajoute sa pierre à l’édifice même si cette pierre à la taille d’un grain de sable.

    Voilà, désolé du côté un peu lyrique de ma réponse. Mais il me semblait important de prendre un peu de hauteur pour répondre à la frustration que tu exprimais.
    Il est d’ailleurs probable que cette frustration existe encore pour toi (« Mais c’est pas comme ça qu’il faut faire, comment voulez vous que [insère ici les objectifs qui TE paraissent importants] »). Mais au moins j’espère que ces éléments de réponse, même à l’arrache, t’auront fait comprendre que notre façon de faire n’est pas erratique, mais bien le résultat d’une pensée murement réfléchie.

    Librement,
    pyg

    #framasoft #logiciel_libre

  • On vient de livrer, avec Mosquito, la bande dessinée numérique La Méthode Curie pour le Musée Curie
    https://lamethodecurie.fr

    C’est évidemment sous #SPIP, et c’est réalisé avec mon plugin permettant de fabriquer des cases animées dans l’espace privé (#shameless_autopromo donc).

    La Méthode Curie : la bande dessinée numérique du Musée Curie
    https://curie.fr/actualite/notre-histoire/la-methode-curie-la-bande-dessinee-numerique-du-musee-curie

    Le Musée Curie dévoile, ce lundi, un roman graphique au dessin soigné, qui décrit « La méthode curie », une méthode expérimentale, mise en place pour mesurer la radioactivité. Le fonctionnement des appareils utilisés par Marie et Pierre Curie est expliqué avec clarté, humour, et pédagogie. Ce document digital unique a pour vocation de rendre accessible l’histoire et le fonctionnement de la méthode Curie de façon ludique. Grâce à ces explications autour de ce dispositif, il s’agit aussi de rappeler que la recherche scientifique ne s’appuie pas seulement sur des intuitions scientifiques, mais sur la maîtrise d’outils technologiques. L’ambition est triple pour le musée : rendre le visiteur autonome lorsqu’il visite l’exposition sans guide ou animation, sortir des murs du musée et toucher un public plus large, notamment en interessant les adolescents et jeunes adultes.

    Depuis leur ordinateur, smartphone ou leur tablette, les lecteurs découvrent ainsi “La méthode Curie” et plongent dans l’univers augmenté de la BD. Ils ont ainsi accès à des archives numérisées, mais aussi à des textes d’approfondissement rédigés par les experts du Musée Curie. Une bonne occasion de « visiter » le Musée Curie de manière renouvelée et virtuelle, en attendant que cette méthode Curie soit accessible « in situ » lors de la réouverture du musée en septembre 2020.

    Mon outil d’animation permet d’empiler des images, et pour chaque d’indiquer une position de départ et une position d’arrivée, une durée d’animation… et tout cela est traduit en animations CSS, donc sans Javascript. Les images sont responsive pour s’adapter aux dimensions et résolutions d’écrans, et avec les nouvelles version du #plugin image_responsive, les versions WebP des images sont également fabriquées automatiquement :

    Notre première réalisation avec cet outil, c’était Le Portrait d’Esther :
    http://portrait-esther.fr

    • Ennemi de la routine - Muzeodrome - par Omer Pesquer
      https://muzeodrome.substack.com/p/ennemi-de-la-routine

      2) La bonne méthode 💻💬👌

      “A la croisée de la BD, de l’animation, du roman historique et d’une leçon de science, « la méthode Curie » tente de mettre en valeur les instruments scientifiques utilisés par les Curie et faire comprendre leurs recherches sur la radioactivité.”

      Basé sur une proposition originale d’Emmanuel Rouillier (directeur de l’atelier Mosquito), ce projet a été réalisé pour le Musée Curie dans le cadre de l’appel à projet 2019 en faveur du tourisme culturel de la Direction Régionale des Affaires Culturelles de la région Île-de-France. Les cinq auteur·e·s du projet sont : Marion Augustin (spécialiste de la médiation culturelle) - Camilla Maiani (physicienne) - Guillaume Reynard (illustrateur) - Emmanuel Rouillier (designer interactif) - Arnaud Martin (développement technique).

      Arnaud Martin a été un des pionniers du web français aussi bien du coté technique que du coté social. Je l’ai d’abord connu sous le nom de Arno* en 1997 à l’époque d’uZine et du "Manifeste du Web indépendant" (dont il est un des co-auteurs). A la mi-2000, dans le cadre des évolutions d’uZine, Arno* créait un nouveau gestionnaire de contenu Web (CMS), identifié plus tard sous le nom de SPIP (lire cet entretien avec David Dufresne, autre co-auteur du Manifeste du Web indépendant). Rarement dans la lumière médiatique, Arnaud Martin a continué de développer à sa façon des "choses" avec des technologies Web (comme l’outil de short-blogging SeenThis en 2009).

      Arnaud Martin travaille régulièrement avec Emmanuel Rouillier. En janvier 2016, ils mettaient en ligne pour les Musées d’Angers le premier épisode du "Portrait d’Esther", une bande dessinée numérique multi-dispositifs qui utilisait SPIP avec le plugin spécifique CMS COMICS. Plus 500 scènes dessinées ont ainsi été animé pour les 5 épisodes du "Portrait d’Esther" ! Le fait qu’Arnaud Martin soit le concepteur principal de SPIP lui a permis de développer ce projet singulier. “La méthode Curie”, bande dessinée « augmentée » qui s’adresse particulièrement aux adolescents et aux jeunes adultes, a été mise en mouvement avec CMS COMICS.

    • « La méthode curie » : la nouvelle bd interactive et en ligne, lancée par le musée Curie – Club Innovation & Culture CLIC France
      http://www.club-innovation-culture.fr/methode-curie-bd-interactive-musee-curie

      Le lundi 22 juin 2020, le Musée Curie a publié sur son site web un contenu numérique très original pour permettre de découvrir tout en s’amusant la vie et l’œuvre de Marie et Pierre Curie. À travers une bande dessinée numérique, à la croisée entre BD et roman graphique, ce contenu en ligne offre l’opportunité de plonger au cœur de la méthode Curie, un dispositif mis en place par les époux Curie à la fin du XIX siècle pour mesurer la radioactivité.

      Ce nouveau contenu web lamethodecurie.fr est disponible de manière autonome et via le site web du musée musee.curie.fr. Il donne l’occasion de découvrir ou revisiter avec cette fiction digitale l’histoire de cette méthode de mesure inédite et grâce à laquelle les Curie ont découvert deux nouveaux éléments chimiques radioactifs : le polonium et le radium.

  • Pour Mosquito, j’ai développé un grand puzzle pour une belle table tactile, pour l’exposition Pompéi au Grand Palais. C’était le gros événement du printemps, et figure-toi qu’on venait de livrer l’outil la semaine même où le confinement a été décrété et que tout a été arrêté. Oui, c’est ballot.

    Finalement l’exposition va avoir lieu du 1er juillet au 27 septembre. Mais dans un premier temps, par précaution, les tables tactiles ne seront pas… tactiles.

    Du coup, on vient de livrer une adaptation Web de notre application :
    https://puzzlepompei.grandpalais.fr

    C’est donc relativement responsive, mais idéalement c’était conçu pour un grand écran format 1920x1080. Avec de très bons yeux et des doigts fins, ça doit être faisable sur smartphone, mais c’est limite…

    Bref, c’est un grand puzzle en trois parties. Ce n’est pas évident, mais ce n’est pas très difficile (mes petits y arrivent très bien), c’est juste une question de patience. Noter que, par rapport à la version de la table tactile, les pièces sont directement dans la bonne orientation, parce que c’était avec deux doigts qu’on pouvait les faire tourner (sur la table, donc, les pièces sont présentées dans n’importe quelle orientation, ce qui rend le jeu nettement plus coton – mais très jouable). De plus, le multitouch est devenu mono-utilisateur, alors que la grande table pouvait être manipulée par plusieurs usagers (tu verrais nos jumeaux…).

    Et figure-toi que tout ça est géré… sous #SPIP. Si.

    Pour définir les trois grandes zones, j’utilise mon plugin de « hotspots », qui me permet de définir des rectangles sur une grande image, par drag and drop.

    Mais le plus original, c’est que j’utilise mon plugin destiné à fabriquer des « scènes animées » pour positionner les pièces. Normalement c’est utilisé pour fabriquer des bandes dessinées en ligne, mais là, comme vous voyez, ça devient un puzzle…

    Une autre astuce vraiment originale, c’est d’avoir des pièces qui ne sont pas rectangulaires, et de pouvoir les manipuler précisément. Normalement, un PNG, même avec une couche alpha, intercepte les événements tactiles sur toute sa surface rectangulaire. Ce qui fait que, dans un tel puzzle, si tu cliques dans la partie transparente d’un PNG situé au-dessus en espérant attraper une pièce en dessous, ça intercepte et ça sélectionne la mauvaise pièce. La solution, c’est de placer au-dessus du PNG un SVG qui a exactement la même forme que la pièce détourée, et d’intercepter les interactions uniquement sur la zone remplie. Voici (enfin) une utilité au CSS suivant :

    pointer-events: fill;

    Et il y a par ailleurs le même SVG, sous le PNG, pour fabriquer une légère ombre portée sous les pièces, et un petit effet de halo blanc quand on manipule une pièce.

    (Je me rends compte que, je n’ai pas besoin du SVG du dessus, mais bon, j’ai compris le fait que pointer-events:none laissait totalement passer les événements aux pièces situées en dessous après ce développement.)

    Et donc une autre astuce (assez typiquement SPIP) : fabriquer les SVG pour chacune des pièces… Ça se fait très bien en développant deux filtres d’images :
    – un premier filtre va fabriquer une image noire et blanc de la couche alpha du fichier PNG de la pièce ; de cette façon j’obtient un PNG de même dimensions que l’image, mais qui a en blanc la zone visible de la pièce et en noir la zone invisible ;
    – un second filtre qui fabrique un fichier SVG de cette image noir et blanc, en utilisant Potracio.php. Ainsi j’obtiens un fichier SVG qui épouse parfaitement les contours du détourage du fichier PNG de chaque pièce.

    Et donc, voilà une interface qui ne ressemble particulièrement pas à un site SPIP, mais pour lequel l’outil nous a fait gagner un temps énorme. Parce qu’on se retrouve avec un back-office avec des interfaces graphiques déjà prêtes simplement en utilisant de manière détournée mes plugins conçus pour un autre usage (comme Raoult : du repurposing, et les résultats viennent de tomber : ça marche !).

    Et lorsqu’il s’est agit d’adapter une version Web (pas prévue à l’origine), a minima mon plugin image_responsive m’a permis en deux coups de cuillère-à-pot de balancer des images plus petites sur smartphone, ou adaptées aux écrans haute définition, ainsi que leurs équivalents WebP pour Android et Chrome.

    #shameless_autopromo (j’en ai pas mal en ce moment, le confinement a retardé 3 beaux développements terminés à la fin de l’hiver)

  • C’est la semaine des livraisons #shameless_autopromo… on vient donc de mettre en ligne, avec Emmanuel, le site du Frac Paca :
    https://www.fracpaca.org

    Évidemment c’est du #SPIP. Graphiquement c’est lié à la charte de l’institution, que nous avons évidemment adaptée à un site Web.

    Dans les trucs originaux :

    1. Le bandeau supérieur prend différentes formes selon la taille de l’écran :

    Ça se fait entièrement en CSS évidemment.

    2. Le menu hamburger est plus classique, mais à nouveau tout se gère en CSS (animations, accordéons…) ?

    3. Mes longforms, pour les expositions. Mais évidemment avec un traitement graphique beaucoup plus minimaliste que pour Fabre :
    https://www.fracpaca.org/Des-marches-demarches-remarche

    4. Un mini-agenda en page d’accueil, avec les prochains événements. L’aspect original, c’est que c’est responsive de façon un peu rigolote, puisque c’est un slider avec un nombre variable de cases, et que c’est réglé entièrement en CSS (si je te le dis : c’est plutôt astucieux…)

    5. Une carte des déplacements de la collection en région. Pour l’affichage, c’est du classique : Leaflet avec des clusters. L’intérêt ici c’est que ça va chercher les œuvres dans une base de donnée spécialisée (Navigart), pour les afficher sur le site. Aspect SPIP-c’est-bon-mangez-en : l’interrogation et le traitement de l’API distante se fait directement dans une boucle DATA dans le squelette, sans rien faire en PHP.

    6. Afficher automatiquement un portfolio des œuvres d’une exposition :

    Même principe, interrogation et affichage d’infos tirées de Navigart directement dans un boucle DATA. Et pour l’affichage des lignes façon Google Image, c’est mon bon vieux script tel que tu peux le récupérer dans mon plugin medias_responsive_mod… (modèle ligne.html et script portfolio_ligne.js).

    7. Une page d’agenda par semaine :
    https://www.fracpaca.org/?page=tout_agenda&id_rubrique=1&date_p=2020-07-23

    Pour le mini-calendrier en javascript, j’ai joué avec Pignose Calendar :
    https://www.pigno.se/barn/PIGNOSE-Calendar

    8. Pour les plugins importants ici :
    – plugin agenda
    – sélections éditoriales
    – plugin GIS (mais l’affichage des cartes côté public, je le refais moi-même, comme ça je vois directement ce que je fais).
    Et sinon, ma trousse à outil habituelle :
    – image_reponsive
    – centre image
    – css imbriqués
    – insertion avancée d’images

    • Pour info, nos échanges (oct 18) :

      > https://github.com/CliffCloud/Leaflet.Sleep

      – sur ordi : le déclenchement au hover est sensible et peut donc se faire même si on est en train de scroller et qu’on s’arrête juste pour regarder la carte.
      – sur tel (Android + FF et Chrome) : Ne fonctionne pas sur mon tel : j’ai bien le bouton « Clic or hover... » mais il ne disparait pas au clic et la carte se déplace dessous.

      > https://github.com/elmarquis/Leaflet.GestureHandling

      J’ai retrouvé mon retour de l’époque : https://www.mail-archive.com/spip-zone@rezo.net/msg45809.html

      C’est mieux aujourd’hui :
      – sur ordi : le 1er ctrl+scroll ne déclenche plus le zoom de FF mais ne zoome pas la carte pour autant (c’est mieux qu’avant). Le 2e ctrl+scroll déclenche le zoom carte.
      – sur tel (Android + FF et Chrome) : c’est ok sauf que le zoom à 2 doigts déclenche parfois (pas souvent mais je n’arrive tjs pas à reproduire) le zoom du navigateur

      Donc je dirais que le 2nd (Leaflet.GestureHandling ) est mieux...

    • La carte est activée dans tous les cas, mais elle est sous un <label > qui recouvre toute sa surface, et qui est semi-transparent histoire de renforcer l’impression que la carte est inactive. Toucher ce label déclenche un <input checkbox> qui est positionné immédiatement avant. Et une fois cet input décoché par le label, le label lui-même disparait, par un simple CSS.

      Sinon, la carte est en fin de page, à la fois parce que c’est logique dans la hiérarchie de l’information, mais aussi parce que ça évite que l’usager soit bloqué dans son scroll. Et aussi : la hauteur de la carte est proportionnelle à la hauteur de l’écran (60vh), ce qui fait que dans tous les cas (même sur smartphone), l’usager pourra toujours trouver moyen de scroller en attrapant une zone de l’écran en dehors de la carte.

  • On vient de livrer, avec Diala, le site Fabre dans mon canapé :
    https://fabre.montpellier3m.fr

    On est particulièrement enthousiastes, parce que c’est un beau bébé, un concept qu’on trouve intéressant (une plateforme de musée hors-les-murs), et on espère que ça va marquer notre installation professionnelle dans la région, puisque c’est un site pour le musée de Montpellier (et qu’on a fondé notre boîte, https://23forward.com, à Montpellier… #shameless_autopromo)

    L’idée est née, évidemment, pendant le confinement, quand les musées ont tenté de continuer à faire vivre leurs collections sur le Web, mais avec des solutions très décevantes : soit des trucs balancés sur Facebook, soit en refilant leurs collections à Google Arts & Culture.

    Comme l’a fait remarquer Diala, le British Museum a un énorme site sous Drupal, parce que Drupal-c’est-bon-mangez-en, mais pour valoriser leurs collections, ils t’envoient sur Google Arts & Culture. De « notre » côté (#SPIP), notre client du Musées des Arts décoratifs (désormais nommé MAD Paris) a pu valoriser des visites virtuelles, beaucoup de contenus, pendant le confinement, – et vous savez pourquoi ? – parce que tout est sous SPIP et que depuis des années ils ont énormément de choses sympas pour présenter leurs collections dans leur site.

    Alors j’ai eu l’idée de monter une démonstration d’une plateforme, sous SPIP, qui permettrait de valoriser des contenus en ligne, rapide à déployer, et qui évidemment constituerait toujours un excellent support à la fin du confinement.

    J’ai donc monté une démonstration, que j’ai fait circuler, basée essentiellement sur trois formats :

    1. des « accrochages virtuels », qui respectent les dimensions relatives des œuvres, et même leurs emplacements dans les salles :
    https://fabre.montpellier3m.fr/Galerie-des-Colonnes-103

    Notez le petit personnage (qui change à chaque chargement) qui permet d’indiquer l’échelle des tableaux dans la salle. (Il y a quelques easter eggs cachés, là…)

    C’est un outil très pratique, parce qu’il permet de créer un « accrochage » rapidement, sans nécessiter des outils lourds à mettre en place. Il suffit d’avoir les cartels des œuvres, idéalement avec leurs dimensions, pour que ça se fabrique automatiquement.

    2. mes fameux “longforms”, qui permettent de créer des présentations évoquant les magazines papier, qui donnent vraiment envie de lire des textes longs, et qui s’adaptent à plein de types de contenus différents, et mêmes à des ambiances graphiques différentes :

    https://fabre.montpellier3m.fr/L-histoire-de-la-collection-italienne
    https://fabre.montpellier3m.fr/Art-et-anatomie
    https://fabre.montpellier3m.fr/Soulages-a-Montpellier
    https://fabre.montpellier3m.fr/Le-Realisme

    Ça permet même de reproduire des fiches pédagogiques autour des paysages et des émotions, avec des maquettes assez particulières :
    https://fabre.montpellier3m.fr/Paysage-etat-d-ame

    3. des vidéos, présentées en plein écran pour que ce soit un peu spectaculaire :
    https://fabre.montpellier3m.fr/Vincent-Bioules

    Le dernier concept de l’outil étant de tout rendre accessible sur une unique longue page d’accueil, parce qu’on ne prévoyait pas de faire un monstre en une ou deux semaines…

    –----

    Avec cette démo, j’ai commencé à montrer ça à différents contacts. Tout le monde très enthousiaste, mais tout le monde avait trop d’incertitudes (est-ce que le confinement va durer ? est-ce que la priorité c’est de mettre des sous dans l’internet alors qu’on n’a même pas de masques…). Vous voyez l’idée…

    Et finalement c’est le Musée Fabre, avec qui on a déjà un excellent contact (tu penses bien, mes enfants sont les vedettes des lieux, ils squattent l’endroit dès qu’il pleut), qui a décidé de monter un site sur ce modèle. Et entretemps, le musée a rouvert.

    Du coup, j’ai encore enrichi la plateforme par rapport à ce qu’on fait prévu initialement.

    1. des audioguides. Comme j’ai réussi à aspirer l’intégralité de la base de données du musée, j’ai récupéré les fichiers MP3 des audioguides associés aux œuvres. On a donc décidé de faciliter l’utilisation du nouveau site comme support alternatif aux audioguides prêtés par le musée. Les gens qui craindraient d’emprunter du matériel pour raison sanitaire peuvent ainsi utiliser leur smartphone pour visiter le musée. On a du coup monté une page dédiée, qui ne présente que les éléments qui servent de support de visite en salle :
    https://fabre.montpellier3m.fr/audioguide

    2. tout… Comme j’ai tout aspiré, du coup ça n’était pas (tellement) plus compliqué de proposer l’intégralité des salles du musée. Une cinquantaine de salles, plus de 800 œuvres…

    Et voilà, finalement, c’est un peu un monstre quand même…

    3. une frise chronologique. Puisqu’on a toutes les œuvres, et qu’elles sont datées, pourquoi ne pas faire une belle frise chronologique ?

    Et donc c’est du SPIP, et ce qui est marrant, c’est que la maquette est en pur CSS. Le scroll horizontal passe par Javascript, mais la maquette compliquée des petites cases est calculée côté serveur, et l’affichage se fait sans une ligne de JS.

    4. automatiser les scrolls infinis. J’en ai profité pour me développer un javascript personnel qui fabrique et gère tout automatiquement les scrolls horizontaux infinis, éventuellement avec des flèches de navigation gauche/droite, et une barre de scroll en dessous, que j’utilise à de nombreux endroits du site (dont les accrochages virtuels et la frise chronologique). Dans mon code, il suffit que j’attribue la classe .loop_auto à un élément pour qu’il se transforme en scroll infini.

    5. Et cerise sur le gâteau : des visites virtuelles avec des panoramiques 360, avec des cartels interactifs, une navigation de salle en salle, directement dans SPIP :
    https://fabre.montpellier3m.fr/Salle-1-2

    qui se gère dans l’espace privé de SPIP (avec des glisser-déposer pour définir les zones) :

    6. Vignette automatiques pour les PDF. Les fichiers PDF insérés dans les articles ont leur vignette calculée automatiquement par le serveur (et c’est bien pratique…).

    7. Easter egg en page d’accueil. L’image du haut de page, qui illustre « Fabre dans mon canapé », ce n’est pas qu’une image : les tableaux sont choisis aléatoirement toutes les cinq minutes, ils sont cliquables, et c’est même un scroll horizontal infini…

    8. Easter egg : la page d’erreur 404. Jarnicoton ! Elle est trop cool… Le fond est un tableau différent à chaque fois, choisi aléatoirement dans les collections du musée. Et à chaque rechargement de page, tu auras droit à un juron différent… (Du coup je me demande si ce n’est pas ma page préférée du site…)
    https://fabre.montpellier3m.fr/dfgdfg

    • Non, pas que amour de l’art : certes initialement la démo était déjà très complète, mais ensuite ce qu’on livre à Fabre c’est devenu un vrai boulot. Mais de manière assez amusante, ce que je détaille dans la seconde partie, ajouté après qu’on a signé avec Fabre (audioguides, aspiration de la base complète, panoramiques 360°…), c’est plus ou moins en bonus, parce que je me suis rendu compte que je pouvais le faire, et que dans la logique « PoC », c’est aussi bien de faire un peu étalage de ce que la plateforme peut produire en très peu de temps.

    • @vazy : Proof of Concept. C’est une démo, normalement très préliminaire, pour tester le fait que ton idée est réalisable et que ça vaut le coup de continuer à la développer. Là on était déjà nettement plus avancé que pour un « PoC », j’avais en fait un outil complet et fonctionnel.

      C’est largement la difficulté de mon boulot : comme je fais du « sur mesure », on répond à des demandes des clients, et c’est dans ces demandes qu’il faut qu’on arrive à proposer des choses originales et rigolotes, mais en réponse à une demande déjà écrite noir sur blanc par le client (avec parfois quelqu’un qui a déjà totalement délimité ce que le client attend dans la rédaction du cahier des charges). Tu ne peux jamais pousser tes propres concepts au bout dans ces conditions.

      Et donc, de temps en temps, j’ai besoin (ou envie) de monter une démonstration complète d’un nouvel outil, ou d’une nouvelle manière d’assembler mes outils, pour en faire une démonstration complète. Parce qu’il n’y a en gros que comme ça que je peux tenter de convaincre quelqu’un de me l’acheter (avec ses variantes et adaptations, mais sur la base de ce concept).

      Par exemple il y a quelques années, je me suis développé plusieurs outils pour réaliser des « longforms » dans SPIP. Et quand j’expliquais, personne ne voyait l’intérêt, ni à quoi ça ressemblerait. Surtout que je ne voulais pas faire les trucs à la mode du moment, avec plein de parallaxes, parce que je n’aimais pas ça du tout (ça fait vomir). Bref une semaine je me suis pris un article de Wikipedia sur la NASA, et j’en ai fait un {très long} longform avec d’énormes images. Le côté PoC : l’outil fonctionne, on voit que l’usage est pertinent (on a envie de lire un truc très long, parce que c’est beau et rythmé), je teste les aspects techniques (les images responsive recadrées différemment selon les écrans par exemple). Et quand tu montres au client, il se dit « ah oui, j’ai très envie de ça ».

  • Reboot the extension (#41) · Issues · Siltaar / meta-press-ext · GitLab
    https://framagit.org/Siltaar/meta-press-ext/-/issues/41#note_737899
    /uploads/-/system/project/avatar/20415/logo-metapress-256px-sq.png
    En corrigeant un problème sur l’agrégateur meta-press, on en est venu à parler de l’intégration des flux #RSS de #SPIP.

    Monolecte
    Monolecte @Monolecte · 19 hours ago

    Pour ajouter des sources, ce serait bien d’avoir un modèle pour les sites sous SPIP qui ont tous les mêmes caractéristiques de flux, mais j’écris probablement une grosse connerie, là.

    Basta est sous SPIP, comme https://www.revolutionpermanente.fr/spip.php?page=backend
    Edited by Monolecte 19 hours ago
    Siltaar
    Siltaar @Siltaar · 1 hour ago
    Maintainer

    L’idée est très bonne au contraire.

    Toutefois, si on compare le Monde Diplo et Basta (deux sites sous SPIP), on constate que la structure de leurs pages de résultats de recherche n’est pas la même. Je ne peux donc pas reprendre le code du premier pour utiliser le 2nd comme source dans Meta-Press.es.

    À l’opposé, les sources s’appuyant sur le moteur de blog Wordpress disposent (sûrement sans le savoir) d’un flux RSS pour leurs résultats de recherche. Du coup, toutes ces sources sont récupérées en ré-utilisant le même code d’analyse du flux RSS (qui est pareil partout lui). Définir une nouvelle source de « type RSS » demande donc moins de travail.

    Si SPIP proposait également ce flux RSS, se serait très pratique pour Meta-Press.es.

    Si tous les journaux proposaient ce flux RSS, le code Meta-Press.es en serait grandement simplifié !

  • Guide égalité femmes-hommes
    http://www.haut-conseil-egalite.gouv.fr/IMG/pdf/guide_pour_une_communication_publique_sans_stereotype_de_s

    10 RECOMMANDATIONS pour une communication publique sans stéréotype de sexe

    · 1 Éliminer toutes expressions sexistes
    · 2 Accorder les noms de métiers, titres, grades et fonctions
    · 3 User du féminin et du masculin dans les messages adressés à tous et toutes
    · 4 Utiliser l’ordre alphabétique lors d’une énumération
    · 5 Présenter intégralement l’identité des femmes et des hommes
    · 6 Ne pas réserver aux femmes les questions sur la vie personnelle
    · 7 Parler « des femmes » plutôt que de « la femme », de la « journée internationale des droits des femmes » plutôt que de la « journée de la femme » et des « droits humains » plutôt que des « droits de l’homme »
    · 8 Diversifier les représentations des femmes et des hommes
    · 9 Veiller à équilibrer le nombre de femmes et d’hommes
    · 10 Former les professionnel.le.s et diffuser ce guide

    Éliminer toutes expressions telles que « chef de famille », « mademoiselle », « nom de jeune fille », « nom patronymique », « nom d’épouse et d’époux », « en bon père de famille »

    #2016 #SPIP

  • @spip, je viens d’installer un #SPIP_3.2.7, sur un serveur où il est possible que j’ai des droits un peu bizarres (c’est pas moi qui héberge). Et ça m’indique :

    Le cache est temporairement désactivé.

    Le bouton « réactiver le cache » n’y fait rien. J’ai vu un message dans les archives de la liste, mais pas de réponse. Il y a des pistes ?

  • Hello #SPIP : est-ce que vous avez de l’expérience avec SPIP branché sur un base PostGreSQL ? Est-ce que ça induit des changements ou est-ce que c’est totalement transparent ? Est-ce qu’un outil comme Adminer dans SPIP continue de fonctionner, ou bien est-il totalement lié à mySQL/MariaDB ? Sinon est-ce qu’il y a un équivalent à Adminer ?

  • Editor.js
    https://editorjs.io

    Un éditeur de texte pour appli web, structuré en mode « blocs » et avec une sortie en JSON (semblerait un bon candidat pour un éditeur moderne pour SPIP...)

    Key features:
    – It is a block-styled editor
    – It returns clean data output in JSON
    – Designed to be extendable and pluggable with a simple API

    What does it mean «block-styled editor»
    Workspace in classic editors is made of a single contenteditable element, used to create different HTML markups. Editor.js workspace consists of separate Blocks: paragraphs, headings, images, lists, quotes, etc. Each of them is an independent contenteditable element (or more complex structure) provided by Plugin and united by Editor’s Core.
    There are dozens of ready-to-use Blocks and the simple API for creation any Block you need. For example, you can implement Blocks for Tweets, Instagram posts, surveys and polls, CTA-buttons and even games.

    What does it mean clean data output
    Classic WYSIWYG-editors produce raw HTML-markup with both content data and content appearance. On the contrary, Editor.js outputs JSON object with data of each Block. You can see an example below
    Given data can be used as you want: render with HTML for Web clients, render natively for mobile apps, create markup for Facebook Instant Articles or Google AMP, generate an audio version and so on.

    #éditeur #editorjs #SPIP #edition_bloc #json #WYSIWYG

  • J’ai besoin, pour un site #SPIP sur lequel je travaille, d’interdire l’utilisation de couleurs trop vives dans l’interface. J’utilise beaucoup de couleurs, chaque titre de la page d’accueil est de la couleur a sa propre couleur, alors si on affiche des couleurs vives, ça devient un arbre de Noël (et ce n’est pas l’esprit du truc). Je veux que l’ensemble reste dans des tons « éteints ».

    Pour cela, il suffit de limiter la valeur S (saturation) quand on passe la couleur en mode HSL (ou TSI en français).

    Voici un bleu ni trop vif ni trop terne (valeur de S : 60% ; dans SPIP, on codera 0.6) :

    Si on pousse la saturation à 100% (dans SPIP : 1), on obtient une belle couleur qui pète :

    Et si on passe à 0%, on arrive au gris :

    On notera que, tant qu’on ne modifie pas L (ou I), je continue donc à avoir des couleurs très lumineuses ou très foncées, et il faut donc que je prenne cela en compte dans mon interface (avec les usuels |couleur_foncer_si_claire et autres outils bien pratiques pour gérer des interfaces qui changent de couleur).

    C’est juste qu’ici, je veux limiter la valeur maximale de la saturation (le côté « couleur éteinte / couleur vive »). Pour cela, une petite fonction qui va bien :

    function couleur_desaturer($couleur, $val) {
            include_spip('filtres/images_lib');

            $couleurs = _couleur_hex_to_dec($couleur);
            $r = $couleurs["red"];
            $g = $couleurs["green"];
            $b = $couleurs["blue"];

            $couleur = _couleur_rgb2hsl($r, $g, $b);
            $h = $couleur["h"];
            $s = $couleur["s"];
            $l = $couleur["l"];

            $rgb = _couleur_hsl2rgb($h, min($val,$s), $l);
            $r = $rgb["r"];
            $g = $rgb["g"];
            $b = $rgb["b"];

            $retour = _couleur_dec_to_hex($r, $g, $b);

            return $retour;
    }

    Ça ne dénature donc pas systématiquement : ça fixe un seuil maximum.

    La fonction est facile à modifier si, par exemple, on veut travailler uniquement avec des couleurs dans des tons pastel, on supprime la variable $val, et on remplace la ligne :

            $rgb = _couleur_hsl2rgb($h, min($val,$s), $l);

    par
            $rgb = _couleur_hsl2rgb($h, 0.4, 0.7);

    (on fixe arbitrairement toutes les couleurs avec une saturation de 0.4 (légèrement terne mais pas trop) et une luminosité intermédiaire.

    • 1. c’est quoi vive ? C’est saturée ? C’est un choix éditorial/artistique.
      2. Vu comme les couleurs RVB (rgb en anglais) 24/32 bits atteignent les limites des écrans actuels qui peuvent vraiment plus en terme de Gamut et de nombre de couleur. J’aime à penser que le changement de repère en TSL (hsl en anglais) (tiens, spip c’est plus francophile ?) permet un peu plus de précision là où ca se voit et un peu moins la ou ca se voit moins... Donc j’aime à penser qu’il vaut mieux exprimer ses couleurs en TSL plutôt qu’en RVB tant que le nombre de bits n’aura pas été augmenté (40 serait pas mal, mais il doit y avoir des recherches là dessus).

    • 1. Oui, « vive » c’est « saturée ». Moi je dis « couleur qui pète », mais c’est moi.

      2. Ici le passage en TSI n’est qu’un outil dans la fonction, pour effectuer une modification mathématique facilement. Mais le retour est encore une couleur codée en RVB héxadécimale. Parce que c’est ce que les filtres de manipulations des couleurs de SPIP vont utiliser ensuite.

      Après, c’est pour des éléments d’interface, qu’en plus on génère dynamiquement. Alors la précision liée au Gamut de l’écran, ici, ça me semble moins pertinent, qui concernerait plus, à mon avis, les images.

    • Tout à fait d’accord. Les interfaces, c’est souvent des aplats, alors à +/-5 sur chaque canal RVB, osef.

      Sinon, le RGB étendu, ça doit bien exister... un truc genre 10/11/11 bits par canal (sur 32 bits)... Vu que ca existant déjà du temps du 8 / 16 bits y’a pas de raison qu’on réserve de la place pour l’Alpha quand c’est le framebuffer.
      Faudrait que je révise. C’est con d’être spécialisé en imagerie numérique et ne pas en faire depuis 15 ans.

      J’ai trouvé, au délà de 24 bits (donc 32 avec alpha) (qui s’appelle True-color), cela s’appelle Deep-color, et ça inclut 30, 36 et 48 bits... (bizarre qu’on ne fasse plus de dissymétrie chromatique, ça a peut être moins de sens avec autant de précision). Et apparemment les nouveaux formats vidéo (H.265) ou les nouvelles infrastructures HDMI 1.3 supportent ça. Ca me parait cohérent... faut vraiment être bigleux pour pas voir les artefacts en 24 bits.