Optimisation pass 2

Pas besoin de passer deux fois dans is_xxx il suffit de stocker le resultat et pas besoin de tester tous les cas si on est un type d'item on est pas un autre.