def _argsort(it, **kwargs):
    """
    Renvoie une version triée de l'itérable `it`, ainsi que les indices
    correspondants au tri.

    Paramètres :
    ------------
    - it : itérable
    - kwargs
        Mots-clés et valeurs utilisables avec la fonction built-in `sorted`.

    Résultats :
    -----------
    - indexes : itérable d'indices
        Indices des éléments de `it`, dans l'ordre dans lequel les éléments
        apparaissent dans `sortedit`.
    - sortedit : itérable
        Version triée de `it`.

    Exemples :
    ----------
    >>> it = [2, 1, 3]
    >>> indexes, sortedit = _argsort(it)
    >>> indexes
    (1, 0, 2)
    >>> sortedit
    (1, 2, 3)
    >>> [it[x] for x in indexes]
    [1, 2, 3]
    >>> indexes, sortedit = _argsort(it, reverse=True)
    >>> indexes
    (2, 0, 1)
    >>> sortedit
    (3, 2, 1)
    """
    indexes, sortedit = zip(*sorted(enumerate(it), key=lambda x: x[1],
                                    **kwargs))
    return indexes, sortedit