Formation PUB420 : Système domotique DIY, 2020 Jeedom

5.4 Accéder à Jeedom à distance gratuitement


Travailler avec Jeedom à partir d'un ordinateur situé sur le même réseau est très simple : il suffit d'entrer l'adresse IP du Raspberry Pi dans un navigateur et le tour est joué!

Par contre, le système domotique prend toute sa puissance lorsque vous pouvez y accéder à distance, par exemple pour éteindre une lumière oubliée ou pour consulter une caméra pendant votre absence.

Attention : le fait de donner un accès à votre boîte domotique via Internet peut ouvrir un trou de sécurité.
Assurez-vous d'utiliser des mots de passe forts.

Plusieurs options s'offrent à vous pour configurer l'accès à distance :

  • À l'aide de l'application mobile officielle que vous pouvez acheter directement sur Jeedom Market au coût de 4 € (environ 6 $ CA). Les instructions sont données ici : « Application mobile officielle pour accéder à Jeedom à distance ».
  • En effectuant vous-même les configurations nécessaires et ce, tout à fait gratuitement (sauf si vous devez acheter un nom de domaine).

Je vous explique ici comment effectuer les configurations afin que vous n'ayiez pas à débourser pour accéder à Jeedom à partir de n'importe où.

Adresse IP publique

Vous aurez besoin de connaître l'adresse IP publique du Raspberry Pi.

Puisque le Pi et votre ordinateur sont présentement branchés sur le même réseau interne, les deux seront vus publiquement avec la même adresse IP.

Pour connaître l'adresse IP publique de votre ordinateur (et donc du Pi), rendez-vous sur un site qui vous donne cette information. Il en existe plusieurs, par exemple :

Votre adresse IP publique apparaîtra dans la page Web. Prenez-la en note pour plus tard.

Configuration du sous-domaine

Si vous avez une adresse IP dynamique

La plupart des fournisseurs Internet offrent des adresses IP dynamiques, c'est-à-dire qu'elles peuvent changer au fil du temps.

Si c'est votre cas, vous devez travailler avec des outils qui se chargeront de mettre à jour l'adresse IP lorsque votre fournisseur Internet la modifiera.

Pour y arriver :

  • Créez-vous un compte gratuit chez un founisseur spécialisé dans la gestion des DNS dynamiques, par exemple :

    Je vais vous faire la démonstration avec Duck DNS.

  • Dans l'interface du fournisseur, créez un sous-domaine, par exemple monsousdomaine.

    Ceci vous permettra d'accéder à Jeedom à l'aide d'une adresse du genre monsousdomaine.domainedufournisseur.org. Chez DuckDns, ce sera monsousdomaine.duckdns.org. Le fournisseur associera automatiquement le sous-domaine à votre adresse IP publique actuelle.

    Sous-domaine chez Duck DNS

  • Rendez-vous maintenant dans l'interface d'administration de Jeedom.
  • Cliquez sur le menu Plugins / Gestion des plugins.
  • Cliquez sur Market.
  • Recherchez Dyndns.
  • Installez le plugin officiel Dyndns.

    Dyndns

  • Une fois l'installation complétée, acceptez de vous rendre sur la page de configuration du plugin. Vous pourrez retourner à la page de configuration plus tard à l'aide du menu Plugins / Gestion des plugins puis en cliquant sur l'icône Dyndns.
  • Dans la zone État, cliquez sur Activer.
  • Pour configurer votre DNS dynamique, rendez-vous dans le menu Plugins / Programmation / Dyndns puis cliquez sur Ajouter.
  • Donnez le nom de votre choix à l'équipement, par exemple dyndns.
  • Dans l'écran qui suit, sélectionnez le founisseur spécialisé dans la gestion des DNS dynamiques avec lequel vous avez travaillé.

    Dyndns

  • Complétez les informations demandées avec les valeurs fournies par votre fournisseur puis sauvegardez vos configurations.

    Dyndns

Si vous avez une adresse IP fixe

La procédure présentée pour les adresses IP dynamiques fonctionne aussi pour les adresses IP fixes. Cependant, une adresse IP fixe vous permet d'accéder à Jeedom à partir de votre propre nom de domaine.

Si vous ne possédez pas de nom de domaine, vous devrez en réserver un et en assumer les frais. Les instructions sont données ici : « Choisir et réserver son nom de domaine ».

Notez que vous n'avez pas besoin d'hébergement Web, seul le nom de domaine est nécessaire ici.

Les étapes qui suivent vous amèneront à créer un sous-domaine, qui sera utilisé pour accéder à Jeedom. Vous pourrez donc utiliser votre nom de domaine pour un site Web et, sans frais supplémentaires, un sous-domaine pour Jeedom.

Pour créer le sous-domaine et le faire pointer sur l'adresse IP publique, vous utiliserez une technique différente selon qu'elle doit être effectuée chez le registraire ou chez un hébergeur.

Chez le registraire

Si vous venez de réserver votre nom de domaine ou si vous l'aviez déjà en main et qu'il ne pointe pas chez un hébergeur externe, vous devrez effectuer les configurations directement chez le registraire du nom de domaine.

Je vous montre ici comment y parvenir chez GoDaddy.

  • Une fois authentifié chez GoDaddy, cliquez sur votre nom dans le coin supérieur droit de l'écran puis choisissez My Products.
  • Cliquez sur les points verticaux à droite du nom de domaine puis choisissez Manage DNS.

    Manage DNS

  • Dans le bas de la zone Records, cliquez sur Add.
  • Dans la zone Type, choisissez A.
  • Dans la zone Host, entrez le sous-domaine qui sera utilisé. Par exemple, si vous désirez accéder à Jeedom à l'aide d'une adresse du genre jeedom.mondomaine.com, vous devez inscrire simplement jeedom
  • Dans la zone Points to, entrez l'adresse IP publique trouvée plus tôt.
  • Dans la zone TTL (Time To Live) vous pouvez conserver la valeur par défaut (1 Hour) ou encore entrer une durée plus courte.

    Cette valeur indique pendant combien de temps les configurations demeureront en mémoire cache.

    Plus la valeur est courte, plus le trafic DNS est élevé. Par contre, un TTL trop long vous empêchera d'accéder à Jeedom après un changement  et ce, tant que la durée du TTL n'est pas écoulée.

  • Cliquez sur Save.

    Manage DNS

Chez un hébergeur avec cPanel

Si vous aviez déjà en main un nom de domaine et qu'il pointe chez un hébergeur externe, c'est chez cet hébergeur que vous devez effectuer les configurations.

Je vous explique ici comment configurer votre adresse IP avec une interface cPanel.

  • Dans le cPanel, cliquez sur Zone Editor.

    Zone editor

  • Vis-à-vis le nom de domaine que vous désirez utiliser, cliquez sur le bouton + A Record.

    Zone editor

  • Dans la zone Name, entrez le nom complet du sous-domaine, par exemple jeedom.mondomaine.com
  • Dans la zone Address, entrez l'adresse IP publique de votre Raspberry Pi.
  • Cliquez sur Add An A Record.

    Zone editor

Configurations sur le routeur 

Lorsque vous tenterez d'accéder à Jeedom à partir de votre nouveau sous-domaine, la requête sera dirigée vers votre routeur.

Il vous faut le configurer pour qu'il transmette la demande au Raspberry Pi.

  • Assurez-vous que le Raspberry Pi ait une adresse IP statique.
  • Par mesure de sécurité, la plupart des routeurs ne permettent pas par défaut l'accès aux configurations via Wi-Fi. Si c'est le cas avec votre routeur, branchez l'ordinateur au routeur à l'aide d'un câble RJ45.
  • Sur votre ordinateur, ouvrez la page Web à l'adresse IP locale du routeur. Il s'agit généralement de 192.168.0.1 ou 192.168.1.1. Sur certains systèmes, il faut plutôt accéder au 10.0.0.1. En cas de doute, rendez-vous sur ce site : http://whatsmyrouterip.com/.
  • Dans les menus de votre routeur, recherchez une option du genre Transfert de port ou Port Forwarding. Le chemin pour atteindre l'écran peut être plus complexe, par exemple Mode Expert / Configuration / NAT / Transfert de port ou encore Sécurité / Applications et jeux / Transfert de connexion unique ou Routage de port unique.
  • Sur certains systèmes, vous serez redirigé vers un site Web pour effectuer les configurations. Recherchez alors sur ce site une option du genre Voir réseau / Paramètres avancés / Redirection de port.
  • Vous devez spécifier que pour les protocoles TCP et UDP, avec le port 80, la redirection ira vers le port 80 et l'adresse IP locale du Raspberry Pi.

    NAT

    NAT

    Redirection de port

  • Faites de même avec le port 443 puisque vous configurerez sous peu l'accès sécurisé avec https.

Tester les configurations

Pour tester vos configurations, ouvrez un appareil mobile et entrez votre sous-domaine dans un navigateur.

Puisque vous vous trouvez au même endroit que le Raspberry Pi, assurez-vous que le Wi-Fi soit désactivé sur l'appareil mobile afin d'utiliser le réseau cellulaire.

En effet, si vous tentez d'utiliser le sous-domaine à partir du même réseau que le Raspberry Pi, vous obtiendrez le message « Rejected request from RFC1918 IP to public server address ».

Lorsque vous referez cette procédure alors que vous n'êtes pas sur le même réseau que le Pi, vous pourrez utiliser le réseau Wi-Fi sans problème sur un appareil mobile ou sur un ordinateur.

Accès à distance

Certificat SSL avec Let’s Encrypt

Afin d'augmenter la sécurité de votre système, je vous conseille fortement d'installer un certificat SSL sur votre Raspberry Pi.

Ceci peut être réalisé sans frais.

La technique que je vous propose installera certbot, une application qui automatise la configuration de certificats SSL avec Let's Encrypt.

Accédez au Raspberry Pi via SSH ou en y branchant un clavier et un écran puis suivez ces étapes :

  • Comme toujours, avant d'installer quoi que ce soit sur un système Linux, il faut s'assurer qu'il est à jour.
    Terminal

    sudo apt-get update

    sudo apt-get upgrade

  • Il existe plusieurs techniques pour installer certbot. Ici, j'utilise snapd, un utilitaire qui donne accès à des applications et à leurs dépendances, prêtes à l'emploi pour les versions populaires de Linux.

    Pour installer snapd :

    Terminal

    sudo apt install snapd

  • Redémarrez le Raspberry Pi :
    Terminal

    sudo reboot

  • Une installation supplémentaire est nécessaire :
    Terminal

    sudo snap install core; sudo snap refresh core

  • Vous pouvez maintenant installer certbot à l'aide de cette commande :
    Terminal

    sudo snap install certbot --classic

  • Pour rendre la commande certbot disponible, ajoutez un lien :
    Terminal

    sudo ln -s /snap/bin/certbot /usr/bin/certbot

  • Maintenant, entrez cette commande pour configurer cerbot. Vous serez invité à entrer le sous-domaine que vous désirez utiliser pour Jeedom.
    Terminal

    sudo certbot --apache

  • Une fois les configurations de cerbot complétées, vous voyez la confirmation que le certificat est bien installé.
    Résultat à l'écran

    Congratulations! You have successfully enabled HTTPS on https://monsousdomaine.duckdns.org

  • Vous pouvez désormais accéder à Jeedom avec la même technique qu'avant mais cette fois, vous êtes en https, identifié par un cadenas fermé.

    https

Pour plus d'information

« Quick and Dirty Dynamic DNS Using GoDaddy ». Instructables Circuits. https://www.instructables.com/Quick-and-Dirty-Dynamic-DNS-Using-GoDaddy/

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre