Voir le sujet précédentAller en basVoir le sujet suivant
ycombe
Monarque

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par ycombe Ven 3 Juil - 10:03
Flo44 a écrit:Comme je vous l'ai dit, Python j'ai essayé, mais comme je n'en ai finalement pas eu besoin, j'ai laissé tomber. Donc j'ai parlé de tableaux alors qu'il semblerait que je pensais plutôt aux listes. Bref. Voici ce que je supporte très mal :

Code:

x = range(3, 6)
for n in x:
  print(n)
Pour afficher les nombres de 1 à 5
Quand on a vu ça à l'Espe, tous les anciens développeurs de la salle ont été choqués. C'est totalement illogique (en tout cas ça va à l'encontre de tous les autres langages de programmation). Quand on donne un intervalle d'entier, on donne généralement le plus petit élément, et le plus grand...

Déjà, je n'aime pas trop les langages qui commencent leurs indices à zéro (vous comptez à partir de zéro, vous? vous prenez le 0-ième élément d'une liste?)

Code:
>>> squares = []
>>> for x in range(10):
...     squares.append(x**2)
...
>>> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Si on dit que c'est range(10), pour moi ça va de 1 à 10...
Mon cerveau ne doit pas être fait pour ça.

Mais peut-être qu'en fait je me trompe, et que les débutants ne sont pas dérangés par cela. Ou alors peut-être que vous n'utilisez jamais le parcours de liste avec les indices de position?
Je ne pense pas que de vrais développeurs puissent être choqués par le range(10) qui part de 0: cela correspond à l'usage de beaucoup de langage de programmation et en particuliers de tous ceux basés sur le C dans lequel les indices des tableaux commencent à 0 (pour une raison évidente: en C le tableau n'est rien d'autre que l'adresse de la première case). Les langages qui ne font pas commencer les tableaux à 0 existent mais sont beaucoup moins répandus.

L'idée de générer une liste par un range() pour faire des boucles for m'a personnellement choqué au début. Dans la plupart des langages une seule variable est utilisé,  en python c'était du gaspillage de mémoire. C'est un problème réglé depuis python3 avec l'apparition des générateurs: le range() ne renvoie plus une liste.

Ton exemple sur les squares peut maintenant s'écrire en extension:
Code:

>>> squares = [ x**2 for x in range(10) ]
>>> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
L'évolution de Python apporte des outils très intéressants. Je suis beaucoup plus convaincu par Python3  que je ne l'étais par Python2 (mais je maintiens que ce n'est pas un bon outil pour enseigner à des débutants).

L'exemple ci-dessus utilise une fonction génératrice, comme on peut le voir en le réécrivant ainsi:
Code:

>>> squares = ( x**2 for x in range(10) )
>>> squares.__next__()
0
>>> squares.__next__()
1
>>> squares.__next__()
4
>>> squares.__next__()
9
>>> squares.__next__()
16
>>> squares.__next__()
25
>>> squares.__next__()
36
>>> squares.__next__()
49
>>> squares.__next__()
64
>>> squares.__next__()
81
>>> squares.__next__()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration

avatar
Flo44
Érudit

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Flo44 Ven 3 Juil - 10:54
ycombe a écrit:Je ne pense pas que de vrais développeurs puissent être choqués par le range(10) qui part de 0: cela correspond à l'usage de beaucoup de langage de programmation et en particuliers de tous ceux basés sur le C dans lequel les indices des tableaux commencent à 0 (pour une raison évidente: en C le tableau n'est rien d'autre que l'adresse de la première case). Les langages qui ne font pas commencer les tableaux à 0 existent mais sont beaucoup moins répandus.

Tu ne m'as pas bien lu : ce qui me choque, ce n'est pas vraiment que ça commence à 0 (même si je préfère commencer à 1), c'est que 10 n'est pas le plus grand indice! C'est ça que je ne trouve pas du tout logique. Alors évidemment, c'est le nombre d'élément. Mais quand j'écris range (1..10) je m'attends logiquement à avoir des indices de 1 à ... 10! pas de 1 à 9.
Sinon, Pascal, si mes souvenirs sont exacts, commence à 1. (probablement Ada aussi...)
Et puis c'est méprisant ce que tu écris là. J'ai un diplôme d'ingénieur (d'une vraie école publique sérieuse et reconnue, pas un truc privé pour fils à papa). J'ai ensuite développé dans le privé pendant 15 ans (et encadré des développeurs, et donné des formations techniques : développement, système et base de données), je pense pouvoir affirmer que je sais développer...
Lli@ne
Lli@ne
Niveau 1

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Lli@ne Ven 3 Juil - 11:04
Je me permet d'intervenir concernant le range, n'ayant pas réussi à m'habituer à l'écriture du range(10) je lui préfère l'écriture range(0,10,1) (qui est plus clairement l'équivalent du for(i=0;i<10;i++)

Par contre, pas en SNT certes mais en NSI, on est amené à manipuler des structures et utiliser du python pour de l'objet... Là la syntaxe de python me dérange plus, le fait de ne pas annoncer d'office les éléments de la classe est perturbant

class Point:

p = Point()
p.x = 1
p.y = 2

Oui vous pourrez argumenter qu'on implémente l'init qui nous apprend la valeur de base des attributs mais je ne trouve pas ça pratique pédagogiquement.

Comment faites-vous ?
Simeon
Simeon
Niveau 10

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Simeon Ven 3 Juil - 12:33
Lli@ne a écrit:

class Point:

p = Point()
p.x = 1
p.y = 2

Oui vous pourrez argumenter qu'on implémente l'init qui nous apprend la valeur de base des attributs mais je ne trouve pas ça pratique pédagogiquement.

Comment faites-vous ?

Tu as vu ça où ? Parce que ce n'est pas du Python valide, et même si on modifie légèrement pour que ça passe, c'est du Javascript barbare plutôt que du Python.
Tu n'as pas eu un cours à ce sujet pendant le diu ?
kroutu
kroutu
Niveau 6

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par kroutu Ven 3 Juil - 12:50
Il manque juste un "pass" sous la définition de classe pour que ça devienne OK.
Rwan
Rwan
Niveau 6

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Rwan Ven 3 Juil - 13:14
Un mot rapide à ceux qui disent que le langage "n'est pas logique" : remettez vous en question, peut-être que c'est vous qui n'avez pas compris la logique... range (10) renvoi certes les nombres de 0 à 9. Mais surtout, il renvoi 10 éléments. 1 à 10 renverrais aussi 10 éléments, mais pas le 0, qui est pourtant indispensable dans beaucoup de cas.
N'importe quel langage est obligé de faire de choix, à un moment faut arrêter de ce crisper sur des détails au prétexte qu'il faut changer ses habitudes.

class Point:

p = Point()
p.x = 1
p.y = 2

Oui vous pourrez argumenter qu'on implémente l'init qui nous apprend la valeur de base des attributs mais je ne trouve pas ça pratique pédagogiquement.

Comment faites-vous ?

Code:

class Point:
   def __init__ (self, x, y):
      self.x = x
      self.y = y

p = Point (1, 2)

_________________
Q est dénombrable, et dense dans R
Pourtant R est n'est pas dénombrable.

C'est beau.
Lli@ne
Lli@ne
Niveau 1

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Lli@ne Ven 3 Juil - 13:29
Simeon a écrit:
Lli@ne a écrit:

class Point:

p = Point()
p.x = 1
p.y = 2

Oui vous pourrez argumenter qu'on implémente l'init qui nous apprend la valeur de base des attributs mais je ne trouve pas ça pratique pédagogiquement.

Comment faites-vous ?

Tu as vu ça où ? Parce que ce n'est pas du Python valide, et même si on modifie légèrement pour que ça passe, c'est du Javascript barbare plutôt que du Python.
Tu n'as pas eu un cours à ce sujet pendant le diu ?

Bonjour, j'avoue avoir fait un basique copier-coller d'un site web (https://courspython.com/classes-et-objets.html) pour donner un exemple de ce qui me questionne.

Et je précise en dessous, qu'effectivement on implémente l'init en plus à minima. (je n'ai pas précisé que les attributs devraient être privés et donc qu'on devrait avoir getter et setter car là n'était pas le but de ma question)

Ma question est :

En modélisation, on définit clairement une classe et les attributs d'une classe. En java, quand on déclare cette classe, on voit bien tout apparaitre

Exemple :

public class Point{

//Attributs
private int x;
private int y;

etc...}

Cependant je trouve qu'en python cette notion est plus induite et donc moins évidente... Comment faites-vous pour guider les étudiants sur ce type de problématique ?
kroutu
kroutu
Niveau 6

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par kroutu Ven 3 Juil - 13:59
Grosso modo, en Python, tu peux considérer que cette déclaration des attributs est décalée dans le constructeur. Ce n'est pas parfaitement vrai (toute méthode de la classe peut définir de nouveaux attributs, et tu peux toujours envisager des situations où tu ne sauras quelle valeur donner aux attributs au moment de la création), mais au tout petit niveau qui nous intéresse c'est une bonne approximation.
Et effectivement, c'est moins évident en Python simplement parce que ce langage est beaucoup plus permissif concernant la définition de classe. Tu peux faire une grosse classe qui fait plein de trucs, et dans ton programme qui utilise cette classe, décider au milieu de nulle part de lui ajouter un attribut qui n'existe pas dans ta définition.

Code:

class Point:
  def __init__(self,x,y):
        self.x = x
        self.y = y

p = Point(1,2)
p.name = "A"

Ceci est un code parfaitement valide, alors que la classe Point ne définit pas d'attribut "name".
avatar
Flo44
Érudit

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Flo44 Ven 3 Juil - 15:08
Rwan a écrit:Un mot rapide à ceux qui disent que le langage "n'est pas logique" : remettez vous en question, peut-être que c'est vous qui n'avez pas compris la logique... range (10) renvoi certes les nombres de 0 à 9. Mais surtout, il renvoi 10 éléments. 1 à 10 renverrais aussi 10 éléments, mais pas le 0, qui est pourtant indispensable dans beaucoup de cas.
N'importe quel langage est obligé de faire de choix, à un moment faut arrêter de ce crisper sur des détails au prétexte qu'il faut changer ses habitudes.

J'ai dit que je trouvais cela pas logique. Pour en revenir au sujet initial, je m'interrogeais sur le fait que ça puisse poser problème à des débutants, pas sur le fait que j'arriverais à m'en accommoder : si j'ai abandonné, c'est parce que je n'accrochais pas et que je n'en avais pas besoin dans l'immédiat. Sinon, je peux te dire qu'en formation, tous ceux qui découvraient le langage ont eu la même réaction.

Pour ma part, ce n'est pas une question de changer ses habitudes ou pas. Ce n'est pas le problème ni la question. Le sujet, c'est Python pour les débutants. Et les problèmes que j'ai relevés, mon conjoint y est confronté régulièrement avec ses collègues qui développent en Python (notamment les erreurs d'indentation, les erreurs d'indice), y compris avec ceux qui ont débuté avec Python. Je ne les invente donc pas, ces problèmes, s'ils ressortent dans le milieu professionnel.
Alors ça suffit avec les attaques personnelles à demi voilées, enfin... Pour ma part je sais que dans ma vie professionnelle j'ai changé un bon paquet de fois mes habitudes pour passer d'un langage à un autre qui n'avait rien à voir (sans compter les fois où j'ai totalement changé de poste), alors tes remarques blessantes sur les habitudes...

Sinon, sujet clos pour moi. J'ai lu tes réponses et celles des autres à ce sujet, j'ai remercié, alors arrête.


Simeon
Simeon
Niveau 10

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Simeon Ven 3 Juil - 19:47
Bonjour, j'avoue avoir fait un basique copier-coller d'un site web (https://courspython.com/classes-et-objets.html) pour donner un exemple de ce qui me questionne.

Et je précise en dessous, qu'effectivement on implémente l'init en plus à minima. (je n'ai pas précisé que les attributs devraient être privés et donc qu'on devrait avoir getter et setter car là n'était pas le but de ma question)

Il ne faut vraiment pas présenter les choses de la sorte, ce cours se focalise trop sur la partie technique et pas assez sur les intentions, on a aussi l'illustration que commencer par écrire du code très moche est juste perturbant.


En modélisation, on définit clairement une classe et les attributs d'une classe.

C'est ce qu'il faut faire aussi en NSI pour moi.

(PS: j'ai trouvé la réponse à Flo44 très dure, et injuste vue son ouverture d'esprit)
avatar
Call_BB5A
Niveau 5

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Call_BB5A Sam 4 Juil - 0:43
Lli@ne a écrit:Cependant je trouve qu'en python cette notion est plus induite et donc moins évidente... Comment faites-vous pour guider les étudiants sur ce type de problématique ?
On commence simplement par leur donner l'habitude de commenter la classe en précisant les attributs utilisés, leur signification et leur type.
Code:
class Point:
    """Implémentation d'un point d'attributs:
    x : abscisse du point (float)
    y : ordonnée du point (float)
    """
    def __init__(self, x, y):
        self.x = x
        self.y = y
ycombe
ycombe
Monarque

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par ycombe Sam 4 Juil - 11:39
kroutu a écrit:Grosso modo, en Python, tu peux considérer que cette déclaration des attributs est décalée dans le constructeur. Ce n'est pas parfaitement vrai (toute méthode de la classe peut définir de nouveaux attributs, et tu peux toujours envisager des situations où tu ne sauras quelle valeur donner aux attributs au moment de la création), mais au tout petit niveau qui nous intéresse c'est une bonne approximation.
Et effectivement, c'est moins évident en Python simplement parce que ce langage est beaucoup plus permissif concernant la définition de classe. Tu peux faire une grosse classe qui fait plein de trucs, et dans ton programme qui utilise cette classe, décider au milieu de nulle part de lui ajouter un attribut qui n'existe pas dans ta définition.

Code:

class Point:
   def __init__(self,x,y):
        self.x = x
        self.y = y

p = Point(1,2)
p.name = "A"

Ceci est un code parfaitement valide, alors que la classe Point ne définit pas d'attribut "name".
Python permet une bonne programmation objet, en masquant des attributs et en les rendant inaccessible de l'extérieur. Le problème c'est qu'en première approche, il permet surtout de ne pas le faire, d'ajouter n'importe quel attribut n'importe quand et d'accéder directement aux valeurs des attributs. La différence attribut/propriété est d'ailleurs emblématique du bordel que ça peut finir par représenter.

Je n'aime pas trop la programmation objet à la java, mais là je trouve que Python permet surtout de prendre de mauvaises habitudes en faisant n'importe quoi.

C'est pareil avec ça boucle "for", d'ailleurs. En Python la boucle for est conçue comme une répétition sur les éléments d'une liste/tableau. Ce n'est clairement pas une répétition sur une plage de valeurs avec un pas, comme dans la plupart des autres langages. Mais dans quasiment tous les cours de Python, on commence avec "for i in range(10)", c'est à dire qu'on commence avec la logique des autres langages, logique qui n'est pas celle de Python. Je n'aime pas ce genre de mélange, je trouve qu'il manque la clarté apportée par la compréhension des choix du langage.

_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".

Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
Rwan
Rwan
Niveau 6

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Rwan Sam 4 Juil - 11:47
Python permet surtout de prendre de mauvaises habitudes en faisant n'importe quoi.
C'est un dilemme courant : soit tu verrouilles les options, ce qui oblige à programmer "proprement" mais rend souvent l'écriture pénible, soit tu fait confiance à l’intelligence du programmeur (et du prof d'info) pour utiliser les libertés quand c'est utile / pas grave, et pour écrire proprement quand il faut.

En Python la boucle for est conçue comme une répétition sur les éléments d'une liste/tableau de manière générale, un itérablemais je pinaille. Ce n'est clairement pas une répétition sur une plage de valeurs avec un pas, comme dans la plupart des autres langages

ça c'est un choix de conception, qui est super pratique dans plein de cas, mais qui peut être déroutant. Après, ce n'est pas non plus très coûteux de dire "pour faire 'répéter x fois', tu écris for i in range (x)"

Je n'aime pas ce genre de mélange, je trouve qu'il manque la clarté apportée par la compréhension des choix du langage.
Je pense que c'est un problème de maturité de l'enseignement. Sans oublier que, du moins au lycée, on n'enseigne pas le python, mais l'algorithmie, ce qui force à "éviter" les caractéristiques de python pour se concentrer sur un code proche du pseudo-langage.

_________________
Q est dénombrable, et dense dans R
Pourtant R est n'est pas dénombrable.

C'est beau.
Simeon
Simeon
Niveau 10

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Simeon Sam 4 Juil - 14:01
ycombe a écrit:C'est pareil avec ça boucle "for", d'ailleurs. En Python la boucle for est conçue comme une répétition sur les éléments d'une liste/tableau. Ce n'est clairement pas une répétition sur une plage de valeurs avec un pas, comme dans la plupart des autres langages. Mais dans quasiment tous les cours de Python, on commence avec "for i in range(10)", c'est à dire qu'on commence avec la logique des autres langages, logique qui n'est pas celle de Python. Je n'aime pas ce genre de mélange, je trouve qu'il manque la clarté apportée par la compréhension des choix du langage.

J'ai déjà tenté de commencer par des for sur des listes ou même de commencer par:

Code:
for i in 10, 2, 1, 4:
# (je sens que ça va pas plaire)
J'ai l'impression que ça marche bien avec un public qui sait déjà un peu programmer.
Avec les élèves j'ai l'impression que ça marche ni mieux, ni moins bien que d'attaquer avec le range.
Pas mal de cours attaquent d'abord avec le while, et font le for plus tardivement, j'ai essayé et ça marche bof aussi, car il est difficile de trop repousser l'introduction du for, et l'assimilation du while n'est pas vraiment suffisante pour éclairer le for.
ycombe
ycombe
Monarque

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par ycombe Sam 4 Juil - 14:17
Rwan a écrit:
En Python la boucle for est conçue comme une répétition sur les éléments d'une liste/tableau de manière générale, un itérablemais je pinaille.

Pour pinailler complètement, l'itérable n'est pas l'idée de départ: la notion apparaît dans Python3.

doc de Python 1.4 a écrit:
The for statement in Python differs a bit from what you may be used to in C or Pascal. Rather than always iterating over an arithmetic progression of numbers (like in Pascal), or leaving the user completely free in the iteration test and step (as C), Python's for statement iterates over the items of any sequence (e.g., a list or a string), in the order that they appear in the sequence.

On retrouve en fait le fonctionnement des langages de script (Python est un langage de script au départ) comme bash qui fonctionne grosso modo de la même façon, la fonction 'seq' remplaçant la fonction 'range' (seq 1 4 génère 1 2 3 4).

doc de Python 1.4 a écrit:
4.3 The range() Function

If you do need to iterate over a sequence of numbers, the built-in function range() comes in handy. It generates lists containing arithmetic progressions, e.g.:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>

The given end point is never part of the generated list; range(10) generates a list of 10 values, exactly the legal indices for items of a sequence of length 10. It is possible to let the range start at another number, or to specify a different increment (even negative):

>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]
>>>

To iterate over the indices of a sequence, combine range() and len() as follows:

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...     print i, a[i]
...
0 Mary
1 had
2 a
3 little
4 lamb
>>>

_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".

Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
Rwan
Rwan
Niveau 6

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par Rwan Sam 4 Juil - 14:25
Intéressant!

_________________
Q est dénombrable, et dense dans R
Pourtant R est n'est pas dénombrable.

C'est beau.
ycombe
ycombe
Monarque

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par ycombe Sam 4 Juil - 19:37
Rwan a écrit:Intéressant!
En fait, j'aime cet aspect de l'évolution de Python. On a une idiotie de départ qui s'est transformé en idée super intéressante avec cette histoire d'iterable puis de fonction et d'expression génératrice.

Quelque part, Python remet de la généricité (ce concept mis en avant dans Ada, des années avant la mode de la programmation objet) dans la façon de programmer.






_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".

Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
ycombe
ycombe
Monarque

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par ycombe Sam 4 Juil - 19:54
Simeon a écrit:J'ai déjà tenté de commencer par des for sur des listes ou même de commencer par:

Code:
for i in 10, 2, 1, 4:
# (je sens que ça va pas plaire)
J'ai l'impression que ça marche bien avec un public qui sait déjà un peu programmer.
J'aurais commencé par une liste. Le tuple n'a qu'un intérêt faible pour commencer la programmation.



_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".

Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
kaktus65
kaktus65
Niveau 10

[maths-SNT] Avantages du langage Python - Page 3 Empty Re: [maths-SNT] Avantages du langage Python

par kaktus65 Sam 4 Juil - 19:58
ycombe a écrit:
Rwan a écrit:Intéressant!
En fait, j'aime cet aspect de l'évolution de Python. On a une idiotie de départ qui s'est transformé en idée super intéressante avec cette histoire d'iterable puis de fonction et d'expression génératrice.

Quelque part, Python remet de la généricité (ce concept mis en avant dans Ada, des années avant la mode de la programmation objet) dans la façon de programmer.






On voit bien l'influence du C++ Smile
Assez d'accord sur le fond en tout cas.
Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum