<?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/"
	>

<channel>
	<title>Français &#8211; Kodono</title>
	<atom:link href="https://blog.kodono.info/wordpress/category/francais/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.kodono.info/wordpress</link>
	<description>Pour tous les technophiles</description>
	<lastBuildDate>Sun, 23 Feb 2025 08:35:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<item>
		<title>Recevoir des alertes lors de la diffusion d&#8217;un programme</title>
		<link>https://blog.kodono.info/wordpress/2025/02/23/recevoir-des-alertes-lors-de-la-diffusion-dun-programme/</link>
					<comments>https://blog.kodono.info/wordpress/2025/02/23/recevoir-des-alertes-lors-de-la-diffusion-dun-programme/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 23 Feb 2025 08:35:11 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Français]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2370</guid>

					<description><![CDATA[Trop souvent je loupe des émissions TV que j&#8217;aime bien (comme &#8220;Qui veut être mon associé ?&#8221;, &#8220;Rendez-vous en terre inconnue&#8221;, …). J&#8217;ai cherché un service sur le Net qui me permettrait de recevoir un email lorsque mon émission préférée était diffusée, mais je n&#8217;ai rien trouvé. J&#8217;ai donc créé https://alerte-tv.kodono.info/ qui permet d&#8217;être tenu [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Trop souvent je loupe des émissions TV que j&#8217;aime bien (comme &#8220;Qui veut être mon associé ?&#8221;, &#8220;Rendez-vous en terre inconnue&#8221;, …). J&#8217;ai cherché un service sur le Net qui me permettrait de recevoir un email lorsque mon émission préférée était diffusée, mais je n&#8217;ai rien trouvé.</p>
<p>J&#8217;ai donc créé <a href="https://alerte-tv.kodono.info/">https://alerte-tv.kodono.info/</a> qui permet d&#8217;être tenu au courant lorsqu&#8217;un programme est diffusé à la télévision française.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2025/02/23/recevoir-des-alertes-lors-de-la-diffusion-dun-programme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Utiliser un VPN sur l&#8217;iPad via un serveur Debian</title>
		<link>https://blog.kodono.info/wordpress/2025/02/08/utiliser-un-vpn-sur-lipad-via-un-serveur-debian/</link>
					<comments>https://blog.kodono.info/wordpress/2025/02/08/utiliser-un-vpn-sur-lipad-via-un-serveur-debian/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sat, 08 Feb 2025 17:42:21 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Niveau expert]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2352</guid>

					<description><![CDATA[Je vais expliquer ici comment installer un serveur VPN WireGuard sur Debian et l&#8217;utiliser depuis un iPad. 1. Serveur Debian Sur le serveur, on installe WireGuard avec apt install wireguard -y. 2. Générer la clé privée et publique du serveur Pour cela, on va faire : sudo wg genkey &#124; sudo tee /etc/wireguard/server_private.key sudo cat [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Je vais expliquer ici comment installer un serveur VPN WireGuard sur Debian et l&#8217;utiliser depuis un iPad.</p>
<p><strong>1. Serveur Debian</strong></p>
<p>Sur le serveur, on installe WireGuard avec <code>apt install wireguard -y</code>.</p>
<p><strong>2. Générer la clé privée et publique du serveur</strong></p>
<p>Pour cela, on va faire : </p>
<pre class="brush:bash">
sudo wg genkey | sudo tee /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_private.key | sudo wg pubkey | sudo tee /etc/wireguard/server_public.key
</pre>
<p>On retrouvera nos clés dans les fichiers <code>/etc/wireguard/server_private.key</code> et <code>/etc/wireguard/server_public.key</code></p>
<p><strong>3. Générer la clé privée et publique du client</strong></p>
<p>Sur le serveur Debian, on va générer des clés pour le client :</p>
<pre class="brush:bash">
wg genkey | tee client_private.key
cat client_private.key | wg pubkey | tee client_public.key
</pre>
<p>On retrouvera nos clés dans les fichiers <code>./client_private.key</code> et <code>./client_public.key</code></p>
<p><strong>4. Configuration du serveur</strong></p>
<p>On va entrer la configuration suivante dans le fichier <code>/etc/wireguard/wg0.conf</code> :</p>
<pre>
[Interface]
Address = 10.0.0.1/24
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = PRIVATE_KEY_DU_SERVEUR

[Peer]
PublicKey = PUBLIC_KEY_DU_CLIENT
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25
</pre>
<p><strong>5. Activer le transfert IP sur le serveur</strong></p>
<p>Éditer le fichier <code>/etc/sysctl.conf</code> afin d&#8217;avoir :</p>
<pre>
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
</pre>
<p>Et on applique les changements avec la commande <code>sudo sysctl -p</code></p>
<p><strong>6. Démarrage de WireGuard</strong></p>
<p>Pour démarrer le serveur VPN on tape <code>sudo systemctl start wg-quick@wg0</code></p>
<p>On peut voir le statut avec la commande <code>sudo systemctl status wg-quick@wg0</code></p>
<p><strong>7. Configuration du client</strong></p>
<p>Sur notre client (ici un iPad), on installe l&#8217;application WireGuard depuis le App Store.</p>
<p>Ensuite, sur notre serveur, on va créer le fichier de configuration <code>client.conf</code> qui sera utilisé par le client, avec le contenu suivant :</p>
<pre>
[Interface]
PrivateKey = PRIVATE_KEY_DU_CLIENT
Address = 10.0.0.2/32
DNS = 8.8.8.8, 8.8.4.4 # on utilise les DNS de Google

[Peer]
PublicKey = PUBLIC_KEY_DU_SERVEUR
Endpoint = mon_serveur.debian.home:51820 # on indique l'IP/hostname de notre serveur VPN
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
</pre>
<p>Afin de transmettre cette configuration à l&#8217;iPad, on peut générer un QR code. Pour cela on installe ce qu&#8217;il faut : <code>sudo apt install qrencode</code>, puis on génère avec <code>qrencode -t ansiutf8 < client.conf</code></p>
<p>Sur l'iPad, on ouvre l'application WireGuard puis on ajoute un client en utilisant le QR Code généré.</p>
<p><strong>8. Vérification</strong></p>
<p>En activant le VPN sur l'iPad, on peut tester si tout fonctionne comme prévu en vérifiant l'adresse IP de l'iPad.<br />
Sur le serveur, on peut utiliser la commande <code>wg show</code> pour voir un peu ce qu'il se passe.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2025/02/08/utiliser-un-vpn-sur-lipad-via-un-serveur-debian/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Investir dans des actions en bourse</title>
		<link>https://blog.kodono.info/wordpress/2024/10/05/investir-dans-des-actions-en-bourse/</link>
					<comments>https://blog.kodono.info/wordpress/2024/10/05/investir-dans-des-actions-en-bourse/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sat, 05 Oct 2024 09:56:11 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Français]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2328</guid>

					<description><![CDATA[J&#8217;ai regardé la vidéo de Nas Daily : https://www.instagram.com/reel/DAlPq4IO_Jh/ Et voici ce que je retiens : Préférer les entreprises qui sont là depuis longtemps, ou qu&#8217;on sait qu&#8217;elles vont être là pour encore 10 ans Préférer les entreprises dont le dirigeant est aussi le fondateur, et que vous appréciez (des services que vous utilisez, des [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&#8217;ai regardé la vidéo de Nas Daily : <a href="https://www.instagram.com/reel/DAlPq4IO_Jh/">https://www.instagram.com/reel/DAlPq4IO_Jh/</a></p>
<p>Et voici ce que je retiens :</p>
<ul>
<li>Préférer les entreprises qui sont là depuis longtemps, ou qu&#8217;on sait qu&#8217;elles vont être là pour encore 10 ans</li>
<li>Préférer les entreprises dont le dirigeant est aussi le fondateur, et que vous appréciez (des services que vous utilisez, des restaurants où vous allez, etc)</li>
<li>On peut regarder les entreprises du S&#038;P 500 ou CAC 40 qui sont une bonne référence</li>
<li>Le &#8220;nombre magique&#8221; pour le PE Raio (Price/Earning Ratio) doit être entre 20 et 30</li>
<li>Les dividendes que reversent l&#8217;entreprise aux actionnaires</li>
<li>Il ne faut pas faire beaucoup de transactions, mais plutôt investir sur la longueur (plusieurs années)</li>
<li>Pour plus de simplicités, on peut aussi acheter &#8220;un groupe d&#8217;actions&#8221; dit <a href="https://www.amf-france.org/fr/espace-epargnants/comprendre-les-produits-financiers/placements-collectifs/trackers-etf">&#8220;ETF&#8221;</a> (sur l&#8217;application Sumeria on les trouve sous le nom de &#8220;Top 40 French Stocks&#8221; pour le CAC 40 et &#8220;Top 500 US Stocks&#8221; pour le S&#038;P 500)</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2024/10/05/investir-dans-des-actions-en-bourse/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Faire des enregistrements récurrents avec OQEE</title>
		<link>https://blog.kodono.info/wordpress/2024/09/18/faire-des-enregistrements-recurrents-avec-oqee/</link>
					<comments>https://blog.kodono.info/wordpress/2024/09/18/faire-des-enregistrements-recurrents-avec-oqee/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 18 Sep 2024 07:36:37 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2322</guid>

					<description><![CDATA[J&#8217;ai créé un service en ligne qui permet de simplifier les enregistrements avec OQEE : https://eeqo.kodono.info Il vous faudra être connecté au réseau de votre Freebox afin d&#8217;être reconnu. Ensuite, l&#8217;interface est simple à utiliser et vous permet d&#8217;enregistrement plusieurs programmes à la suite d&#8217;un coup, et créer un enregistrement récurrent sur au moins les [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2024/09/logo.png" alt="" width="449" height="199" class="aligncenter size-full wp-image-2325" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2024/09/logo.png 449w, https://blog.kodono.info/wordpress/wp-content/uploads/2024/09/logo-300x133.png 300w" sizes="(max-width: 449px) 100vw, 449px" /></p>
<p>J&#8217;ai créé un service en ligne qui permet de simplifier les enregistrements avec OQEE : <a href="https://eeqo.kodono.info">https://eeqo.kodono.info</a></p>
<p>Il vous faudra être connecté au réseau de votre Freebox afin d&#8217;être reconnu. Ensuite, l&#8217;interface est simple à utiliser et vous permet d&#8217;enregistrement plusieurs programmes à la suite d&#8217;un coup, et créer un enregistrement récurrent sur au moins les prochains 10 jours. Vous pouvez recevoir un email à la fin de la période pour réactiver l&#8217;enregistrement.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2024/09/18/faire-des-enregistrements-recurrents-avec-oqee/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Supprimer la commande Ctrl+Alt+Supp pour ouvrir Windows 11</title>
		<link>https://blog.kodono.info/wordpress/2024/01/02/supprimer-la-commande-ctrlaltsupp-pour-ouvrir-windows-11/</link>
					<comments>https://blog.kodono.info/wordpress/2024/01/02/supprimer-la-commande-ctrlaltsupp-pour-ouvrir-windows-11/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 02 Jan 2024 08:01:34 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Niveau expert]]></category>
		<category><![CDATA[France]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2275</guid>

					<description><![CDATA[Il suffit de modifier le registre de Windows (regedit), en passant à 1 la variable DisableCad dans ces deux emplacements : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]]></description>
										<content:encoded><![CDATA[<p>Il suffit de modifier le registre de Windows (<code>regedit</code>), en passant à <b>1</b> la variable <b>DisableCad</b> dans ces deux emplacements :</p>
<ul>
<li>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System</li>
<li>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2024/01/02/supprimer-la-commande-ctrlaltsupp-pour-ouvrir-windows-11/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mise à jour d’un serveur Kimsufi (OVH) depuis Debian 10 (Buster) vers Debian 11 (Bullseye)</title>
		<link>https://blog.kodono.info/wordpress/2022/02/06/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-10-buster-vers-debian-11-bullseye/</link>
					<comments>https://blog.kodono.info/wordpress/2022/02/06/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-10-buster-vers-debian-11-bullseye/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 06 Feb 2022 16:37:52 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2135</guid>

					<description><![CDATA[Il faut régulièrement penser à mettre à jour son serveur Kimsufi. Je vais essayer d’expliquer brièvement les étapes à suivre pour cela. On vérifie les problèmes liés à la mise à jour. Prévoir une connexion SSH depuis 2 emplacements si possible à cause d&#8217;un problème sur SSH durant l&#8217;installation. On va effectuer une mise à [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Il faut régulièrement penser à mettre à jour son serveur Kimsufi.</p>
<p>Je vais essayer d’expliquer brièvement <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html">les étapes à suivre</a> pour cela.</p>
<ol>
<li>On vérifie <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-information.fr.html">les problèmes liés à la mise à jour</a>.</li>
<li>Prévoir une connexion SSH depuis 2 emplacements si possible à cause <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-information.fr.html#ssh-not-available">d&#8217;un problème sur SSH</a> durant l&#8217;installation.</li>
<li>On va effectuer une mise à jour des paquets avec <code>apt-get update &#038;& apt-get upgrade</code></li>
<li>On va sauvegarder les données :
<pre class="brush:powershell">mkdir /root/svg_special; cp -R /var/lib/dpkg /root/svg_special/; cp /var/lib/apt/extended_states /root/svg_special/; dpkg --get-selections "*" > /root/svg_special/dpkg_get_selection; cp -R /etc /root/svg_special/etc</pre>
</li>
<li>Ensuite il est conseillé d&#8217;utiliser <code>screen</code> pour pouvoir se reconnecter (avec <code>screen -r</code>) à en cas de déconnexion :
<pre class="brush:powershell">screen</pre>
</li>
</li>
<li>Le processus de mise à niveau décrit <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html">sur le site de Debian</a> a été conçu pour des mises à niveau des systèmes « purs » sans paquet provenant d&#8217;autres sources. Pour une meilleure fiabilité du processus de mise à niveau, vous pouvez supprimer ces paquets du système avant de commencer la mise à niveau :
<pre class="brush:bash">aptitude search '~i(!~ODebian)'</pre>
</li>
<li>On peut éventuellement purger les vieux paquets obsolètes. Pour cela on va d&#8217;abord les lister, puis on peut les purger si tout semble bon:
<pre class="brush:bash">aptitude search '~o'
aptitude purge '~o'</pre>
</li>
<li>On peut lancer la commande <code>dpkg --audit</code> pour s&#8217;assurer que tout est bon avant la migration. On peut également taper <code>dpkg --get-selections "*" | more</code> et vérifier qu&#8217;aucun paquet n&#8217;est en <em>on hold</em></li>
<li>Maintenant il faut remplacer tous les &#8220;buster&#8221; de <code>/etc/apt/sources.list</code> par des &#8220;bullseye&#8221; (on pourra par exemple utiliser <code>sed -i 's/buster/bullseye/g' /etc/apt/sources.list</code>)
<p>On vérifiera aussi les fichiers qui se trouvent dans <code>/etc/apt/sources.list.d</code>, en modifiant par exemple <a href="https://mariadb.org/download/?t=repo-config&#038;d=Debian+11+%22Bullseye%22&#038;v=10.6&#038;r_m=mva">la source pour MariaDB</a>.</p>
<p>J&#8217;ai également dû remplacer la ligne <code>deb http://security.debian.org/ bullseye/updates main contrib non-free</code> de mon fichier <code>/etc/apt/sources.list</code> par <code>deb http://security.debian.org/debian-security bullseye-security main contrib non-free</code>.</p>
</li>
<li>Il est recommandé d&#8217;utiliser le programme <code>/usr/bin/script</code> pour enregistrer une transcription de la session de mise à niveau. Ainsi, quand un problème survient, on a un enregistrement de ce qui s&#8217;est passé. Pour démarrer un enregistrement, taper :
<pre class="brush:powershell">script -t 2>~/upgrade-buster.time -a ~/upgrade-buster.script</pre>
</li>
<li>On passe aux choses sérieuses, en commençant par mettre à jour les listes des paquets :
<pre class="brush:powershell">apt-get update</pre>
</li>
<li>On va vérifier qu&#8217;on a la place suffisante (un message explicite apparait sinon) :
<pre class="brush:powershell">apt -o APT::Get::Trivial-Only=true full-upgrade</pre>
</li>
<li>On va maintenant faire une mise à jour minimale :
<pre class="brush:powershell">apt-get upgrade</pre>
</li>
<li>Et à partir de là le système va vous questionner&#8230; en général choisir l&#8217;option par défaut si vous ne savez pas quoi répondre</li>
<li>Puis on continue avec
<pre class="brush:powershell">apt full-upgrade</pre>
</li>
</ol>
<p>Cette dernière étape va durer un certain temps. Une fois terminé, vous pouvez redémarrer le serveur pour s&#8217;assurer que tout va bien.</p>
<p>Il est bien de vérifier que la version actuelle de PHP est correctement utilisée par Apache et qu&#8217;elle correspond à ce qu&#8217;on veut. Pour cela on vérifie la version avec:</p>
<pre class="brush:powershell">php -v</pre>
<p>Ensuite on regarde les versions de PHP disponibles dans les modules d&#8217;Apache :</p>
<pre class="brush:powershell">ls -l /etc/apache2/mods-available/php*</pre>
<p>Et on regarde celle activée :</p>
<pre class="brush:powershell">ls -l /etc/apache2/mods-enabled/php*</pre>
<p>On regarde également dans le dossier des modules pour vérifier quelle version on a : </p>
<pre class="brush:powershell">ls -l /etc/apache2/modules/libphp*</pre>
<p>Si la version souhaitée est manquante dans les modules, alors on l&#8217;installe, par exemple pour la 7.4 : </p>
<pre class="brush:powershell">apt-get install php7.4 php7.4-mysql</pre>
<p>On s&#8217;assure ensuite de bien activer la bonne version, par exemple en passant de la v7.0 à v7.4 :</p>
<pre class="brush:powershel">a2dismod php7.0
a2enmod php7.4</pre>
<p>Et on redémarre Apache : </p>
<pre class="brush:powershel">systemctl restart apache2</pre>
<p>Une fois les erreurs corrigées, on va nettoyer tous les paquets avec :</p>
<pre class="brush:powershell">apt-get autoremove</pre>
<p>Note : pour arrêter <code>screen</code> on fait <code>CTRL + A</code> puis <code>k</code>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2022/02/06/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-10-buster-vers-debian-11-bullseye/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>L&#8217;application Android &#8220;Huawei Health&#8221; (ou &#8220;Santé&#8221; en français) retourne l&#8217;erreur : &#8220;les notifications sont indisponibles&#8221;</title>
		<link>https://blog.kodono.info/wordpress/2021/07/26/lapplication-android-huawei-health-ou-sante-en-francais-retourne-lerreur-les-notifications-sont-indisponibles/</link>
					<comments>https://blog.kodono.info/wordpress/2021/07/26/lapplication-android-huawei-health-ou-sante-en-francais-retourne-lerreur-les-notifications-sont-indisponibles/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 26 Jul 2021 16:22:00 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2087</guid>

					<description><![CDATA[&#8220;Erreur du système, les notifications sont indisponibles. Veuillez redémarrer votre téléphone. Si le problème persiste, contactez le fabricant de votre appareil.&#8221; J&#8217;ai eu cette erreur sur mon Samsung S20 FE. J&#8217;ai réussi à m&#8217;en sortir ou désinstallant tout puis en réinstallant… Mais je pense que la solution pouvait être autre : dans les Paramètres du [&#8230;]]]></description>
										<content:encoded><![CDATA[<blockquote><p>&#8220;Erreur du système, les notifications sont indisponibles. Veuillez redémarrer votre téléphone. Si le problème persiste, contactez le fabricant de votre appareil.&#8221;</p></blockquote>
<p>J&#8217;ai eu cette erreur sur mon Samsung S20 FE. J&#8217;ai réussi à m&#8217;en sortir ou désinstallant tout puis en réinstallant… Mais je pense que la solution pouvait être autre : dans les <strong>Paramètres</strong> du téléphone, chercher <strong>Accès aux notifications</strong>, puis vérifier que l&#8217;application &#8220;Santé&#8221; est bien cochée !</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2021/07/26/lapplication-android-huawei-health-ou-sante-en-francais-retourne-lerreur-les-notifications-sont-indisponibles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Problème d&#8217;accès avec C:\Program Files\WindowsApps</title>
		<link>https://blog.kodono.info/wordpress/2021/07/26/probleme-dacces-avec-cprogram-fileswindowsapps/</link>
					<comments>https://blog.kodono.info/wordpress/2021/07/26/probleme-dacces-avec-cprogram-fileswindowsapps/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 26 Jul 2021 07:40:03 +0000</pubDate>
				<category><![CDATA[Application]]></category>
		<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2084</guid>

					<description><![CDATA[J&#8217;utilise d&#8217;habitude le raccourci wt.exe dans la barre de Windows Explorer, mais j&#8217;ai reçu une erreur aujourd&#8217;hui me disant que le fichier n&#8217;existe pas… Après quelques recherches, j&#8217;ai découvert que je n&#8217;ai aucun accès au répertoire C:\Program Files\WindowsApps là où se trouve Windows Terminal. J&#8217;ai réussi à le refaire marcher en lançant un terminal en [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&#8217;utilise d&#8217;habitude le raccourci <code>wt.exe</code> dans la barre de Windows Explorer, mais j&#8217;ai reçu une erreur aujourd&#8217;hui me disant que le fichier n&#8217;existe pas…</p>
<p>Après quelques recherches, j&#8217;ai découvert que je n&#8217;ai aucun accès au répertoire <code>C:\Program Files\WindowsApps</code> là où se trouve Windows Terminal.</p>
<p>J&#8217;ai réussi à le refaire marcher en lançant un terminal en mode administrateur puis en exécutant la commande <code>icacls "C:\Program Files\WindowsApps" /reset /t /c /q</code></p>
<p>J&#8217;ai reçu beaucoup de <em>échec de traitement</em>, mais ce fut quand même suffisant !</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2021/07/26/probleme-dacces-avec-cprogram-fileswindowsapps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Freebox Player API</title>
		<link>https://blog.kodono.info/wordpress/2020/11/03/freebox-player-api/</link>
					<comments>https://blog.kodono.info/wordpress/2020/11/03/freebox-player-api/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 03 Nov 2020 09:24:54 +0000</pubDate>
				<category><![CDATA[Français]]></category>
		<category><![CDATA[Partage]]></category>
		<category><![CDATA[Programmation]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2048</guid>

					<description><![CDATA[Free ne documente plus ses API depuis quelques années&#8230;. J&#8217;ai donc du faire pas mal de tests et de recherches pour trouver l&#8217;API liée au Freebox Player ! Je partage mes trouvailles sur https://github.com/Aymkdn/assistant-freebox-cloud/wiki/Player-API]]></description>
										<content:encoded><![CDATA[<p>Free ne documente plus ses API depuis quelques années&#8230;. J&#8217;ai donc du faire pas mal de tests et de recherches pour trouver l&#8217;API liée au Freebox Player !</p>
<p>Je partage mes trouvailles sur <a href="https://github.com/Aymkdn/assistant-freebox-cloud/wiki/Player-API">https://github.com/Aymkdn/assistant-freebox-cloud/wiki/Player-API</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2020/11/03/freebox-player-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows Movie Maker pour Windows 7, Windows 8.1 et Windows 10</title>
		<link>https://blog.kodono.info/wordpress/2020/10/28/windows-movie-maker-pour-windows-7-windows-8-1-et-windows-10/</link>
					<comments>https://blog.kodono.info/wordpress/2020/10/28/windows-movie-maker-pour-windows-7-windows-8-1-et-windows-10/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 28 Oct 2020 19:16:11 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Niveau débutant]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2045</guid>

					<description><![CDATA[Voici un lien avec une version qui s&#8217;installe encore sur ces versions de Windows : https://blog.kodono.info/wordpress/wp-content/uploads/wlsetup-all.exe]]></description>
										<content:encoded><![CDATA[<p>Voici un lien avec une version qui s&#8217;installe encore sur ces versions de Windows : <a href="https://blog.kodono.info/wordpress/wp-content/uploads/wlsetup-all.exe">https://blog.kodono.info/wordpress/wp-content/uploads/wlsetup-all.exe</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2020/10/28/windows-movie-maker-pour-windows-7-windows-8-1-et-windows-10/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mise à jour d’un serveur Kimsufi (OVH) depuis Debian 8 (Jessie) vers Debian 9 (Stretch)</title>
		<link>https://blog.kodono.info/wordpress/2019/02/24/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-8-jessie-vers-debian-9-stretch/</link>
					<comments>https://blog.kodono.info/wordpress/2019/02/24/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-8-jessie-vers-debian-9-stretch/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 24 Feb 2019 12:08:52 +0000</pubDate>
				<category><![CDATA[Français]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1942</guid>

					<description><![CDATA[Il faut régulièrement penser à mettre à jour son serveur Kimsufi. Je vais essayer d’expliquer brièvement les étapes à suivre pour cela. On va d&#8217;abord sauvegarder les données : mkdir /root/svg_special; cp -R /var/lib/dpkg /root/svg_special/; cp /var/lib/apt/extended_states /root/svg_special/; dpkg --get-selections "*" > /root/svg_special/dpkg_get_selection; cp -R /etc /root/svg_special/etc Ensuite il est conseillé d&#8217;utiliser screen pour pouvoir [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Il faut régulièrement penser à mettre à jour son serveur Kimsufi.</p>
<p>Je vais essayer d’expliquer brièvement <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html">les étapes à suivre</a> pour cela.</p>
<ol>
<li>On va d&#8217;abord sauvegarder les données :
<pre class="brush:powershell">mkdir /root/svg_special; cp -R /var/lib/dpkg /root/svg_special/; cp /var/lib/apt/extended_states /root/svg_special/; dpkg --get-selections "*" > /root/svg_special/dpkg_get_selection; cp -R /etc /root/svg_special/etc</pre>
</li>
<li>Ensuite il est conseillé d&#8217;utiliser <code>screen</code> pour pouvoir se reconnecter (avec <code>screen -r</code>) à en cas de déconnexion :
<pre class="brush:powershell">screen</pre>
</li>
</li>
<li>On va effectuer une mise à jour des paquets avec <code>apt-get update &#038;& apt-get upgrade</code></li>
<li>Le processus de mise à niveau décrit <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html">sur le site de Debian</a> a été conçu pour des mises à niveau des systèmes Jessie « purs » sans paquet provenant d&#8217;autres sources. Pour une meilleure fiabilité du processus de mise à niveau, vous pouvez supprimer ces paquets du système avant de commencer la mise à niveau. :
<pre class="brush:bash">aptitude search '~i(!~ODebian)'</pre>
</li>
<li>On peut lancer la commande <code>dpkg --audit</code> pour s&#8217;assurer que tout est bon avant la migration. On peut également taper <code>dpkg --get-selections "*" | more</code> et vérifier qu&#8217;aucun paquet n&#8217;est en <em>on hold</em></li>
<li>Maintenant il faut remplacer tous les &#8220;jessie&#8221; de <code>/etc/apt/sources.list</code> par des &#8220;stretch&#8221;, ce qui va donner chez moi :
<pre class="brush:bash">
deb http://ftp.fr.debian.org/debian stretch main non-free

deb http://debian.mirrors.ovh.net/debian/ stretch main
deb-src http://debian.mirrors.ovh.net/debian/ stretch main

deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main
</pre>
<p>On vérifiera aussi les autres fichiers qui peuvent se trouver dans <code>/etc/apt/sources.list.d</code>
</li>
<li>Si vous utilisez MySQL, sachez qu&#8217;avec Stretch vous pourriez passer sur MariaDB&#8230; Si vous souhaitez utiliser MySQL, on peut se référer à <a href="https://dbahire.com/how-to-install-mysql-server-on-debian-stretch/">ce blog post</a>
<ul>
<li>On ajoute/édite le fichier source pour mysql : <code>nano /etc/apt/sources.list.d/mysql.list</code></li>
<li>On y ajoute les sources suivantes (pour mysql-5.7) :
<pre class="brush:bash">
deb http://repo.mysql.com/apt/debian/ stretch mysql-5.7
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7
</pre>
</li>
<li>On ajoute la clé publique de ce repo :
<pre class="brush:bash">
wget -O /tmp/RPM-GPG-KEY-mysql https://repo.mysql.com/RPM-GPG-KEY-mysql
apt-key add /tmp/RPM-GPG-KEY-mysql
rm /tmp/RPM-GPG-KEY-mysql
</pre>
</ul>
<li>Il est recommandé d&#8217;utiliser le programme <code>/usr/bin/script</code> pour enregistrer une transcription de la session de mise à niveau. Ainsi, quand un problème survient, on a un enregistrement de ce qui s&#8217;est passé. Pour démarrer un enregistrement, taper :
<pre class="brush:powershell">script -t 2>~/upgrade-stretch.time -a ~/upgrade-stretch.script</pre>
</li>
<li>On passe aux choses sérieuses, en commençant par mettre à jour les listes des paquets :
<pre class="brush:powershell">apt-get update</pre>
</li>
<li>On va vérifier qu&#8217;on a la place suffisante (un message explicite apparait sinon) :
<pre class="brush:powershell">apt-get -o APT::Get::Trivial-Only=true dist-upgrade</pre>
</li>
<li>On va maintenant faire une mise à jour minimale :
<pre class="brush:powershell">apt-get upgrade</pre>
</li>
<li>Et à partir de là le système va vous questionner&#8230; en général choisir l&#8217;option par défaut si vous ne savez pas quoi répondre</li>
<li>Puis on continue avec
<pre class="brush:powershel">apt-get dist-upgrade</pre>
</li>
</ol>
<p>Cette dernière étape va durer un certain temps. Une fois terminé, vous pouvez redémarrer le serveur pour s&#8217;assurer que tout va bien.</p>
<p>Avec <strong>phpmyadmin</strong> vous pourriez recevoir l&#8217;erreur suivante :</p>
<blockquote><p>PHP Warning:  require_once(): open_basedir restriction in effect. File(/usr/share/php/php-php-gettext/gettext.inc) is not within the allowed path(s): (/usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/) in /usr/share/phpmyadmin/libraries/common.inc.php on line 77<br />
PHP Warning:  require_once(/usr/share/php/php-php-gettext/gettext.inc): failed to open stream: Operation not permitted in /usr/share/phpmyadmin/libraries/common.inc.php on line 77
</p></blockquote>
<p>Dans ce cas là, il faut rajouter <code>/usr/share/php/php-php-gettext/</code> dans le fichier <code>/etc/phpmyadmin/apache.conf</code> sur la ligne <code>open_base_dir</code>. Ce qui va donner la ligne : <code>php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/</code></p>
<p>J&#8217;ai eu quelques soucis avec <b>fail2ban</b> qui ne démarrait pas. J&#8217;ai pu résoudre en consultant le <a href="https://github.com/fail2ban/fail2ban/wiki/Troubleshooting">Troubleshooting</a> de leur wiki. Il s&#8217;agissait du fichier <code>/etc/fail2ban/jail.d/defaults-debian.conf</code> qui avait été créé avec une entrée invalide. Il a suffit de le supprimer.</p>
<p>Une fois les erreurs corrigées, on va nettoyer tous les paquets avec </p>
<pre class="brush:powershell">apt-get autoremove</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2019/02/24/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-8-jessie-vers-debian-9-stretch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Envoie d&#8217;email et spam (via OVH)</title>
		<link>https://blog.kodono.info/wordpress/2019/01/20/envoie-demail-et-spam-via-ovh/</link>
					<comments>https://blog.kodono.info/wordpress/2019/01/20/envoie-demail-et-spam-via-ovh/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 20 Jan 2019 15:52:22 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[email]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1926</guid>

					<description><![CDATA[Si on envoie des emails depuis notre propre serveur, avec notre propre domaine, certaines mailbox (comme Gmail) pourraient vous détecter comme du spam ! Pour éviter cela, il faut prendre quelques précautions. Type &#8220;SPF&#8221; Tout d&#8217;abord, il faut ajouter une entrée SPF via le gestionnaire de domaine d&#8217;OVH. Le wizard va aider à composer la [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Si on envoie des emails depuis notre propre serveur, avec notre propre domaine, certaines mailbox (comme Gmail) pourraient vous détecter comme du spam !</p>
<p>Pour éviter cela, il faut prendre quelques précautions.</p>
<h2>Type &#8220;SPF&#8221;</h2>
<p>Tout d&#8217;abord, il faut ajouter une entrée SPF via le gestionnaire de domaine d&#8217;OVH. Le <em>wizard</em> va aider à composer la chaine qui sera enregistrée pour le domaine.</p>
<p>Il faudra fournir : </p>
<ul>
<li>L&#8217;IPv4 du serveur qui envoie les emails</li>
<li>L&#8217;IPv6 du serveur qui envoie les emails</li>
<li>Inclure le MX d&#8217;OVH (<code>include:mx.ovh.com</code>)</li>
</ul>
<p>Au final, le champ SPF devrait ressembler à ça :<br />
<code>300 IN TXT "v=spf1 a mx ip4:1.2.3.4 ip6:2001:41d0:a:abcd::1/128 include:mx.ovh.com -all"</code></p>
<h2>Type &#8220;DKIM&#8221;</h2>
<p>Cette fois on va ajouter une entrée de type &#8220;DKIM&#8221;.</p>
<p>Il faudra utiliser  <a href="https://dkimcore.org/tools/">https://dkimcore.org/tools/</a> et :</p>
<ul>
<li>Le sous domaine est fourni par l&#8217;outil (exemple : <code>1547992053.kodono._domainkey</code>)</li>
<li>Choisir la version &#8220;DKIM 1&#8221;</li>
<li>Type de clé : RSA</li>
<li>La clé publique générée par l&#8217;outil dkimcore</li>
</ul>
<p>Au final, le champ DKIM devrait ressembler à ça :<br />
<code>1547992053.kodono._domainkey.kodono.info. 	0 	DKIM 	v=DKIM1;k=rsa;p=MIGfMA0GCSqGSIb3DQE...anzmm2RIpt0tV3gwTGwuLQIDAQAB;t=s;</code></p>
<p>On pourra ensuite utiliser <a href="https://github.com/louisameline/php-mail-signature">https://github.com/louisameline/php-mail-signature</a> qui est une librairie PHP et qui aide à signer les emails qu&#8217;on envoie en PHP.</p>
<h2>Type &#8220;DMARC&#8221;</h2>
<p>Enfin, on ajoute une entrée de type &#8220;DMARC&#8221;.</p>
<p>Il faudra utiliser :</p>
<ol>
<li>Le sous-domaine doit être <code>_dmarc</code></li>
<li>Règle pour le domaine : none</li>
</ol>
<p>Au final, le champ DMARC devrait ressemble à ça :<br />
<code>_dmarc.kodono.info.	0 	DMARC 	v=DMARC1; p=none;</code></p>
<h2>Ajout d&#8217;un reverse</h2>
<p>Il va falloir ajouter un reverse (PTR) pour l&#8217;IPv4 et l&#8217;IPv6 du serveur. Cela se fait via la console de votre serveur (par exemple via le site Kimsufi si votre serveur est là bas).</p>
<h2>Tester</h2>
<p>Une fois vos emails créés, vous pouvez les tester grâce aux sites <a href="https://www.mail-tester.com/">https://www.mail-tester.com/</a> et <a href="https://dkimvalidator.com/">https://dkimvalidator.com/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2019/01/20/envoie-demail-et-spam-via-ovh/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Interclassement MySQL pour le français</title>
		<link>https://blog.kodono.info/wordpress/2018/04/28/interclassement-mysql-pour-le-francais/</link>
					<comments>https://blog.kodono.info/wordpress/2018/04/28/interclassement-mysql-pour-le-francais/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sat, 28 Apr 2018 09:04:40 +0000</pubDate>
				<category><![CDATA[Français]]></category>
		<category><![CDATA[mysql]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1898</guid>

					<description><![CDATA[Quel interclassement (dit aussi collation) choisir pour sa base MySQL afin d&#8217;y enregistrer des caractères français (entre autres) ? L&#8217;interclassement a deux fonctions : Permettre l&#8217;ordonnancement correct d&#8217;une liste de caractères (pour indiquer que le &#8220;é&#8221; vient après le &#8220;e&#8221;, ou que les majuscules viennent avant les minuscules, etc) Permettre de savoir quand un caractère [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Quel interclassement (dit aussi <em>collation</em>) choisir pour sa base MySQL afin d&#8217;y enregistrer des caractères français (entre autres) ?</p>
<p>L&#8217;interclassement <a href="https://openclassrooms.com/courses/comprendre-les-jeux-de-caracteres-et-interclassements">a deux fonctions</a> :</p>
<ol>
<li>Permettre l&#8217;ordonnancement correct d&#8217;une liste de caractères (pour indiquer que le &#8220;é&#8221; vient après le &#8220;e&#8221;, ou que les majuscules viennent avant les minuscules, etc)</li>
<li>Permettre de savoir quand un caractère est &#8220;équivalent&#8221; à un autre (dans les requêtes WHERE que, par exemple, le caractère &#8220;e&#8221; est équivalent à &#8220;E&#8221;, &#8220;é&#8221;, &#8220;è&#8221; ou &#8220;ê&#8221;)</li>
</ol>
<p>Sur <a href="http://fluxbb.fr/aide/doku.php?id=mysql_charset_collation">fluxbb</a> on retrouve une très bonne explication. Je copie qu&#8217;une partie, mais allez lire cet article vraiment complet :</p>
<blockquote><p>MySQL permet de choisir comment les données seront classées (ORDER BY) par ce qui est appelé une « collation » (COLLATE). Ceci permet de répondre, par exemple, au problème classique de la sensibilité à la casse :</p>
<ul>
<li>Les majuscules doivent-elles précéder les minuscules, ou bien faut-il considérer A et a comme de même valeur ?</li>
<li>La sensibilité aux accents : comptent-ils dans le tri ? Font-ils une différence lors de la recherche ?</li>
<li>La possibilité qu&#8217;un caractère (ligature oe) puisse correspondre à plusieurs (o suivi de e) : c&#8217;est ce qu&#8217;Unicode appelle « l&#8217;expansion ».</li>
</ul>
<p>Toutes les collations ont un nom qui commence par le jeu de caractère auquel elles sont liées, et se terminent par l&#8217;une de ces trois abréviations :</p>
<ul>
<li><b>_bin</b> comme binary : les caractères sont dans l&#8217;ordre de leurs numéros de code (ce qui donne d&#8217;abord toutes les majuscules, puis toutes les minuscules, puis les lettres accentuées, en vrac).</li>
<li><b>_cs</b> comme case sensitive : les caractères sont triés selon le ou les langages de référence, mais de manière sensible à la casse.</li>
<li><b>_ci</b> comme case insensitive : idem, mais en ignorant la casse.</li>
</ul>
</blockquote>
<p>Il est possible de définir plusieurs niveaux : de la colonne jusqu&#8217;à toute la base de données. Ainsi on peut définir une collation pour une colonne qui sera différente de celle de la table.</p>
<p>Au final, on peut utiliser <b>utf8_unicode_ci</b> : <b>utf8</b> indique qu&#8217;on peut enregistrer une <a href="https://stackoverflow.com/a/30074553/1134119">large palette</a> de caractères (on utilisera <b>utf8mb4</b> si on souhaite enregistrer des émoticones en plus), <b>unicode_ci</b> va permettre un bon tri tout en ignorant la casse.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2018/04/28/interclassement-mysql-pour-le-francais/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Contrôler la Freebox avec Google Home</title>
		<link>https://blog.kodono.info/wordpress/2018/01/04/controler-la-freebox-avec-google-home/</link>
					<comments>https://blog.kodono.info/wordpress/2018/01/04/controler-la-freebox-avec-google-home/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Thu, 04 Jan 2018 13:41:02 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1881</guid>

					<description><![CDATA[J&#8217;ai tout expliqué sur ce site dédié : https://assistant.kodono.info/freebox/]]></description>
										<content:encoded><![CDATA[<p>J&#8217;ai tout expliqué sur ce site dédié : <a href="https://assistant.kodono.info/freebox/">https://assistant.kodono.info/freebox/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2018/01/04/controler-la-freebox-avec-google-home/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Émuler Raspberry Pi sous Windows</title>
		<link>https://blog.kodono.info/wordpress/2018/01/04/emuler-raspberry-pi-sous-windows/</link>
					<comments>https://blog.kodono.info/wordpress/2018/01/04/emuler-raspberry-pi-sous-windows/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Thu, 04 Jan 2018 11:36:13 +0000</pubDate>
				<category><![CDATA[Debug]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1878</guid>

					<description><![CDATA[Depuis que j&#8217;ai fait assistant-plugins, j&#8217;ai plusieurs utilisateurs qui m&#8217;ont demandé comment l&#8217;installer sur leur Raspberry. Ce système est censé être similaire à une Debian, cependant ils semblent y avoir des différences&#8230; J&#8217;ai donc cherché à émuler cet OS sous mon Windows 10. Sources : https://blogs.msdn.microsoft.com/iliast/2016/11/10/how-to-emulate-raspberry-pi/ https://enavarro.me/emuler-un-raspberry-pi-avec-qemu.html Voici les étapes : Télécharger la dernière version [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Depuis que j&#8217;ai fait <a href="https://aymkdn.github.io/assistant-plugins/">assistant-plugins</a>, j&#8217;ai plusieurs utilisateurs qui m&#8217;ont demandé comment l&#8217;installer sur leur Raspberry. Ce système est censé être similaire à une Debian, cependant ils semblent y avoir des différences&#8230; J&#8217;ai donc cherché à émuler cet OS sous mon Windows 10.</p>
<p>Sources :</p>
<ul>
<li><a href="https://blogs.msdn.microsoft.com/iliast/2016/11/10/how-to-emulate-raspberry-pi/">https://blogs.msdn.microsoft.com/iliast/2016/11/10/how-to-emulate-raspberry-pi/</a></li>
<li><a href="https://enavarro.me/emuler-un-raspberry-pi-avec-qemu.html">https://enavarro.me/emuler-un-raspberry-pi-avec-qemu.html</a></li>
</ul>
<p>Voici les étapes :</p>
<ol id="steps-rpi">
<li style="margin-bottom:20px">Télécharger la dernière version disponible de QEMU sur le site <a href="https://qemu.weilnetz.de/w32/">https://qemu.weilnetz.de/w32/</a> (par exemple <em><a href="https://qemu.weilnetz.de/w32/2017/qemu-w32-setup-20171211.exe">qemu-w32-setup-20171211.exe</a></em> au moment où j&#8217;écris cet article)</li>
<li style="margin-bottom:20px">Une fois téléchargé, on va faire un clique-droit et dézipper <b>qemu-w32-setup-20171211.exe</b> vers <b>qemu-w32-setup-20171211</b></li>
<li style="margin-bottom:20px">Télécharger la dernière version de Raspbian via <a href="https://www.raspberrypi.org/downloads/raspbian/">https://www.raspberrypi.org/downloads/raspbian/</a> dans le répertoire <b>qemu-w32-setup-20171211/</b> (ou via ce lien <a href="https://downloads.raspberrypi.org/raspbian_latest">https://downloads.raspberrypi.org/raspbian_latest</a>) (par exemple je prends la version lite qui se nomme <em>2017-11-29-raspbian-stretch-lite.zip</em>)</li>
<li style="margin-bottom:20px">Télécharger le kernel dans le répertoire <b>qemu-w32-setup-20171211/</b> via <a href="https://github.com/dhruvvyas90/qemu-rpi-kernel">https://github.com/dhruvvyas90/qemu-rpi-kernel</a> (par exemple j&#8217;ai pris <em><a href="https://github.com/dhruvvyas90/qemu-rpi-kernel/blob/master/kernel-qemu-4.4.34-jessie">kernel-qemu-4.4.34-jessie</a></em>)</li>
<li style="margin-bottom:20px">On va immédiatement agrandir la taille de notre image de 5G (pour éviter d&#8217;avoir des problèmes d&#8217;espace disque plus tard). Pour cela on va se rendre dans le dossier <b>qemu-w32-setup-20171211/</b> avec CMD et on va taper : <code>qemu-img.exe resize 2017-11-29-raspbian-stretch-lite +5G</code></li>
<li style="margin-bottom:20px">On peut lancer l&#8217;émulation avec la commande (<a href="https://qemu.weilnetz.de/doc/qemu-doc.html">voir tous les paramètres disponibles</a>) : <code>qemu-system-arm.exe -kernel <your_kernel_image> -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -drive "file=<your_rapsbian_image>,index=0,media=disk,format=raw" -redir tcp:2222::22</code> <br />(ce qui va donner chez moi : <code>qemu-system-arm.exe -kernel kernel-qemu-4.4.34-jessie -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -drive "file=2017-11-29-raspbian-stretch-lite.img,index=0,media=disk,format=raw" -redir tcp:2222::22</code>)</li>
<li style="margin-bottom:20px">Si tout se passe comme prévu l&#8217;image devrait démarrer et arriver jusqu&#8217;à vous demander un login (<b>pi</b>) et pass (<b>raspberry</b>) &#8230; Attention, par défaut c&#8217;est un clavier QWERTY qui est appliqué, il faut donc taper <b>rqspberry</b> pour le password.</li>
<li>On va passer le clavier en français en tapant : <code>sudo apt-get install console-data</code>, puis <code>sudo sudo dpkg-reconfigure console-data</code><br />On choisit <b>select keymap from fullist</b> puis <b>pc / azerty / French / Same as X11 (latin 9) / Standard</b>.</li>
<li>Si le clavier continue à être en anglais, taper : <code>sudo dpkg-reconfigure keyboard-configuration</code> en sélectionnant le clavier par défaut proposé, puis pour la langue, choisir <b>Other</b> puis <b>French</b>, et ensuite les propositions par défaut.<br />Et finalement la commande : <code>sudo setupcon</code></li>
<li>On va maintenant finir d&#8217;agrandir notre partition. Pour cela on tape : <code>sudo fdisk /dev/sda</code> et on suit les instructions ci-dessous :
<ul>
<li>On affiche la table des partitions avec la lettre <b>&#8220;p&#8221;</b>. On va noter le chiffre qui apparait dans la colonne <b>Start</b> pour la deuxième ligne (celle qui correspond à la partition de type Linux) (chez moi cela vaut <em>94208</em>)</li>
<li>On efface la partition principale avec la lettre <b>&#8220;d&#8221;</b> (cela devrait être la 2)</li>
<li>On crée une nouvelle partition avec la lettre <b>&#8220;n&#8221;</b>, puis on choisit primary avec <b>&#8220;p&#8221;</b> et la position <b>&#8220;2&#8221;</b></li>
<li>Pour le premier secteur on va utiliser la valeur trouvée précédemment (<em>94208</em> pour moi)</li>
<li>On appuie sur <b>&#8220;Enter&#8221;</b> pour le last sector (pour utiliser la valeur proposée)</li>
<li>À la question <b>Do you want to remove the signature?</b>, répondre <b>&#8220;N&#8221;</b></li>
<li>On écrit la table de partition avec <b>&#8220;w&#8221;</b></li>
<li>Puis on reboot avec <code>sudo shutdown -r now</code></li>
<li>Après le reboot on va terminer par : <code>sudo resize2fs /dev/sda2</code></li>
</ul>
</li>
<li>Maintenant on va augmenter la taille du swap : <code>sudo nano /etc/dphys-swapfile</code> où on va remplacer <b>CONF_SWAPSIZE=100</b> par <b>CONF_SWAPSIZE=1024</b></li>
<li>On redémarre le service avec : <code>sudo /etc/init.d/dphys-swapfile stop</code> puis <code>sudo /etc/init.d/dphys-swapfile start</code></li>
</ol>
<style>
#steps-rpi > li { margin-bottom:20px }
</style>
<p>Maintenant l&#8217;émulateur est prêt à être utilisé. Se reporter aux deux sources fournies en début d&#8217;article pour plus de détails et des options supplémentaires !</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2018/01/04/emuler-raspberry-pi-sous-windows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Détecter si le Freebox Player est allumé ou éteint (en veille) via les API de Free [Programmation]</title>
		<link>https://blog.kodono.info/wordpress/2016/11/19/detecter-si-le-freebox-player-est-allume-ou-eteint-en-veille-via-les-api-de-free-programmation/</link>
					<comments>https://blog.kodono.info/wordpress/2016/11/19/detecter-si-le-freebox-player-est-allume-ou-eteint-en-veille-via-les-api-de-free-programmation/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sat, 19 Nov 2016 12:11:16 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Freebox]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1726</guid>

					<description><![CDATA[Il n&#8217;existe pas de commande directe qui permette de savoir si le Player est éteint (en veille) ou allumé&#8230; Cependant il existe une astuce qui consiste à faire une requête en utilisant les paramètres suivants : { url:"http://mafreebox.freebox.fr/api/v3/airmedia/receivers/Freebox%20Player/", headers:{ "X-Fbx-App-Auth": client.app.session_token }, method:"POST", json: { "action":"stop", "media_type":"video" }, encode:"utf-8" } La Freebox va alors retourner [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Il n&#8217;existe pas de commande directe qui permette de savoir si le Player est éteint (en veille) ou allumé&#8230; Cependant <a href="https://github.com/Spikharpax/SARAH-Plugin-freebox/blob/master/lib/token/token.js#L59">il existe une astuce</a> qui consiste à faire une requête en utilisant les paramètres suivants :</p>
<pre class="brush:javascript">
{
  url:"http://mafreebox.freebox.fr/api/v3/airmedia/receivers/Freebox%20Player/",
  headers:{
    "X-Fbx-App-Auth": client.app.session_token
  }, 
  method:"POST",
  json: {
    "action":"stop",
    "media_type":"video"
  },
  encode:"utf-8"
}
</pre>
<p>La Freebox va alors retourner <code>{ success:true }</code> si elle est allumée, ou <code>{ success:false }</code> si elle est éteinte/en veille.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2016/11/19/detecter-si-le-freebox-player-est-allume-ou-eteint-en-veille-via-les-api-de-free-programmation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Incruster des sous-titres dans une vidéo</title>
		<link>https://blog.kodono.info/wordpress/2016/08/16/incruster-des-sous-titres-dans-une-video/</link>
					<comments>https://blog.kodono.info/wordpress/2016/08/16/incruster-des-sous-titres-dans-une-video/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 16 Aug 2016 14:33:02 +0000</pubDate>
				<category><![CDATA[Application]]></category>
		<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Vidéo]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[vidéo]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1676</guid>

					<description><![CDATA[Voilà une opération qui pourrait paraitre simple et qui pourtant est difficile à trouver sur le Net&#8230; Pour cela on va utiliser le logiciel HandBrake. Commencer par le télécharger puis l&#8217;installer. On choisit notre fichier vidéo d&#8217;origine (ici un .mp4) en cliquant sur &#8220;Source&#8221; : On choisit la destination, c&#8217;est-à-dire là où notre nouveau fichier [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Voilà une opération qui pourrait paraitre simple et qui pourtant est difficile à trouver sur le Net&#8230;</p>
<p>Pour cela on va utiliser le logiciel <a href="https://handbrake.fr/">HandBrake</a>. Commencer par le télécharger puis l&#8217;installer.</p>
<ol>
<li>On choisit notre fichier vidéo d&#8217;origine (ici un .mp4) en cliquant sur &#8220;Source&#8221; :<br />
<img decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step1.png" alt="step1" width="234" height="147" class="aligncenter size-full wp-image-1677" /><br />
<img decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step1_b.png" alt="step1_b" width="304" height="323" class="aligncenter size-full wp-image-1678" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step1_b.png 304w, https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step1_b-282x300.png 282w" sizes="(max-width: 304px) 100vw, 304px" />
</li>
<li>On choisit la destination, c&#8217;est-à-dire là où notre nouveau fichier sera sauvegardé :<br />
<img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step2.png" alt="step2" width="745" height="266" class="aligncenter size-full wp-image-1679" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step2.png 745w, https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step2-300x107.png 300w" sizes="auto, (max-width: 745px) 100vw, 745px" /></li>
<li>On clique ensuite sur l&#8217;onglet &#8220;Subtitles&#8221; puis sur &#8220;Import SRT&#8221; et on choisit notre fichier avec l&#8217;extension &#8220;.srt&#8221; :<br />
<img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step3.png" alt="step3" width="731" height="232" class="aligncenter size-full wp-image-1680" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step3.png 731w, https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step3-300x95.png 300w" sizes="auto, (max-width: 731px) 100vw, 731px" /></li>
<li>On choisit la langue et on coche la case &#8220;Burn In&#8221; :<br />
<img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step4.png" alt="step4" width="730" height="229" class="aligncenter size-full wp-image-1681" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step4.png 730w, https://blog.kodono.info/wordpress/wp-content/uploads/2016/08/step4-300x94.png 300w" sizes="auto, (max-width: 730px) 100vw, 730px" /></li>
<li>Et enfin on clique sur le bouton &#8220;Start&#8221; dans la barre d&#8217;outil.</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2016/08/16/incruster-des-sous-titres-dans-une-video/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
