--- /dev/null
+#!/usr/bin/env python
+# -*- encoding: utf-8 -*-
+
+""" Pour mélanger les lettres dans l'ordre des mots.
+http://www.sauv.net/cmabrigde.php
+"""
+
+import re
+import sys
+import random
+
+reg = re.compile(r"\b(?P<word>\w+)\b", flags=re.UNICODE)
+
+def shuffle_word(word):
+ """Mélange un mot. Avec une bonne définition de "mélange"."""
+ if len(word) in [0, 1, 2]:
+ return word
+ inside_word = list(word[1:-1])
+ random.shuffle(inside_word)
+ return word[0] + "".join(inside_word) + word[-1]
+
+def shuffle(sentence):
+ """Mélange les mots. Avec une bonne définition de "mots" et de "mélange"."""
+ result, pos = u"", 0
+ for match in reg.finditer(sentence):
+ start, end = match.span()
+ result += sentence[pos:start]
+ result += shuffle_word(match.groupdict()["word"])
+ pos = end
+ result += sentence[pos:]
+ return result
+
+if __name__ == "__main__":
+ sentence = " ".join(sys.argv[1:])
+ sentence = sentence.decode("utf-8")
+ sentence = shuffle(sentence)
+ print sentence.encode("utf-8")