je lis partout le terme "d'associativit=E9" des op=E9rateurs ainsi que le
teme de "priorit=E9" des op=E9rateurs je pense avoir compris celui de la
priorit=E9 mais cette notion d'associativit=E9 reste tr=E8s (trop) floue
pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonjour, La notion d'associativité mathématique est un concept élémentaire des mathématiques dont les définitions ne manquent pas sur Internet.
Une simple recherche Google vous orientera vers ceci : http://www.netmaths.net/lexique/Default.aspx#associativité http://fr.wikipedia.org/wiki/Associativité Qui me semble largement accessible.
Bonne nuit.
On 2010-09-04 23:25:11 +0200, Greydavayar said:
Bonjour a tous,
je lis partout le terme "d'associativité" des opérateurs ainsi que le teme de "priorité" des opérateurs je pense avoir compris celui de la priorité mais cette notion d'associativité reste très (trop) floue pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonne soirée
Bonjour,
La notion d'associativité mathématique est un concept élémentaire des
mathématiques dont les définitions ne manquent pas sur Internet.
Une simple recherche Google vous orientera vers ceci :
http://www.netmaths.net/lexique/Default.aspx#associativité
http://fr.wikipedia.org/wiki/Associativité
Qui me semble largement accessible.
Bonne nuit.
On 2010-09-04 23:25:11 +0200, Greydavayar said:
Bonjour a tous,
je lis partout le terme "d'associativité" des opérateurs ainsi que le
teme de "priorité" des opérateurs je pense avoir compris celui de la
priorité mais cette notion d'associativité reste très (trop) floue
pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonjour, La notion d'associativité mathématique est un concept élémentaire des mathématiques dont les définitions ne manquent pas sur Internet.
Une simple recherche Google vous orientera vers ceci : http://www.netmaths.net/lexique/Default.aspx#associativité http://fr.wikipedia.org/wiki/Associativité Qui me semble largement accessible.
Bonne nuit.
On 2010-09-04 23:25:11 +0200, Greydavayar said:
Bonjour a tous,
je lis partout le terme "d'associativité" des opérateurs ainsi que le teme de "priorité" des opérateurs je pense avoir compris celui de la priorité mais cette notion d'associativité reste très (trop) floue pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonne soirée
Pierre Maurette
Greydavayar, le 04/09/2010 a écrit :
Bonjour a tous,
je lis partout le terme "d'associativité" des opérateurs ainsi que le teme de "priorité" des opérateurs je pense avoir compris celui de la priorité mais cette notion d'associativité reste très (trop) floue pour moi et je ne trouve rien qui l'explique clairement sur le net.
Je pense qu'il y a au moins un bon exemple classique ici, à partir de l'opérateur == : <URL: http://c.developpez.com/cours/bernard-cassagne/node101.php>
Note: à la place de G on trouve plus souvent LR (Left to Right) et RL à la place de D.
Pour illustrer le fait que * (multiplication) a une priorité (ou précédence) 13 supérieure à celle de + (addition) 12, il vous suffit de faire: printf("%dn", 12 + 2 * 4); qui affichera 20, comme: printf("%dn", 12 + (2 * 4)); et non 56 comme le ferait: printf("%dn", (12 + 2) * 4);
Personnellement, je mets toutes les parenthèses nécessaire pour que le code soit limpide, sur du code neuf ou si je peux corriger. En effet, et c'est signalé dans l'article en lien, les priorités ne correspondent pas aux intuitions les plus courantes, en tout cas pour ceux qui ne font pas que du C.
-- Pierre Maurette
Greydavayar, le 04/09/2010 a écrit :
Bonjour a tous,
je lis partout le terme "d'associativité" des opérateurs ainsi que le
teme de "priorité" des opérateurs je pense avoir compris celui de la
priorité mais cette notion d'associativité reste très (trop) floue
pour moi et je ne trouve rien qui l'explique clairement sur le net.
Je pense qu'il y a au moins un bon exemple classique ici, à partir de
l'opérateur == :
<URL: http://c.developpez.com/cours/bernard-cassagne/node101.php>
Note: à la place de G on trouve plus souvent LR (Left to Right) et RL à
la place de D.
Pour illustrer le fait que * (multiplication) a une priorité (ou
précédence) 13 supérieure à celle de + (addition) 12, il vous suffit de
faire:
printf("%dn", 12 + 2 * 4);
qui affichera 20, comme:
printf("%dn", 12 + (2 * 4));
et non 56 comme le ferait:
printf("%dn", (12 + 2) * 4);
Personnellement, je mets toutes les parenthèses nécessaire pour que le
code soit limpide, sur du code neuf ou si je peux corriger. En effet,
et c'est signalé dans l'article en lien, les priorités ne correspondent
pas aux intuitions les plus courantes, en tout cas pour ceux qui ne
font pas que du C.
je lis partout le terme "d'associativité" des opérateurs ainsi que le teme de "priorité" des opérateurs je pense avoir compris celui de la priorité mais cette notion d'associativité reste très (trop) floue pour moi et je ne trouve rien qui l'explique clairement sur le net.
Je pense qu'il y a au moins un bon exemple classique ici, à partir de l'opérateur == : <URL: http://c.developpez.com/cours/bernard-cassagne/node101.php>
Note: à la place de G on trouve plus souvent LR (Left to Right) et RL à la place de D.
Pour illustrer le fait que * (multiplication) a une priorité (ou précédence) 13 supérieure à celle de + (addition) 12, il vous suffit de faire: printf("%dn", 12 + 2 * 4); qui affichera 20, comme: printf("%dn", 12 + (2 * 4)); et non 56 comme le ferait: printf("%dn", (12 + 2) * 4);
Personnellement, je mets toutes les parenthèses nécessaire pour que le code soit limpide, sur du code neuf ou si je peux corriger. En effet, et c'est signalé dans l'article en lien, les priorités ne correspondent pas aux intuitions les plus courantes, en tout cas pour ceux qui ne font pas que du C.
-- Pierre Maurette
caribou
Greydavayar wrote:
Bonjour a tous,
je lis partout le terme "d'associativité" des opérateurs ainsi que le teme de "priorité" des opérateurs je pense avoir compris celui de la priorité mais cette notion d'associativité reste très (trop) floue pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonne soirée
Ben la priorité des opérateurs c'est la règle qui gère l'ordre dans lequel des opérateurs différents seront évalués. Par exemple a + b * c signifie a+(b*c).
L'associativité est utilisée pour savoir dans quel ordre il faut évaluer des opérateurs identiques. Par exemple, en C l'addition est un opérateur binaire, donc quand on écrit a + b + c il faut que le compilo ait une règle pour savoir s'il doit calculer (a+b) + c ou a+(b+c). Souvent le résultat de ces deux évaluations est identique, et mais, par exemple lorsque que la magnitude d'un des deux opérande est vraiment très différente de celle des deux autre, cet ordre peut avoir une influence sur l'arrondi et donc le résultat.
Petit quizz : comment sont évaluées : a - b - c ? a / b / c ?
P.S: à mon avis, un programmeur écrivant des expressions comme ci-dessus mérite un magistral coup de pied au cul !
je lis partout le terme "d'associativité" des opérateurs ainsi que le
teme de "priorité" des opérateurs je pense avoir compris celui de la
priorité mais cette notion d'associativité reste très (trop) floue
pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonne soirée
Ben la priorité des opérateurs c'est la règle qui gère l'ordre dans lequel
des opérateurs différents seront évalués. Par exemple a + b * c signifie
a+(b*c).
L'associativité est utilisée pour savoir dans quel ordre il faut évaluer des
opérateurs identiques. Par exemple, en C l'addition est un opérateur
binaire, donc quand on écrit a + b + c il faut que le compilo ait une règle
pour savoir s'il doit calculer (a+b) + c ou a+(b+c). Souvent le résultat de
ces deux évaluations est identique, et mais, par exemple lorsque que la
magnitude d'un des deux opérande est vraiment très différente de celle des
deux autre, cet ordre peut avoir une influence sur l'arrondi et donc le
résultat.
Petit quizz : comment sont évaluées :
a - b - c ?
a / b / c ?
P.S: à mon avis, un programmeur écrivant des expressions comme ci-dessus
mérite un magistral coup de pied au cul !
je lis partout le terme "d'associativité" des opérateurs ainsi que le teme de "priorité" des opérateurs je pense avoir compris celui de la priorité mais cette notion d'associativité reste très (trop) floue pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonne soirée
Ben la priorité des opérateurs c'est la règle qui gère l'ordre dans lequel des opérateurs différents seront évalués. Par exemple a + b * c signifie a+(b*c).
L'associativité est utilisée pour savoir dans quel ordre il faut évaluer des opérateurs identiques. Par exemple, en C l'addition est un opérateur binaire, donc quand on écrit a + b + c il faut que le compilo ait une règle pour savoir s'il doit calculer (a+b) + c ou a+(b+c). Souvent le résultat de ces deux évaluations est identique, et mais, par exemple lorsque que la magnitude d'un des deux opérande est vraiment très différente de celle des deux autre, cet ordre peut avoir une influence sur l'arrondi et donc le résultat.
Petit quizz : comment sont évaluées : a - b - c ? a / b / c ?
P.S: à mon avis, un programmeur écrivant des expressions comme ci-dessus mérite un magistral coup de pied au cul !
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et qui se proclame "programmeur" merite un petit retour sur ses bancs d'ecole, section arithmetique elementaire...
In article <i5vilk$k86$1@adenine.netfront.net>,
caribou@server.invalid <caribou@server.invalid> wrote:
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et
qui se proclame "programmeur" merite un petit retour sur ses bancs d'ecole,
section arithmetique elementaire...
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et qui se proclame "programmeur" merite un petit retour sur ses bancs d'ecole, section arithmetique elementaire...
Wykaaa
Greydavayar a écrit :
Bonjour a tous,
je lis partout le terme "d'associativité" des opérateurs ainsi que le teme de "priorité" des opérateurs je pense avoir compris celui de la priorité mais cette notion d'associativité reste très (trop) floue pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonne soirée
Et ceci, ce n'est pas clair : http://c.developpez.com/cours/bernard-cassagne/node101.php ?
Exemples pour l'associativité : - Associativité à gauche de l'opérateur + binaire : a + b + c + d s'interprète comme : (((a + b) + c ) + d) - Associativité à droite de l'opérateur d'affectation : a = b = c = d s'interprète comme : (a = (b = (c = d))) c est affecté par d. Puis le résultat est affecté à b, puis le résultat de cette nouvelle affectation est affecté à a. Je parle de résultat car il peut y avoir des conversions à chaque étape si les variables ne sont pas de même type.
Il est conseillé de TOUJOURS mettre les parenthèses dans les expressions.
Priorité des opérateurs : - La multiplication est prioritaire par rapport à l'addition. Ceci signifie que : a + b * c s'interprète comme : a + (b * c) - attention à certains cas : l'opérateur & (opérateur ET bit à bit) est plus prioritaire que les opérations arithmétiques a + b & c s'interprète comme a + (b & c) En général, ce que souhaite le programmeur, c'est plutôt faire : (a + b) & c (appliquer un "masque" au résultat de l'addition). J'ai vu je ne sais combien de fois cette erreur en faisant des revues de code (et pas seulement en C, C++ ou Java mais aussi en PL/1, par exemple).
Greydavayar a écrit :
Bonjour a tous,
je lis partout le terme "d'associativité" des opérateurs ainsi que le
teme de "priorité" des opérateurs je pense avoir compris celui de la
priorité mais cette notion d'associativité reste très (trop) floue
pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonne soirée
Et ceci, ce n'est pas clair :
http://c.developpez.com/cours/bernard-cassagne/node101.php ?
Exemples pour l'associativité :
- Associativité à gauche de l'opérateur + binaire :
a + b + c + d s'interprète comme :
(((a + b) + c ) + d)
- Associativité à droite de l'opérateur d'affectation :
a = b = c = d s'interprète comme :
(a = (b = (c = d)))
c est affecté par d. Puis le résultat est affecté à b, puis le résultat
de cette nouvelle affectation est affecté à a. Je parle de résultat car
il peut y avoir des conversions à chaque étape si les variables ne sont
pas de même type.
Il est conseillé de TOUJOURS mettre les parenthèses dans les expressions.
Priorité des opérateurs :
- La multiplication est prioritaire par rapport à l'addition. Ceci
signifie que :
a + b * c s'interprète comme :
a + (b * c)
- attention à certains cas : l'opérateur & (opérateur ET bit à bit) est
plus prioritaire que les opérations arithmétiques
a + b & c s'interprète comme
a + (b & c)
En général, ce que souhaite le programmeur, c'est plutôt faire :
(a + b) & c (appliquer un "masque" au résultat de l'addition).
J'ai vu je ne sais combien de fois cette erreur en faisant des revues de
code (et pas seulement en C, C++ ou Java mais aussi en PL/1, par exemple).
je lis partout le terme "d'associativité" des opérateurs ainsi que le teme de "priorité" des opérateurs je pense avoir compris celui de la priorité mais cette notion d'associativité reste très (trop) floue pour moi et je ne trouve rien qui l'explique clairement sur le net.
Bonne soirée
Et ceci, ce n'est pas clair : http://c.developpez.com/cours/bernard-cassagne/node101.php ?
Exemples pour l'associativité : - Associativité à gauche de l'opérateur + binaire : a + b + c + d s'interprète comme : (((a + b) + c ) + d) - Associativité à droite de l'opérateur d'affectation : a = b = c = d s'interprète comme : (a = (b = (c = d))) c est affecté par d. Puis le résultat est affecté à b, puis le résultat de cette nouvelle affectation est affecté à a. Je parle de résultat car il peut y avoir des conversions à chaque étape si les variables ne sont pas de même type.
Il est conseillé de TOUJOURS mettre les parenthèses dans les expressions.
Priorité des opérateurs : - La multiplication est prioritaire par rapport à l'addition. Ceci signifie que : a + b * c s'interprète comme : a + (b * c) - attention à certains cas : l'opérateur & (opérateur ET bit à bit) est plus prioritaire que les opérations arithmétiques a + b & c s'interprète comme a + (b & c) En général, ce que souhaite le programmeur, c'est plutôt faire : (a + b) & c (appliquer un "masque" au résultat de l'addition). J'ai vu je ne sais combien de fois cette erreur en faisant des revues de code (et pas seulement en C, C++ ou Java mais aussi en PL/1, par exemple).
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et qui se proclame "programmeur" merite un petit retour sur ses bancs d'ecole, section arithmetique elementaire...
Ou alors il a trop fait d'APL recemment. :-)
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et
qui se proclame "programmeur" merite un petit retour sur ses bancs d'ecole,
section arithmetique elementaire...
Ou alors il a trop fait d'APL recemment. :-)
A+
--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et qui se proclame "programmeur" merite un petit retour sur ses bancs d'ecole, section arithmetique elementaire...
Ou alors il a trop fait d'APL recemment. :-)
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
Jean-Marc Bourguet
Anthony Gelibert writes:
Bonjour, La notion d'associativité mathématique est un concept élémentaire des mathématiques dont les définitions ne manquent pas sur Internet.
Une simple recherche Google vous orientera vers ceci : http://www.netmaths.net/lexique/Default.aspx#associativité http://fr.wikipedia.org/wiki/Associativité Qui me semble largement accessible.
Et qui ne correspond pas au sens employe dans ce contexte.
Sur cette page, l'associativite est une propriete qui indique que les parentheses sont supperflues car ne changeant pas le resultat.
Dans ce contexte, c'est une regle du langage indiquant comment ajouter les parentheses pour optenir une expression non ambigue (tout comme la priorite).
A noter que ces regles n'impose qu'un ordre partiel d'evaluation.
A noter egalement que les priorites et l'associativite, c'est fonction du langage. Meme si on tend a avoir des systemes proches de l'usage mathematique (pour autant qu'il soit bien defini), il y a parfois des exceptions plus ou moins perturbante (APL n'a pas de priorite et tout les operateurs sont associatifs a droite, mais c'est un exemple extreme).
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
Anthony Gelibert <anthony.gelibert@me.com> writes:
Bonjour,
La notion d'associativité mathématique est un concept élémentaire des
mathématiques dont les définitions ne manquent pas sur Internet.
Une simple recherche Google vous orientera vers ceci :
http://www.netmaths.net/lexique/Default.aspx#associativité
http://fr.wikipedia.org/wiki/Associativité
Qui me semble largement accessible.
Et qui ne correspond pas au sens employe dans ce contexte.
Sur cette page, l'associativite est une propriete qui indique que les
parentheses sont supperflues car ne changeant pas le resultat.
Dans ce contexte, c'est une regle du langage indiquant comment ajouter les
parentheses pour optenir une expression non ambigue (tout comme la
priorite).
A noter que ces regles n'impose qu'un ordre partiel d'evaluation.
A noter egalement que les priorites et l'associativite, c'est fonction du
langage. Meme si on tend a avoir des systemes proches de l'usage
mathematique (pour autant qu'il soit bien defini), il y a parfois des
exceptions plus ou moins perturbante (APL n'a pas de priorite et tout les
operateurs sont associatifs a droite, mais c'est un exemple extreme).
A+
--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Bonjour, La notion d'associativité mathématique est un concept élémentaire des mathématiques dont les définitions ne manquent pas sur Internet.
Une simple recherche Google vous orientera vers ceci : http://www.netmaths.net/lexique/Default.aspx#associativité http://fr.wikipedia.org/wiki/Associativité Qui me semble largement accessible.
Et qui ne correspond pas au sens employe dans ce contexte.
Sur cette page, l'associativite est une propriete qui indique que les parentheses sont supperflues car ne changeant pas le resultat.
Dans ce contexte, c'est une regle du langage indiquant comment ajouter les parentheses pour optenir une expression non ambigue (tout comme la priorite).
A noter que ces regles n'impose qu'un ordre partiel d'evaluation.
A noter egalement que les priorites et l'associativite, c'est fonction du langage. Meme si on tend a avoir des systemes proches de l'usage mathematique (pour autant qu'il soit bien defini), il y a parfois des exceptions plus ou moins perturbante (APL n'a pas de priorite et tout les operateurs sont associatifs a droite, mais c'est un exemple extreme).
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et qui se proclame "programmeur" merite un petit retour sur ses bancs d'ecole, section arithmetique elementaire...
Ou alors il a trop fait d'APL recemment. :-)
comme tu le fais justement remarquer un peu plus haut, les règles d'associativité sont dépendantes du langage et donc je reste persuadé qu'un programmeur qui est capable d'écrire des expressions commmes celles que j'ai mentionné ci-dessus ne cherche pas à avoir du code facile à maintenir (même dans plusieurs années) mais juste à montrer sa maîtrise du langage.
J'ai tellement vu de bugs juste parce qu'un programmeur maladroit, croyant maitriser les subtilités d'un langage, préférait faire "pédant et compliqué" alors qu'il aurait du faire "simple et clair". Le "obfuscated C code contest" est une preuve de maitrise indéniable et une activité très amusante, mais j'aurais de la peine à la recommander pour les vrais programmes.
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et
qui se proclame "programmeur" merite un petit retour sur ses bancs
d'ecole, section arithmetique elementaire...
Ou alors il a trop fait d'APL recemment. :-)
comme tu le fais justement remarquer un peu plus haut, les règles
d'associativité sont dépendantes du langage et donc je reste persuadé qu'un
programmeur qui est capable d'écrire des expressions commmes celles que
j'ai mentionné ci-dessus ne cherche pas à avoir du code facile à maintenir
(même dans plusieurs années) mais juste à montrer sa maîtrise du langage.
J'ai tellement vu de bugs juste parce qu'un programmeur maladroit, croyant
maitriser les subtilités d'un langage, préférait faire "pédant et
compliqué" alors qu'il aurait du faire "simple et clair". Le "obfuscated C
code contest" est une preuve de maitrise indéniable et une activité très
amusante, mais j'aurais de la peine à la recommander pour les vrais
programmes.
A mon avis, quelqu'un qui ne sait pas lire les expressions ci-dessus et qui se proclame "programmeur" merite un petit retour sur ses bancs d'ecole, section arithmetique elementaire...
Ou alors il a trop fait d'APL recemment. :-)
comme tu le fais justement remarquer un peu plus haut, les règles d'associativité sont dépendantes du langage et donc je reste persuadé qu'un programmeur qui est capable d'écrire des expressions commmes celles que j'ai mentionné ci-dessus ne cherche pas à avoir du code facile à maintenir (même dans plusieurs années) mais juste à montrer sa maîtrise du langage.
J'ai tellement vu de bugs juste parce qu'un programmeur maladroit, croyant maitriser les subtilités d'un langage, préférait faire "pédant et compliqué" alors qu'il aurait du faire "simple et clair". Le "obfuscated C code contest" est une preuve de maitrise indéniable et une activité très amusante, mais j'aurais de la peine à la recommander pour les vrais programmes.
comme tu le fais justement remarquer un peu plus haut, les règles d'associativité sont dépendantes du langage et donc je reste persuadé qu'un programmeur qui est capable d'écrire des expressions commmes celles que j'ai mentionné ci-dessus ne cherche pas à avoir du code facile à maintenir (même dans plusieurs années) mais juste à montrer sa maîtrise du langage.
Je suis plutot de l'avis de Marc, un programmeur qui a besoin de parentheses sur ces expressions est incompetant dans ce langage. Ce n'est pas une subtilite.
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
comme tu le fais justement remarquer un peu plus haut, les règles
d'associativité sont dépendantes du langage et donc je reste persuadé qu'un
programmeur qui est capable d'écrire des expressions commmes celles que
j'ai mentionné ci-dessus ne cherche pas à avoir du code facile à maintenir
(même dans plusieurs années) mais juste à montrer sa maîtrise du langage.
Je suis plutot de l'avis de Marc, un programmeur qui a besoin de
parentheses sur ces expressions est incompetant dans ce langage. Ce n'est
pas une subtilite.
A+
--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
comme tu le fais justement remarquer un peu plus haut, les règles d'associativité sont dépendantes du langage et donc je reste persuadé qu'un programmeur qui est capable d'écrire des expressions commmes celles que j'ai mentionné ci-dessus ne cherche pas à avoir du code facile à maintenir (même dans plusieurs années) mais juste à montrer sa maîtrise du langage.
Je suis plutot de l'avis de Marc, un programmeur qui a besoin de parentheses sur ces expressions est incompetant dans ce langage. Ce n'est pas une subtilite.
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org