Seenthis
•
 
Identifiants personnels
  • [mot de passe oublié ?]

  • https://zone.spip.net
  • /trac

/spip-zone

  • ►/changeset
    • ►/120905
    • ►/104831
      • ►/spip-zone
        • ►/_plugins_
          • ►/fulltext
    • ►/117877
      • ►/spip-zone
    • ►/116199
      • ►/spip-zone
    • ►/115264
      • ►/spip-zone
    • ►/114892
    • ►/83559
      • ►/spip-zone
  • ►/browser
    • ►/_squelettes_
      • ►/html5up_bigpicture
    • ►/spip-zone
      • ►/_plugins_
        • ►/askwiki
          • ►/trunk
        • ►/plugins_seenthis
          • ►/lien_court
            • ►/trunk
              • ►/paquet.xml
        • ►/varnish
          • ►/vspip4.vcl
      • ►/_squelettes_
        • ►/html5up_bigpicture
          • ►/sommaire.html
            • ►?rev=95819#L118
        • ►/dist-html5
          • ►/paquet.xml
        • ►/integraal
        • ►/spipr-dist
          • ►/trunk
  • ►/wiki
    • ►/CharteDeFonctionnement
  • @b_b
    b_b @b_b PUBLIC DOMAIN 1/02/2020
    5
    @rastapopoulos
    @jeanmarie
    @cy_altern
    @arno
    @spip
    5

    Suite à la discussion à propos du site LOW←TECH MAGAZINE et du format d’image qu’il utilise cf ►https://seenthis.net/messages/809252 je me suis amusé avec imagick pour ajouter un filtre image_tramer pour #SPIP :

    ▻https://zone.spip.net/trac/spip-zone/changeset/120905

    Ça permet donc de générer des images « tramées » en mode « ordered dithering » qu’on peut ensuite décorer à coup de css mix-blend-mode: hard-light; sur une couleur d’arrière plan.

    Exemples d’images générées par le filtre (en mode natif sans couleur d’arrière plan) :

    https://pic.infini.fr/zRAG8dXL/owTTKtWF.jpg

    PS : les trois premières images ont les mêmes dimensions que l’originale, je les ai affiché en mode pleine largeur uniquement pour mieux montrer les détails de l’effet obtenu par le filtre.

    #spip_blog

    b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 1/02/2020

      excellent !
      et c’est que pour imagemagick ou ça marche avec gd2 aussi ?

      #web #image #webperf

      RastaPopoulos @rastapopoulos CC BY-NC
    • @b_b
      b_b @b_b PUBLIC DOMAIN 1/02/2020

      Uniquement sous imagick, mais on peut imaginer d’ajouter un fallback sous gd, faut juste trouver le bon trick pour obtenir un résultat similaire.

      Lors de mes essaie j’ai joué avec la lib ▻https://github.com/ccpalettes/gd-indexed-color-converter mais ça n’utilise pas la même méthode « Floyd–Steinberg » VS « ordered dithering » et le résultat ne me convenait pas aussi bien côté rendu que poids de l’image générée, exemple :

      https://pic.infini.fr/qS2sIxeT/l1LAArdV.png

      PS : une piste par ici ▻https://github.com/kosinix/grafika/blob/master/src/Grafika/Gd/Filter/Dither.php#L135

      b_b @b_b PUBLIC DOMAIN
    • @b_b
      b_b @b_b PUBLIC DOMAIN 8/05/2020

      J’ajoute les liens qui m’ont été utiles en vrac pour référence si jamais quelqu’un veut s’y recoller un jour :

      ▻https://github.com/lowtechmag/solar-plugins/blob/master/dither/dither.py
      ▻https://bisqwit.iki.fi/story/howto/dither/jy
      ▻https://en.wikipedia.org/wiki/Ordered_dithering
      ▻https://web.archive.org/web/20070927122512/http://www.efg2.com/Lab/Library/ImageProcessing/DHALF.TXT
      ▻https://imagej.net/Dithering

      Et mon squelette de debug et ses fonctions qui contiennent mes essais non achevés pour le faire avec GD cf image_tramer_floydsteinberg() & image_tramer_gd() :

      ▻https://gist.github.com/brunob/055fac68c1283b6d89ee7a1e3f2a9fd6

      b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 8/05/2020

      tiens d’ailleurs ça se passe comment quand on utilise un filtre qui n’est pas multi-librairie, que pour une, mais qu’on est sur une autre ? ça fait rien, ou ça fait une erreur ?

      RastaPopoulos @rastapopoulos CC BY-NC
    • @b_b
      b_b @b_b PUBLIC DOMAIN 8/05/2020
      @rastapopoulos

      Je ne comprends pas ta question @rastapopoulos ^^

      un filtre qui n’est pas multi-librairie, que pour une, mais qu’on est sur une autre

      Gné ?

      b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 8/05/2020

      bah librairie d’image, un filtre qui au final ne marche qu’avec telle librairie précise. La plupart des filtres fournis marchent avec toutes les librairies, donc on se dit qu’on peut tous les utiliser, mais ça fait quoi si on est sur une autre du coup ?

      RastaPopoulos @rastapopoulos CC BY-NC
    • @b_b
      b_b @b_b PUBLIC DOMAIN 8/05/2020

      ’k, ben ça ne fait rien à part renvoyer l’image d’origine cf le test if (method_exists('Imagick', 'orderedPosterizeImage')) {, pas de génération d’erreur donc, si c’était ta crainte.

      b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 8/05/2020

      ok merci :)

      RastaPopoulos @rastapopoulos CC BY-NC
    • @b_b
      b_b @b_b PUBLIC DOMAIN 18/01/2021

      Pour référence, un article au sujet du tramage/dithering :

      ▻https://surma.dev/things/ditherpunk

      b_b @b_b PUBLIC DOMAIN
    Écrire un commentaire
  • @touti
    vide @touti 17/01/2020
    3
    @rastapopoulos
    @cy_altern
    @spip
    3

    Ils nous fichent, fichons les !

    Plugin SPIP Askwiki
    ▻https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/askwiki/trunk

    https://i.imgur.com/bMdPSBR.png

    Je viens de coder un plugin SPIP dans le but d’enregistrer des informations depuis wikipedia.
    L’idée est de créer ensuite des objets de type triplets RDF pour créer des graphs ou cartes relationnelles.

    https://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Basic_RDF_Graph.svg/1920px-Basic_RDF_Graph.svg.png

    Pour le moment Askwiki fonctionne uniquement avec le plugin « Contacts & Organisations » et uniquement à partir d’un seul objet « contact » possédant les champs
    – nom
    – prenom
    – date_naissance
    – date_deces
    – page_wikipedia
    – url_wikipedia
    – phrase_wikipedia

    Il est conseillé d’utiliser le plugin cextra pour ajouter les champs manquants.

    USAGE
    Renseigner prénom et nom d’un contact
    Demander à récupérer les données de la page wikipedia
    Les vérifier avant de cliquer pour remplir les champs

    Il y a surement mieux, notamment en interrogeant via une librairie spécifique, car c’est actuellement un code CURL assez basique qui interroge un Json.
    Je note dans ce fil les outils disponibles, à commencer par C&O Cextras et wikidata

    ▻https://contrib.spip.net/Plugin-Contacts-Organisations
    ▻https://contrib.spip.net/Champs-Extras-3
    ▻https://www.mediawiki.org/wiki/API:Main_page

    vide @touti
    • @touti
      vide @touti 17/01/2020

      créer un livre avec index, chapitres à partir de données WP
      ▻https://www.wikidata.org/wiki/Wikidata:Main_Page

      vide @touti
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 17/01/2020

      Bravo !

      RastaPopoulos @rastapopoulos CC BY-NC
    • @touti
      vide @touti 18/01/2020
      @rastapopoulos

      merci @rastapopoulos :)
      J’éclaircis un peu le projet que je me suis donné.
      En local, j’ai dû rajouter un formulaire de contact2contact pour pouvoir utiliser spip_contacts_liens avec objet=contact, même si ça cafouille un peu avec les clefs primaires et le crayon…

      vide @touti
    • @antonin1
      Antonin @antonin1 CC BY-NC-SA 18/01/2020

      Waw !

      Antonin @antonin1 CC BY-NC-SA
    • @b_b
      b_b @b_b PUBLIC DOMAIN 18/01/2020

      #spip_blog ; dès qu’il y aura une mini doc sur contrib ;)

      b_b @b_b PUBLIC DOMAIN
    • @touti
      vide @touti 19/01/2020

      yep, pour le moment c’est expérimental :)

      vide @touti
    Écrire un commentaire
  • @cy_altern
    cy_altern @cy_altern CC BY-SA 19/09/2019
    1
    @spip
    1

    Révision 104831 pour plugins/fulltext – SPIP-ZONE
    ▻https://zone.spip.net/trac/spip-zone/changeset/104831/spip-zone/_plugins_/fulltext

    la constante à ajouter pour que les recherches avec le plugin FULLTEXT fonctionnent de façon non-stricte (= équivalent à avoir * à la fin du terme recherché)
    cf ▻https://contrib.spip.net/Fulltext#comment492512

    #fulltext #SPIP #recherche

    cy_altern @cy_altern CC BY-SA
    Écrire un commentaire
  • @arno
    ARNO* @arno ART LIBRE 16/09/2019
    2
    @spip
    @rastapopoulos
    2

    Dis #SPIP, vu qu’on me pose la question : où est-ce qu’on trouve des thèmes un peu modernes et jolis pour SPIP ? La page thèmes de Contrib, je trouve que ça date carrément, et apparemment la page sur Zpip est fermée en ce moment.

    Au passage : il faudrait que ce soit multilingue.

    ARNO* @arno ART LIBRE
    • @arno
      ARNO* @arno ART LIBRE 16/09/2019

      Je vois les thèmes pour Html5Up, pour le coup c’est moderne comme il faut :
      ▻https://contrib.spip.net/Html5up

      ARNO* @arno ART LIBRE
    • @b_b
      b_b @b_b PUBLIC DOMAIN 16/09/2019

      Wala c’est bien ça, avec l’article de présentation des différents thèmes : ►https://contrib.spip.net/Des-squelettes-SPIP-pour-les-themes-html5up

      b_b @b_b PUBLIC DOMAIN
    • @fil
      Fil @fil 16/09/2019

      Il n’y a pas un petit paragraphe sur la licence du truc ? Car quand j’ai adapté un html5up à l’époque c’était « pas libre », à savoir qu’il fallait conserver un lien vers le site html5up.

      Fil @fil
    • @b_b
      b_b @b_b PUBLIC DOMAIN 16/09/2019
      @fil

      @fil je viens de trouver ça ici ▻https://seenthis.net/messages/801935, à voir si ça répond à la question :)

      b_b @b_b PUBLIC DOMAIN
    • @jeanmarie
      jeanmarie @jeanmarie CC BY-NC-SA 16/09/2019

      C’est précisé sur le tuto/guide pour le portage :
      ▻https://contrib.spip.net/Themes-HTML5UP-Pour-un-portage-efficace#Licence
      Mais ça pourrait effectivement l’être aussi sur la page de chaque plugin...

      jeanmarie @jeanmarie CC BY-NC-SA
    • @jeanmarie
      jeanmarie @jeanmarie CC BY-NC-SA 16/09/2019
      @fil

      @fil : Tu as porté quel thème ? Il semble être passé sous les radars du récent recensement...

      jeanmarie @jeanmarie CC BY-NC-SA
    • @fil
      Fil @fil 16/09/2019
      @jeanmarie @b_b

      @jeanmarie j’avais adapté un truc qui existait déjà dans SPIP mais où les crédits étaient problématiques (la personne qui avait porté le thème en squelette SPIP avait mis son nom à la place de html5up dans les ©…). Du coup j’ai eu la flemme de reverser. C’est celui de ▻http://www.3furies.com mais je ne me souviens plus du nom du thème en question.

      @b_b la courge du siam répond pas trop à la problématique ;-)

      Fil @fil
    • @b_b
      b_b @b_b PUBLIC DOMAIN 17/09/2019
      @fil @jeanmarie

      @fil lol mauvais copier/coller, je voulais citer le lien que @jeanmarie t’a donné ^^

      b_b @b_b PUBLIC DOMAIN
    • @jeanmarie
      jeanmarie @jeanmarie CC BY-NC-SA 17/09/2019
      @fil @b_b

      @fil C’est BigPicture : ▻https://zone.spip.net/trac/spip-zone/browser/_squelettes_/html5up_bigpicture

      Le crédit problématique : ▻https://zone.spip.net/trac/spip-zone/browser/spip-zone/_squelettes_/html5up_bigpicture/sommaire.html?rev=95819#L118

      Et le commit pour réparer ça : ▻https://zone.spip.net/trac/spip-zone/changeset/117877/spip-zone

      @b_b merci pour la courge du Siam à la bolognaise :)

      jeanmarie @jeanmarie CC BY-NC-SA
    • @fil
      Fil @fil 17/09/2019

      merci !

      Fil @fil
    Écrire un commentaire
  • @cy_altern
    cy_altern @cy_altern CC BY-SA 2/08/2019
    9
    @spip
    @tofulm
    @b_b
    @jeanmarie
    @fil
    @baroug
    @7h36
    @rastapopoulos
    @touti
    9

    Révision 116199 – SPIP-ZONE
    ▻https://zone.spip.net/trac/spip-zone/changeset/116199/spip-zone

    Documentation provisoire du plugin SPIP « filtres_images_vectorise » qui propose 3 types de filtres de vectorisation d’images bitmaps en SVG.
    Utilise soit la lib GeometrizePHP soit la lib PotRace soit une combinaison des 2.
    Voir aussi :
    – ▻https://github.com/Cerdic/geometrize-php pour GeometrizePHP
    – ►https://github.com/Otamay/potracio (+ ►https://seenthis.net/messages/645575) pour PotRace

    Ca va dépoter les SVG dans SPIP :-) !

    #SVG #vectoriser #PHP #SPIP #filtres_images_vectorise #plugin

    cy_altern @cy_altern CC BY-SA
    • @b_b
      b_b @b_b PUBLIC DOMAIN 3/08/2019

      C’est beau :)

      <BOUCLE_docs(DOCUMENTS){id_document IN 8,9}>
      [(#FICHIER|image_reduire{#GET{taille}})]
      [(#FICHIER|image_reduire{#GET{taille}}|image_geometrize)]
      [(#FICHIER|image_reduire{#GET{taille}}|image_potrace)]
      [(#FICHIER|image_reduire{#GET{taille}}|image_geopotrize)]
      <hr/>
      </BOUCLE_docs>

      http://vrac.kupaia.fr/vectooor.png?1

      Par contre on dirait qu’il y a un petit glitch avec image_geopotrize par défaut.

      PS : le glitch est corrigé et c’est encore plus beau :)

      b_b @b_b PUBLIC DOMAIN
    Écrire un commentaire
  • @arno
    ARNO* @arno ART LIBRE 8/07/2019
    3
    @spip
    @kent1
    @tofulm
    3

    Si le #plugin #SPIP lien_court fait planter le site, c’est parce qu’il faut activer mbstring avec PHP (par défaut, sur la Debian, ça ne l’est pas).

    ARNO* @arno ART LIBRE
    • @b_b
      b_b @b_b PUBLIC DOMAIN 8/07/2019

      Hop, pour info, en SPIP 3.2 tu peux indiquer qu’un plugin nécessite une librairie php dans le paquet.xm, exemple <necessite nom="php:mbstring" /> ; cf commit ▻https://core.spip.net/projects/spip/repository/revisions/23396

      En ajoutant ça dans ▻https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/plugins_seenthis/lien_court/trunk/paquet.xml cela permettrait d’avertir les gens qui installent le plugin ;)

      b_b @b_b PUBLIC DOMAIN
    Écrire un commentaire
  • @arno
    ARNO* @arno ART LIBRE 8/07/2019
    4
    @spip
    @kent1
    @rastapopoulos
    @tofulm
    4

    Est-ce que quelqu’un a une version de la config Varnish pour SPIP, telle qu’on la trouve par exemple là :
    ►http://zzz.rezo.net/Interfacer-Varnish-SPIP.html
    mais qui fonctionnerait avec un Varnish récent (VCL 4.0) ?

    ARNO* @arno ART LIBRE
    • @arno
      ARNO* @arno ART LIBRE 8/07/2019

      Ooooh :
      ▻https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/varnish/vspip4.vcl

      ARNO* @arno ART LIBRE
    • @arno
      ARNO* @arno ART LIBRE 8/07/2019

      Ah zut:

      Error:
      Message from VCC-compiler:
      Invalid return "fetch"
      ('/etc/varnish/default.vcl' Line 391 Pos 14)
           return(fetch);
      -------------#####--


      ...in subroutine "vcl_hit"
      ('/etc/varnish/default.vcl' Line 366 Pos 5)
      sub vcl_hit {
      ----#######--


      ...which is the "vcl_hit" method
      Legal returns are: "deliver" "miss" "pass" "restart" "synth"
      Running VCC-compiler failed, exited with 2
      VCL compilation failed
      ARNO* @arno ART LIBRE
    • @arno
      ARNO* @arno ART LIBRE 8/07/2019

      Sauf erreur : en remplaçant les return(fetch) par des return(miss), ça fonctionne.

      ARNO* @arno ART LIBRE
    • @arno
      ARNO* @arno ART LIBRE 8/07/2019

      Bon, la grosse galère, c’était (sur une Debian toute neuve) de trouver pourquoi Varnish ne répondait pas sur le port 80. C’est parce que l’habituel fichier /etc/default/varnish n’est pas utilisé : la config de lancement de Varnish se fait dans /lib/systemd/system/varnish.service

      Doc ici :
      ▻https://docs.varnish-software.com/tutorials/configuring-systemd-services

      ARNO* @arno ART LIBRE
    • @arno
      ARNO* @arno ART LIBRE 23/01/2020

      Encore fête : une mise à jour qui a cassé le démarrage de Varnish…

      Quand il y a plusieurs ports indiqués dans varnishd séparés par une virgule, il faut maintenant remettre -a à chaque fois :

      varnishd … -F - a :80, :443 -T localhost:6082…

      doit être réécrit :
      varnishd … -F - a :80, -a :443 -T localhost:6082…

      Trouvé ça en réponse à l’erreur de démarrage « Unknown protocol » :
      ▻https://varnish-cache.org/lists/pipermail/varnish-bugs/2015-March/007053.html

      ARNO* @arno ART LIBRE
    • @cy_altern
      cy_altern @cy_altern CC BY-SA 4/01/2021

      #varnish #debian

      cy_altern @cy_altern CC BY-SA
    Écrire un commentaire
  • @b_b
    b_b @b_b PUBLIC DOMAIN 6/06/2019
    1
    @spip
    1

    Migrer un site SPIP en HTML5

    Ce tutoriel est valable aussi bien pour la création d’un nouveau site SPIP vierge que pour la migration d’un site SPIP existant.

    C’est bien plus simple qu’il n’y paraît. Si vous partez d’un code propre (valide W3C) et où les styles s’appuient bien sur des sélecteurs CSS plutôt que sur des éléments HTML, cela prend moins d’une heure, sans incidence sur le site existant.

    ▻https://contrib.spip.net/Migrer-un-site-SPIP-en-HTML5

    #spip_blog

    b_b @b_b PUBLIC DOMAIN
    • @jeanmarie
      jeanmarie @jeanmarie CC BY-NC-SA 6/06/2019
      @tetue

      Merci @tetue pour ces tutos.

      J’ai juste un retour :

      Mieux vaut donc les remplacer : videz le contenu du répertoire /squelettes-dist pour le remplacer par exemple par cette dist HTML5

      Comme dit ici ▻https://www.mail-archive.com/spip-dev@rezo.net/msg66992.html :

      La dist HTML5 est un plugin (cf ▻https://zone.spip.net/trac/spip-zone/browser/spip-zone/_squelettes_/dist-html5/paquet.xml ), donc pas besoin de « vider /squelettes-dist » (ce qu’il ne faut jamais, non ?)

      Toucher à tout ce qui fini en -dist, c’est le mal, nan ? :)

      jeanmarie @jeanmarie CC BY-NC-SA
    Écrire un commentaire
  • @cy_altern
    cy_altern @cy_altern CC BY-SA 7/05/2019
    1
    @spip
    1

    Révision 115264 – SPIP-ZONE
    ▻https://zone.spip.net/trac/spip-zone/changeset/115264/spip-zone

    La doc de la balise #ICON du plugin z-core de SPIP : permet d’utiliser des sprites SVG inclus « inline » dans la page aussi bien qu’externes
    merci cedric !

    #SVG #SPIP ##ICON #sprite #z-core

    • #ICON
    cy_altern @cy_altern CC BY-SA
    • @b_b
      b_b @b_b PUBLIC DOMAIN 7/05/2019

      En lien avec ▻https://seenthis.net/messages/773610 ;)

      b_b @b_b PUBLIC DOMAIN
    Écrire un commentaire
  • @b_b
    b_b @b_b PUBLIC DOMAIN 10/04/2019
    4
    @spip
    @tofulm
    @cy_altern
    @jeanmarie
    4

    Integration d’un systeme d’icone lightweight (sprite SVG) et accessible (texte alternatif aria possible) base sur ►https://danklammer.com/bytesize-icons
    #ICON{search,icon-lg,Rechercher}

    Le jeu d’icone est personalisable, il suffit
    define('_ICON_SPRITE_SVG_FILE', 'chemin vers le sprite svg');
    et de definir sa fonction filtre_icone_ancre_from_name($name){} pour faire correspondre les ancres dans le sprite avec les petits noms d’icone (quitte a renommer/etendre)

    + une feuille de style icons.css qu’il peut etre utile de personaliser si on change le jeu d’icone

    (BootStrap ayant change puis abandonne la famille d’icones fournie par defaut, on trace donc notre route)

    ▻https://zone.spip.net/trac/spip-zone/changeset/114892

    #spip #zcore topito :)

    • #ICON
    b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 11/04/2019

      Et en SCSS ? :p

      RastaPopoulos @rastapopoulos CC BY-NC
    • @cy_altern
      cy_altern @cy_altern CC BY-SA 11/04/2019

      #icone #svg #fontawesome #glyphicon

      cy_altern @cy_altern CC BY-SA
    Écrire un commentaire
  • @jeanmarie
    jeanmarie @jeanmarie CC BY-NC-SA 23/11/2018
    3
    @spip
    @rastapopoulos
    @mukt
    3
    @rastapopoulos @ben

    #Intégration / #développement : Plugin vs #boilerplate

    Vous êtes plutôt l’un ou plutôt l’autre vous ?

    Il y a 1 an, j’attaquais mon squelette perso, celui qui me sert aujourd’hui de base pour la structure html et quelques styles css de bases et qui repose sur ZPIP V2. Ce squelette est (plus que) largement inspiré de Intégraal de @rastapopoulos et SPIPr de Cédric et @ben.

    Je commence à avoir quelque chose d’assez adapté à mes besoins. Outre une structure html5, ça permet de gagner beaucoup de temps : une grille à mettre en place ? <INCLURE{fond=inclure/liste/grille,...> + les bons paramètres et le tour est joué.

    La question qui se pose maintenant, c’est le fonctionnement : boilerplate ou plugin.

    Le plugin , c’est un squelette qu’on surcharge avec un squelette/plugin propre à chaque nouveau projet. Le boilerplate , c’est un squelette qu’on modifie directement pour chaque nouveau projet.

    L’avantage du 1er, c’est qu’on partage les évolutions entre tous les sites qui l’utilisent mais l’inconvénient, c’est qu’il faut conserver une compatibilité descendante sous peine, soit de casser le site, soit de ne plus pouvoir profiter des évolutions.
    Le 2nd, ben c’est exactement l’inverse.

    Au début, le fonctionnement plugin m’allait très bien : je développais mon plugin en même temps que les sites et chacun profitait donc des mise à jour de la structure et des styles de bases. Mais à force de bouger des choses, je me rends compte que ça devient galère de garder cette compatibilité descendante.

    Donc voilà, si vous avez des retours d’expérience...

    Liens :
    SPIPr : ▻https://zone.spip.net/trac/spip-zone/browser/spip-zone/_squelettes_/spipr-dist/trunk
    Integraal : ▻https://zone.spip.net/trac/spip-zone/browser/spip-zone/_squelettes_/integraal
    integraal (principe) : ▻https://zone.spip.net/trac/spip-zone/changeset/83559/spip-zone
    Repo de mon plugin : ▻https://gitlab.com/jmoupah/zcm
    Doc de mon plugin : ►https://notes.cousumain.info/ZCM-Squelette-modulaire-SPIP-ZCore.html

    #SPIP_recette #SPIP

    jeanmarie @jeanmarie CC BY-NC-SA
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 23/11/2018

      Les deux, cela dépend du type de projets sur lesquels tu travailles.

      C’est l’exact raison pour laquelle j’ai conçu Intégraal, parce que Zpip ou SpipR ne convenait pas du tout dans les cas où on avait des clients différents, avec des graphismes dédiés à chaque fois, où il faut intégrer des maquettes précises, qui n’ont rien à voir les unes avec les autres.

      Dans ce cas, l’avantage d’avoir un plugin commun se réduit drastiquement, pour deux raisons :
      1) tu finis par surcharger au moins 50% du truc de base
      2) quand il y a une mise à jour du plugin central, ça peut très souvent te péter ton intégration, puisque tu avais basé du graphisme sur une structure qui peut bouger à tout moment !

      Voilà donc pourquoi cela fait des années que l’on travaille avec Intégraal et désormais sa commande spip-cli qui permet en 2s d’avoir la structure d’intégration, qu’ensuite on modifie directement.

      En revanche, attention, si une partie du travail concerne tout un ensemble de clients qui se ressemblent au moins un peu, et aussi si tu arrives à avoir des bases génériques ET configurables (noisettes ou autre), alors dans ce cas là ça peut de nouveau être intéressant d’avoir un plugin-squelette qui est le même pour tout le monde, et sur lequel tu ne fais que plaquer des styles (et pour ça il faut que tes classes CSS soient génériques aussi, quand je parle de générique, c’est pas juste au niveau des squelettes, <inclure>, etc).

      Actuellement, en plus de continuer à utiliser Intégraal, nous sommes en train de réfléchir à un plugin commun aussi, pour d’autres besoins.

      En simplifiant :

      Intégraal = site à façon, où on conçoit un ensemble de fonctionnalités, une ergonomie et un graphisme propre à ce site, puis on l’intègre tel qu’on l’a conçu.

      Plugin = site où on propose aux gens des fonctionnalités qui sont déjà à moitié intégré, parce que ça rentre vraiment dans le périmètre de leurs besoins, et sur lesquels on change juste quelques petites différences graphiques (palette de couleur, typo, header, etc).

      RastaPopoulos @rastapopoulos CC BY-NC
    • @jeanmarie
      jeanmarie @jeanmarie CC BY-NC-SA 29/11/2018

      Mais du coup, si on change son boiler plate en plugin spécifique au nouveau projet, ça veut dire que chaque nouvelle fonctionnalité ajoutée en cours de développement (donc dans le nouveau projet, tout le monde suit ?) doit être reportée dans le boiler plate source pour profiter au prochain projet.

      Ça veut peut être dire qu’il faut attendre que le boiler plate soit arrivé à maturité avant de fonctionner comme ça...

      bon, work in progress quoi...

      jeanmarie @jeanmarie CC BY-NC-SA
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 29/11/2018

      Bah oui, mais seulement si c’est une fonctionnalité générique. Le principe du boiler plate c’est qu’ensuite tu modifies en fonction de ton projet précis. Mais à tout moment, et surtout au début bien sûr, tu peux détecter que tel ajout va te servir dans d’autres futurs projets, donc tu l’ajoutes à ton projet en cours, tu le testes, tu trouves ça cool, et alors tu le reportes sur le boiler plate. C’est ce qu’on fait dans Intégraal depuis le début (même si on n’est pas forcément très rigoureux, ya sûrement plein de choses encore à reporter).

      RastaPopoulos @rastapopoulos CC BY-NC
    • @jeanmarie
      jeanmarie @jeanmarie CC BY-NC-SA 30/11/2018

      Oui, c’est reporter les évolutions qui semble contraignant.

      Je vais tester ce fonctionnement pour mon prochain projet.

      A suivre donc...

      jeanmarie @jeanmarie CC BY-NC-SA
    • @jeanmarie
      jeanmarie @jeanmarie CC BY-NC-SA 13/07/2019

      Hello,

      après expérience, je suis resté sur le fonctionnement boiler plate. Même s’il impose une rigueur pour reporter les nouvelles fonctionnalités développées au fur est à mesure, c’est toujours plus réaliste que de vouloir garder une rétro-compatibilité en mode plugin.

      Voilà pour mon retour d’expérience perso...

      Merci aux uns et aux autres pour les retours, pistes, outils.

      jeanmarie @jeanmarie CC BY-NC-SA
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 13/07/2019

      Oui c’est bien là l’argument principal : la pérennité et la maintenance sur le long terme. Quand t’as utilisé ce projet pour un site, après 3 ans, ça se trouve tu ne veux plus utiliser la même grille SCSS, t’as améliorer la sémantique du HTML ou la normalisation des classes CSS (BEM etc), bref t’as fait plein de changement, et donc tes personnalisations de l’époque peuvent être toutes pétées si ton projet était un plugin générique à mettre à jour.

      Alors qu’avec un boiler plate, tu l’as utilisé tel qu’il était au moment où tu en avais besoin, et tu l’as personnalisé, et basta. Si 3 ans plus tard ya une refonte à faire, de toute façon ça sera sur une autre base. Et si c’est juste des petites modifs, c’est sur le socle de l’époque.

      Bien sûr ça c’est quand on doit intégrer des maquettes précises. Quand on propose une solution générique et que les clients ne font que choisir parmi des trucs existants, là faut tout en plugins.

      RastaPopoulos @rastapopoulos CC BY-NC
    Écrire un commentaire
  • @rjadot
    ashledombos @rjadot ART LIBRE 12/06/2018
    4
    @spip
    @suske
    @james
    @reka
    4

    Bonsoir l’équipe #spip et #seenthis, si vous me lisez, vous n’avez jamais pensé à créer une équipe sur liberapay, pour recevoir un peu de sous sous forme de #dons (ou du moins créer l’opportinité d’en recevoir) ?

    ▻https://liberapay.com/explore/teams

    ashledombos @rjadot ART LIBRE
    • @suske
      Suske @suske 13/06/2018
      @spip @seenthis

      Hello,

      Je ne suis pas @spip ni @seenthis mais on peut parler ?

      Concernant #seenthis, c’est probablement une bonne piste.

      Concernant #spip, l’idée de gérer de l’argent dans le cadre du projet n’est pas à l’ordre du jour. Ce projet est une sorte d’OVNI hébergé par les personnes qui y mettent les moyens. Pas toujours simple mais ça marche depuis 17 ou 18 ans... Pour comprendre ça, le texte introductif le plus clair est celui de la charte de la zone SPIP... ▻https://zone.spip.net/trac/spip-zone/wiki/CharteDeFonctionnement

      Respect des buts et valeurs du projet SPIP

      Rappelons que SPIP est un logiciel libre, et chaque personne qui l’utilise peut en faire ce qu’elle veut ; toutefois la participation à la SPIP Zone doit être faite dans le cadre des buts et valeurs promus par le projet initial du ​minirézo, et notamment :

      promouvoir et défendre la liberté d’expression de tous sur Internet
      une défiance vis-à-vis de l’argent
      le respect de l’identité de chacun

      Cela implique, entre autres, un effort pour internationaliser ses contributions, veiller à ce que le langage et le fonctionnement choisis soient non-sexistes, une priorité accordée aux besoins associatifs sur les besoins marchands, etc.

      Ce site n’est pas une plateforme de développement pour des versions militaires ou business-oriented de SPIP qui viendraient en changer la nature. Il n’a pas non plus vocation à servir de support de communication ou de publicité pour consultants. Si vous pensez que votre activité professionnelle peut entrer en conflit avec ces exigences, on peut en parler et trouver des solutions (l’usage d’un pseudo par exemple).

      Sinon il y a eu de nombreuses discussions sur les listes aussi. Cela changera-t-il un jour ? Pourquoi et pourquoi pas sont 2 bonnes questions. Pour quoi et pour quoi je pas, de même. Ça peut faire de chouettes trolls aussi, de qualité :-)

      Suske @suske
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 13/06/2018

      Comme je le disais à James hier :

      En fait association, fondation, liberapay ou autre, ce n’est pas tant le comment, le statut, la manière dont on récupérerait de l’argent, qui est le problème… mais les questions que ça entraine : qui gère cet argent, à qui on le donne, etc.

      Et donc pour le moment ça s’est toujours fait au fil de l’eau suivant tel ou tel besoin précis (tel serveur, telle rencontre), pas toujours par les mêmes, sans centralisation d’une somme officielle à gérer. Mais je suis conscient que ça pose aussi des problèmes. Bref, ya pas de réponse simple. :)

      Et ce n’est pas forcément une mauvaise idée d’en reparler régulièrement, de le remettre sur la table, même si c’est pour ré-affirmer qu’on ne veut pas de ça.

      RastaPopoulos @rastapopoulos CC BY-NC
    • @rjadot
      ashledombos @rjadot ART LIBRE 13/06/2018

      OK je comprends, merci pour vos réponses.

      ashledombos @rjadot ART LIBRE
    Écrire un commentaire