Mon RPI4 est connecté à mon réseau local via ma livebox en wifi.
Sur ce même réseau, j’ai un macbook pro, une tour PC et un smartphone, tous connectés en wifi sur la même livebox.
Depuis mon macbook pro, je peux accéder à mon home assistant via l’url http://raspberrypi.local:8123. Mais depuis mon PC ou mon smartphone, ça ne marche qu’avec l’adresse IP de mon RPI4, et pas via raspberrypi.local.
Une idée de pourquoi ça fonctionne seulement depuis mon mac ?
Je te conseil de définir premièrement une table de IP static et de contacter via le IP, le hostname sur un réseau local n’est pas toujours bien pris en charge et ce pour divers raisons. Deplus, si ton réseau détecte un domaine, le « .local » devient non fonctionnel et est remplacé par le domain détecté (par exemple « .dlink » pour un domaine « dlink »), sauf si l’appareil est connecté directement sur l’ordinateur de travail.
Sous les système, il existe une table « host » qui est un cache des retour IP de certains host. Cette table n’est pas mis à jour à chaque appel d’un « hostname », ce qui fait que si le IP derrière un host change, il peut ce passer un certain temps avant que le système demander une actualisation et « réalise » que L’IP est changé.
Chaque système possède sont « cycle de nettoyage cache » et même parfois ce cache est géré par des applications (comme Chrome). Passer par l’adresse IP est plus fiable, mais si tu rend l’IP statique sur le réseau, alors ton hostname retournera, toujours, le IP associé (sauf si un autre appareil utilise le même nom sur le réseau).
Mon RPI4 est configuré avec une IP statique, ce n’était pas la question.
Je trouve que les hostname sont quand même bien plus pratique pour accéder aux différentes interface web des machines de mon réseau, et voyant que ça fonctionne très bien depuis mon mac mais pas depuis un PC ou un smartphone (android), je me demandais d’où ça pouvait venir.
Après avoir persévéré avec Google, j’ai trouvé l’explication.
Le Raspberry utilise le service Bonjour/mDNS pour diffuser son hostname sur le réseau. Mais toutes les machines ne comprennent pas.
Les Mac comprennent, car Bonjour est à l’origine un service de Apple. Mais sur les machines Windows, il faut installer le service, et sur Android ce n’est tout simplement pas intégré au système.
Du coup j’ai fait autrement, j’ai déclaré un hostname pour mon RPI4 sur le serveur DNS de ma livebox, comme ça toutes les machines de mon réseau peuvent le trouver via le hostname.
A tu essayé de le contacter sans le « .local » ? Parce que « .local » c’est ton ordi, pas ton réseau pour bien des système. Moi j’utilise le « .local » seulement quand l’appareil est connecté au PC directement (comme le RPi0 en mode OTG), sinon c’est sans, car dans les fait « .local » est pour « .localhost ».