Discussion:
Faire le point
(trop ancien pour répondre)
CriCri
2019-09-04 11:22:24 UTC
Permalink
Le séparateur décimal (1) est variable selon le pays.
- une virgule dans la plupart du monde
- un point sur la ligne (2) dans les pays anglo-saxons
- autre chose dans les pays arabes.

En revanche dans l'ensemble des langages de programmation (3) -
principalement basés sur l'anglais (ou plutôt l'américain...) seul le
point est reconnu.

Citons en particulier HTML et JavaScript, utilisés pour la grande
majorité des pages WWW.
Certains sites (banques etc...) acceptent des saisies avec l'un,
l'autre ou les deux.
Bref, c'est un foutoir insaisissable.
Un copier-coller peut ne pas marcher. L'utilisation du signe non voulu
peut donner lieu à une erreur non ou mal précisée (voire silencieuse,
non signalée).

Ne serait-il pas temps de céder à l'informatique envahissante et
généraliser l'acceptation du point dans
toutes les saisies?


--------
(1) signe de ponctuation séparant la partie intégrale d'un nombre réel
de la partie fractionnaire
(2) le point médian - quand il n'est pas utilisé dans l'écriture
inclusive - vaut un signe de multiplication.
(3) tous les langages compilés et les langages interprétés sauf les
fonctions de suites bureautiques telles "Excel".
Ce dernier est un chimère cauchemardesque, utilisant par exemple "ET"
dans une feuille de calcul et "AND" dans un macro "Visual BASIC". Dans
la première on peut choisir le signe, mais pas dans le dernier.
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
siger
2019-09-04 11:48:58 UTC
Permalink
Post by CriCri
Le séparateur décimal (1) est variable selon le pays.
- une virgule dans la plupart du monde
- un point sur la ligne (2) dans les pays anglo-saxons
- autre chose dans les pays arabes.
En revanche dans l'ensemble des langages de programmation (3) -
principalement basés sur l'anglais (ou plutôt l'américain...) seul le
point est reconnu.
Citons en particulier HTML et JavaScript, utilisés pour la grande
majorité des pages WWW.
Certains sites (banques etc...) acceptent des saisies avec l'un,
l'autre ou les deux.
Bref, c'est un foutoir insaisissable.
Un copier-coller peut ne pas marcher. L'utilisation du signe non voulu
peut donner lieu à une erreur non ou mal précisée (voire silencieuse,
non signalée).
Ne serait-il pas temps de céder à l'informatique envahissante et
généraliser l'acceptation du point dans
toutes les saisies?
S'il faut uniformiser, il faut choisir la virgule, car c'est un signe
plus gros et visible que le point, ce qui est cohérent avec sa
fonction, bien plus importante que celle de séparer visuellement les
milliers.

Et à l'écrit, une virgule sera écrite, alors qu'un point ne le sera pas
forcément, surtout avec un stylo bille.
--
siger
CriCri
2019-09-04 12:01:23 UTC
Permalink
S'il faut uniformiser, il faut choisir la virgule...
...et tout rendre incompatible avec l'informatique ???
Et à l'écrit, une virgule sera écrite, alors qu'un point ne le sera pas
forcément, surtout avec un stylo bille.
Un clavier ne présente pas cet inconvénient.
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Olivier Miakinen
2019-09-05 11:20:10 UTC
Permalink
Post by CriCri
Le séparateur décimal (1) est variable selon le pays.
- une virgule dans la plupart du monde
- un point sur la ligne (2) dans les pays anglo-saxons
- autre chose dans les pays arabes.
Par ailleurs, le séparateur de milliers est aussi variable selon
le pays. C'est souvent une virgule dans les pays qui ont un point
comme séparateur décimal ; ça a longtemps été un point en France
mais en principe c'est maintenant une espace fine insécable. Bien
entendu, selon le pays et la langue, les chiffres ne sont pas
forcément des caractères parmi « 0123456789 ».

Notons qu'en Inde et au Pakistan la virgule sépare non pas des
groupes de trois chiffres mais de deux chiffres, sauf les trois
plus petits : un million s'écrit 10,00,000 (sauf que les
chiffres sont probablement différents des nôtres).
Post by CriCri
En revanche dans l'ensemble des langages de programmation (3) -
principalement basés sur l'anglais (ou plutôt l'américain...) seul le
point est reconnu.
Oui. Et aucun caractère de séparation des groupes de chiffres
pour les grands nombres, ce qui diffère donc de l'anglais.
Post by CriCri
[...]
Ne serait-il pas temps de céder à l'informatique envahissante et
généraliser l'acceptation du point dans
toutes les saisies?
Vu que l'informatique doit de toute façon s'adapter à toutes les
langues, parmi lesquelles celles qui ne se basent pas sur un
alphabet latin, je ne vois pas pourquoi la langue française
devrait elle-même se plier à l'usage des langages de programmation
qui, comme je le rappelais plus haut, n'est pas l'usage anglais.

Par ailleurs, supposons que l'on se mette à accepter en français
l'usage anglais (différent de l'usage informatique). Il y aura
forcément une période d'adaptation où les deux usages vont
coexister, comme pour les rectifications de 1990. Mais alors,
comment savoir si « 2,500 » signifie « deux mille cinq cents »
comme en anglais ou « deux et demi » comme en français de 2019 ?
--
Olivier Miakinen
CriCri
2019-09-05 12:32:10 UTC
Permalink
Merci, Olivier, pour ces informations et observations.
Post by Olivier Miakinen
Vu que l'informatique doit de toute façon s'adapter à toutes les
langues, parmi lesquelles celles qui ne se basent pas sur un alphabet
latin...
Certes, il peut s'adapter à tout, mais ce n'est qu'en façade.
Une chaîne qui n'est qu'une série de signes ne présente aucun problème;
mais le traitement interne d'une chaîne représentant un nombre réel ne
peut pas changer. Donc si la chaîne contient une virgule comme
séparateur cela nécessite d'emblée un traitement spécifique de substitution.
Post by Olivier Miakinen
je ne vois pas pourquoi la langue française devrait elle-même se
plier à l'usage des langages de programmation
Je ne m'y attends pas: je joue l'avocat du diable pour attirer
l'attention aux inconsistances et aux difficultés.
Post by Olivier Miakinen
Il y aura forcément une période d'adaptation où les deux usages vont
coexister, comme pour les rectifications de 1990. Mais alors, comment
savoir si « 2,500 » signifie « deux mille cinq cents » comme en
anglais ou « deux et demi » comme en français de 2019 ?
Cette situation existe déjà.
Le prix pour le ridicule ultime va à l'IGN (leur site GéoPortail):

1. Si on lui demande d'afficher les coordonnées du point sous le curseur
il les montre avec un point (comme tous les GPS); dans l'ordre Latitude
- Longitude

2. En revanche si on cherche un point en saisissant ses coordonnées il
faut d'abord utiliser une virgule (sinon il affiche l'erreur "Veuillez
saisir un nombre"!) - puis les saisir dans le "bon" ordre Longitude -
Latitude (E - N ou X - Y) conformément à la loi.

On ne peut donc même pas faire un copier-coller au sein du même site.
Ils ne respectent ni leurs propres préconisations ni les dispositions
légales.
(Cette confusion géographique existe depuis des siècles...)

3. Son programme de conversion de coordonnées "Circé" utilise un point
dans l'ordre Longitude - Latitude (donc tout est bon).

Il faut bien vivre avec les deux mais on ne pourrait jamais modifier
tous les programmes existants - et encore moins les langages de
programmation.
Ma proposition serait de faire accepter le point et la virgule dans tous
les champs de saisie de nombres décimaux des pages Internet - facile à
implémenter lors des mises à jour déjà entreprises régulièrement.
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
siger
2019-09-05 14:06:42 UTC
Permalink
Post by CriCri
2. En revanche si on cherche un point en saisissant ses coordonnées il
faut d'abord utiliser une virgule (sinon il affiche l'erreur "Veuillez
saisir un nombre"!)
Vu aussi sur un site web destiné au grand public : "veuillez entrer une
valeur numérique" pour dire "écrivez un nombre entier" ou "ne mettez
pas les centimes"

Et sur un autre, grand public aussi "veuilez entrer des lettres et des
chiffres", j'ai fini par comprendre mon "erreur" : pas de lettres
accentuées.
Post by CriCri
Ma proposition serait de faire accepter le point et la virgule dans tous
les champs de saisie de nombres décimaux des pages Internet - facile à
implémenter lors des mises à jour déjà entreprises régulièrement.
Comment le formulaire interprètera 1,234 ?
--
siger
CriCri
2019-09-05 17:03:47 UTC
Permalink
Post by siger
Vu aussi sur un site web destiné au grand public : "veuillez entrer une
valeur numérique" pour dire "écrivez un nombre entier" ou "ne mettez pas
les centimes"
Et sur un autre, grand public aussi "veuilez entrer des lettres et des
chiffres", j'ai fini par comprendre mon "erreur" : pas de lettres
accentuées.
Oui, c'est malheureux - un manque grave de communication.
(Les impôts précisent bien "sans les centimes".)
Post by siger
Comment le formulaire interprètera 1,234 ?
??? _Aucun_ risque de confusion.
On n'entre _jamais_ de séparateurs de milliers dans un champ numérique
de formulaire.
Ça provoquerait systématiquement une erreur (sauf si spécifiquement
prévu pour une application très spéciale).

Puis il y aussi des garde-fous:
- s'il s'agit d'une somme d'argent (AVEC les centimes) on met
précisément deux chiffres après le séparateur décimal.
- s'il s'agit de coordonnées géographiques on met 1, 2 ou 3 chiffres
avant le séparateur (de degrés décimaux).
- on ne met jamais plus qu'un seul signe quelconque ni d'espaces (et
limité à [.|,]) autre qu'un chiffre [0-9] dans un nombre décimal.

On peut contrôler la saisie à la frappe pour refuser un caractère
invalide (globalement ou selon sa position). Sinon on valide l'entrée à
la fin.
On ne compte pas sur l'utilisateur pour éviter les bêtises
(programmation défensive) mais on doit lui indiquer ce qu'on attend.

Pour être sympa on peut aussi diviser le champ en deux avec les places
et le séparateur pré-entrés - par exemple "______,__" ou "___.______".
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Sh.Mandrake
2019-09-05 14:11:29 UTC
Permalink
Le 05/09/2019 à 14:32, CriCri a écrit :
[...]
Post by CriCri
Je ne m'y attends pas: je joue l'avocat du diable pour attirer
l'attention aux inconsistances et aux difficultés.
Je dirai même plus : vous vous faites l'avocat du diable
pour attirer l'attention sur les inconsistances et sur les difficultés.
--
Le Magicien.
Olivier Miakinen
2019-09-05 19:21:18 UTC
Permalink
Post by CriCri
Post by Olivier Miakinen
Vu que l'informatique doit de toute façon s'adapter à toutes les
langues, parmi lesquelles celles qui ne se basent pas sur un alphabet
latin...
Certes, il peut s'adapter à tout, mais ce n'est qu'en façade.
Oui. C'est ce qu'on appelle « interface utilisateur ».
Post by CriCri
Une chaîne qui n'est qu'une série de signes ne présente aucun problème;
mais le traitement interne d'une chaîne représentant un nombre réel ne
peut pas changer.
Je ne comprends pas « ne peut pas changer ». Par exemple selon que le
nombre soit codé en BCD (binary coded decimal), en IEEE 754 32 bits
ou 64 bits, ou alors sous la forme d'un entier en le multipliant par
une puissaance de 10 fixe (ce qui est souvent préférable pour les
sommes d'argent), le traitement interne pour passer de la chaîne de
caractères à la représentation interne est très différent.

Et dans tous les cas, ce traitement *doit* être fait avant de pouvoir
effectuer le moindre calcul sur le nombre.
Post by CriCri
Donc si la chaîne contient une virgule comme
séparateur cela nécessite d'emblée un traitement spécifique de substitution.
Même les nombres entiers, donc sans aucun séparateur décimal,
nécessitent déjà un traitement spécifique de substitution.

Un truc du genre (je simplifie) :
§
somme = 0
tant qu'il existe un caractère de code ASCII compris entre
48 et 57 ("0" à "9"), faire :
somme = (10 * somme) + (code ASCII du caractère - 48)
§
Post by CriCri
Post by Olivier Miakinen
je ne vois pas pourquoi la langue française devrait elle-même se
plier à l'usage des langages de programmation
Je ne m'y attends pas: je joue l'avocat du diable pour attirer
l'attention [sur les] inconsistances et [les] difficultés.
Ah, d'accord. Mais est-ce bien le bon lieu pour en parler ?
Post by CriCri
Post by Olivier Miakinen
[...]
Cette situation existe déjà.
[description de l'inconsistance entre entrées et sorties]
Alors c'est un bug du GéoPortail. Rien à voir avec la langue française.
Post by CriCri
Il faut bien vivre avec les deux mais on ne pourrait jamais modifier
tous les programmes existants
Non, seulement ceux qui sont bugués et qui devraient corriger leurs bugs.
Post by CriCri
- et encore moins les langages de programmation.
Le langage de programmation n'a pas grand chose à voir avec l'interface
utilisateur. Seule exception : un langage interprété, du point de vue
de son programmeur. Mais c'est une proportion infime de la population.
Post by CriCri
Ma proposition serait de faire accepter le point et la virgule dans tous
les champs de saisie de nombres décimaux des pages Internet - facile à
implémenter lors des mises à jour déjà entreprises régulièrement.
Hum. En tant que programmeur moi-même, je peux t'assurer que ça n'a rien
de facile. Du moins tant que tu te préoccupes de ne pas introduire de
nouveaux bugs dans les programmes existants.
--
Olivier Miakinen
CriCri
2019-09-05 20:05:11 UTC
Permalink
Post by Olivier Miakinen
Je ne comprends pas « ne peut pas changer ». Par exemple selon que le
nombre soit codé...
On parle exclusivement de nombres décimaux.

La chaîne est passée directement à une fonction de bibliothèque pour
être parsée sans traitement préalable - à condition d'être correctement
formatée à l'entrée.
Post by Olivier Miakinen
Même les nombres entiers, donc sans aucun séparateur décimal,
nécessitent déjà un traitement spécifique de substitution.
???
Post by Olivier Miakinen
Un truc du genre (je simplifie) : § somme = 0 tant qu'il existe un
somme = (10 * somme) + (code ASCII du caractère - 48) §
Je ne parle pas d'arithmétique mais de la conversion d'une chaîne à un
nombre dans un langage de haut niveau (même BASIC ou JavaScript).
Tu parles de ce dont on n'a pas besoin de s'occuper (sauf en assembleur).
Post by Olivier Miakinen
Ah, d'accord. Mais est-ce bien le bon lieu pour en parler ?
Quel groupe proposerais-tu? - je veux bien...
C'est une question de la représentation des nombres par des signes
lexicaux. Une partie du langage, me semble-t-il.
Post by Olivier Miakinen
Post by CriCri
Il faut bien vivre avec les deux mais on ne pourrait jamais
modifier tous les programmes existants
Non, seulement ceux qui sont bugués et qui devraient corriger leurs bugs.
Non, ils ne sont pas forcément bugués. C'est les principes de leur
conception qui dictent leur comportement correct. Un bug est un
comportement non-prévu.
Post by Olivier Miakinen
Le langage de programmation n'a pas grand chose à voir avec
l'interface utilisateur. Seule exception : un langage interprété, du
point de vue de son programmeur. Mais c'est une proportion infime de
la population.
Au contraire, la plus grande partie de l'interface utilisateur est dans
des fonctions des bibliothèques standards.
Post by Olivier Miakinen
Hum. En tant que programmeur moi-même, je peux t'assurer que ça n'a
rien de facile.
En tant que programmeur (professionnel) moi-même je peux te rassurer que
c'est assez facile (sauf si on veut faire des transformations en temps
réel touche par touche qui nécessitent l'interception des codes à bas
niveau). Je le fais presque systématiquement dans tous les cas sauf les
plus élémentaires.
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Prince Nico Mbarga
2019-09-05 21:23:17 UTC
Permalink
Post by CriCri
Post by Olivier Miakinen
Je ne comprends pas « ne peut pas changer ». Par exemple selon que le
nombre soit codé...
On parle exclusivement de nombres décimaux.
La chaîne est passée directement à une fonction de bibliothèque pour
être parsée sans traitement préalable - à condition d'être correctement
formatée à l'entrée.
Post by Olivier Miakinen
Même les nombres entiers, donc sans aucun séparateur décimal,
nécessitent déjà un traitement spécifique de substitution.
???
Post by Olivier Miakinen
Un truc du genre (je simplifie) : § somme = 0 tant qu'il existe un
somme = (10 * somme) + (code ASCII du caractère - 48) §
Je ne parle pas d'arithmétique mais de la conversion d'une chaîne à un
nombre dans un langage de haut niveau (même BASIC ou JavaScript).
Tu parles de ce dont on n'a pas besoin de s'occuper (sauf en assembleur).
Post by Olivier Miakinen
Ah, d'accord. Mais est-ce bien le bon lieu pour en parler ?
Non.
Post by CriCri
Quel groupe proposerais-tu? - je veux bien...
C'est une question de la représentation des nombres par des signes
lexicaux. Une partie du langage, me semble-t-il.
Ici, c'est la langue française.
Post by CriCri
Post by Olivier Miakinen
Post by CriCri
Il faut bien vivre avec les deux mais on ne pourrait jamais
modifier tous les programmes existants
Non, seulement ceux qui sont bugués et qui devraient corriger leurs bugs.
Non, ils ne sont pas forcément bugués. C'est les principes de leur
conception qui dictent leur comportement correct. Un bug est un
comportement non-prévu.
Post by Olivier Miakinen
Le langage de programmation n'a pas grand chose à voir avec
l'interface utilisateur. Seule exception : un langage interprété, du
point de vue de son programmeur. Mais c'est une proportion infime de
la population.
Au contraire, la plus grande partie de l'interface utilisateur est dans
des fonctions des bibliothèques standards.
Post by Olivier Miakinen
Hum. En tant que programmeur moi-même, je peux t'assurer que ça n'a
rien de facile.
En tant que programmeur (professionnel) moi-même je peux te rassurer que
c'est assez facile (sauf si on veut faire des transformations en temps
réel touche par touche qui nécessitent l'interception des codes à bas
niveau). Je le fais presque systématiquement dans tous les cas sauf les
plus élémentaires.
Olivier Miakinen
2019-09-06 10:12:52 UTC
Permalink
Post by CriCri
Post by Olivier Miakinen
Je ne comprends pas « ne peut pas changer ». Par exemple selon que le
nombre soit codé...
On parle exclusivement de nombres décimaux.
Nous sommes d'accord. Y compris les nombres entiers.
Post by CriCri
La chaîne est passée directement à une fonction de bibliothèque pour
être parsée sans traitement préalable
Si c'est le cas c'est très grave, mais le groupe pour en parler serait
plutôt fr.comp.securite. Il ne faut *jamais* utiliser la moindre donnée
venant de l'utilisateur sans avoir préalablement fait tous les contrôles
possibles pour éviter à un pirate d'exploiter un quelconque bug. Par
exemple une chaîne trop longue qui explose les buffers, ou un encodage
non valide.
Post by CriCri
- à condition d'être correctement formatée à l'entrée.
Et donc, il y a un traitement préalable pour s'assurer d'un formatage
correct et une conversion dans le format interne.
Post by CriCri
Post by Olivier Miakinen
Même les nombres entiers, donc sans aucun séparateur décimal,
nécessitent déjà un traitement spécifique de substitution.
???
Oui. Par exemple le nombre 10 sous forme de chaîne de caractères
est représenté par la suite binaire 0011 0001 0011 0000 (nombres
49 puis 48) alors que sous la forme d'un entier en mémoire ce
sera 0000 1010 (nombre 10). En IEEE-754 64 bits, il deviendra :
0100 0000 0010 0100 (suivi de quarante-huit 0).
Post by CriCri
Post by Olivier Miakinen
Un truc du genre (je simplifie) : § somme = 0 tant qu'il existe un
somme = (10 * somme) + (code ASCII du caractère - 48) §
Je ne parle pas d'arithmétique mais de la conversion d'une chaîne à un
nombre dans un langage de haut niveau (même BASIC ou JavaScript).
Moi aussi.
Post by CriCri
Tu parles de ce dont on n'a pas besoin de s'occuper (sauf en assembleur).
Tu me parles de programmation, il y a bien quelqu'un qui l'a programmé.
Post by CriCri
Post by Olivier Miakinen
Ah, d'accord. Mais est-ce bien le bon lieu pour en parler ?
Quel groupe proposerais-tu? - je veux bien...
https://www.geoportail.gouv.fr/contact
Post by CriCri
C'est une question de la représentation des nombres par des signes
lexicaux. Une partie du langage, me semble-t-il.
Non. Tu parlais du bug d'un site qui n'utilise pas la même
représentation en entrée (saisie) et en sortie (affichage).
Post by CriCri
[...] la plus grande partie de l'interface utilisateur est dans
des fonctions des bibliothèques standards.
Bibliothèques standard ou pas, la toute première partie de
l'interface utilisateur d'un programme multilingue concerne la
prise en compte des particularités linguistiques.
Post by CriCri
Post by Olivier Miakinen
Hum. En tant que programmeur moi-même, je peux t'assurer que ça n'a
rien de facile.
En tant que programmeur (professionnel) moi-même je peux te rassurer que
c'est assez facile (sauf si on veut faire des transformations en temps
réel touche par touche qui nécessitent l'interception des codes à bas
niveau). Je le fais presque systématiquement dans tous les cas sauf les
plus élémentaires.
Si tu écris ou maintiens des programmes destinés à un public monolingue,
c'est peut-être faisable en effet. Mais si tes programmes doivent gérer
aussi bien le russe que l'arabe et le japonais, c'est une autre paire de
manches.
--
Olivier Miakinen
CriCri
2019-09-06 10:57:54 UTC
Permalink
Post by Olivier Miakinen
Si c'est le cas c'est très grave, mais le groupe pour en parler serait
plutôt fr.comp.securite. Il ne faut *jamais* utiliser la moindre donnée
venant de l'utilisateur sans avoir préalablement fait tous les contrôles
possibles pour éviter à un pirate d'exploiter un quelconque bug. Par
exemple une chaîne trop longue qui explose les buffers, ou un encodage
non valide.
Dans un formulaire la longueur est limité à celle définie (maxlength):
au-delà l'entrée est tronquée.
Un encodage non valide va simplement générer une erreur.
HTML + JavaScript n'ont pas accès aux choses sensibles (ni fichiers ni
fonctions de bas niveau).
Post by Olivier Miakinen
Post by CriCri
- à condition d'être correctement formatée à l'entrée.
Et donc, il y a un traitement préalable pour s'assurer d'un formatage
correct et une conversion dans le format interne.
Non, on PEUT passer la chaîne saisie à la fonction et voir si elle
retourne une valeur ou une erreur. C'est juste moins élégant.
Post by Olivier Miakinen
Par exemple le nombre 10 sous forme de chaîne de caractères
est représenté par la suite binaire...
Je répète qu'on parle de nombres décimaux [0-9] avec (facultativement)
un point ou une virgule.
Post by Olivier Miakinen
Tu me parles de programmation, il y a bien quelqu'un qui l'a programmé.
On ne réinvente pas la roue chaque fois qu'on sort la voiture.
On utilise des fonctions (ou macros) des bibliothèques.
Post by Olivier Miakinen
Post by CriCri
Quel groupe proposerais-tu? - je veux bien...
https://www.geoportail.gouv.fr/contact
Ce n'est pas un groupe de discussion: évidemment je parlais d'Usenet
pour faire un fu2 - comme je le disais je veux bien.
Bien sûr j'ai signalé le bug à l'IGN il y a très longtemps, mais ils
n'ont jamais daigné réagir. Cela met leur compétence en question.
Post by Olivier Miakinen
Non. Tu parlais du bug d'un site qui n'utilise pas la même
représentation en entrée (saisie) et en sortie (affichage).
Non, je parlais de l'acceptation d'un point ou une virgule dans des
formulaires sur des sites francophones.
L'IGN est juste UN exemple de ce qui marche mal si on ne le fait pas.

Voir l'article de WikiPédia que j'ai déjà cité:
"...avec une nouvelle étape en 2003 lorsque la norme ISO 31-0 reconnut
l'usage du point, les normes internationales reconnaissent
indifféremment l'usage du point ou de la virgule comme séparateur
décimal, quelle que soit la langue."

On considère bien donc que ça fait partie de la langue.
Post by Olivier Miakinen
Post by CriCri
[...] la plus grande partie de l'interface utilisateur est dans
des fonctions des bibliothèques standards.
Bibliothèques standard ou pas, la toute première partie de
l'interface utilisateur d'un programme multilingue concerne la
prise en compte des particularités linguistiques.
Je n'ai jamais parlé de programmes multilingues: je parle d'interfaces
en français.
Post by Olivier Miakinen
Si tu écris ou maintiens des programmes destinés à un public monolingue,
c'est peut-être faisable en effet.
Oui.
Post by Olivier Miakinen
Mais si tes programmes doivent gérer aussi bien le russe que l'arabe et le japonais
Non.
Si on considèrait des
langues qui n'utilisent ni nos chiffres ni nos séparateurs cette
question n'aurait aucun sens.
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Anansi
2019-09-06 11:14:43 UTC
Permalink
Post by CriCri
Post by Olivier Miakinen
Par exemple le nombre 10 sous forme de chaîne de caractères
est représenté par la suite binaire...
Je répète qu'on parle de nombres décimaux [0-9] avec (facultativement)
un point ou une virgule.
Où l'on peut revenir en charte.
Normalement la notation [0-9] désigne les nombres compris entre zéro et
neuf.
Par contre, un nombre décimal :
https://fr.wikipedia.org/wiki/Nombre_d%C3%A9cimal
C'est un réel particulier , composé de chiffres compris entre zéro et
neuf, et qui a un nombre fini de chiffres après la virgule.
CriCri
2019-09-06 11:42:32 UTC
Permalink
Post by Anansi
Normalement la notation [0-9] désigne les nombres compris entre zéro et
neuf.
Dans une expression régulière la notation [0-9] désigne un _caractère_
(pas un nombre) entre '0' et '9'.
J'aurais dû mettre [0-9]*[,.][0-9]* - c'était pour simplifier.
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Anansi
2019-09-06 12:18:18 UTC
Permalink
Post by CriCri
Post by Anansi
Normalement la notation [0-9] désigne les nombres compris entre zéro et
neuf.
Dans une expression régulière la notation [0-9] désigne un _caractère_
(pas un nombre) entre '0' et '9'.
J'aurais dû mettre [0-9]*[,.][0-9]* - c'était pour simplifier.
Vous confondez notation courante et utilisation dans un langage de
programmation, probablement du java.
Ici on parle de français, pas de programmation.
CriCri
2019-09-06 12:35:00 UTC
Permalink
Post by Anansi
Vous confondez notation courante et utilisation dans un langage de
programmation
Pas du tout. Je parle des expressions utilisées pour une recherche -
dans presque n'importe quel logiciel de traitement de texte (français)
ou autre éditeur.
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Anansi
2019-09-06 15:13:47 UTC
Permalink
Post by CriCri
Post by Anansi
Vous confondez notation courante et utilisation dans un langage de
programmation
Pas du tout. Je parle des expressions utilisées pour une recherche -
dans presque n'importe quel logiciel de traitement de texte (français)
ou autre éditeur.
Et maintenant ça devient un forum sur l'utilisation des traitements de
texte. Vous avez vraiment du mal à vous intégrer dans le contexte où
vous intervenez.
CriCri
2019-09-06 15:41:57 UTC
Permalink
Post by Anansi
Et maintenant ça devient un forum sur l'utilisation des traitements de
texte. Vous avez vraiment du mal à vous intégrer dans le contexte où
vous intervenez.
Je ne fais plus que répondre par politesse (vous le trouverez dans un
bon dictionnaire) à ceux qui m'interpellent (dont d'autres par intérêt).

Comme vous, par exemple, qui n'avez qu'une vague notion d'une "notation
courante".
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Anansi
2019-09-07 10:23:06 UTC
Permalink
Post by CriCri
Post by Anansi
Et maintenant ça devient un forum sur l'utilisation des traitements de
texte. Vous avez vraiment du mal à vous intégrer dans le contexte où
vous intervenez.
Je ne fais plus que répondre par politesse (vous le trouverez dans un
bon dictionnaire) à ceux qui m'interpellent (dont d'autres par intérêt).
Comme vous, par exemple, qui n'avez qu'une vague notion d'une "notation
courante".
Comme disait quelqu'un dans un autre fil :
S'il s'agit d'un débat sur les termes lexicaux, fllf c'est bon.

Vous devriez arriver à respecter cette prescription, mon petit, elle est
de vous, et le ton que j'emploie aussi.

Prince Nico Mbarga
2019-09-06 15:43:24 UTC
Permalink
Post by Anansi
Post by CriCri
Post by Anansi
Vous confondez notation courante et utilisation dans un langage de
programmation
Pas du tout. Je parle des expressions utilisées pour une recherche -
dans presque n'importe quel logiciel de traitement de texte (français)
ou autre éditeur.
Et maintenant ça devient un forum sur l'utilisation des traitements de
texte. Vous avez vraiment du mal à vous intégrer dans le contexte où
vous intervenez.
Détendez-vous, c'est tout écrit en français, hein ;-)


CriCri
2019-09-06 11:52:43 UTC
Permalink
C'est juste que cela n'a pas été jugé prioritaire et donc mis en bas de
la pile.
Depuis plus de deux ans. Pourtant c'est grave.
Ce qui est « drôle » c'est que sur geoportail ils n'utilisent pas de
https://www.geoportail.gouv.fr/donnees/openstreetmap-monde
Sisi - ça, c'est juste une option d'affichage parmi de nombreux autres
(photos, satellite, plans cadastraux...).
Voir par exemple
https://www.geoportail.gouv.fr/carte?&c=+001.23000,+44.60000&z=0.0000025154016354026496&l=ORTHOIMAGERY.ORTHOPHOTOS::GEOPORTAIL:OGC:WMTS(1)&l=CADASTRALPARCELS.PARCELS::GEOPORTAIL:OGC:WMTS(1)&permalink=yes%22%20allowfullscreen
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Benoît
2019-09-06 12:10:01 UTC
Permalink
Post by CriCri
C'est juste que cela n'a pas été jugé prioritaire et donc mis en bas de
la pile.
Depuis plus de deux ans. Pourtant c'est grave.
Ce qui est « drôle » c'est que sur geoportail ils n'utilisent pas de
https://www.geoportail.gouv.fr/donnees/openstreetmap-monde
Sisi - ça, c'est juste une option d'affichage parmi de nombreux autres
(photos, satellite, plans cadastraux...).
Voir par exemple
https://www.geoportail.gouv.fr/carte?&c=+001.23000,+44.60000&z=0.000002515
4016354026496&l=ORTHOIMAGERY.ORTHOPHOTOS::GEOPORTAIL:OGC:WMTS(1)&l=CADASTR
ALPARCELS.PARCELS::GEOPORTAIL:OGC:WMTS(1)&permalink=yes%22%20allowfullscre
en
Openstreetmap apparaît nul part sur ton lien.
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoit chez lui à leraillez.com
CriCri
2019-09-06 12:47:48 UTC
Permalink
Post by Benoît
Openstreetmap apparaît nul part sur ton lien.
Mon lien est une carte IGN!

Pour OpenStreetMap tu peux y aller directement:
https://www.data.gouv.fr/fr/organizations/openstreetmap/

Sur Géoportail c'est juste une option d'affichage: va dans le menu
"Cartes" -> "Tous les fonds".
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Olivier Miakinen
2019-09-06 13:13:26 UTC
Permalink
Post by CriCri
Post by Olivier Miakinen
Si c'est le cas c'est très grave, mais le groupe pour en parler serait
plutôt fr.comp.securite. Il ne faut *jamais* utiliser la moindre donnée
venant de l'utilisateur sans avoir préalablement fait tous les contrôles
possibles pour éviter à un pirate d'exploiter un quelconque bug. Par
exemple une chaîne trop longue qui explose les buffers, ou un encodage
non valide.
au-delà l'entrée est tronquée.
Seulement si tu utilises un navigateur qui le contrôle. Avec un outil
comme wget, telnet, ou simplement un petit programme en C, tu envoies
ce que tu veux.
Post by CriCri
Un encodage non valide va simplement générer une erreur.
Certains codages de l'UTF-8 étaient initialement valides, et un
programme de décodage un peu trop simple pourrait passer à côté.
Par exemple, coder le chiffre 0 en deux octets 11000000 10110000
au lieu d'un seul 00110000.
Post by CriCri
HTML + JavaScript n'ont pas accès aux choses sensibles (ni fichiers ni
fonctions de bas niveau).
Derrière une page HTML tu peux avoir un programme ayant accès à
n'importe quoi. Sans compter les "exploits" de pirates qui peuvent
même affecter les navigateurs.
Post by CriCri
[...]
"...avec une nouvelle étape en 2003 lorsque la norme ISO 31-0 reconnut
l'usage du point, les normes internationales reconnaissent
indifféremment l'usage du point ou de la virgule comme séparateur
décimal, quelle que soit la langue."
Ah, je n'avais pas vu ça. La norme ISO 31-0 est obsolète, mais elle
a été remplacée par la norme ISO 80000-1 qui en parle effectivement
aussi.

<https://en.wikipedia.org/wiki/ISO_80000-1#Printing_rules>
§
Section 7.3.2 states that the decimal mark is either a comma or a point
on the line and further states that whichever decimal mark is used, that
same mark should be consistently used.
§

Cela dit deux choses. D'abord que l'on peut utiliser indifféremment
le point ou la virgule. Mais aussi que, quel que soit le choix qui est
fait, il faut s'y tenir. Donc si on a commencé à utiliser la virgule
il ne faut pas ensuite passer au point, et /vice versa/.

Voilà donc un excellent argument pour retenter un rapport de bug au
géoportail.
Post by CriCri
On considère bien donc que ça fait partie de la langue.
Du moins, ça fait partie du système international des unités (SI).
--
Olivier Miakinen
CriCri
2019-09-06 14:01:39 UTC
Permalink
Post by Olivier Miakinen
Post by CriCri
au-delà l'entrée est tronquée.
Seulement si tu utilises un navigateur qui le contrôle.
Quel navigateur ne le contrôle pas? - jamais vu...
Ça fait partie du HTML W3C
Post by Olivier Miakinen
Par exemple, coder le chiffre 0 en deux octets 11000000 10110000
au lieu d'un seul 00110000.
Qu'est-ce que ça peut faire? (sauf provoquer une erreur).
Post by Olivier Miakinen
Derrière une page HTML tu peux avoir un programme ayant accès à
n'importe quoi.
C'est le problème à l'envers.
On n'a pas besoin d'utiliser Java pour accepter un point.
Et si on fait ça c'est à ses risques et périls.
Post by Olivier Miakinen
Ah, je n'avais pas vu ça. La norme ISO 31-0 est obsolète, mais elle
a été remplacée par la norme ISO 80000-1 qui en parle effectivement
aussi.
Ah. Donc il y a bien des améliorations à apporter à cette page:
https://fr.wikipedia.org/wiki/Séparateur_décimal

Je vais les noter pour tout faire d'un seul coup.
Il y a aussi le clivage suisse. (Christian?)
Post by Olivier Miakinen
<https://en.wikipedia.org/wiki/ISO_80000-1#Printing_rules>
Il y a ça aussi:
https://www.bipm.org/fr/CGPM/db/22/10/
Post by Olivier Miakinen
Cela dit deux choses. D'abord que l'on peut utiliser indifféremment
le point ou la virgule. Mais aussi que, quel que soit le choix qui est
fait, il faut s'y tenir. Donc si on a commencé à utiliser la virgule
il ne faut pas ensuite passer au point, et /vice versa/.
Voilà donc un excellent argument pour retenter un rapport de bug au
géoportail.
Je vais essayer...

C'est aussi un argument en faveur de ma proposition ;-)
Post by Olivier Miakinen
Post by CriCri
On considère bien donc que ça fait partie de la langue.
Du moins, ça fait partie du système international des unités (SI).
Les normes lient bien ce 'point' à la langue:
"...utilisent le point sur la ligne ou la virgule sur la ligne suivant
la langue."
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Olivier Miakinen
2019-09-06 15:03:27 UTC
Permalink
Post by CriCri
Post by Olivier Miakinen
Post by CriCri
au-delà l'entrée est tronquée.
Seulement si tu utilises un navigateur qui le contrôle.
Quel navigateur ne le contrôle pas? - jamais vu...
Ça fait partie du HTML W3C
La question n'était pas de savoir si parmi les navigateurs
« honnêtes » il en existe un qui est bugué, mais si un
pirate a un moyen de t'envoyer la requête qu'il veut, que
cette requête soit bien formée ou non.

Cela dit, on a largement dévié de la langue française vers
la programmation, essentiellement de ma faute. Pardon pour
cela.
Post by CriCri
[...]
Post by Olivier Miakinen
<https://en.wikipedia.org/wiki/ISO_80000-1#Printing_rules>
https://www.bipm.org/fr/CGPM/db/22/10/
Oui. Apparemment, la règle était auparavant dans le système
international d'unités de n'employer que la convention française
quelle que soit la langue, y compris l'anglais, et la 22e CGPM
rappelle que c'est toujours le cas en 2003 pour certaines
organisations internationales.

Ceci était un premier pas pour accepter parfois le point décimal
au lieu de la virgule (ce qui arrange bien les anglophones).
Post by CriCri
Post by Olivier Miakinen
Cela dit deux choses. D'abord que l'on peut utiliser indifféremment
le point ou la virgule. Mais aussi que, quel que soit le choix qui est
fait, il faut s'y tenir. Donc si on a commencé à utiliser la virgule
il ne faut pas ensuite passer au point, et /vice versa/.
Voilà donc un excellent argument pour retenter un rapport de bug au
géoportail.
Je vais essayer...
C'est aussi un argument en faveur de ma proposition ;-)
Pas vraiment, puisque dans ta proposition il n'est absolument pas
demandé de rester cohérent d'un nombre à un autre. Au contraire,
oserais-je dire. ;-)
Post by CriCri
Post by Olivier Miakinen
Post by CriCri
On considère bien donc que ça fait partie de la langue.
Du moins, ça fait partie du système international des unités (SI).
Dans le même ordre d'idée, ce n'est pas parce que la norme ISO 8601
définit une représentation internationale des dates qu'il faut la
faire entrer dans les règles de la langue française.

Ainsi, pour dire « le 12 septembre à 14 h 30 » il n'y a aucune
raison de demander qu'on puisse l'écrire « 09-12T14:30+02:00 ».
--
Olivier Miakinen
Michele
2019-09-06 15:45:36 UTC
Permalink
Post by Olivier Miakinen
Post by CriCri
Post by Olivier Miakinen
Post by CriCri
au-delà l'entrée est tronquée.
Seulement si tu utilises un navigateur qui le contrôle.
Quel navigateur ne le contrôle pas? - jamais vu...
Ça fait partie du HTML W3C
La question n'était pas de savoir si parmi les navigateurs
« honnêtes » il en existe un qui est bugué, mais si un
pirate a un moyen de t'envoyer la requête qu'il veut, que
cette requête soit bien formée ou non.
Cela dit, on a largement dévié de la langue française vers
la programmation, essentiellement de ma faute. Pardon pour
cela.
Faute avouée est à moitié pardonnée.-;)
--
Michèle
CriCri
2019-09-06 16:00:00 UTC
Permalink
Post by Michele
Faute avouée est à moitié pardonnée.-;)
Aïeee. Ça rappelle le malheureux faux gilet jaune et son slogan (je
viens de lire l'article de presse sur son procès): celui qui se
réjouissait des suicides des policiers.
Il faudrait donc qu'Olivier et moi se suicident réciproquement pour
obtenir votre grâce définitive...
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Prince Nico Mbarga
2019-09-06 17:11:28 UTC
Permalink
Post by CriCri
Post by Michele
Faute avouée est à moitié pardonnée.-;)
Aïeee. Ça rappelle le malheureux faux gilet jaune et son slogan (je
viens de lire l'article de presse sur son procès): celui qui se
réjouissait des suicides des policiers.
Il faudrait donc qu'Olivier et moi se suicident réciproquement pour
obtenir votre grâce définitive...
La première personne (moi) étant prioritaire par rapport à la troisième
(Olivier), il convient d'écrire :
"Il faudrait donc qu'Olivier et moi nous suicidions réciproquement pour
obtenir votre grâce définitive..."
Michele
2019-09-06 18:27:32 UTC
Permalink
Post by CriCri
Post by Michele
Faute avouée est à moitié pardonnée.-;)
Aïeee. Ça rappelle le malheureux faux gilet jaune et son slogan (je
viens de lire l'article de presse sur son procès): celui qui se
réjouissait des suicides des policiers.
Il faudrait donc qu'Olivier et moi se suicident réciproquement pour
obtenir votre grâce définitive...
Mais non, n’allez pas jusque là..-;)
--
Michèle
CriCri
2019-09-06 19:27:56 UTC
Permalink
Oufff. Merci, merci ;-)
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Olivier Miakinen
2019-09-06 21:09:31 UTC
Permalink
Post by Michele
Post by Olivier Miakinen
Cela dit, on a largement dévié de la langue française vers
la programmation, essentiellement de ma faute. Pardon pour
cela.
Faute avouée est à moitié pardonnée.-;)
Si tu savais comme je suis heureux que tu me pardonnes (à moitié
mais c'est déjà ça) d'avoir répondu hors charte !
--
Olivier Miakinen
Michele
2019-09-06 22:03:36 UTC
Permalink
Post by Olivier Miakinen
Post by Michele
Post by Olivier Miakinen
Cela dit, on a largement dévié de la langue française vers
la programmation, essentiellement de ma faute. Pardon pour
cela.
Faute avouée est à moitié pardonnée.-;)
Si tu savais comme je suis heureux que tu me pardonnes (à moitié
mais c'est déjà ça) d'avoir répondu hors charte !
-;))
--
Michèle
Christian Weisgerber
2019-09-05 17:21:00 UTC
Permalink
Post by Olivier Miakinen
Post by CriCri
Le séparateur décimal (1) est variable selon le pays.
C'est encore plus compliqué : Il faut distinguer entre le séparateur
décimal monétaire (monetary decimal separator) qu'on utilise avec
les sommes d'argent, et le séparateur décimal numérique (numeric
decimal separator) qu'on utilise avec les autres nombres.
Post by Olivier Miakinen
Par ailleurs, le séparateur de milliers est aussi variable selon
le pays.
En Allemagne c'est le point, en Suisse germanophone l'apostrophe.
Qu'est-ce que les Suisses francophones utilisent ?
--
Christian "naddy" Weisgerber ***@mips.inka.de
CriCri
2019-09-05 17:47:52 UTC
Permalink
Merci pour votre contribution
Post by Christian Weisgerber
C'est encore plus compliqué : Il faut distinguer entre le séparateur
décimal monétaire (monetary decimal separator) qu'on utilise avec
les sommes d'argent, et le séparateur décimal numérique (numeric
decimal separator) qu'on utilise avec les autres nombres.
Est-ce que vous êtes d'accord avec
https://fr.wikipedia.org/wiki/S%C3%A9parateur_d%C3%A9cimal ?
Il serait peut-être possible de l'améliorer...
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Chicot
2019-09-05 18:56:57 UTC
Permalink
Post by CriCri
Merci pour votre contribution
Post by Christian Weisgerber
C'est encore plus compliqué : Il faut distinguer entre le séparateur
décimal monétaire (monetary decimal separator) qu'on utilise avec
les sommes d'argent, et le séparateur décimal numérique (numeric
decimal separator) qu'on utilise avec les autres nombres.
Est-ce que vous êtes d'accord avec
https://fr.wikipedia.org/wiki/S%C3%A9parateur_d%C3%A9cimal ?
Il serait peut-être possible de l'améliorer...
Et tu dis quoi de 2Ω2 ? :-)

<https://electronicparts-outlet.com/en/netwerken/940-multistage-resistor-1-22-33-47-10.html>
CriCri
2019-09-05 20:10:32 UTC
Permalink
Et tu dis quoi de 2Ω2 ?    :-)
Que c'est une convention spécifique à un domaine particulier qui n'a
absolument aucune justification formelle.
2R2 - 2k2 - 2p2 - 02h02...
--
http://Stop-Linky46.fr - Actus, infos techniques, documents juridiques.
La 5G : proche parente d'une arme de guerre létale
et accélératrice de la sixième extinction de masse.
Nous sommes tous déjà condamnés.
Chicot
2019-09-05 12:39:05 UTC
Permalink
Post by CriCri
Le séparateur décimal (1) est variable selon le pays.
- une virgule dans la plupart du monde
- un point sur la ligne (2) dans les pays anglo-saxons
pays anglophones
Post by CriCri
- autre chose dans les pays arabes. [...]
Anansi
2019-09-05 16:21:34 UTC
Permalink
Post by Chicot
Post by CriCri
Le séparateur décimal (1) est variable selon le pays.
- une virgule dans la plupart du monde
- un point sur la ligne (2) dans les pays anglo-saxons
pays anglophones
Post by CriCri
- autre chose dans les pays arabes. [...]
Même chose ici. Il n'y a pas que des arabophones utilisant l'alphabet
arabe dans les pays arabes.
Loading...