<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Archives des connexion - La programmation sur le web</title>
	<atom:link href="https://programmation.surleweb-france.fr/tag/connexion/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmation.surleweb-france.fr/tag/connexion/</link>
	<description>La programmation gratuite pour tous</description>
	<lastBuildDate>Fri, 03 Mar 2023 16:35:50 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/08/cropped-19518430-icone-de-programmation-pour-votre-site-web-mobile-presentation-et-conception-de-logo-gratuit-vectoriel.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Archives des connexion - La programmation sur le web</title>
	<link>https://programmation.surleweb-france.fr/tag/connexion/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">176210735</site>	<item>
		<title>Python, les modules pour les bases de données</title>
		<link>https://programmation.surleweb-france.fr/python-les-modules-pour-les-bases-de-donnees/</link>
					<comments>https://programmation.surleweb-france.fr/python-les-modules-pour-les-bases-de-donnees/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Mon, 06 Mar 2023 17:30:00 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[bases de données]]></category>
		<category><![CDATA[connexion]]></category>
		<category><![CDATA[manipulation]]></category>
		<category><![CDATA[méthode close()]]></category>
		<category><![CDATA[méthode commit()]]></category>
		<category><![CDATA[méthode connect()]]></category>
		<category><![CDATA[méthode execute()]]></category>
		<category><![CDATA[méthode fetchall()]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[objet Cursor]]></category>
		<category><![CDATA[Pymysql]]></category>
		<category><![CDATA[Python 3]]></category>
		<category><![CDATA[requête SQL]]></category>
		<category><![CDATA[SQLite]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=1640</guid>

					<description><![CDATA[<p>Python 3 dispose de modules puissants pour les bases de données, tels que sqlite3 et Pymysql, qui permettent de se connecter à une base de données, d'interagir avec elle, d'insérer et de récupérer des données, et offrent des fonctions avancées pour gérer les requêtes et les transactions</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/python-les-modules-pour-les-bases-de-donnees/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-les-modules-pour-les-bases-de-donnees/">Python, les modules pour les bases de données</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Retrouvez le sommaire des articles Python sur <a href="https://programmation.surleweb-france.fr/python-tous-les-articles-classes">ce lien</a>.</p>



<p>Les modules liés aux bases de données en Python 3 permettent de se connecter à une base de données, d&rsquo;interagir avec elle, d&rsquo;insérer et de récupérer des données. Voici un aperçu de deux des modules les plus couramment utilisés :</p>



<ul class="wp-block-list">
<li><strong><em>sqlite3</em></strong>: Ce module fournit des fonctions pour travailler avec une base de données SQLite, qui est une base de données légère, rapide et autonome. Voici un exemple d&rsquo;utilisation du module <strong><em>sqlite3</em></strong> pour se connecter à une base de données SQLite, insérer des données et exécuter une requête :</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import sqlite3 
conn = sqlite3.connect('ma_base_de_donnees.db') 
c = conn.cursor() 
c.execute("INSERT INTO ma_table (colonne1, colonne2) VALUES ('valeur1', 'valeur2')") conn.commit() 
c.execute('SELECT * FROM ma_table') 
resultats = c.fetchall() 
print(resultats) 
conn.close()</pre>



<p>Dans cet exemple, nous avons utilisé la méthode <strong><em>connect()</em></strong> pour établir une connexion à une base de données SQLite, spécifiant le nom de la base de données en tant qu&rsquo;argument. Nous avons ensuite créé un objet <strong><em>Cursor</em></strong> à l&rsquo;aide de la méthode <strong><em>cursor()</em></strong>. Nous avons inséré des données dans la table en utilisant la méthode <strong><em>execute()</em></strong>, puis nous avons confirmé les changements avec la méthode <strong><em>commit()</em></strong>. Enfin, nous avons exécuté une requête SQL en utilisant la méthode <strong><em>execute()</em></strong> et récupéré les résultats avec la méthode <strong><em>fetchall()</em></strong>. Nous avons finalement fermé la connexion avec la méthode <strong>close()</strong>.</p>



<ul class="wp-block-list">
<li><strong><em>Pymysql </em></strong>: Ce module fournit des fonctions pour travailler avec une base de données MySQL. Voici un exemple d&rsquo;utilisation du module <strong><em>pymysql</em></strong> pour se connecter à une base de données MySQL, insérer des données et exécuter une requête :</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pymysql 
conn = pymysql.connect(host='localhost', user='utilisateur', password='mot_de_passe', db='ma_base_de_donnees') 
c = conn.cursor() 
c.execute("INSERT INTO ma_table (colonne1, colonne2) VALUES ('valeur1', 'valeur2')") 
conn.commit() 
c.execute('SELECT * FROM ma_table') 
resultats = c.fetchall() 
print(resultats) 
conn.close()</pre>



<p>Dans cet exemple, nous avons utilisé la méthode <strong><em>connect()</em></strong> pour établir une connexion à une base de données MySQL, en spécifiant les paramètres de connexion tels que le nom d&rsquo;utilisateur, le mot de passe et le nom de la base de données. Nous avons ensuite créé un objet <strong><em>Cursor</em></strong> et inséré des données dans la table en utilisant la méthode <strong><em>execute()</em></strong>. Nous avons confirmé les changements avec la méthode <strong><em>commit()</em></strong>. Enfin, nous avons exécuté une requête SQL en utilisant la méthode <strong><em>execute()</em></strong> et récupéré les résultats avec la méthode <strong><em>fetchall()</em></strong>. Nous avons finalement fermé la connexion.</p>



<p>Ces modules offrent une grande variété de fonctions et d&rsquo;outils pour les bases de données en Python 3, permettant aux utilisateurs de se connecter à une base de données, d&rsquo;interagir avec elle, d&rsquo;insérer et de récupérer des données.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-les-modules-pour-les-bases-de-donnees/">Python, les modules pour les bases de données</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/python-les-modules-pour-les-bases-de-donnees/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1640</post-id>	</item>
		<item>
		<title>PHP, utiliser l&#8217;extension PDO</title>
		<link>https://programmation.surleweb-france.fr/php-utiliser-lextension-pdo/</link>
					<comments>https://programmation.surleweb-france.fr/php-utiliser-lextension-pdo/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Wed, 12 May 2021 06:00:00 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[connexion]]></category>
		<category><![CDATA[donnée]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pdo]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=964</guid>

					<description><![CDATA[<p>L'extension PDO permet d'uniformiser la communication entre PHP et presque toutes les base de données. La mise en place est recommandée, rapide et facile</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/php-utiliser-lextension-pdo/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/php-utiliser-lextension-pdo/">PHP, utiliser l&rsquo;extension PDO</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Nous allons voir dans cette article l&rsquo;utilisation de l&rsquo;extension PDO de PHP afin de communiquer avec une base de données en effectuant des requêtes SQL.</p>



<p>Nous verrons également comment se protéger des attaques par injections SQL.</p>



<h2 class="wp-block-heading">Tester la présence de l&rsquo;extension PDO</h2>



<p>Avant de se lancer dans ce petit article, il est toujours bon de savoir comment tester l&rsquo;activation de l&rsquo;extension, dans un fichier php, y inscrire :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;?php
if (extension_loaded ('PDO')) {
    echo 'PDO chargée';
} else {
    echo 'PDO non chargée, activée l\'extension';
}
?></pre>



<p>Si besoin de l&rsquo;activer, je vous invite à suivre ce lien qui vous guidera en fonction de votre système : <a href="https://www.php.net/manual/fr/pdo.installation.php" target="_blank" rel="noreferrer noopener">activer PDO</a>.</p>



<p>Pour cette article, j&rsquo;utilise une base de test, tu peux la télécharger en cliquant sur ce <a href="https://github.com/zigomato/ArticlePHP/blob/main/SQL/create-db-test" target="_blank" rel="noreferrer noopener">lien</a>. Pense à créer un utilisateur avec les droits dessus.</p>



<h2 class="wp-block-heading">Connexion à une base de données</h2>



<p>J&rsquo;utilise une base de données MariaDB, pour une base de données MySQL, ce sera la même chose.</p>



<p>Pour la connexion, tu auras besoin de l&#8217;emplacement de ta base de données avec le port (souvent 3306), le nom de la base de données, l&rsquo;identifiant et le mot de passe. Il est fortement conseiller d&rsquo;inclure le jeu de caractère (encodage).</p>



<p>Pour se connecter, la ligne dans le script ressemblera à ça :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$pdo = new PDO('mysql:host=localhost;dbname=NOM_BASE;port=3306','IDENTIFIANT','MOT_DE_PASSE');</pre>



<p>Cette ligne suffit mais pour être plus réactif en cas d&rsquo;apparition d&rsquo;erreur de connexion, on va tout de suite prendre l&rsquo;habitude de gérer les exceptions :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$dsn = 'mysql:host=localhost;dbname=test;port:3306'; //cela rends l'ouverture de l'instance PDO plus propre à lire
try {
	$pdo = new PDO($dsn,'IDENTIFIANT','MOT_DE_PASSE');
        $pdo->exec("SET NAMES 'UTF8'");
} catch (PDOException $exception) {
	echo $exception->getMessage();
	exit('Erreur de connexion');
}</pre>



<h2 class="wp-block-heading">Effectuer une requête</h2>



<p>Nous allons voir différentes requête (INSERT, UPDATE, SELECT, DELETE) et si tu te souviens, j&rsquo;ai parlé plus haut de se protéger contre les injections SQL. Je vais le faire dans cette partie. </p>



<h3 class="wp-block-heading">Requête SELECT</h3>



<p>Tout d&rsquo;abord, le cas où aucune données n&rsquo;est envoyé vers la base (que ce soit sur un filtre ou l&rsquo;insertion de données) :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$reqSelect = $pdo->query("SELECT * FROM `testBase`);
$resultat = $reqSelect->fetchAll(); // Cela récupère dans un tableau l'ensemble des résultats de la requête dans un array
print_r($resultat);</pre>



<p>Pour me protéger des injections SQL, à partir du moment où des données sont envoyées vers la base, j&rsquo;ai pris cette habitude de passer mes paramètres de cette façon :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$id = 1;
$nom = 'Nicolas';
$req = $pdo->prepare("SELECT * FROM `tabletest` WHERE `id` = :tagId AND `nom` = :tagNom;");
$req->bindParam('tagId', $id, PDO::PARAM_INT);
$req->bindParam('tagNom', $nom, PDO::PARAM_STR);
$req->execute();
$res = $req->fetch(); // récupère seulement le premier résultat.
print_r($res);</pre>



<p>Les paramètres PDO::PARAM_INT et PDO::PARAM_STR permettent de bloquer toutes les valeurs qui ne correspondent pas au type. Pour la liste des types, voir<a href="https://www.php.net/manual/fr/pdo.constants.php" target="_blank" rel="noreferrer noopener"> la documentation PHP</a>.</p>



<h3 class="wp-block-heading">Requête INSERT</h3>



<p>Tu peux passer par la méthode <strong><em>query</em></strong> de l&rsquo;instance PDO mais comme je l&rsquo;ai dit à l&rsquo;instant, à partir du moment où des données sont envoyées vers ma base, je me protège :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$nom = 'Noémie';
$req = $pdo->prepare("INSERT INTO `tabletest` (nom) VALUES (:tagNom);");
$req->bindParam('tagNom', $nom, PDO::PARAM_STR);
$req->execute();
$res = $req->rowCount(); // je récupère le nombre de ligne ajoutée
print_r($res); // j'affiche le nombre de ligne ajoutée</pre>



<h3 class="wp-block-heading">Requête UPDATE</h3>



<p>Même principe pour un UPDATE :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$nom = 'Raphaël';
$id = 11;
$req = $pdo->prepare("UPDATE `tabletest` SET `nom` = :tagNom WHERE `id` = :tagId ;");
$req->bindParam('tagNom', $nom, PDO::PARAM_STR);
$req->bindParam('tagId', $id, PDO::PARAM_INT);
$req->execute();
$res = $req->rowCount();
print_r($res);</pre>



<h3 class="wp-block-heading">Requête DELETE</h3>



<p>On finit cet article par un DELETE :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$id = 11;
$req = $pdo->prepare("DELETE FROM `tabletest` WHERE `id` = :tagId ;");
$req->bindParam('tagId', $id, PDO::PARAM_INT);
$req->execute();
$res = $req->rowCount();
print_r($res);</pre>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Maintenant, tu es prêts à utiliser l&rsquo;extension PDO pour ta connexion à la base de données tout en protégeant un minimum le trafic des données.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/php-utiliser-lextension-pdo/">PHP, utiliser l&rsquo;extension PDO</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/php-utiliser-lextension-pdo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">964</post-id>	</item>
		<item>
		<title>Un peu de sécurité sur le Home Assistant</title>
		<link>https://programmation.surleweb-france.fr/un-peu-de-securite-sur-le-home-assistant/</link>
					<comments>https://programmation.surleweb-france.fr/un-peu-de-securite-sur-le-home-assistant/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Thu, 08 Apr 2021 18:59:40 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[certificat]]></category>
		<category><![CDATA[connexion]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[ssl]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=905</guid>

					<description><![CDATA[<p>Mise en place d'une connexion chiffrée SSL en utilisant l'add-on Duck DNS.</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/un-peu-de-securite-sur-le-home-assistant/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/un-peu-de-securite-sur-le-home-assistant/">Un peu de sécurité sur le Home Assistant</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Maintenant que tu as créé ton assistant domestique en suivant mon merveilleux article <a href="https://programmation.surleweb-france.fr/installer-home-assistant-sur-raspberry/" target="_blank" rel="noreferrer noopener">ici</a>, peut-être que tu t&rsquo;es dit « ce mec, il est génial, je vais gérer la lumière de mes toilettes avec cette <a href="https://programmation.surleweb-france.fr/home-assistant-creer-sa-premiere-automatisation/">page</a>, comme ça je penserai à lui », bon, je m&#8217;emballe. En gros, tu as un système qui fonctionne en local mais tu souhaiterais l&rsquo;ouvrir vers l&rsquo;extérieur par exemple pour avoir accès à ton Home Assistant depuis ton téléphone quand tu es aux toilettes de ton taf (promis, j&rsquo;arrête avec les toilettes&#8230;), tu feras transiter des données sensibles (je ne parle pas de transit &#8230; dans les toilettes&#8230;).</p>



<p>Tes données ne seront pas chiffrées, à moins que tu mettes une petites couches de sécurité.</p>



<p>Tu vois le petits « s », à la fin de « http » que tu dois vérifier avant tout achat sur le net. Et bien, nous allons l&rsquo;ajouter à ton interface.</p>



<h2 class="wp-block-heading">Mise en place du SSL</h2>



<p>Nous avons à disposition 2 methodes principales :</p>



<ul class="wp-block-list"><li>Let&rsquo;s Encrypt, si tu as un site web en ligne, tu as certainement déjà du en entendre parler</li><li>Duck-DNS, il est très populaire et utilise Let&rsquo;s Encrypt, il s&rsquo;agit de la méthode que nous allons voir</li></ul>



<h3 class="wp-block-heading">Installation de Duck DNS</h3>



<p>On va commencer par ajouter le module complémentaire :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="639" height="288" src="//i1.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-2.png" alt="" class="wp-image-906" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-2.png?w=639&amp;ssl=1 639w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-2.png?resize=300%2C135&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-2.png?resize=150%2C68&amp;ssl=1 150w" sizes="(max-width: 639px) 100vw, 639px" /></figure></div>



<p>Tu cliques sur l&rsquo;Add-on et après, tu cliques sur installer.</p>



<h3 class="wp-block-heading">Configuration &#8211; Site Duck DNS</h3>



<p>Afin de configurer l&rsquo;add-on, commences par te rendre sur la page <a href="https://www.duckdns.org/" target="_blank" rel="noreferrer noopener">www.duckdns.org</a>.</p>



<p>Inscris-toi avec la méthode de ton choix :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="901" height="48" src="//i2.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-3.png" alt="" class="wp-image-907" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-3.png?w=901&amp;ssl=1 901w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-3.png?resize=300%2C16&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-3.png?resize=768%2C41&amp;ssl=1 768w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-3.png?resize=150%2C8&amp;ssl=1 150w" sizes="(max-width: 900px) 100vw, 900px" /></figure></div>



<p>Il est temps de créer ton nom de domaine (ce sera l&rsquo;adresse avec laquelle tu te connecteras de l&rsquo;extérieur) :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="426" height="80" src="//i2.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-4.png" alt="" class="wp-image-908" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-4.png?w=426&amp;ssl=1 426w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-4.png?resize=300%2C56&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-4.png?resize=150%2C28&amp;ssl=1 150w" sizes="(max-width: 426px) 100vw, 426px" /></figure></div>



<p>Une fois que tu as ajouter le domaine, celui-ci est créé et le token apparaît, <strong>note-le</strong>.</p>



<p>Mets à jours les adresses IP et IP V6, rends-toi sur ce <a href="https://www.whatismyip.com/fr/" target="_blank" rel="noreferrer noopener">site </a>et mets à jours dans Duck DNS.</p>



<h3 class="wp-block-heading">Configuration &#8211; Add-on</h3>



<p>Maintenant, rends-toi sur la configuration de l&rsquo;add-on dans Home Assistant.</p>



<p>Modifies la configuration en y ajoutant ton token et ton url :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="397" height="250" src="//i2.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-6.png" alt="" class="wp-image-910" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-6.png?w=397&amp;ssl=1 397w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-6.png?resize=300%2C189&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-6.png?resize=150%2C94&amp;ssl=1 150w" sizes="auto, (max-width: 397px) 100vw, 397px" /></figure></div>



<p>Tu peux sauvegarder et démarrer l&rsquo;add-on.</p>



<h3 class="wp-block-heading">Ajout des certificats</h3>



<p>Avec l&rsquo;Add-on « <strong>File Editor</strong>« , on va indiquer où se trouve les certificats, dans le fichier <strong>configuration.yaml</strong>, tu rajoutes :ceci :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">http:
  base_url: votre_domain.duckdns.org:8123
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem</pre>



<p>Cela devrait ressembler à cela :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="504" height="353" src="//i1.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-7.png" alt="" class="wp-image-911" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-7.png?w=504&amp;ssl=1 504w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-7.png?resize=300%2C210&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-7.png?resize=150%2C105&amp;ssl=1 150w" sizes="auto, (max-width: 504px) 100vw, 504px" /></figure></div>



<p>Sauvegardes et rédémarres le systèmes, te voilà avec une sécurité accrue.</p>



<h3 class="wp-block-heading">Redirection des ports</h3>



<p>Chose plus technique et qui nécessitera une recherche de ta part. Il va falloir dire à ta box de rediriger les demandes que tu feras de l&rsquo;extérieur vers ton Home Assistant, pour cela tu devras faire une redirection de port sur ta box internet.</p>



<p>Vu le nombre de box, je ne détaillerai pas la procédure.</p>



<p>Il faut mettre en place ces réglages :</p>



<ul class="wp-block-list"><li><strong>Application/Service</strong> : HTTPS (sur ma Freebox, ça n&rsquo;a pas été demandé)</li><li><strong>Port interne :</strong> 8123</li><li><strong>Port externe :</strong> 8123</li><li><strong>Protocole :</strong> TCP</li><li><strong>Équipement :</strong> Sélectionnez ou insérez <strong>l’adresse IP de votre Raspberry Pi</strong> utilisée pour notre serveur Home-Assistant.</li></ul>



<p>Redémarrer votre système.</p>



<p>Ton assistant est maintenant accessible à partir de cette adresse : <a href="https://homeassistant.local:8123/" target="_blank" rel="noreferrer noopener">https://homeassistant.local:8123/</a>.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p>A présent, ton Home Assistant est accessible depuis l&rsquo;extérieur et de manière sécurisée.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/un-peu-de-securite-sur-le-home-assistant/">Un peu de sécurité sur le Home Assistant</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/un-peu-de-securite-sur-le-home-assistant/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">905</post-id>	</item>
	</channel>
</rss>
