Nicolas

Réponses publiées dans les forums

Page 5 of 6
  • Auteur
    Réponses
  • en réponse à: Initiative Québec : réunion du 31 juillet #1001

    Nicolas
    Membre
    Initié

    En préparation de notre réunion

    Salut à vous tous, membres du groupe “Initiative Québec”. J’espère que vous pourrez tous être présents lundi prochain à cette première réunion officielle de notre groupe ! Le lieu et l’heure sont confirmés, on a littéralement le Feu vert !

    Date et heure : le lundi 31 juillet 2023 de 17h à 19h (arrivez quelques minutes avant !)
    Lieu : Centre de jour Feu Vert, 1410, rue de la Trinité, Québec (afficher sur Google Maps)

    Voici 2 petites choses que je vous demanderais de préparer à l’avance.

    1. Micro-sondage

    Pour reprendre la discussion là où on l’avait laissée, prendre le pouls du groupe et s’amuser un peu, je propose de commencer avec cette activité toute simple : préparez à l’avance une feuille de papier sur laquelle vous écrirez un mot-clé qui correspond à ce que le projet de système d’échange en loco vous inspire. Lâchez-vous lousse, y’a pas de critère. Vous préférez apporter un dessin, une photo, un objet ? Pourquoi pas !

    On commencera immédiatement la réunion avec un rapide tour de table pour expliquer nos choix.

    2. Simulation de système d’échange

    Pour tester le système, je propose qu’on fasse une petite expérience de simulation (atelier de 30 minutes). Chacun va se représenter soi-même, à titre de membre individuel, avec ses propres compétences et aspirations, mais chaque participant représentera également une initiative collective imaginaire.

    Je vous demande donc d’imaginer une initiative collective. Ça peut être, comme on l’a vu, une entreprise privée, un projet commun, ou n’importe quoi entre les deux. Vous pouvez choisir un projet qui existe déjà ou que vous aimeriez réellement faire, ou en imaginer un de toutes pièces. Soyez créatifs ! L’essentiel, pour le déroulement de l’activité, est que vous puissiez vous présenter vous-même et présenter votre initiative en moins de 30 secondes :

    • Qui êtes-vous ?

    • Quelles sont vos compétences ?

    • Comment s’appelle votre initiative imaginaire ?

    • Qu’a-t-elle à offrir à la communauté (produits, services, développement de communs) ?

    • De quoi aura-t-elle besoin (produits, services, soutien, compétences) ?

    Je vous reviendrai d’ici là (ou sur place) avec des indications plus précises sur le déroulement de l’activité. L’expérience promet d’être fort instructive pour la suite des choses !

    Des invités ?

    Si vous souhaitez inviter des personnes qui manifestent un intérêt par le projet, je ne vois aucune objection a priori (remettez-moi à l’ordre si nécessaire !). Assurez-vous seulement de leur expliquer dans les grandes lignes de quoi il s’agit, pour qu’ils puissent suivre le match. On a un ordre du jour plutôt serré, on va tâcher de le respecter ! Tout le monde présent pourra évidemment participer aux deux activités ci-haut proposées, si le cœur leur en dit. Plus on est de fous, plus on rit, pardi !

    Des idées ? Des commentaires ? Des questions ? Répondez simplement à ce message sur le forum !
    Vous pouvez aussi m’appeler au (418) 805-8385

    Bonne journée ! 🌞

  • en réponse à: Initiative Québec : réunion du 31 juillet #1000

    Nicolas
    Membre
    Initié

    @karels1174 nous aurait la salle gratis (reste à confirmer). L’ordre du jour peut être adapté entre temps.

    Je vous propose pour commencer de faire une petite simulation de réseau d’échange ! Ça va nous permettre d’éprouver le concept ! Je vous reviens là-dessus dès que possible, là je dois filer, travail oblige !

  • en réponse à: Réunion du collectif du 3 juillet : présentation du loco #996

    Nicolas
    Membre
    Initié

    Réponse à Stéphane (@w23r9) et Thomi-Alexandre (@tag1) : le crédit collectif et l’accumulation de communs (en 2 parties)

    Partie 2 : le développement de communs

    Les biens communs, ou tout simplement communs, sont des ressources, gérées collectivement par une communauté. Celle-ci établit des règles et une gouvernance dans le but de préserver et pérenniser cette ressource.

    lescommuns.org

    Nous avons vu comment la notion d’engagement limité permet à une entreprise privée de participer au réseau d’échange en tant qu’initiative et de bénéficier du crédit collectif.

    Le critère essentiel pour qu’une initiative obtienne du crédit collectif — pour qu’elle soit autorisée à créer des locos neufs afin de mobiliser du travail pour elle-même au sein de la communauté des membres du réseau — est que cet investissement de la communauté produise en retour de la valeur pour la communauté et ses membres. Le même mécanisme de crédit collectif peut alors être utilisé pour financer le développement d’initiatives collectives qui n’ont pas de vocation marchande.

    Car toute activité humaine ne produit pas nécessairement de marchandise (produit ou service destinés à la vente). Certaines ressources peuvent être développées dans le but d’être librement partagées, et bénéficier ainsi simultanément à plusieurs personnes et à la communauté en général : ce sont des communs. Peuvent entrer dans cette catégorie les infrastructures partagées, les moyens de production partagés, les connaissances partagés, la culture, l’éducation, la santé, l’art, la science, etc.

    Engagement illimité envers la communauté

    Et puisque de tels communs, développés par des initiatives collectives financées à même la capacité de mobilisation de la communauté, appartiennent a priori à la communauté elle-même et sont produits d’emblée pour le bénéfice de cette communauté, la nécessité de rembourser les crédits avancés n’est jamais posée. On pourrait dire que de telles initiatives sont fondées sur un engagement illimité envers la communauté, qu’elles n’ont aucune raison de mettre fin à cet engagement.

    Et pour tout dire, je pense que c’est là que le vrai fun commence !

    Des exemples ?

    • Le premier exemple d’initiative commune est l’initiative collective dont le mandat est de représenter les intérêts de communauté des membres du réseau, d’assurer son développement et sa gouvernance. Elle utilisera le crédit collectif pour rétribuer les membres qui y travaillent, et ne sera jamais tenue de rembourser les crédits avancés.

    • Toute ressource partagée : un annuaire de services offerts par les membres, un registre en ligne des initiatives, une encyclopédie des plantes sauvages comestibles et médicinales de Limoilou, une base de connaissance, un logiciel libre, etc.

    • Toute activité, récurrente ou non, qui s’adresse aux membres, favorise les contacts et les échanges, valorise leur propre activité et/ou permet de représenter le réseau auprès du public et de recruter de nouveaux participants : ateliers, événements artistiques, festivals, événements bénéfices, etc.

    • Tout projet d’infrastructure communautaire partagée, conçu pour être directement utile à tous les membres du réseau qui désirent y participer : un jardin communautaire, une université en ligne, une maison d’édition, une station de radio, une boutique en ligne, une installation commune — et pourquoi pas, éventuellement, une école ou une clinique, ou encore le fameux pont évoqué par Stéphane !

    Cette liste d’exemples est loin d’être exhaustive — je vous invite d’ailleurs à en suggérer d’autres ! Place à l’imagination ! 😁

  • en réponse à: Réunion du collectif du 3 juillet : présentation du loco #984

    Nicolas
    Membre
    Initié

    Réponse à Stéphane (@w23r9) et Thomi-Alexandre (@tag1) : le crédit collectif et l’accumulation de communs (en 2 parties)

    Partie 1 : le crédit avancé aux initiatives doit-il être remboursé ?

    Considérons d’abord le mécanisme de crédit collectif, nous verrons ensuite comment celui-ci permet effectivement à la communauté d’accumuler collectivement de la valeur.

    a) Engagement envers la communauté

    Lorsqu’une initiative collective obtient du crédit auprès de la communauté, c’est dans le but de générer de la valeur pour cette communauté. Tout comme un prêt monétaire, l’initiative contracte alors une « dette » envers la communauté, en échange d’une certaine quantité de locos. Puisque ces nouveaux locos ne peuvent être émis qu’en échange d’un travail effectif d’une tierce partie (membre ou initiative), on s’assure que la somme avancée produira effectivement une certaine forme de valeur utile. À la somme de locos avancés par la communauté correspond ainsi un collatéral, c’est-à-dire qu’à la valeur générée avec ces locos neufs correspond un passif de l’initiative envers la communauté, que cette valeur appartient en quelque sorte à la communauté.

    Mais le crédit collectif diffère dans ses conditions du prêt usuraire de différentes manières.

    • D’abord, la « dette » contractée n’est pas un « gage de mort » (étymologiquement : dette, dérivé de l’anglais death, « la mort » — ou inversement, l’anglais mortgage [l’hypothèque], dérivé du français, signifiant littéralement « gage de mort ») : l’initiative n’est pas condamnée à mort si elle ne rembourse pas la somme engagée.

    • Et, puisque d’une part l’économie communautaire rétribue le travail à sa juste valeur, en excluant la notion d’exploitation du travail, on n’attend pas de plus-value de la production communautaire ; et que d’autre part les prêts de la communauté sont faits dans le seul intérêt de la communauté elle-même, il n’y a par conséquent pas d’intérêt supplémentaire à payer sur la somme avancée.

    b) Limitation de l’engagement

    Dans ce cas, quel est l’intérêt d’une initiative de rembourser les crédits contractés ? Puisqu’il est établi que, par principe, l’engagement d’une initiative envers la communauté doit être limité, toute initiative doit pouvoir mettre fin à son engagement envers elle. Ainsi, une initiative privée devra, pour mettre un terme à son contrat de crédit, rembourser, en locos, les locos qui lui avaient été avancés.

    Les locos récoltés par l’initiative pour rembourser son crédit attestent qu’elle a effectivement généré pour la communauté une valeur d’usage équivalente à la somme qui lui avait été avancée par celle-ci. Son passif envers la communauté est alors remis à zéro, et son engagement prend aussitôt fin. L’échange est résolu : tout le travail, financé par le crédit, que la communauté a avancé à l’initiative, a trouvé sa rétribution concrète dans la valeur d’usage que l’initiative a produite et offerte à la communauté en échange de locos. Les locos sont alors simplement retirés de la circulation — puisque, rappelons-nous, la masse de locos circulants représente la somme des échanges non-résolus.

    Un exemple ? Le restaurant Chez Jean-Pierre aurait bien besoin de rafraîchir la peinture de sa salle à manger. Jean-Pierre apprend que les sœurs Paquet accepteraient de faire le travail contre des locos. Jean-Pierre décide d’accepter les locos comme moyen de paiement en échange de ses repas. Il demande un prêt en locos auprès de l’organisme administrant la communauté afin d’obtenir les locos qui lui manquent pour payer les sœurs Paquet pour repeindre la salle. En échange, il s’engage à ce que son restaurant accepte les paiements en locos pour ses services de restauration, du moins tant qu’il n’aura pas remboursé intégralement la somme avancée. Jean-Pierre est gagnant : il n’a pas besoin de débourser un sou pour faire repeindre sa salle à manger. Il perd peut-être un peu de revenus en argent, mais d’un autre côté, l’entente lui apporte une nouvelle clientèle, constituée d’autres membres du réseau. Au bout de l’opération : il a nourri des membres de la communauté, et celle-ci en échange, au travers des sœurs Paquet, a repeint sa salle à manger, pour une valeur équivalente.

    Nous verrons ensuite comment le même mécanisme de crédit, appliqué de façon indifférente aux initiatives collectives — que celles-ci soient des projets communs ou des entreprises privées — permet d’accumuler de la valeur au bénéfice de l’ensemble de la communauté par le développement de communs. 😃


  • Nicolas
    Administrateur
    Initié

    bbp-markdown (obsolète) n’est pas compatible avec PHP 7.4+

    Ce message d’erreur nous oblige à exécuter méta.fiatlux.tk en PHP 7.3 !

    2021-12-08 00:56:31.696679 [NOTICE] [39465] [104.37.80.211:64062-Q:C83CB50A12C4A0B8-36#meta.fiatlux.tk] [STDERR] PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /<caviardé>/wp-content/plugins/bbp-markdown/lib/Markdown.php on line 948

    (réalisé ça hier suite à la migration du réseau fiatlux.tk vers un nouveau serveur)

    À faire (éventuellement) : Une belle fourchette de bbp-markdown !

    (faudrait bien que je me lance dans le DevOps !)


    Attends minute… comment ça se fait que bbp-markdown marche sur Web Québec (aka : ici) ?! Est-ce que le site roule en PHP 7.3 ??? Pourtant non… Il utilise PHP 7.4.26… Ha, tiens tiens, c’était une  [NOTICE], pas une [FATAL ERROR]… C’est donc autre chose qui provoquait une erreur critique sur meta.fiatlux.tk…

  • en réponse à: Extensions : bbPress Votes vs. bbPress Voting #406

    Nicolas
    Administrateur
    Initié

    Problème de confidentialité avec l’extension bbPress Voting

    Chaque activité de bbPress Voting crée une entrée dans le flux d’activités public de BuddyPress, révélant le titre de la conversation même si celle-ci est dans un forum privé. Ceci a pour effet de révéler publiquement des informations qui devraient demeurer privées.

    Problème reporté à l’instant ici : https://wordpress.org/support/topic/privacy-issue-with-private-forums-in-buddypress/


  • Nicolas
    Administrateur
    Initié

    C’est pas très bon en effet.

    • Mise à jour récente à WordPress 5.8 (hier soir)
    • Version actuelle de BuddyBoss Platform : 1.6.2
      • Mise à jour planifiée dans 6 heures à la version 1.7.3 (!)

    Il y a plusieurs problèmes critiques reportés depuis quelques heures sur le GitHub de BuddyBoss Platform.

    Je vais lancer la mise à jour manuelle de BBP pour voir si les choses s’améliorent.


  • Nicolas
    Administrateur
    Initié

    Comme il se trouve que les règles CSS affectent également la vue « Ajouter une entrée », on peut dorénavant se débarrasser du snippet (dans functions.php) qui règle les colonnes à 4 au lieu de 3 dans cette vue.

    Aussi, j’ai rajusté les points de rupture pour les aligner sur ceux du thèmes :

    • Affichage 2 colonnes (max-width=47.99em) : correspond exactement au moment où le texte du menu « Mon compte » et « Ajouter une entrée » est escamoté, ne laissant que les icônes.
    • Affichage 4 colonnes (min-width=75em) : correspond exactement au passage du menu « hamburger » au menu déployé.
  • en réponse à: Initiative Québec : réunion du 31 juillet #1010

    Nicolas
    Membre
    Initié

    Ton analogie est intéressante à plusieurs points de vue, il y a effectivement une séquence d’allumage à effectuer ! Je n’ai pas encore mis le doigt sur les conditions précises qui seront nécessaires pour maintenir l’énergie dans le tube une fois la température critique atteinte, mais cette dernière réunion m’a certainement donné plusieurs indications utiles ! 💡

  • en réponse à: Réunion du collectif du 3 juillet : présentation du loco #961

    Nicolas
    Membre
    Initié

    Réponse à Stefan : création et circulation des locos (en 2 parties)

    Partie 2 : la création de locos

    Il peut paraître passablement contre-intuitif de traiter la question de la circulation monétaire avant de traiter la question de la création monétaire. Mais, historiquement, la circulation apparaît bien avant la monnaie, et celle-ci se manifeste au cœur même des échanges répétés par simple troc. Avant de devenir une pure abstraction de la valeur, il faut se rappeler que la monnaie est d’abord apparue sous la forme d’une marchandise, une valeur d’usage concrète : coquillages, poissons, sel, or, argent, cigarettes (dans les prisons), etc. C’est une fois établie comme instrument d’échange universel (accepté de tous) qu’une marchandise devient effectivement monnaie d’échange.

    Création ex nihilo : le crédit collectif

    Avec le loco, nous allons nous appuyer sur quelques millénaires de développement historique pour établir dès le départ notre instrument d’échange communautaire comme une pure représentation de la valeur d’échange.

    À l’instar des monnaies conventionnelles modernes, le loco propose effectivement d’être créé ex nihilo en échange d’un engagement : un contrat est passé entre la communauté et une des ses parties, et les locos sont créés et mis à la disposition de cette dernière en échange d’une « dette » correspondante, en locos. La proposition actuelle du loco précise que seules les initiatives collectives peuvent avoir accès au crédit collectif. Cela assure que le développement du réseau soit structuré, dès le départ, autour d‘intérêts collectifs.

    Des mesures, évoquées dans la présentation (et dont nous aurons certainement l’occasion de discuter plus tard), permettent de diriger le crédit collectif en fonction de l’utilité communautaire de chaque initiative et de leur capacité à mobiliser le travail des membres du réseau.

    Qu’est-ce que ça implique, concrètement ?

    1. Pour créer les premiers locos, les futurs membres du réseau devront d’abord mettre en place des initiatives collectives. Celles-ci pourront alors avoir recours au crédit collectif pour mobiliser et rétribuer le travail des membres qui collaborent à ces initiatives.

    2. En conséquence : dans un premier temps, les membres individuels pourront obtenir leurs premiers locos en participant, par leur travail, à des initiatives collectives.

    3. Une fois le réseau d’échange initié, les membres individuels seront rapidement en mesure d’échanger entre eux.

  • en réponse à: Réunion du collectif du 3 juillet : présentation du loco #956

    Nicolas
    Membre
    Initié

    Réponse à Stefan : création et circulation des locos (en 2 parties)

    Partie 1 : la circulation des locos

    Laisse-moi d’abord rappeler la fonction du loco, à titre d’instrument d’échange. Examinons d’abord, du point de vue théorique, le problème de la circulation, avant d’aborder le problème de la création — bien que cela puisse sembler contre-intuitif.

    a) Troc

    Dans l’échange simple (le troc), deux personnes échangent entre elles quelque chose que chacun détient et qui a une certaine valeur d’usage (que ce soit un produit, disons un pantalon, ou un service, disons une coupe de cheveux). En concluant l’échange, chacune d’elles accomplit à la fois un acte de vente, en léguant à l’autre partie la propriété du produit qu’elle détient (le pantalon) ou en accomplissant pour le compte de l’autre partie le service qu’elle offre (la coupe de cheveux). Réciproquement, chaque personne accomplit au même moment un acte d’achat : la personne qui donne le pantalon obtient en échange une coupe de cheveux, et celle qui donne la coupe de cheveux obtient en échange le pantalon tant désiré. Dans l’échange simple (troc), l’acte d’achat et l’acte de vente sont toujours simultanés — et réciproques entre deux échangistes.

    b) Monnaie

    L’instrument d’échange (la monnaie) complique un peu l’affaire, mais il ouvre des possibilités : il me permet de vendre ce que j’ai à offrir d’utile (une valeur d’usage) à une autre personne en échange d’une certaine quantité de monnaie, pour pouvoir acheter, plus tard et ailleurs, à une tierce personne, ce dont j’ai besoin (une autre valeur d’usage) en échange d’une certaine quantité de cette monnaie. Il y a effectivement au moment de chaque échange en monnaie, achat et vente simultanés, mais ceux-ci ne sont plus réciproques : le vendeur n’achète pas, et l’acheteur ne vend pas. Du moins, pas immédiatement. Donc, du point de vue de l’échangiste, l’échange monétaire sépare l’acte de vente de l’acte d’achat — dans le temps comme dans l’espace. Son échange ne sera réellement résolu que lorsqu’il aura obtenu, dans le cadre d’un autre ou de plusieurs autres achats, une ou des valeurs d’usage dont la valeur est à peu près équivalente à celle de la valeur d’usage qu’il a légué à autrui au moment de la vente.

    c) Circulation

    En servant d’intermédiaire, la monnaie (représentation de la valeur d’échange) permet de mettre en mouvement les valeurs d’usage échangées au-delà de deux échangistes. Chaque échange en implique nécessairement un autre, pour que l’échange soit résolu de mon point de vue. Cette médiation permet aux valeurs d’usage (produits et services réels) de circuler, sur des distances plus ou moins longues, dans toutes sortes de directions imprévisibles, en échange de quantités variables de valeur d’échange (représentée par la monnaie), qui quand à elle se déplace sur les mêmes trajets, mais toujours en direction opposée.

    C’est cette propriété de la monnaie que le loco reprend pour lui-même, permettant la circulation des échanges au-delà de deux personnes.

    Quel éclairage cela apporte-t-il par rapport à ta question ?

    1. Pour qu’un membre puisse obtenir une valeur d’usage (produit ou un service) en échange de locos, il doit déjà détenir des locos (valeur d’échange représentée), ce qui implique qu’il ait déjà lui-même échangé une certaine valeur d’usage (produit ou service) contre des locos. Cela règle ton problème : ton service rendu est déjà, pour la personne à qui tu le rends, une résolution d’un échange qu’elle a déjà entamé. Elle te règlera en locos sonnants, obtenant en échange de ceux-ci une valeur d’usage tangible en contrepartie d’un effort qu’elle a déjà effectué pour autrui dans le passé.

    2. Par conséquent, si tu offres tes services à 5 membres en échange de locos, ceux-ci auront nécessairement quelque chose à offrir, puisque cela implique qu’ils détiennent les locos avec lesquels tu envisages d’être rétribué pour tes services. Plus il y a de gens qui participent, plus les chances augmentent qu’une personne puisse t’offrir des services qui te seront utiles en échange des locos que tu auras obtenus.

    3. En règle générale, tu devrais d’abord t’assurer de pouvoir éventuellement obtenir des autres membres ce dont tu as besoin en échange de locos avant de t’engager à offrir tes services en loco.

    Mais pour que tout cela soit possible, il doit déjà y avoir des locos en circulation !
    Dans la 2e partie, j’aborderai l’épineux conundrum de la création des locos ! 🤠

  • en réponse à: Réunion du collectif du 3 juillet : présentation du loco #958

    Nicolas
    Membre
    Initié

    La suite viendra demain ! Oui, la date reste à déterminer, mais je compte bien caller une nouvelle réunion assez vite.


  • Nicolas
    Administrateur
    Initié

    La réponse de @ihor a été assez rapide (~12 heures) :

    Thanks for reporting this issue, I added it to the bug tracker. If you have the Opening Hours extension. The current condition is:

    if($current_time>$opening_time and $current_time<$closing_time)

    So this may require some extra logic to detect the time after midnight.

    Ça ressemble à une demande formelle de lui proposer un patch ! J’ai donc fouillé dans le code du plugin pour retrouver la logique de filtrage. Il s’agit, effectivement, d’une requête MySQL contrôlée par un objet WP_Query auquel la méthode Opening_Hours::set_search_query( $query ) ajoute une clause meta.

    La classe Opening_Hours est définie dans hivepress-opening-hours/includes/components/class-opening-hours.php. À la ligne 143 :

            // Get day and time.
            $day  = strtolower( current_time( 'l' ) );
            $time = current_time( 'G' ) * 60 + (int) current_time( 'i' );
    
            // Get meta query.
            $meta_query = array_filter( (array) $query->get( 'meta_query' ) );
    
            // Add meta clause.
            $meta_query[] = [
                'relation' => 'AND',
    
                [
                    'key'     => hp\prefix( $day . '_from' ),
                    'value'   => $time,
                    'compare' => '<',
                    'type'    => 'NUMERIC',
                ],
                [
                    'key'     => hp\prefix( $day . '_to' ),
                    'value'   => $time,
                    'compare' => '>',
                    'type'    => 'NUMERIC',
                ],
            ];
    
            // Set meta query.
            $query->set( 'meta_query', $meta_query );
    

    Il suffit de modifier $meta_query[] pour prendre en compte la logique proposée ci-haut. Mais la class WP_Query permet-elle des conditionnelles imbriquées ? Apparemment, cela est possible depuis WordPress 3.1 ! (Voir cet exemple).

    Il nous faut d’abord obtenir le jour de la semaine correspondant à la veille en plus du jour actuel. On obtient celui-ci avec : $day = strtolower( current_time( 'l' ) );. La source de la fonction current_time (définie par WordPress) nous permettrait de paraphraser l’expression par : $day = strtolower( (new DateTime( 'now', wp_timezone() ))->format( 'l' ) );.

    On se servira donc de l’objet DateTime pour obtenir également le jour de semaine de la veille :

            $timezone = wp_timezone();
            $date = new DateTime( 'now', $timezone );
            $today = strtolower( $date->format( 'l' ) );
            $date->sub( new DateInterval('P1D') );
            $yesterday = strtolower( $date->format( 'l' ) );
    

    Ne reste qu’à ré-écrire notre méta-requête imbriquée…

    Et c’est ici qu’on frappe un nœud :

    Effectivement, WP_Meta_Query ne permet pas de comparer deux méta-variables entre elles ! Ainsi il est impossible de vérifier les conditions de type <jour>.fermeture < <jour>.ouverture dans une seule requête. Ce serait définitivement possible en SQL, mais cela impliquerait une refonte en profondeur de l’extension.

    Voie de contournement

    S’il nous est impossible de vérifier les conditions de type <jour>.fermeture < <jour>.ouverture avec une seule méta-requête au moment de la requête, il nous est cependant possible de la vérifier en avance, c’est à dire au moment où les heures sont enregistrées dans la base de données. Si on ajoutait une métadonnée, eg. hp\prefix( $day . '_night' ) qui contiendrait le résultat de la précondition (1 si <jour>.fermeture < <jour>.ouverture, 0 sinon; ou — encore mieux — ne serait définie que si la condition est vérifiée), alors on sera en mesure de construire la méta-requête ainsi :

            $meta_query[] = [
                'relation' => 'OR',
                [
                    'relation' => 'AND',
                    [
                        'key'     => hp\prefix( $yesterday . '_night' ),
                        'compare' => 'EXISTS',
                    ],
                    [
                        'key'     => hp\prefix( $yesterday . '_to' ),
                        'value'   => $time,
                        'compare' => '>',
                        'type'    => 'NUMERIC',
                    ],
                ],
                [
                    'relation' => 'AND',
                    [
                        'key'     => hp\prefix( $today . '_from' ),
                        'value'   => $time,
                        'compare' => '<=',
                        'type'    => 'NUMERIC',
                    ],
                    [
                        'relation' => 'OR',
                        [
                            'key'     => hp\prefix( $today . '_night' ),
                            'compare' => 'EXISTS',
                        ],
                        [
                            'key'     => hp\prefix( $today . '_to' ),
                            'value'   => $time,
                            'compare' => '>',
                            'type'    => 'NUMERIC',
                        ]
                    ]
                ]
            ];
    

    Reste à trouver :

    À quel moment au sein de l’extension peut-on définir cette métadonnée <hp_prefix>-<jour>-night en fonction de la pré-condition <jour>.fermeture < <jour>.ouverture ?

    Références :


  • Nicolas
    Administrateur
    Initié

    J’ai proposé l’algorithme ci-haut exposé sur le forum HivePress.io : https://hivepress.io/support/topic/open-now-nothing-found/#post-16004

    Si une mise à jour n’est pas proposée par l’auteur relativement rapidement, je plongerai dans le code de l’extension pour en déterminer la logique et suggérer un patch.

Page 5 of 6