[English summary: The pseudo-random number generator does not give random numbers. You have to initialize it, or it will always give out the same sequence of numbers.] >From: Patrice AUFFRET > Mais lorsque je compile le >programme, j'obtiens toujours le meme nombre. Eh oui, Caml est un langage déterministe, ce qui veut dire que le même programme donne toujours le même résultat, à moins de faire des entrées-sorties (au sens large: toute communication avec le système d'exploitation est une entrée-sortie). Il faut donc donner au générateur de nombres pseudo-aléatoires un point de départ à partir duquel il pond une suite de nombres. En général, on utilise la date et l'heure comme donnée de départ. Le générateur ne le fait pas lui-même car il est souvent utile de pouvoir répéter une exécution à l'identique (par exemple pour déboguer ou pour refaire une simulation). > Le compilateur crée un >nombre qu'il gardera de manière permanante lors de l'exécution >ultérieure du programme. Pas vraiment. Le compilateur est parfois subtil mais jamais méchant. >Comment faire pour qu'il change à chaque >exécution du programme compilé ? Vous devez utiliser la fonction Random.init ou Random.full_init (random__init, random__full_init en Caml Light). -- Damien