Après une après midis de recherche, j'ai enfin réussi à détecter la faille.
Le meilleur conseil : lancer le script en local, profitez d'avoir les sources pour tous regarder, pour "echo" chaque variables...
Et surtout :
J'ai juste enormément bloqué sur le double