La solution se trouve bien dans les regles c'est à dire dans \lib\udev\rules.d
Dans ce dossier se trouve toutes les regles d'attributions des ports, dont ceux de USB
en tapant:
udevadm info --name=/dev/ttyUSB0 --attribute-walk
puis
udevadm info --name=/dev/ttyUSB1 --attribute-walk
je trouve tous mes devices USB connectés, avec des parametres qui me permettent de les identifier.
Avec ces identifiats propres à chaques devices, j'ai ajouté au fichier 99-systemd.rules les deux lignes suivantes:
KERNEL=="ttyUSB*", ATTRS{serial}=="DA6AVDUK", ATTRS{product}=="Interface USB 1 TIC", ATTRS{manufacturer}=="Cartelectronic", SYMLINK+="ttyUSB5"
KERNEL=="ttyUSB*", ATTRS{serial}=="DE03217673", ATTRS{product}=="ConBee III", ATTRS{manufacturer}=="dresden elektronik", SYMLINK+="ttyUSB6"
juste devant la ligne ci-dessous
SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd"
Dans une règle la ',' (virgule) correpond à ET. Si toutes les conditions de la ligne sont remplies, le lien ttyUSB5 est crée, idem pour le ttyUSB6.
Ainsi les deux devices ne sont jamais sur le meme port tty.
dans mes php docker, je n'adresse plus les ports ttyUSB0 ou ttyUSB1 qui sont attribués suivant l'ordre des devices detectés, mais les ports ttyUSB5 et ttyUSB6.