fonctionnement des algorithmes