Emmet — the essential toolkit for web-developers
►https://emmet.io
Emmet is a plugin for many popular text editors which greatly improves HTML & CSS workflow
Découvert via cette vidéo :
▻https://www.youtube.com/watch?v=EhRPdUv1ZrA
Emmet — the essential toolkit for web-developers
►https://emmet.io
Emmet is a plugin for many popular text editors which greatly improves HTML & CSS workflow
Découvert via cette vidéo :
▻https://www.youtube.com/watch?v=EhRPdUv1ZrA
Grace à #vscodium, on peut passer plus de temps à apprendre les raccourcis qu’à coder :)
Pour info, il y a des snippets pour #spip : ▻https://git.spip.net/spip-contrib-outils/snippets-vscodium
Roh ! Je ne connaissais pas « lorem » ou « lorem5 » ... un indipensable :)
pehaa/beerslider : A vanilla JS keyboard accessible plugin for any before-after comparison
▻https://github.com/pehaa/beerslider
Un script JS pour réaliser un effet « avant / après » sur une image
La démo : ▻https://pepsized.com/wp-content/uploads/2018/09/beerslider/demo/index.html
à intégrer dans ce vieux truc que j’avais pondu sans jamais l’utiliser ▻https://git.spip.net/spip-contrib-extensions/images_compare ?
Un critere {par_ordre_liste champ,#LISTE{...}} qui permet d’ordonner explicitement les resultat d’une boucle selon un tableau · 1b6c328268 - spip - SPIP on GIT
▻https://git.spip.net/spip/spip/commit/1b6c32826813ac67144a96bb94b95ce5e834a290
Doc temporaire d’une nouvelle (super !) feature : le critère par_ordre_liste :
Un critere {par_ordre_liste champ,#LISTE{...}} qui permet d’ordonner explicitement les resultat d’une boucle selon un tableau
Cela donne le meme resultat que si on utilise un {champ IN ...} sauf que
– le critere IN classe uniquement par defaut selon le tableau fournit, et cet ordre est ecrase si on a un autre critere, ou une jointure
– le {par_ordre_liste} permet de separer la selection du classement
– on peut le combiner avec d’autres {par...} dans l’ordre que l’on veut
Question #SPIP : est-ce que quelqu’un utilise un plugin pour gérer une association (membres, cotisations, etc.) ? Je vois qu’il existe Associaspip, est-ce que c’est maintenu ?
J’identifie @spip pour l’en informer :)
Il y a eu un échange sur la liste SPIP-dev le mois dernier ▻https://www.mail-archive.com/spip-dev@rezo.net/msg70644.html
et le carnet-wiki ▻https://contrib.spip.net/deterrer-Associaspip
Non ce n’est pas maintenu.
Moi perso, je ne fais pas « gestion complète d’association » : ce serait beaucoup trop long à maintenir, il y a des logiciels dédiés à ça. C’est comme si tu voulais réinventer un logiciel de comptabilité par ex en SPIP, c’est un métier à plein temps.
Par contre je gère les adhésions avec notre plugin Abonnements : tu fais une ou plusieurs offres, tu lui adjoins le plugin Profils (éventuellement avec Contacts & Organisations et Coordonnées, mais c’est même pas obligatoire) pour faire des grandes fiches d’informations si jamais ya plein de trucs à demander aux membres, et tu utilises le plugin Commandes d’abonnements (qui nécessite Commandes donc) pour avoir un beau formulaire permettant de choisir une offre et la payer en ligne (avec Bank). Ça va assez vite d’avoir un tunnel complet, encore plus avec le plugin Tunnels qui mâche un peu le travail.
▻https://git.spip.net/spip-contrib-extensions/abonnements
▻https://git.spip.net/spip-contrib-extensions/commandes_abonnements
▻https://git.spip.net/spip-contrib-extensions/tunnels
▻https://git.spip.net/spip-contrib-extensions/profils
(Protip : le plugin Profils permet d’importer et d’exporter en CSV des centaines de comptes d’un coup même avec 50 champs rajoutés, avec Champs Extras, et même venant de plusieurs tables liées à la fois auteur-contacts-coordonnées… tout ça sans rien coder, plugNplay.)
@seenthis autre cadeau : je n’étais pas pleinement satisfait du rendu des embeds audio depuis archive.org (avec ce grand espace vide sous le player). Je les ai donc eu peu amélioré de façon à minimiser cet espace vide et aussi en affichant l’éventuelle image associée à l’audio.
ref ▻https://github.com/seenthis/seenthis_squelettes/issues/193#issuecomment-751675138
Aperçu de ce que ça donne :
PS : j’ai « vidé le cache » de archive.org (rm -rf tmp/cache/archive-org/*
) pour que les liens déjà postés en profitent aussi :)
Cool merci !
Ça me fait penser qu’il doit y avoir un « bug » très proche aussi avec l’embed Bandcamp, ça fait quasi toujours un gros vide blanc après la playlist. Exemple : ▻https://seenthis.net/messages/886492#message886555
Ya un « height » inline en dur + aussi autour de l’iframe un « padding-bottom » inline aussi qui est calculé suivant la proportion de la hauteur pourrie. Je sais pas comment c’est calculé, mais c’est naze, faudrait peut-être le surcharger avec un !important (pour être plus fort que le inline).
Ouep, pour bandcamp on pourrait changer de player et passer sur celui indiqué dans la meta og:video exemple :
▻https://bandcamp.com/EmbeddedPlayer/v=2/album=2186700087/size=large/tracklist=false/artwork=small
ou
▻https://bandcamp.com/EmbeddedPlayer/v=2/album=2186700087/size=large/tracklist=false/artwork=big
le même avec la tracklist (pour les albums)
▻https://bandcamp.com/EmbeddedPlayer/v=2/album=2186700087/size=large/tracklist=true/artwork=big
au lieu de l’actuel :
▻https://bandcamp.com/EmbeddedPlayer/v=2/album=2186700087/size=grande3/bgcol=FFFFFF/linkcol=4285BB/transparent=true
ah oui en plus ça fait plus clean plus moderne, avec des plus grosses zones cliquables, moins tout petit
Je propose donc ça : grand player pour les albums et un plus petit pour les tracks.
+1 c’est trop cool ! (je fais pas mal de lien Bandcamp :p )
Et hop, commité et poussé en prod cf ▻https://git.spip.net/spip-contrib-extensions/seenthis_autoembed/commit/820df6f08a001b266eefd1370625021ff28ae7b7
Exemple ici ▻https://seenthis.net/messages/888258
Démarrer rapidement et facilement un projet avec un script
Et si vous aviez un #script pour faire le boulot ? Un script qui pourrait vous générer un projet prêt à démarrer, et ce en quelques instants, avec uniquement des interventions de votre part au début pour répondre à des questions basiques ?
▻https://darklg.me/demarrer-rapidement-et-facilement-un-projet-avec-un-script
Mes 1ers tests par ici avec mon boilerplate #SPIP : ▻https://gitlab.com/jmoupah/zcm-installer
Couplé à #SPIP-CLI / #Checkout, ça commence à causer :)
SPIP-CLI : ►https://contrib.spip.net/SPIP-Cli
Checkout : ▻https://git.spip.net/spip-contrib-outils/checkout
#git #developpement #bash #outil
c’est en gros ce que fait l’installeur de IntéGraal qui est uniquement en spip-cli :
▻https://git.spip.net/spip-contrib-outils/spip-cli/src/branch/master/src/Command/IntegraalGenerer.php
Sachant qu’en spip-cli, enfin avec le module Console de Sf quoi, une fois qu’on a fait des commandes unitaires pour ci ou ça, on peut aussi faire des commandes qui appelle d’autres commandes.
Moi je fais donc tout en PHP/spip-cli/Console, vu que c’est bien plus simple à coder, propre, beau avec des couleurs, tableaux, barre de défilement, etc, sans avoir à coder en Bash.
Pour spip-cli, par contre, hors commandes de base, ça va chercher que les commandes qui sont dans des plugins activés, d’où le fait que pour l’instant celle pour IntéGraal est dans le socle commun, sinon on peut pas l’utiliser.
Ce qu’on pourrait imaginer c’est que spip-cli cherche aussi au moins les commandes placées dans un dossier « spip-cli » à la racine du dossier où on le lance et/ou à la racine du spip (pas juste les plugins activés).
Pour l’instant, mes besoins sont rudimentaires, donc bash me va bien :)
Ce que ça fait :
– crée la base mySQL pour installer SPIP via spip-cli
– crée les dossiers plugins et auto (désactivable)
– clone ZCM
– édite paquet.xml avec le préfixe du plugin
– renomme les fichiers options/fonctions/zcm-xx.svg avec le préfixe du plugin
– commit le tout dans un repo du nom du préfixe préalablement créé (désactivable)
Et donc les commandes :
– télécharger SPIP spip dl --branche master
– initialiser ZCM Intaller zcminstaller
(créer à minima la base de données)
– installer SPIP spip core:installer --db-server "mysql" --db-login "login" --db-pass "motdepasse" --db-database "nomdelabase" --admin-nom "nom" --admin-login "login" --admin-email "mail@domaine.net" --admin-pass "motdepasse"
– ajouter le dépôt des plugins spip plugins:svp:depoter https://plugins.spip.net/depots/principal.xml
La seule chose que je n’arrive pas à faire via SPIP Cli, c’est installer mon plugin car ça ne gère pas les dépendances (téléchargement et installation). Ou alors, je rate une commande ?
Et voilà, avec la sortie du dernier morceau de Ani Westendorp que j’attendais impatiemment, je clôture ma playlist #best-of_2020 surnommée « 20’s 2020 » et dont voici le lien :
YT :
On y retrouve (par ordre d’apparition dans cette drôle d’année) :
Ani Westendorp : Endors-toi 🌒
▻https://www.youtube.com/watch?v=tfEKrceYOc4
KOMPROMAT feat. Adèle Haenel : De mon âme à ton âme
▻https://www.youtube.com/watch?v=6AtwuQSkwgY
Yseult : Corps
▻https://www.youtube.com/watch?v=XbQpgFsJ_Co
Vivir Quintana ft. El Palomar : Canción sin miedo
►https://www.youtube.com/watch?v=VLLyzqkH6cs
Natalia Lafourcade : La Malquerida (+ Spoken Words)
▻https://www.youtube.com/watch?v=yE47F7mI3Ro
Oprah - Silence
▻https://www.youtube.com/watch?v=SvoWJTM4V3U
Big Blue Studio : Et Demain ? - REVU ET CORRIGÉ : Feat plein de gens connus
►https://www.youtube.com/watch?v=XtR4OfVn2Jw
Khaled Freak : MACRON - NOUS SOMMES EN GUERRE (REMIX)
►https://www.youtube.com/watch?v=5m_flTU0OpA
From Greece to Turkey, Solidarity to Grup Yorum : TENCERE TAVA HAVASI
▻https://www.youtube.com/watch?v=ouJSeTiBM-4
OXYGEN : Steve Maia Caniço
▻https://www.youtube.com/watch?v=lm-Q8SPitUE
47SOUL : Dabke System
►https://www.youtube.com/watch?v=uEaSgzRdSv0
Colectivo LASTESIS : NOS ROBAN TODO, MENOS LA RABIA
►https://www.youtube.com/watch?v=HGIPmdexu9I
HéroEcho : Saint-Jean - Minuto d’été x DUDU
►https://www.youtube.com/watch?v=50slORJ7TjU
Andy S : Bloque (dir. Yawphanta)
▻https://www.youtube.com/watch?v=QCIKEit3L8U
Ani Westendorp ft. DogisgoD : ne pas s’arrêter
►https://www.youtube.com/watch?v=za15OYMuhQk
Ratur // avec mes copines // prod j roes
▻https://www.youtube.com/watch?v=1pTCbWlLtwQ
Bande Organisée REMIX VERSION FÉMININE // CLIP OFFICIEL
▻https://www.youtube.com/watch?v=wZ3l-EPor1k
DJ SKOVID : SAUCE DEM
►https://www.youtube.com/watch?v=4b4RCdGpn8U
Héro Écho : Amazones
▻https://www.youtube.com/watch?v=nFe2ir36hV0
Ani Westendorp : warm winter
▻https://www.youtube.com/watch?v=YRuBdT-bgzo
Houlaaaaaaaaaaaa... contrairement à ce que j’avais lu dans les mails, en fait @seenthis ne supporte pas les playlists, #zutalors, moi qui l’avait faite aussi en pensant à la joie de la publier icite !
#seenthisbug
@val_k ce n’est pas un seenthisbug mais un cadeau de @b_b
▻https://seenthis.net/messages/893151
Arf je comprends ! Mais du coup y’aurait pas moyen de faire des embed pour invidious.xyz qui semble l’alternative stable ? Ou alors je vire le complément list à chaque vidéo YT, si ça passe mieux comme ça (mais ça piste aussi, non ? je pige pas pourquoi ça pisterait les listes et pas les titres solo ?)
Et voilà, y’a les vignettes YT... Sincèrement je termine 2020 avec une saturation totale de tous les trucs qui marchent pas et qu’il faut modifier sans cesse partout tout le temps. Sur un réseau libre comme Seenthis, ça me va, mais sur les réseaux marchands, quand ça fait partie de stratégies de plus en plus agressives de recherche d’exclusivité... j’espère qu’ils vont en crever !
Le tout tout premier lien qui est la playlist fonctionne bien, mais c’est juste la vignette qui n’est pas trouvé pour les playlists quand le lien est uniquement la racine de la playlist. Mais si tu cliques sur le bloc avec l’image moche de fallback, ya bien la playlist qui se lance avec les boutons précédent/suivant. Ce qui n’était pas le cas avant (ça ne reconnaissait pas du tout les playlists).
Pour avoir la playlist ET pas une image moche, il me semble qu’il faut coller le lien du premier morceau PLUS le list=XXXX, et dans ce cas ça met alors l’aperçu correspondant au morceau collé, mais avec bien les précédent/suivant.
Génial, merci, encore quelques pépites pour relever le niveau de ma compile #coronavirus et #musique :
►https://seenthis.net/messages/832339
Mais aussi pour la compile #violence_policière et #Musique_et_politique :
►https://seenthis.net/messages/576637
@rastapopoulos résume bien le fonctionnement, si vous souhaitez le détail c’est par ici ►https://git.spip.net/spip-contrib-extensions/seenthis_autoembed/issues/1
@vanderling c’est bien un cadeau, mais plutôt celui-ci ▻https://seenthis.net/messages/885498 :)
@seenthis cadeau : ça n’est pas parce que tu n’as pas le bon goût d’utiliser le plugin #oembed pour #SPIP que les membres de seenthis doivent se faire traquer par youtube :p
J’ai donc reporté la modification qui permet de passer les embeds #youtube en mode « nocookie » dans le plugin autoembed cf ▻https://git.spip.net/spip-contrib-extensions/seenthis_autoembed/commit/f4c9561319152ed4f426fca6489d083975942c92
Modif de mon script de détection de la compatibilité #WebP du navigateur dans mon #plugin #SPIP image_responsive :
►https://git.spip.net/spip-contrib-extensions/image_responsive
Jusqu’à présent, je me contentais d’un test synchrone en Javascript, avec un code assez simple. Le hic : Firefox compatible avec WebP n’était pas détecté comme compatible. Et re-hic avec les mises à jour récentes de MacOs et iOS, Safari a le même souci.
La nouvelle méthode : je fais le teste synchrone. Si le test synchrone dit que le navigateur est compatible, tant mieux, on s’arrête là, c’est oui.
Si le test synchrone échoue (peut-être Safari ou Firefox), alors je balance un test asynchrone. En attendant, pour cette première page, tant pis, les scripts considèrent que le navigateur n’est pas compatible, et on travaille avec JPEG ou PNG à la place de WebP.
Mais à la fin du teste asynchrone, je stocke le résultat (oui/non) en LocalStorage. Et ainsi, à la page suivante, je récupère directement le résultat du localstorage, et j’affiche ou non le WebP sans refaire de test de compatibilité. Et ça fonctionne nickel avec Safari et Firefox (à partir de la seconde page donc).
Et au passage, j’introduis exactement la même méthode pour le format #Avif (pour le coup, ça détecte bien Chrome, qui pourtant ne passe pas non plus le test synchrone – même bug bizarre sur le MimeType de image/avif qui est détecté comme image/png).
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.
Tu me dira que je pourrais coder ça proprement directement dans le plugin, mais comme je trouve que limiter arbitrairement la détection des langues n’est généralement pas une bonne idée, je préfère pas l’intégrer au plugin.
Ha ben je tombe justement sur un problème avec détecter langue qui attribue la langue ca dès que le mot « invariable » est dans le texte d’un post seenthis, et #du_coup je me dis que ça serait pas mal de pouvoir étendre ou limiter le bouzin :p
PS : j’ai fourbé comme un crado avec cet ajout dans mes_fonctions.php
:
include_spip("inc/detecter_langue");
unset($GLOBALS["ngrams"]['ca']);
#1 - Refonte de la mediabox - mediabox - SPIP on GIT
▻https://git.spip.net/spip/mediabox/pulls/1
« Doc officielle » de la nouvelle mediabox de SPIP (sur la base de la lightbox Lity) + notes pour la transition depuis colorbox
merci cedric !
Voir aussi la doc de Lity : ▻https://sorgalla.com/lity
@seenthis une petite nouveautés pour les embeds youtube. On prend maintenant en charge les playlists youtube comme demandé par @rastapopoulos ici ►https://git.spip.net/spip-contrib-extensions/seenthis_autoembed/issues/1
Exemple par ici : ►https://seenthis.net/messages/867846
Déploiement avance avec SSH, Git et #Composer | Documentation OVH
▻https://docs.ovh.com/fr/hosting/24-days/day07/#installation-de-composer
/me découvre qu’on peut faire du composer sur un mutu #ovh
Mais j’ai l’impression qu’OVH n’autorise pas git.spip.net en mutu :(fatal: unable to access 'https://git.spip.net/spip-contrib-squelettes/html5up_escape_velocity.git/': Failed to connect to git.spip.net port 443: Connection refused
Oui, ils ont une liste de sites autorisés assez restreinte. Mais, je notais surtout la possibilité d’utiliser composer sur leur mutu ;)
Publicité pour le confit de canard
▻https://mediateur.radiofrance.fr/non-classe/42-publicite-pour-le-confit-de-canard
Vu le milieu des conserveurs, ça ne m’étonne pas du tout !
Bonjour France Inter, vendredi 9/10/20 matin à 6h52 j’ai entendu une pub qui m’a fait bondir hors de mon lit. La voici retranscrite : « Alors on ne peut plus utiliser sa voiture sans culpabiliser. On ne peut plus tenir la porte aux dames sans passer pour un dragueur. Bientôt on ne pourra plus s’asseoir sur l’herbe sinon on écrase les insectes rares.
Heureusement qu’il nous reste le confit de canard. Un bon confit de canard vite fait au four sans chichi accompagné de patates sautées à l’ail en refaisant le monde dans la cuisine avec les potes, hein ! On ne va pas nous l’piquer ça. Le confit de canard, hum, le bonheur peinard. » …/…
et les fichiers son:
▻https://lemagret.fr/wp-content/uploads/2020/10/LE-CONFIT-DE-CANARD_radio-30s-Spot-1_310820.wav?_=2
En plus ils sont capables de diffuser ça et Pascal Bruckner le même jour…
@fil nope cf ▻https://git.spip.net/spip-contrib-extensions/seenthis_autoembed/src/branch/master/autoembed.php#L140 qui ne match que les mp3, mais ça pourrait certainement être amélioré :)
Pour rester la tête dans le pâté avec France-Inter et du mou entre les oreilles.
Début octobre, à la demande de la présidence de radio France, la direction musicale a imposé d’intégrer une chanson du dernier album de Carla Bruni dans la playlist de France Inter, qui sert à l’habillage musical des émissions. Cette listes comporte d’ordinaire 40 titres et comme les programmateurs refusaient de faire de la place pour l’œuvre de Carla (qu’ils trouvaient moyenne), ladite liste a été portée à 41 titres.
La direction a aussi fait savoir qu’il serait courtois d’inviter, pendant sa tournée promotionnelle, l’épouse de l’ex-chef de l’État. Dès le 6 octobre, elle était la vedette surprise de l’entretien de 7 h 50 de Léa Salamé, qu’on a connu plus politique. Et le 12 octobre, Carlita était de retour, conviée dans « La bande originale » (#naguilux).
Sarkozy, qui refuse toujours d’y venir, va finir par trouver que France Inter est une excellente radio !
« Le canard enchaîné » 14/10/2020
Le fait d’épouser un homme politique a-t-il eu un effet sur sa carrière ? "Ça m’a fait connaître une chose que je ne connaissais pas du tout : le sexisme", explique Carla Bruni. "Depuis que j’ai 19 ans j’étais habituée à être jugée pour ce que je faisais moi, et pas pour mon mari. Et ça, ça m’a stupéfaite et ça me stupéfie encore. Ça me stupéfie qu’après 30 ans de travail, on me dise “ça, ça vient de ton mari”."
Son mari est, lui, en plein conflit judiciaire en ce moment.
Philippe Val, ancien directeur de l’antenne de 2009 à 2014, doit toujours avoir des jetons de présence dans les instances de la maison ronde où le 06… de la programmation musicale de F.I pour imposer ce choix entre 2 confits de canards.
À 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 ?
Tu as regardé dans le readme de bigup ? ▻https://git.spip.net/spip/bigup
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 ?
en utilisant
include_spip('inc/joindre_document');
$files = joindre_trouver_fichier_envoye();
Non plus. J’avais déjà ajouté :
if (!$_FILES) {
$_FILES = isset($GLOBALS['HTTP_POST_FILES']) ? $GLOBALS['HTTP_POST_FILES'] : array();
}
$_FILES
ni dans $_GLOBALS
).Ah… il faut ajouter
$valeurs['_bigup_rechercher_fichiers'] = true;
_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).
Je suis étonné de l’erreur que tu as eu là. Il ne devrait pas y avoir de problème sans ajax. Tu as quoi comme « name » de ton input ?
Arg, j’arrive plus à reproduire. Bon sang de bon sang que C’est chiant les ordinateurs.
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);
});
OK, merci.
Ça aurait été pratique de pouvoir le déclencher avec un data-valider=oui
(ce genre de truc) directement dans le code HTML, non ?
Oui, y a des sujets à amélioration, le data-truc, c’est pas idiot pour ça d’ailleurs.
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…
Le projet Établi ▻https://etabli.tv vise à produire une série de vidéos (sous une licence libre) sur les différents aspects techniques sous-jacents à la société de l’information (celle où il y a des ordinateurs partout).
La première vidéo explique le projet ▻https://etabli.tv/episode-0-qui-suis-je-et-pourquoi-letabli ▻https://indymotion.fr/videos/watch/ea2daf2b-544f-44d9-9854-791e1a6079b2
La deuxième parle d’#électricité et d’#électronique ▻https://etabli.tv/ep1-l-electricite-l-electromagnetisme-l-electronique ▻https://indymotion.fr/videos/watch/7a64d159-dd57-4b0c-877b-376d0e06645f
Dommage que SeenThis montre un aperçu pour les vidéos du méchant GoogleYouTube mais pas pour celles du logiciel libre PeerTube.
C’est déjà le cas, mais pour une seule instance, et comme il y en a « quelques unes » dans la nature c’est pas su simple cf :
►https://github.com/seenthis/seenthis_squelettes/issues/209
▻https://git.spip.net/spip-contrib-extensions/seenthis_autoembed/commit/6163127ff5da67d401066f556216a0a05be4bb7b
Le troisième épisode est sorti, qui va du télégraphe de Chappe au téléphone. ▻https://indymotion.fr/videos/watch/f6d0bd47-8196-417c-92ad-036be3cecfbb?subtitle=fr&warningTitle=0
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);
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…).
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…
Je crois que le plugin de @maieul d’inscription avec Formidable permet ça. L’idée étant que tu lies un formulaire avec un événement et comme c’est Formidable tu peux aussi bien faire un truc très léger avec 2 champs, qu’un truc avec 50 champs.
▻https://contrib.spip.net/Formulaire-de-participation-a-un-evenement-avec#Inscription-multiple
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
ah oui désolé, comme je ne l’ai encore jamais utilisé, j’ai jamais regardé le truc en détail, donc avec la question posée je me suis juste rappelé rapidement à chaque fois en entendre parler @maieul et le voir commiter dessus ces dernières années, et j’ai répondu ça de tête sans fouiller plus, mea culpa
Ç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.
Hello @SPIP. Après avoir un peu galéré avec Git, j’arrive maintenant à mettre à jour mes plugins sur git.spip.net.
Mais : comment je fais pour que mes mises à jour soient prises en compte dans le téléchargement automatique des plugins ?
Par exemple, image_responsive a été mise à jour hier :
►https://git.spip.net/spip-contrib-extensions/image_responsive
Mais sur plugins.spip.net ça m’indique toujours une antique version « mise à jour le 20 février » :
►https://plugins.spip.net/image_responsive.html
Et évidemment, la nouvelle version n’est pas proposée non plus dans les mises à jour automatiques de mes sites (/ecrire
).
Y’a une étape qui a dû m’échapper (surtout que j’ai fait pas mal de mises à jour ces derniers temps, c’est ballot).
Tu crées un tag :$ git tag vX.X.X
$ git push
$ git push --tags
Et le débardeur génèrera le zip et SVP le verra : ▻https://www.mail-archive.com/spip-dev@rezo.net/msg68899.html
Et à ce que j’ai compris, pas besoin donc de monter de version à chaque modif, il suffit juste de faire cette montée de version quand tout est bon et de placer un tag pour distribuer plugin.
Voilà tu fais un tag avec le dernier numéro dès que tu veux produire un nouveau paquet plus récent.
Ok merci les gens, j’essaie ça (j’ai un client avec une interface graphique, pour Git, alors j’espère que ça sera bon). Je viens de pousser plusieurs tags pour différents plugins, on va voir ce qu’on va voir… :-))
Hé @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é.
J’ai installé memcache, utilisé avec Mémoïzation, mais curieusement ça continue à me dire que « Le cache est désactivé » (et il l’est : j’ai des pages avec du contenu aléatoire qui ne devrait changer qu’au calcul, et ça change… tout le temps).
Bon, je ne sais pas s’ils vont apprécier, mais vu qu’ils m’ont filé un sudo
, j’ai downgradé de PHP 7.3 à PHP 7.2. Maintenant ça roule…
Quelqu’un a eu ça aussi : ▻https://git.spip.net/spip/spip/pulls/31 et une autre personne sur l’IRC à l’instant.