Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

/etc/exports option unsecure

1 view
Skip to first unread message

François Patte

unread,
Nov 5, 2022, 9:58:43 AM11/5/22
to
Bonjour,

J'ai loué un espace chez ovh qui doit être une machine virtuelle.

Je cherche à faire un montage nfs de répertoire mais, dans un premier
temps le montage a été refusé pour cause de port illégal (1024).

En cherchant sur le web, j'ai trouvé une solution qui fonctionne:
ajouter l'option "unsecure" dans le fichier /ets/exports.

Ça marche.

Quels sont les risques?

Y a-t-il une autre solution "secure"?

Merci
--
François Patte
Université Paris Descartes

Marc SCHAEFER

unread,
Nov 5, 2022, 10:16:18 AM11/5/22
to
François Patte <francoi...@mi.parisdescartes.fr> wrote:
> Je cherche à faire un montage nfs de répertoire mais, dans un premier
> temps le montage a été refusé pour cause de port illégal (1024).

Tout cela était parce que, dans un réseau UNIX, les différentes machines
n'avaient que root qui avait le droit de réserver les ports en-dessous
de 1024: donc certains services `authentifiaient' que root était en
face avec ce simple test.

> Quels sont les risques?

Je dirais que si tu mets en place du NFS en UDP (classique) c'est
globalement risqué, le spoofing étant facile en UDP.

Que le port source soit < 1024 ou non n'y change rien.

Idées:

- utiliser NFSv4/TCP, et firewaller pour n'autoriser que
certaines adresses IP

- utiliser un VPN chiffrant

- utiliser un autre protocole plus moderne et vraisemblablement
chiffré et authentifié (glusterfs, sshfs, etc)

Après, on peut aussi se poser la question de pourquoi un partage de
fichier est nécessaire alors qu'une application web, par exemple, peut
aussi utiliser des API de stockage.

Doug713705

unread,
Nov 8, 2022, 2:04:32 AM11/8/22
to
Le 05-11-2022, François Patte nous expliquait dans
fr.comp.os.linux.configuration
(<tk5q6i$2g2ek$1...@dont-email.me>) :

> Bonjour,

Bonjour,

> J'ai loué un espace chez ovh qui doit être une machine virtuelle.
>
> Je cherche à faire un montage nfs de répertoire mais, dans un premier
> temps le montage a été refusé pour cause de port illégal (1024).
>
> En cherchant sur le web, j'ai trouvé une solution qui fonctionne:
> ajouter l'option "unsecure" dans le fichier /ets/exports.

insecure, plutôt.

> Ça marche.

Good.

> Quels sont les risques?

Aucun. C'est une ancienne convention qui veut que les ports inférieurs à
1024 puissent être ouverts uniquement par l'utilisateur root.

Dans ton cas, le serveur NFS /pourrait/ supposer que l'utilisateur s'y
connectant est "root" puisqu'il utilise un port inférieur à 1024 pour se
connecter (on parle ici du port coté client).

client (TCP/1024) ---> serveur (TCP/2049)

> Y a-t-il une autre solution "secure"?

Pas plus que ça mais la vraie question est "Pour quelle raison as tu
besoin que le client utilise un port de sortie inférieur à 1024 alors
que ces ports sont réservés ?"

--
Mais l'ombre des plaisirs s'enfuit
Toujours plus loin vers l'inconnu.
-- H.F. Thiéfaine, La môme kaléïdoscope

François Patte

unread,
Nov 10, 2022, 11:17:08 AM11/10/22
to
C'est pas moi m'sieur c'est....?

Si je fais netstat -natpl | grep ':2049'

sur le serveur, j'ai cette réponse:

tcp 0 0 IP-du-serveur-nfs:2049 IP-de-ma-box:1024
ESTABLISHED

sur mon ordi (donc derrière ma box):

tcp 0 0 192.168.1.10:995 IP-du-serveur-nfs:2049
ESTABLISHED

J'aimerais bien comprendre.

François Patte

unread,
Nov 10, 2022, 11:26:48 AM11/10/22
to
Le 05/11/2022 à 15:16, Marc SCHAEFER a écrit :
> François Patte <francoi...@mi.parisdescartes.fr> wrote:
>> Je cherche à faire un montage nfs de répertoire mais, dans un premier
>> temps le montage a été refusé pour cause de port illégal (1024).
>
> Tout cela était parce que, dans un réseau UNIX, les différentes machines
> n'avaient que root qui avait le droit de réserver les ports en-dessous
> de 1024: donc certains services `authentifiaient' que root était en
> face avec ce simple test.
>
>> Quels sont les risques?
>
> Je dirais que si tu mets en place du NFS en UDP (classique) c'est
> globalement risqué, le spoofing étant facile en UDP.
>
> Que le port source soit < 1024 ou non n'y change rien.
>
> Idées:
>
> - utiliser NFSv4/TCP, et firewaller pour n'autoriser que
> certaines adresses IP
>
> - utiliser un VPN chiffrant
>
> - utiliser un autre protocole plus moderne et vraisemblablement
> chiffré et authentifié (glusterfs, sshfs, etc)

Oui mais pour glusterfs je ne peux pas installer un système de fichier
sur l'ordi distant.

sshfs n'a pas l'air de faire bon ménage avec thunar/xfce et certains
utilisateurs ne fonctionnent qu'en "graphique"

>
> Après, on peut aussi se poser la question de pourquoi un partage de
> fichier est nécessaire alors qu'une application web, par exemple, peut
> aussi utiliser des API de stockage.

Je ne comprends pas cette remarque que je suis tout intéressé à découvrir.

Marc SCHAEFER

unread,
Nov 10, 2022, 11:40:32 AM11/10/22
to
François Patte <francoi...@mi.parisdescartes.fr> wrote:
> Oui mais pour glusterfs je ne peux pas installer un système de fichier
> sur l'ordi distant.

Pas sûr de comprendre.

> sshfs n'a pas l'air de faire bon ménage avec thunar/xfce et certains
> utilisateurs ne fonctionnent qu'en "graphique"

c'est possible.

>> Après, on peut aussi se poser la question de pourquoi un partage de
>> fichier est nécessaire alors qu'une application web, par exemple, peut
>> aussi utiliser des API de stockage.
>
> Je ne comprends pas cette remarque que je suis tout intéressé à découvrir.

Je pensais que ton serveur servait à tourner une application web. Si
c'est un serveur de fichiers utilisés par des utilisateurs en Desktop,
ma remarque n'a aucun intérêt :)

Richard Hachel

unread,
Nov 10, 2022, 11:42:51 AM11/10/22
to
Le 10/11/2022 à 17:40, Marc SCHAEFER a écrit :

> utilisés par des utilisateurs en Desktop

C'est pas le machin pour déboucher les éviers, ça?

R.H.

François Patte

unread,
Nov 10, 2022, 11:51:49 AM11/10/22
to
Le 10/11/2022 à 17:40, Marc SCHAEFER a écrit :
> François Patte <francoi...@mi.parisdescartes.fr> wrote:
>> Oui mais pour glusterfs je ne peux pas installer un système de fichier
>> sur l'ordi distant.
>
> Pas sûr de comprendre.

Je veux dire que je ne peux pas créer des partitions sur le système
distant. (Ou je n'ai pas encore trouvé...)

>
>> sshfs n'a pas l'air de faire bon ménage avec thunar/xfce et certains
>> utilisateurs ne fonctionnent qu'en "graphique"
>
> c'est possible.

Oui?

>
>>> Après, on peut aussi se poser la question de pourquoi un partage de
>>> fichier est nécessaire alors qu'une application web, par exemple, peut
>>> aussi utiliser des API de stockage.
>>
>> Je ne comprends pas cette remarque que je suis tout intéressé à découvrir.
>
> Je pensais que ton serveur servait à tourner une application web. Si
> c'est un serveur de fichiers utilisés par des utilisateurs en Desktop,
> ma remarque n'a aucun intérêt :)


Marc SCHAEFER

unread,
Nov 10, 2022, 11:54:35 AM11/10/22
to
François Patte <francoi...@mi.parisdescartes.fr> wrote:
> Je veux dire que je ne peux pas créer des partitions sur le système
> distant. (Ou je n'ai pas encore trouvé...)

glusterfs peut travaille sur un fs existant, même s'il est d'usage de le
faire sur une partition ou un volume séparé (c'est un overlay
filesystem, qui utilise p.ex. ext4 comme base). Je n'ai toutefois pas
vérifié si glusterfs râle ou non dans ce cas (sécurité éventuelle contre
des mauvaises manipulations).

>>> sshfs n'a pas l'air de faire bon ménage avec thunar/xfce et certains
>>> utilisateurs ne fonctionnent qu'en "graphique"
>>
>> c'est possible.
>
> Oui?

Je n'ai pas souvent eu ce cas d'utilisation. J'ai souvent travaillé avec
des serveurs centralisés (toute la session X11 centralisée, avec par
exemple x2go, et les Desktop sont hyper basiques et bons marchés, avec
juste un affichage à distance).

Dans ce cas, NFS pourrait être une solution acceptable, mais en TCP,
via un tunnel chiffré.

--
Attention: si vous citez mal lors de votre réponse, il se peut que je ne
la voie pas.

Christophe PEREZ

unread,
Nov 10, 2022, 12:38:48 PM11/10/22
to
Le Thu, 10 Nov 2022 17:17:06 +0100, François Patte a écrit :

>> le client utilise un port de sortie inférieur à 1024
> tcp 0 0 IP-du-serveur-nfs:2049 IP-de-ma-box:1024

Juste en passant, sans rien avoir suivi, je veux juste signaler que 1024
n'est pas inférieur à 1024.

tTh

unread,
Nov 10, 2022, 1:21:43 PM11/10/22
to
On 11/10/22 17:26, François Patte wrote:

> sshfs n'a pas l'air de faire bon ménage avec thunar/xfce et certains
> utilisateurs ne fonctionnent qu'en "graphique"

C'est une combinaison que j'utilise sans souci depuis
des années, aussi bien en local qu'à travers Internet.

Tu as probablement un autre problème...

tTh

--
+------------------------------------------------------------------+
| https://danstonchat.com/1138.html |
+------------------------------------------------------------------+

François Patte

unread,
Nov 10, 2022, 1:33:38 PM11/10/22
to
une relation d'ordre ("inférieur à") étant réflexive: si.

Il faudrait "strictement inférieur à"

Nicolas George

unread,
Nov 10, 2022, 4:03:12 PM11/10/22
to
Christophe PEREZ , dans le message <tkjco0$r73$1...@vmserveur.novazur.fr>,
a écrit :
> Juste en passant, sans rien avoir suivi, je veux juste signaler que 1024
> n'est pas inférieur à 1024.

Si.

--
ex-prof de maths

Doug713705

unread,
Nov 11, 2022, 1:27:52 AM11/11/22
to
Le 10-11-2022, François Patte nous expliquait dans
fr.comp.os.linux.configuration
(<tkj862$j30b$1...@dont-email.me>) :

>> Pas plus que ça mais la vraie question est "Pour quelle raison as tu
>> besoin que le client utilise un port de sortie inférieur à 1024 alors
>> que ces ports sont réservés ?"
>>
> C'est pas moi m'sieur c'est....?
>
>
> Si je fais netstat -natpl | grep ':2049'
>
> sur le serveur, j'ai cette réponse:
>
> tcp 0 0 IP-du-serveur-nfs:2049 IP-de-ma-box:1024
> ESTABLISHED
>
> sur mon ordi (donc derrière ma box):
>
> tcp 0 0 192.168.1.10:995 IP-du-serveur-nfs:2049
> ESTABLISHED
>
> J'aimerais bien comprendre.
>

C'est NFS qui veut ça mais tu peux, si l'option insecure te perturbe ou
gène tes règles de firewall, changer ce comportement avec quelques sysctl.

Les explications sont par ici:
https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
(voir sunrpc.min_resvport et sunrpc.max_resvport)

Pour faire court: Il suffit de définir à l'aide de sysctl sunrpc.min_resvport
à une valeur supérieure à 1024 et sunrpc.man_resvport à une valeur
supérieure à la nouvelle valeur de sunrpc.min_resvport.

Je te laisse le plaisr de chercher comment faire tout ça et comment le
rendre permanent après reboot ;-)

Christophe PEREZ

unread,
Nov 11, 2022, 11:26:22 AM11/11/22
to
Le 10 Nov 2022 21:03:11 GMT, Nicolas George a écrit :

> Si.

Non

Christophe PEREZ

unread,
Nov 11, 2022, 11:26:22 AM11/11/22
to
Le Thu, 10 Nov 2022 19:33:37 +0100, François Patte a écrit :

> une relation d'ordre ("inférieur à") étant réflexive: si.

< inférieur

>
> Il faudrait "strictement inférieur à"

<= inférieur ou égal

Didier

unread,
Nov 11, 2022, 11:41:39 AM11/11/22
to
Bsr,
Ce n'est pas ce que dit Wikipedia :
https://fr.wikipedia.org/wiki/Relation_d%27ordre
On y voit qu'on dit "inférieur" pour <=, et strictement inférieur pour
"<". Mais l'usage est effectivement le contraire ("<" inférieur et "<="
inférieur ou égal, et c'est l'usage en programmation par exemple).

En maths, on dit bien strict pour "<" :
http://igm.univ-mlv.fr/~nicaud/poly/L2cours1234.pdf

Didier.

Christophe PEREZ

unread,
Nov 11, 2022, 12:20:01 PM11/11/22
to
Le Fri, 11 Nov 2022 17:41:37 +0100, Didier a écrit :

> Mais l'usage est effectivement le contraire ("<" inférieur et "<="
> inférieur ou égal, et c'est l'usage en programmation par exemple).

Et on parle ici d'informatique, donc forcément de notion purement
mathématique et pas généraliste.

Toutes les définitions de dictionnaire que j'ai trouvées indique bien que
dans les domaines scientifiques "inférieur" est compris comme strictement
inférieur, et non pas inférieur ou égal, sinon, justement, le test
"inférieur ou égal" n'aurait absolument aucune raison d'exister, et je me
demande bien comment on exprimerait alors le "strictement inférieur"

1024 < 1024 : FAUX
1024 ≤ 1024 : VRAI

Mais sincèrement, je n'aurais jamais cru que sur un espace d'initiés aux
sciences, cela puisse être contesté.

Jo Engo

unread,
Nov 11, 2022, 12:26:39 PM11/11/22
to
Le Fri, 11 Nov 2022 17:41:37 +0100, Didier a écrit :

> "<="

≤ du moins en maths; Dans un programme je ne dis pas.



--
C'est dans la marine qu'il y a le plus de cocus.
-+- Marcel Pagnol -+-

François Patte

unread,
Nov 11, 2022, 12:58:30 PM11/11/22
to
Peut-être que les initiés aux sciences ont une approche différente selon
leur formation, "inférieur à" en maths est une relation d'ordre et donc
réflexive de même que l'inclusion des ensembles. Dans un texte
mathématique quand on entend "inférieur à", on entend "inférieur ou égal
à". si on veut préciser, on dit "strictement inférieur à". En général
quand on veut "strictement inférieur à" dans une démonstration, c'est
souvent (beaucoup) plus difficile à montrer.

Pour ce qui est de l'informatique, je ne sais pas mais il y a des
conventions qui sont bizarres au regard d'un mathématicien: écrire dans
une ligne de programmation:

i=i+1

rend perplexe un matheux qui en conclura que 1=0 et il abandonnera toute
idée cohérente concernant les nombres! ie.: il changera de métier...

Marc SCHAEFER

unread,
Nov 11, 2022, 1:17:39 PM11/11/22
to
François Patte <francoi...@mi.parisdescartes.fr> wrote:
> i=i+1
>
> rend perplexe un matheux qui en conclura que 1=0 et il abandonnera toute
> idée cohérente concernant les nombres! ie.: il changera de métier...

Et il aura alors confondu l'affectation avec la comparaison. Un bon
mathématicien ne fait pas forcément un bon codeur.

François Patte

unread,
Nov 11, 2022, 1:40:58 PM11/11/22
to
Le 11/11/2022 à 19:17, Marc SCHAEFER a écrit :
> François Patte <francoi...@mi.parisdescartes.fr> wrote:
>> i=i+1
>>
>> rend perplexe un matheux qui en conclura que 1=0 et il abandonnera toute
>> idée cohérente concernant les nombres! ie.: il changera de métier...
>
> Et il aura alors confondu l'affectation avec la comparaison. Un bon
> mathématicien ne fait pas forcément un bon codeur.
>

Est-ce le mathématicien qui confond ou le langage qui prête à confusion
(en l'absence de convention dûment établie): pour les mathématiques un
même signe comme = ne saurait avoir plusieurs significations

Marc SCHAEFER

unread,
Nov 11, 2022, 1:53:35 PM11/11/22
to
François Patte <francoi...@mi.parisdescartes.fr> wrote:
> Est-ce le mathématicien qui confond ou le langage qui prête à confusion
> (en l'absence de convention dûment établie): pour les mathématiques un
> même signe comme = ne saurait avoir plusieurs significations

Il y a des langages où la comparaison est == et l'affectation =, par
exemple. Cela ne veut pas dire qu'il n'y a pas de risque de confusion
par ailleurs.

Doug713705

unread,
Nov 11, 2022, 3:04:16 PM11/11/22
to
Le 11-11-2022, François Patte nous expliquait dans
fr.comp.os.linux.configuration
(<tkm4vp$tnmp$1...@dont-email.me>) :
Sauf rares exceptions, les langages modernes disposent d'opérateurs
distincts pour l'affectation et la comparaison.

Le plus souvent:
A = 0 Affectation
A == 0 Comparaison

Un langage est un ensemble de conventions et par convention, la langue
française définit l'égalité comme une comparaison stricte par défaut.

Les mathématiciens ont établi une autre convention (souple par défaut) qui
répond mieux à leurs besoins. Soit. Mais il reste à chacun le soin de s'
adapter à la convention qu'il utilise.

Un mathématicien ne respectant pas les conventions du langage qu'il
utilise pour programmer aurait du mal à incriminer le langage lorsque
son programme plante. Il pourrait se plaindre des incohérences entre les
conventions mais pas incriminer le langage. La responsabilité reste à celui
qui utilise le langage.

tTh

unread,
Nov 11, 2022, 7:45:33 PM11/11/22
to
On 11/11/22 21:04, Doug713705 wrote:

> son programme plante. Il pourrait se plaindre des incohérences entre les
> conventions mais pas incriminer le langage. La responsabilité reste à celui
> qui utilise le langage.

Mmmm, nodejs ?

Jo Engo

unread,
Nov 12, 2022, 3:03:33 AM11/12/22
to
Le 11 Nov 2022 20:04:15 GMT, Doug713705 a écrit :

> A = 0 Affectation A == 0 Comparaison

Pas rare non-plus :

A := 0 affectation, A = 0 comparaison

--
On passe souvent de l'amour à l'ambition,
mais on ne revient guère de l'ambition à l'amour.
-+- François de La Rochefoucauld (1613-1680), Maximes 490 -+-

Didier

unread,
Nov 12, 2022, 4:18:32 AM11/12/22
to
Le 11/11/2022 à 19:53, Marc SCHAEFER a écrit :
> François Patte <francoi...@mi.parisdescartes.fr> wrote:
>> Est-ce le mathématicien qui confond ou le langage qui prête à confusion
>> (en l'absence de convention dûment établie): pour les mathématiques un
>> même signe comme = ne saurait avoir plusieurs significations
>
> Il y a des langages où la comparaison est == et l'affectation =, par
> exemple. Cela ne veut pas dire qu'il n'y a pas de risque de confusion
> par ailleurs.
>
Je verse une larme sur la syntaxe du Pascal, où l'affectation se fait par :=
C'est sans doute pas top, mais au moins c'est différent de la relation
de comparaison, au sens mathématique comme au sens commun.
Sinon, effectivement, en maths, inférieur est une relation d'ordre, donc
réflexive.
Je ne suis toujours pas convaincu que la programmation, et plus
généralement l'informatique, soient une discipline scientifique. Mais
c'est un autre débat, que je n'ouvre pas ici.
Didier.

Marc SCHAEFER

unread,
Nov 12, 2022, 4:27:59 AM11/12/22
to
Didier <d...@invalid.invalid> wrote:
> C'est sans doute pas top, mais au moins c'est différent de la relation
> de comparaison, au sens mathématique comme au sens commun.

En fait, le plus grand problème de la notation = (affectation) et ==
(comparaison) apparaît dans les langages très expressifs comme C ou
Perl.

Par exemple en C

if (f = tcp_connect()) {
}

Cela appelle tcp_connect, affecte la valeur à la variable f, puis teste
si c'est différent de zéro. C'est très souvent utilisé et c'est
légitime.

Mais peut-être que le codeur voulait simplement comparer f au résultat
de tcp_connect() sans affecter? Au moins, gcc fait un warning (avec
-Wall), et suggère la forme:

if ((f = tcp_connect()) {
}

pour lui montrer que l'intention était bien d'affecter à f puis de
tester le résultat.

Une bonne pratique si l'on veut éviter une affectation par erreur
(écriture de == remplacée par erreur par =) est la suivante:

# risque si on oublie un =
if (c == 42) {
}

# pas de risque, 42 pas affectable, l'oubli d'un = fera
# une erreur, car la partie gauche n'est pas affectable
if (42 == c) {
}

-- Et pour les afficionados du langage Newton [1]
TAKE PUSH programme;

[1] https://hopl.info/showlanguage.prx?exp=965&language=Newton

Marc SCHAEFER

unread,
Nov 12, 2022, 4:29:19 AM11/12/22
to
[ Followup-To: fr.comp.lang.c ]

Didier <d...@invalid.invalid> wrote:
> C'est sans doute pas top, mais au moins c'est différent de la relation
> de comparaison, au sens mathématique comme au sens commun.

En fait, le plus grand problème de la notation = (affectation) et ==
(comparaison) apparaît dans les langages très expressifs comme C ou
Perl.

Par exemple en C

if (f = tcp_connect()) {
}

Cela appelle tcp_connect, affecte la valeur à la variable f, puis teste
si c'est différent de zéro. C'est très souvent utilisé et c'est
légitime.

Mais peut-être que le codeur voulait simplement comparer f au résultat
de tcp_connect() sans affecter? Au moins, gcc fait un warning (avec
-Wall), et suggère la forme:

if ((f = tcp_connect())) {

Jo Engo

unread,
Nov 12, 2022, 4:36:19 AM11/12/22
to
Le Sat, 12 Nov 2022 10:18:30 +0100, Didier a écrit :

> Je verse une larme sur la syntaxe du Pascal, où l'affectation se fait
> par :=
> C'est sans doute pas top, mais au moins c'est différent de la relation
> de comparaison, au sens mathématique comme au sens commun.

C'est évidemment la même chose pour les successeurs de Pascal. C'est aussi
le cas d'Ada.
NB que les BNF emploient ::= très probablement pour ne pas entrer en
collision avec l'affectation des langages précités.



--
... vous connaissez la mouche qui pète ?
Elisa : le dégazage de l'asile.
-- Schmitter, Frédéric

Christophe PEREZ

unread,
Nov 12, 2022, 10:07:35 AM11/12/22
to
Le Fri, 11 Nov 2022 18:58:23 +0100, François Patte a écrit :

> Dans un texte mathématique quand on entend "inférieur à", on entend
> "inférieur ou égal à".

Une preuve de ce que tu avances ?

> si on veut préciser, on dit "strictement inférieur à".

De la même façon je peux te dire :
si on veut préciser, on dit "inférieur ou égal".
Tout ça, sans aucun élément dee preuve, n'est que de l'interprétation.

> i=i+1
>
> rend perplexe un matheux qui en conclura que 1=0 et il abandonnera toute
> idée cohérente concernant les nombres! ie.: il changera de métier...

Non, parce qu'on lui aura expliqué qu'ici le signe égal n'est pas un signe
d'égalité, mais un code pour signifier une affectation. C'est une question
de vocabulaire. Affectation qui dans certaines langages n'utilise justement
pas le signe égal.

Christophe PEREZ

unread,
Nov 12, 2022, 10:07:36 AM11/12/22
to
Le 11 Nov 2022 20:04:15 GMT, Doug713705 a écrit :

> Un langage est un ensemble de conventions et par convention, la langue
> française définit l'égalité comme une comparaison stricte par défaut.

Merci.

> Un mathématicien ne respectant pas les conventions du langage qu'il
> utilise pour programmer aurait du mal à incriminer le langage lorsque
> son programme plante. Il pourrait se plaindre des incohérences entre les
> conventions mais pas incriminer le langage. La responsabilité reste à
> celui qui utilise le langage.

Voilà !

Et ici, on parle Linux, domaine informatique, où inférieur est strictement
inférieur, sinon on précise inférieur ou égal.
Donc 1024 n'est pas inférieur à 1024, puisque c'est le sujet initial, bien
qu'on ait tenté d'en détourner le sens.

Didier

unread,
Nov 12, 2022, 2:36:37 PM11/12/22
to
Le 12/11/2022 à 10:36, Jo Engo a écrit :
> Le Sat, 12 Nov 2022 10:18:30 +0100, Didier a écrit :
>
>> Je verse une larme sur la syntaxe du Pascal, où l'affectation se fait
>> par :=
>> C'est sans doute pas top, mais au moins c'est différent de la relation
>> de comparaison, au sens mathématique comme au sens commun.
>
> C'est évidemment la même chose pour les successeurs de Pascal. C'est aussi
> le cas d'Ada.
> NB que les BNF emploient ::= très probablement pour ne pas entrer en
> collision avec l'affectation des langages précités.
>
>
>
Bonsoir,
Juste pour info, c'est quoi les BNF (je connais la BNF François
Mitterand à Paris, mais ce n'est sans doute pas ce qui est évoqué ici).
Didier.

tTh

unread,
Nov 12, 2022, 3:28:06 PM11/12/22
to
On 11/12/22 20:36, Didier wrote:

>> NB que les BNF emploient ::= très probablement pour ne pas entrer en
>> collision avec l'affectation des langages précités.
>>
>>
>>
> Bonsoir,
> Juste pour info, c'est quoi les BNF (je connais la BNF François
> Mitterand à Paris, mais ce n'est sans doute pas ce qui est évoqué ici).

https://fr.wikipedia.org/wiki/Forme_de_Backus-Naur

> Didier.

Didier

unread,
Nov 12, 2022, 4:55:43 PM11/12/22
to
Le 12/11/2022 à 21:28, tTh a écrit :
> On 11/12/22 20:36, Didier wrote:
>
>>> NB que les BNF emploient ::= très probablement pour ne pas entrer en
>>> collision avec l'affectation des langages précités.
>>>
>>>
>>>
>> Bonsoir,
>> Juste pour info, c'est quoi les BNF (je connais la BNF François
>> Mitterand à Paris, mais ce n'est sans doute pas ce qui est évoqué ici).
>
>    https://fr.wikipedia.org/wiki/Forme_de_Backus-Naur
>
>> Didier.
>
Super, merci !
Didier.

Doug713705

unread,
Nov 12, 2022, 11:28:50 PM11/12/22
to
Le 12-11-2022, tTh nous expliquait dans
fr.comp.os.linux.configuration
(<tkmqbc$1vm3$1...@news.gegeweb.eu>) :

> On 11/11/22 21:04, Doug713705 wrote:
>
>> son programme plante. Il pourrait se plaindre des incohérences entre les
>> conventions mais pas incriminer le langage. La responsabilité reste à celui
>> qui utilise le langage.
>
> Mmmm, nodejs ?

NodeJS n'est pas un langage mais une plateforme logicielle.

Le langage utilisé par NodeJS est JavaScript qui, pour palier ses zones
floues autour de la valeur undefined, dispose des deux opérateurs de
comparaison supplémentaires:

=== et son contraire !== (qui permetent de comparer l'égalité stricte
des opérandes en valeur et en type).

Il n'empèche que la responabilité de l'utilisation du langage revient au
programmeur.

*Personne* n'est obligé d'utiliser un langage aussi merdique
que JavaScript. Son utilisation est un choix qui implique une
obligation de respect des conventions et limites qui vienent avec.
0 new messages