Voilà comment une spécif est devenue illisible et c'est à moi qu'on vient
dire que supprimer les espaces non nécessaires serait illisible?
Il y a trop de règles ici, le "fallback" (||) ne sert à rien et complique
inutilement, la syntaxe indiquée n'étant même pas correctement spécifiée en
terme d'associativité.
Et je ne vois pas du tout pourquoi deux règles "Mo 08:00-12:00;Mo
14:00-18:00" sont fausses (même si ici c'est évidemment équivalent à une
seule règle combinée/factorisée "Mo 08:00-12:00,14:00-18:00 en utilisant la
virgule simplement comme séparateur secondaire entre deux horaires des
mêmes dates, ou entre deux dates au même horaire).
la présence ou pas du qualificateur final "off" ne devrait strictement rien
changer à l'associativité.

Et puis cette "doc" ne suit même pas tous les usages de l'outil de test que
tu utilises, il y a d'autres outils mais franchement cette page de doc est
très orientée selon une définition à priori non testée et qui ne fonctionne
pas telle quelle et n'a en fait été suivi exactement par /personne/.

"opening_hours" est conçu n'importe comment, pas pour être lisible, et
plein d'ambiguités comme sa doc. chacun y a mis sa sauce sans vérifier
comment les autres utilisaient ou analysaient le reste.

C'est tellement plus simple (même pour un lecteur humain) de concevoir un
traitement cumulatif et un traitement ordonné des règles. Ensuite on peut
discuter de la façon de scinder les horaires sur plusieurs tags numérotés
(c'est simpel de voir où on peut couper: partout où un point-virgule est
admis, mais il faut une règle d'ordre donc une convention de nommage pour
le numéro dans la clé). Pas besoin de base externe avec une URL qui ne sera
jamais traitée (et qui ne sert à rien: autant utiliser website=* pour le
site officiel mentionnant sur sa page d'info les horaires, et qu'on
visitera alors dans un navigateur); ce ne sera jamais plusieurs dizaines de
kilooctets comem pour toute une page web avec son HTML, ses styles, ses
images, ses scripts, ses publicités et traqueurs web et autres formulaires.
et toute la déco et l'animation voire le son et la vidéo qui vont avec ou
des éléments "dangereux/malveillants", sinon intrusifs (boutons sociaux,
Google Sense, vendeurs en ligne, etc) et qui vous suivent ensuite partout
où vous allez sur le web et permettent à des tiers de faire du
rapprochemetn de donénes massif.

Qui utilise le "fallback" (||), qui ne sert à rien? On peut faire bien plus
simple sans lui. Deux séparateurs de règles (un majeur ";" et un mineur ","
suffisent à tout et ça ne cause aucune difficulté d'interprétation aussi
bien pour un robot et c'est le maximum compréhensible par un humain).



Le mar. 31 déc. 2019 à 14:49, Jérôme Seigneuret <jerome.seigneu...@gmail.com>
a écrit :

> C'est un truc de fou quand même d'être aussi têtu!
> Tu me parles du comportement du mot clé *off. *Ca n'a rien à avoir avec
> ce que je mentionne!
>
> Pour rappel ta proposition c'est ça à la base
> *Mo-Fr 11:45-14:00,17:00-20:00;*
> *We 11:30-11:45; < ici tu n'ajoutes pas un horaire mais tu le respécifies
> pour le jour en question*
> *Mo 11:45-12:00 off; < là ok*
> *We 13:00-14:00,18:00-20:00 off;    < le off ne sert à rien mercredi a été
> redéfini uniquement de 11h30 à 11h45*
> *Tu 20:00-21:00;  < ici tu respécifie la fourchette horaire d'ouverture
> pour le jour en question entre 20h et 21h*
>
> *Donc c'est bien incohérent que tu veuilles le comprendre ou pas.*
> Tu et We ne sont pas en *off *et annule le comportement du jour en
> question sur le sélecteur précédent Mo-Fr en surchargeant le comportement
> vu que tu lui affecte une nouvelle plage horaire!
>
> le rôle additionnelle est le séparateur *, *pas *; les éléments séparé
> par des ; sont des *roles* qui écrase des valeurs précédemment défini de
> gauche à droite. Le mot clé off désactive des plages défini du comportement
> initial il sert à annuler des parties de critères mentionnés comme ouvert
> et là pas de problème tu as bon!*
>
> Rule separators
> <any_rule_separator> <normal_rule_separator>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#normal_rule_separator>
>  | <additional_rule_separator>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#additional_rule_separator>
>  | <fallback_rule_separator>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#fallback_rule_separator>
> <normal_rule_separator> *;* <space>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#space>
> <additional_rule_separator> *,* <space>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#space>
>  Limitations
> and Explanation
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#explain:additional_rule_separator>
> <fallback_rule_separator>
>
> <space>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#space>
>  *||* <space>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#space>
> Explanation
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#explain:fallback_rule_separator>
>
> *A additional rule is treated exactly the same as a normal rule
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#normal_rule_separator>,
> except that a additional rule does not overwrite the day for which it
> applies (unlike the normal separator which starts always with a new, empty
> day, deleting any pervious rules applying the given day). Note that a
> additional rule does not use any data from previous or from following
> rules. If time wraps over midnight are involved then you will probably also
> need to use additional rules to not overwrite the part which wraps into the
> next day. It can also be used to specify different comments
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#comment>
>  for
> one day. Read more (including some examples) in this issue on github
> <https://github.com/opening-hours/opening_hours.js/issues/53>.*
>
> *Because of the peskiness that the <additional_rule_separator>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#additional_rule_separator>
>  is
> the same token as the token to separate lists (e.g. <timespan>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#timespan>
>  { , <timespan>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#timespan>
>  })
> the , (comma) is only interpreted as <additional_rule_separator>
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#additional_rule_separator>
>  if
> it follows after one of those symbols:*
>
>    - *<time_selector>*
>    
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#selector:time>
>    - *<rule_modifier>*
>    
> <https://wiki.openstreetmap.org/wiki/FR:Key:opening_hours/specification#rule_modifier>
>
>
> Il me semble que tu es meilleur en anglais que moi mais je n'ai pas
> inventé ce que j'écris et || est bien dans la spécification en cours sinon
> c'est que le wiki à besoin d'un petit rafraichissement comme le site
> https://openingh.openstreetmap.de/evaluation_tool
>
> La fallback empèche l'écrasement de valeur et est utilisé par défaut pour
> présenter plusieurs situation avec c'est ça et ça avec des commentaires
> pour préciser les deux situations. Informatique ça renvoi le bon résultat.
>
> C'est loin d'être un critère de compatibilité vu que c'est dans les
> spécifications officielle et que je comportement est opposé au mot clé
> *off * c'est pas non plus remplacé vu que c'est encore dans le code
> source avec des exemples ajouté en issues
> https://openingh.ypid.de/netzwolf_mirror/time_domain/explanation.html
> *Multiple rulesets can be concatenated using ||.   *
>
> Maintenant on peut compléter avec l'auteur
> <https://github.com/opening-hours/opening_hours.js/issues/265#issuecomment-410080027>
>  et
> le code source du projet les exemples pour voir la prise en compte ou non
> de ce comportement.
>
>
>
>
>
> Le mar. 31 déc. 2019 à 13:25, Philippe Verdy <verd...@wanadoo.fr> a
> écrit :
>
>> Bref:
>> - "08:00-19:00;12:00-14:00 off" est équivalente à  "08:00- 12:00;14:00-
>> 19:00"
>> - "08:00-19:00;Sa-Su off" est équivalente à  "Mo-Th 08:00-19:00"
>> - "Mo-Sa 08:00-19:00;Sa 18:00-19:00 off" est équivalente à  "Mo-Th
>> 08:00-19:00;Sa 08:00-18:00"
>> Tu peux tester, c'est comme ça que ça marche.
>> Les règles séparées par ";" sont ordonnées de façon strictes, et elles
>> sont TOUTES évaluées cumulativement (on ne s'arrête pas au premier "match").
>> "||" ne sert strictement à rien (sauf à la compatibilité avec d'anciennes
>> spécifications qui ne marchaient pas dans plein de cas) et équivaut au ";".
>>
>>
>>
>> Le mar. 31 déc. 2019 à 13:17, Philippe Verdy <verd...@wanadoo.fr> a
>> écrit :
>>
>>>
>>>
>>> Le mar. 31 déc. 2019 à 09:18, Jérôme Seigneuret <
>>> jerome.seigneu...@gmail.com> a écrit :
>>>
>>>> Le ; est une règle cumulative avec écrasement des valeurs passés.
>>>>
>>>> Si tu met Lundi au Vendredi de 10 à 20h et que tu ajoutes Mercredi de
>>>> 20h à 22h c'est pas cumulatif. Tu dis juste de remplacer les horaires de
>>>> Mercredi
>>>>
>>>
>>> C'est un non sens complet!
>>>
>>> L'indication: "08:00-19:00;Fr 18:00-19:00 off;Su off" indique clairement
>>> l'ouverture tous les jours de 8h à 19h, sauf le vendredi où ça ferme à 19h
>>> et le dimanche fermé.
>>>
>>>
>>> https://openingh.openstreetmap.de/evaluation_tool/?EXP=Mo-Fr%2010%3A00-20%3A00%3B%20We%2020%3A00-22%3A00&lat=48.849919799999995&lon=2.6370411&mode=0&DATE=1577733360000&diff_value=Mo-Fr%2010%3A00-20%3A00%3B%20We%2020%3A00-22%3A00
>>>
>>>
>>> L'interprétation est bien cumulative et se fait dans l'ordre, chaque
>>> règle séparée par ";" modifiant les précédentes.
>>>
>>>
>>>
>
> --
> Cordialement,
> Jérôme Seigneuret
>
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à