<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media = "http://search.yahoo.com/mrss/" version="2.0">
  <channel>
    <title>Limawi Blog</title>
    <link>https://blog.limawi.io/fr-fr/</link>
    <image>
      <url>https://blog.limawi.io/logo.png</url>
      <title>Limawi Blog</title>
      <link>https://blog.limawi.io/fr-fr/</link>
    </image>
    <description>Du cloud, du devops et des outils pour tout ça.</description>
    <language>fr-fr</language>
    <lastBuildDate>Tue, 05 Oct 2021 09:31:01 +0000</lastBuildDate><atom:link href="https://blog.limawi.io/fr-fr/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Mon pédiluve à 42Lausanne</title>
      <link>https://blog.limawi.io/fr-fr/videos/42lausanne/</link>
      <pubDate>Tue, 05 Oct 2021 09:31:01 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/42lausanne/</guid>
      <description>J&#39;ai découvert 42Lausanne une semaine pendant la piscine de septembre 2021. Du coup, j&#39;ai fait un pédiluve (une semaine au lieu de quatre).</description>
      <media:title>Mon pédiluve à 42Lausanne</media:title>
      <media:description>J&#39;ai découvert 42Lausanne une semaine pendant la piscine de septembre 2021. Du coup, j&#39;ai fait un pédiluve (une semaine au lieu de quatre).</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/42lausanne/videos/42lausanne.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infos</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/42lausanne/images/cover.png" />
      <media:category></media:category>
    </item>
    <item>
      <title>Sur git, ne stockez jamais de secrets</title>
      <link>https://blog.limawi.io/fr-fr/posts/sur-git-ne-stockez-jamais-de-secrets/</link>
      <pubDate>Fri, 30 Apr 2021 10:20:21 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/sur-git-ne-stockez-jamais-de-secrets/</guid>
      <description>Je vois une mauvaise utilisation dans le monde git.</description>
      <content:encoded><![CDATA[<p>Même si certains projets encouragent ce comportement.
Soyez clair sur ce point : stocker des secrets sur git est toujours une mauvaise idée.</p>
<h2 id="rupture-de-flux-git-à-distance">Rupture de flux git à distance</h2>
<p>Si vous stockez un secret sur git, vous êtes censé le stocker chiffré (évidemment).</p>
<p>Pour faire un versionnage, vous utilisez simplement un <em>commit</em>.
Comme l&rsquo;algorithme de chiffrement n&rsquo;est pas déterministe (comme il se doit, ce n&rsquo;est pas un hachage),
vous vous retrouvez avec un blob de données chiffrées qui est entièrement différent du <em>commit</em> précédent.
Il est impossible de faire une comparaison et le fichier complet est téléchargé à chaque fois.</p>
<p>Maintenant, plus drôle. Vous voulez faire une <em>git merge</em> car 2 branches ont reçu des mises à jour séparées sur leurs secrets.
Comme vous devez comparer 2 fichiers chiffrés entièrement différents, quels avantages peuvent offrir toute stratégie <em>merge</em> de git.
Vous finirez certainement par bousiller votre fichier et perdre les secrets qu&rsquo;il contient.</p>
<h2 id="rupture-de-flux-git-local">Rupture de flux git local</h2>
<p>Vous pourriez dire &ldquo;de cette façon, je gère mes secrets avec le même flux que mon code&rdquo;. Et je répondrai &ldquo;Vraiment? En êtes-vous vraiment sûr?&rdquo;</p>
<p>Jetons donc un œil à votre flux local, car je vous ai déjà expliqué que votre flux distant est définitivement mort.</p>
<ul>
<li>Vous tirez le repo</li>
<li>Vous l&rsquo;intégrez dans votre VSCode ou votre terminal ou tout autre IDE</li>
<li>Vous changez quelque chose sur le code</li>
<li>Vous <em>commit</em></li>
<li>Vous tirez et poussez</li>
</ul>
<p>Ok, maintenant pour les secrets.</p>
<ul>
<li>Vous tirez le repo</li>
<li>Vous l&rsquo;intégrez dans votre VSCode ou votre terminal ou tout autre IDE</li>
<li>Jusqu&rsquo;ici tout va bien</li>
<li>J&rsquo;espère que vous avez installé l&rsquo;outil pour déchiffrer votre fichier de secrets</li>
<li>Vous le déchiffrez (en espérant que l&rsquo;outil soit intégré dans votre IDE)</li>
<li>Vous changez quelque chose dessus</li>
<li>Vous le chiffrez avec le même outil ou un autre</li>
<li>Vous vérifiez deux fois que vous n&rsquo;avez pas laissé le fichier non chiffré quelque part sur votre espace de travail</li>
<li>Vous <em>commit</em> avec une goutte sur le front et une douleur au ventre</li>
<li>Vous tirez</li>
<li>Vous essayez de comprendre comment résoudre le conflit entre vos 2 blobs de fichier chiffré car un nouveau <em>commit</em> à distance a déjà modifié le fichier</li>
<li>Vous <em>commit</em> à nouveau en espérant que vous n&rsquo;avez pas tout foiré</li>
<li>Vous poussez</li>
<li>Vous voyez par la suite que vous avez <em>commit</em> également le fichier non chiffré et que les secrets sont maintenant disponibles librement sur le <em>remote</em></li>
<li>Vous essayez désespérément de réinitialiser bousillant le flux git pour toute l&rsquo;équipe</li>
<li>Vous pleurez</li>
</ul>
<p>Je ne suis pas sûr que ce soit le même flux git.</p>
<p>En conclusion, stockez vos secrets dans des stockages faits pour cela.
Par exemple, Hashicorp Vault sur votre infrastructure et keepassXC localement.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 05 février 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210205-journal-de-bord/</link>
      <pubDate>Fri, 05 Feb 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210205-journal-de-bord/</guid>
      <description>On passe de cookiecutter à copier.</description>
      <content:encoded><![CDATA[<p>Parceque le mélange <code>json</code>, <code>yml</code> et <code>jinja</code> dans le code, ça va 5 minutes.</p>
<p>Avec <code>copier</code>, on a tout en yml. Ce que je souhaite :</p>
<ul>
<li>pouvoir être <code>DRY</code>(Don’t repeat yourself)</li>
<li>avoir un mécanisme d’héritage ou apparenté qui me permette d’appliquer plusieurs templates en même temps</li>
<li>ça soit intégrable en CI avec immutabilité</li>
<li>avoir la possibilité de créer des sous-templates (par exemple pour gérer les roles d’une collection ansible)</li>
</ul>
<p>Du coup, j’ai conçu un petit script en python pour étendre <code>copier</code> en m’appuyant sur la doc de <code>copy</code>:</p>
<p>
<a href="https://copier.readthedocs.io/en/stable/api/" target="_blank">https://copier.readthedocs.io/en/stable/api/</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 04 février 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210204-journal-de-bord/</link>
      <pubDate>Thu, 04 Feb 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210204-journal-de-bord/</guid>
      <description>Aujourd’hui on coupe des cookies.</description>
      <content:encoded><![CDATA[<p>On va utiliser <code>cookiecutter</code> pour générer tous nos templates.</p>
<p>Avec son système de sous-répertoires, on va faire nos diverses variations.</p>
<p>
<a href="https://cookiecutter.readthedocs.io/en/1.7.2/advanced/directories.html" target="_blank">Organizing cookiecutters in directories (1.7+) - cookiecutter 1.7.2 documentation</a></p>
<p>Le problème avec cookiecutter c’est que pour l’instant il n’existe pas de méthodes pour générer une arborescence de dossiers à partir d’une liste.</p>
<p>Imaginons un repo ansible, on voudrais pouvoir définir des roles, et pour chacun des roles, on voudrait définir le dossier de tests molecule et le playbook de base qui va avec.</p>
<p>Du coup, on aurait une sorte de sous-template comme ça :</p>
<pre><code>roles     -&gt;role1
          -&gt;role2
molecule  -&gt;role1
          -&gt;role2
playbooks -&gt;role1
          -&gt;role2
</code></pre>
<p>Donc, on voudrait générer ça à partir d’une liste:</p>
<pre><code>{
  roles: [
    role1
    role2
  ]
}
</code></pre>
<p>On s’appuit sur l’idée de base ici :</p>
<p>
<a href="https://igorbasko01.github.io/cookiecutter/python/2020/02/04/cookiecutter-sub-folders.html" target="_blank">Creating cookiecutter multiple sub-folders from template</a></p>
<p>mais il y a des trucs qui ne fonctionnent pas.</p>
<p>On doit se battre en plus avec le fait que <code>cookiecutter</code> a des fichiers de config en <code>json</code> et en <code>yml</code>.</p>
<p>Ça rend les choses compliquées (et instables) dés qu’on a des tableaux complexes.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 02 février 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210202-journal-de-bord/</link>
      <pubDate>Tue, 02 Feb 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210202-journal-de-bord/</guid>
      <description>On continue toujours la monorepoysation.</description>
      <content:encoded><![CDATA[<p>L’idée de ce soir est de coder les containers nécessaires au bon fonctionnement de l’intégration continue.</p>
<p>Donc :</p>
<ul>
<li>renovate</li>
<li>semantic-release</li>
</ul>
<p>On va les coder simplement sans fioritures et on les refactorera une fois qu’on aura retrouvé tous nos outils de CI.</p>
<p>On va d’abord coder le role ansible <code>container</code>. Ce role aura la charge de faire toutes les tâches nécessaires à la création d’un container avec ansible.</p>
<p>C’est lui qui installe l’<code>entrypoint</code> ou les dossiers selon la <code>XDGBase Directory Spec</code>.</p>
<p>Il paramètre aussi l’ensemble des déclarations de l’image container résultante.</p>
<p>On cherche aussi à utiliser un inventaire en <code>yml</code> avec <code>molecule</code> au lieu du fichier hosts en <code>INI</code>.</p>
<p>Cela afin d’avoir une syntaxe semblable sur l’ensemble du projet.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 01 février 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210201-journal-de-bord/</link>
      <pubDate>Mon, 01 Feb 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210201-journal-de-bord/</guid>
      <description>On continue la formalisation du projet.</description>
      <content:encoded><![CDATA[<p>L’idée est d’être sec, pardon <code>DRY</code>. Il y a donc un repo central <code>coppint</code> constitué de templates.</p>
<p>Je voudrais automatiser la création de README selon un template et la création de la doc.</p>
<p>Pour cela, on va utiliser le paquet</p>
<p>
<a href="https://github.com/kefranabg/readme-md-generator#readme" target="_blank">kefranabg/readme-md-generator</a></p>
<p>et un template selon ce paquet pour générer automatiquement notre README.</p>
<p>Ce générateur en nodejs me pose quand même quelques soucis. Il n’est pas maintenu depuis 2 ans et est vraiment spécifique à nodejs.</p>
<p>Du coup, stand-by et on va réfléchir au truc.</p>
<p>la génération de doc pour shell semble se faire avec</p>
<p>
<a href="https://github.com/reconquest/shdoc" target="_blank">https://github.com/reconquest/shdoc</a></p>
<p>sans problèmes.</p>
<p>Reste à tester</p>
<p>
<a href="https://github.com/thegeeklab/ansible-doctor" target="_blank">https://github.com/thegeeklab/ansible-doctor</a></p>
<p>et</p>
<p>
<a href="https://www.npmjs.com/package/doctoc" target="_blank">https://www.npmjs.com/package/doctoc</a></p>
<p>Passons maintenant à la mise en place d’un environnement <code>nodejs</code> pour pouvoir restaurer les containers <code>renovate</code> et <code>semantic-release</code>.</p>
<p>C’est bon à l’exception de Gitlab qui met n’importe quoi comme nom de commit, comme d’habitude.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/stream-20210201-journal-de-bord/images/relations-monorepos.png" class="figure-img img-fluid rounded" alt="Les relations prévues entre les monorepos de Limawi.">
  <figcaption class="figure-caption"><p>Relations monorepos</p>
    <small>Les relations prévues entre les monorepos de Limawi.</small>
  </figcaption>
</figure>

]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 29 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210129-journal-de-bord/</link>
      <pubDate>Fri, 29 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210129-journal-de-bord/</guid>
      <description>La refactorisation continue.</description>
      <content:encoded><![CDATA[<p>On reprend à la base. C’est à dire le projet <code>ansible-environments</code> et son pendant <code>inspec</code>.</p>
<p>Le projet <code>ansible-environments</code> c’est la collection ansible qui fournit les environnements de base des langages sécurisés et paramétrés pour la prod.</p>
<p>Son pendant <code>Inspec</code> ce sont les profils Inspec chargés de tester ces environnements.</p>
<p>Nous avons aussi créé un projet qui centralise les artefacts nécessaires à tous les repos.</p>
<p>Ces artefacts sont en vrac :</p>
<ul>
<li>CONTRIBUTING.md</li>
<li>LICENSE.md</li>
<li>Des gitlab-ci.yml de lint et release</li>
<li>Des presets de release</li>
<li>Des presets de renovate</li>
</ul>
<p><code>security.txt</code> a été oublié, il faudra l’ajouter.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 28 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210128-journal-de-bord/</link>
      <pubDate>Thu, 28 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210128-journal-de-bord/</guid>
      <description>Encore, encore le docker-compose et monorepoysation.</description>
      <content:encoded><![CDATA[<p>On va modifier la structure du projet pour se rapprocher des collections ansible. Et on va faire de la monorepoysation parce que j’aime bien les néologismes imprononçables.</p>
<p>Pourquoi ?</p>
<p>Parce que je suis à peu près à 80 repos git actifs pour le projet de forge logicielle.</p>
<p>C’est trop, ça introduit des instabilités partout et une capacité de progression réduite (PR en attentes…)</p>
<p>Pourquoi je n’ai pas monorepoysé plus tôt ?</p>
<p>Parce que je crains le repo fourre-tout et les monorepos ont tendance à aller dans cette direction.</p>
<p>Du coup, on va réfléchir nos monorepos.</p>
<p>Je propose donc:</p>
<ul>
<li>monorepo services de la forge logicielle</li>
<li>monorepo outils de la forge logicielle.</li>
<li>monorepos cucumber et Inspec correspondants (donc 4 monorepos)</li>
</ul>
<p>Les services de la forge logicielle sont les containers qui tournent en permanence (Gitea, Concourse-ci, etc…)</p>
<p>les outils de la forge logicielle sont les containers appellés pour résoudre une tâche (ansible, inspec, etc…)</p>
<p>Il y a un container qui fonctionne comme un service mais qui est un outil (plus une sorte de container side-car), c’est renovate. Donc lui, je vais le gérer dans le monorepo des outils.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Chanson du DevOps</title>
      <link>https://blog.limawi.io/fr-fr/videos/chanson-du-devops/</link>
      <pubDate>Thu, 28 Jan 2021 09:31:01 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/chanson-du-devops/</guid>
      <description>La chanson du devops.</description>
      <media:title>Chanson du DevOps</media:title>
      <media:description>La chanson du devops.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/chanson-du-devops/videos/chanson-du-devops.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>DevOps</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/chanson-du-devops/images/cover.png" />
      <media:category></media:category>
    </item>
    <item>
      <title>Journal de bord 26 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210126-journal-de-bord/</link>
      <pubDate>Tue, 26 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210126-journal-de-bord/</guid>
      <description>Encore le docker-compose de GoHarbor.</description>
      <content:encoded><![CDATA[<p>On continue à débugger. C’est un peu long car GoHarbor a axé sa stratégie d’install sur un script d’installation et non sur une doc complète.</p>
<p>Je passe donc mon temps à chercher des infos dans le code et faire divers tests pour trouver les paramètres que GoHarbor accepte.</p>
<p>Portal m’a fait ressurgir des limbes de mon cerveau la notion d’héritage de templates <code>jinja2</code> au sein d’ansible.</p>
<p>Avec ça je peux modifier le template vhost de base de nginx avec une variante locale (spécifique à GoHarbor).</p>
<p>Dans le cadre des collections ansible, il peut être nécessaire d’installer les collections dans le projet lui-même en exécutant une commande du type :</p>
<pre><code>ansible-galaxy collection install -r requirements.yml -p ./collections
</code></pre>
<p>Cela permet d’utiliser des chemins relatifs dans la déclaration extends des templates <code>jinja2</code>.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/stream-20210126-journal-de-bord/images/heritage-template-ansible.png" class="figure-img img-fluid rounded" alt="Quel template est pris par la task ?">
  <figcaption class="figure-caption"><p>Héritage de templates ansible</p>
    <small>Quel template est pris par la task ?</small>
  </figcaption>
</figure>

]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 25 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210125-journal-de-bord/</link>
      <pubDate>Mon, 25 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210125-journal-de-bord/</guid>
      <description>On continue le docker-compose de GoHarbor.</description>
      <content:encoded><![CDATA[<p>On a mis en place le mTLS et les schémas SQL. On continue.</p>
<p>L’init passe si on n’oublie pas de paramétrer le répertoire <code>container-init</code> qui contient le fichier <code>LOCK</code> déclenchant le démarrage des autres containers.</p>
<p>Paramétrer veut dire le créer et lui affecter le <code>USER</code> du container init.</p>
<p>Maintenant, on débugge les valeurs manquantes dans les fichiers de config de GoHarbor.</p>
<p>GoHarbor a besoin de 3 interfaces publiques:</p>
<ul>
<li>celle de core qui gère l’accès à l’API REST</li>
<li>celle de portal qui gère l’accès à l’interface web de gestion</li>
<li>celle du registry qui gère les push et pull des images</li>
</ul>
<p>Donc, on doit créer 3 noms domaines pour les tests:</p>
<ul>
<li>core.coppint.test</li>
<li>web.coppint.test</li>
<li>registry.coppint.test</li>
</ul>
<p>Ces noms de domaines ont leur port définis sur 444, 443 et 445 depuis l’extérieur.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Musiques utilisées</title>
      <link>https://blog.limawi.io/fr-fr/posts/musiques-utilis%C3%A9es/</link>
      <pubDate>Sat, 23 Jan 2021 19:28:37 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/musiques-utilis%C3%A9es/</guid>
      <description>Voici la liste des musiques utilisées dans nos contenus avec leur license associée.</description>
      <content:encoded><![CDATA[<h2 id="playlists-actuelles">Playlists actuelles</h2>
<h3 id="playlist-ambiance">Playlist ambiance</h3>
<hr>
<p>﻿
Artiste : Almusic34</p>
<p>Titre : 432 Hz Space ambiant</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/almusic34/single/432-hz-space-ambientmp3" target="_blank">https://freemusicarchive.org/music/almusic34/single/432-hz-space-ambientmp3</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>Artiste : Almusic34</p>
<p>Titre : 432 Hz tuned Landscape 1</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/almusic34/single/432hz-tuned-landscape-1mp3" target="_blank">https://freemusicarchive.org/music/almusic34/single/432hz-tuned-landscape-1mp3</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Ov Moi Omm</p>
<p>Titre : And Their Domain</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/ov-moi-omm/single/and-their-domain" target="_blank">https://freemusicarchive.org/music/ov-moi-omm/single/and-their-domain</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Almusic34</p>
<p>Titre : Deep space travel</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/almusic34/single/deep-space-travelmp3" target="_blank">https://freemusicarchive.org/music/almusic34/single/deep-space-travelmp3</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Almusic34</p>
<p>Titre : Harmony in the night</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/almusic34/single/harmony-in-the-nightmp3" target="_blank">https://freemusicarchive.org/music/almusic34/single/harmony-in-the-nightmp3</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Lex Villena</p>
<p>Titre : Origins</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/lex-villena/single/origins" target="_blank">https://freemusicarchive.org/music/lex-villena/single/origins</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Almusic34</p>
<p>Titre : Peace landscape 3</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/almusic34/single/peace-landscape-3mp3" target="_blank">https://freemusicarchive.org/music/almusic34/single/peace-landscape-3mp3</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Ov Moi Omm</p>
<p>Titre : Somewhere Above South Eastern Oceans</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/ov-moi-omm/single/somewhere-above-south-eastern-oceans" target="_blank">https://freemusicarchive.org/music/ov-moi-omm/single/somewhere-above-south-eastern-oceans</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Almusic34</p>
<p>Titre : Space ambiant mix4</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/almusic34/single/space-ambient-mix4mp3" target="_blank">https://freemusicarchive.org/music/almusic34/single/space-ambient-mix4mp3</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Ov Moi Omm</p>
<p>Titre : The Sabian Star Worshippers</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/ov-moi-omm/single/the-sabian-star-worshippers" target="_blank">https://freemusicarchive.org/music/ov-moi-omm/single/the-sabian-star-worshippers</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Almusic34</p>
<p>Titre : tranquility</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/almusic34/single/tranquilitymp3" target="_blank">https://freemusicarchive.org/music/almusic34/single/tranquilitymp3</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : Almusic34</p>
<p>Titre : Voices and bells</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/almusic34/single/voices-and-bellsmp3" target="_blank">https://freemusicarchive.org/music/almusic34/single/voices-and-bellsmp3</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<h3 id="playlist-introduction">Playlist introduction</h3>
<hr>
<p>﻿Artiste : Itsensäsyöjät</p>
<p>Titre : Introduction beats</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/Itsenssyjt/Elektrique/01-Introduction_beats" target="_blank">https://freemusicarchive.org/music/Itsenssyjt/Elektrique/01-Introduction_beats</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<p>﻿Artiste : ROZKOL</p>
<p>Titre : Opening Credits</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/ROZKOL/Roadside_Picnic/ROZKOL_-_Roadside_Picnic_-_01_Opening_Credits" target="_blank">https://freemusicarchive.org/music/ROZKOL/Roadside_Picnic/ROZKOL_-_Roadside_Picnic_-_01_Opening_Credits</a></p>
<p>License : Creative Commons Attribution 4.0 International (CC BY 4.0) 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a></p>
<hr>
<h3 id="playlist-conclusion">Playlist conclusion</h3>
<hr>
<p>﻿Artiste : TRG Banks</p>
<p>Titre : Evening journey</p>
<p>Lien : 
<a href="https://freemusicarchive.org/music/TRG_Banks/The_Rainbows_End/Evening_journey" target="_blank">https://freemusicarchive.org/music/TRG_Banks/The_Rainbows_End/Evening_journey</a></p>
<p>License : CC0 1.0 Universal (CC0 1.0) Public Domain Dedication 
<a href="https://creativecommons.org/publicdomain/zero/1.0/" target="_blank">https://creativecommons.org/publicdomain/zero/1.0/</a></p>
<hr>
<h2 id="ancienne-playlist">Ancienne playlist</h2>
<p>License: 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">Creative Commons Attribution 4.0 International (CC BY 4.0)</a></p>
<ul>
<li>
<a href="https://www.chilloutmedia.com/who-i-want-to-be" target="_blank">https://www.chilloutmedia.com/who-i-want-to-be</a></li>
<li>
<a href="https://incompetech.filmmusic.io/song/6928-on-hold-for-you" target="_blank">https://incompetech.filmmusic.io/song/6928-on-hold-for-you</a></li>
<li>
<a href="https://incompetech.filmmusic.io/song/3454-bossa-antigua" target="_blank">https://incompetech.filmmusic.io/song/3454-bossa-antigua</a></li>
<li>
<a href="https://incompetech.filmmusic.io/song/4379-smooth-lovin" target="_blank">https://incompetech.filmmusic.io/song/4379-smooth-lovin</a></li>
<li>
<a href="https://incompetech.filmmusic.io/song/3918-inspired" target="_blank">https://incompetech.filmmusic.io/song/3918-inspired</a></li>
<li>
<a href="https://incompetech.filmmusic.io/song/3408-backbay-lounge" target="_blank">https://incompetech.filmmusic.io/song/3408-backbay-lounge</a></li>
<li>
<a href="https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/17-17" target="_blank">https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/17-17</a></li>
<li>
<a href="https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/Call_Your_Grandma" target="_blank">https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/Call_Your_Grandma</a></li>
<li>
<a href="https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/Jax-Trax" target="_blank">https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/Jax-Trax</a></li>
<li>
<a href="https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/Ready" target="_blank">https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/Ready</a></li>
<li>
<a href="https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/Wants_To_Know" target="_blank">https://freemusicarchive.org/music/BODYSURFER/Digital_Prints/Wants_To_Know</a></li>
<li>
<a href="https://freemusicarchive.org/music/Andy_G_Cohen/prisma/hoist" target="_blank">https://freemusicarchive.org/music/Andy_G_Cohen/prisma/hoist</a></li>
<li>
<a href="https://freemusicarchive.org/music/Andy_G_Cohen/prisma/our-young-guts" target="_blank">https://freemusicarchive.org/music/Andy_G_Cohen/prisma/our-young-guts</a></li>
<li>
<a href="https://freemusicarchive.org/music/Drake_Stafford/Turtle_Warnings/Weirder" target="_blank">https://freemusicarchive.org/music/Drake_Stafford/Turtle_Warnings/Weirder</a></li>
<li>
<a href="https://freemusicarchive.org/music/Drake_Stafford/Turtle_Warnings/Yodelling_Walmart_Kid" target="_blank">https://freemusicarchive.org/music/Drake_Stafford/Turtle_Warnings/Yodelling_Walmart_Kid</a></li>
<li>
<a href="https://freemusicarchive.org/music/Drake_Stafford/SUNDAY/ROLLA_-_DRAKE_STAFFORD" target="_blank">https://freemusicarchive.org/music/Drake_Stafford/SUNDAY/ROLLA_-_DRAKE_STAFFORD</a></li>
<li>
<a href="https://freemusicarchive.org/music/Drake_Stafford/SUNDAY/CASETS_-_DRAKE_STAFFORD" target="_blank">https://freemusicarchive.org/music/Drake_Stafford/SUNDAY/CASETS_-_DRAKE_STAFFORD</a></li>
<li>
<a href="https://freemusicarchive.org/music/Drake_Stafford/SUNDAY/Dolos" target="_blank">https://freemusicarchive.org/music/Drake_Stafford/SUNDAY/Dolos</a></li>
<li>
<a href="https://freemusicarchive.org/music/Drake_Stafford/SUNDAY/FADED_-_DRAKE_STAFFORD" target="_blank">https://freemusicarchive.org/music/Drake_Stafford/SUNDAY/FADED_-_DRAKE_STAFFORD</a></li>
<li>
<a href="https://freemusicarchive.org/music/Drake_Stafford/Drake_Stafford_-_Singles/Devil_Man" target="_blank">https://freemusicarchive.org/music/Drake_Stafford/Drake_Stafford_-_Singles/Devil_Man</a></li>
<li>
<a href="https://freemusicarchive.org/music/Drake_Stafford/Drake_Stafford_-_Singles/Glimpse_1485" target="_blank">https://freemusicarchive.org/music/Drake_Stafford/Drake_Stafford_-_Singles/Glimpse_1485</a></li>
</ul>
<p>License : 
<a href="https://creativecommons.org/licenses/by/3.0/" target="_blank">Creative Commons Attribution 3.0 Unported (CC BY 3.0)</a></p>
<ul>
<li>
<a href="https://escp-music.bandcamp.com/track/dreamwalking" target="_blank">https://escp-music.bandcamp.com/track/dreamwalking</a></li>
<li>
<a href="https://soundcloud.com/artificial-music/ythc?in=artificial-music/sets/waves" target="_blank">https://soundcloud.com/artificial-music/ythc?in=artificial-music/sets/waves</a></li>
<li>
<a href="https://soundcloud.com/artificial-music/tea" target="_blank">https://soundcloud.com/artificial-music/tea</a></li>
<li>
<a href="https://soundcloud.com/jas-productionz/lo-fi-type-beat-she-so-cold-rap-hip-hop-beat" target="_blank">https://soundcloud.com/jas-productionz/lo-fi-type-beat-she-so-cold-rap-hip-hop-beat</a></li>
<li>
<a href="https://soundcloud.com/jas-productionz/lo-fi-hip-hop-x-boom-bap-rap-type-beat-keeping-secrets" target="_blank">https://soundcloud.com/jas-productionz/lo-fi-hip-hop-x-boom-bap-rap-type-beat-keeping-secrets</a></li>
<li>
<a href="https://soundcloud.com/thisislegang/it-meant-everything-to-me" target="_blank">https://soundcloud.com/thisislegang/it-meant-everything-to-me</a></li>
<li>
<a href="https://soundcloud.com/thisislegang/ill-go-out-to-run-now" target="_blank">https://soundcloud.com/thisislegang/ill-go-out-to-run-now</a></li>
<li>
<a href="https://soundcloud.com/thisislegang/come-on-lets-go" target="_blank">https://soundcloud.com/thisislegang/come-on-lets-go</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 22 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210122-journal-de-bord/</link>
      <pubDate>Fri, 22 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210122-journal-de-bord/</guid>
      <description>Ce soir, on continue le docker-compose.yml.</description>
      <content:encoded><![CDATA[<p>On ajoute les secrets et les schémas postgres.</p>
<p>Un doute m’assaille quand même sur la façon dont portal se connecte au backend.</p>
<p>En effet, il n’apparait nulle part, côté portal, de paramètres qui permette de déterminer l’uri des backends.</p>
<p>Du coup, on va tâtonner. On va faire le fichier docker-compose au mieux, le faire tourner et voir à quoi ressemble l’interface web (portal quoi !).</p>
<p><code>standalone-db-migrator</code> a besoin de paramètres postgres pour se connecter à la DB et faire ses migrations.
Il utilise les même paramètres que <code>core</code> dont <code>SSL_MODE</code> qu’on peut mettre à <code>verify-full</code> et ça c’est cool !!!!!</p>
<p>Du coup, il ne faut pas oublier de monter le couple clé/certificat TLS plus la chaîne de certification dans les répertoires client de postgres.
Et ça fait du <code>mTLS</code>. En plus de celà, il faut extraire les fichiers SQL de migration et les monter dans le container init avec un bon <code>POSTGRES_MIGRATION_SCRIPTS_PATH</code>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 21 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210121-journal-de-bord/</link>
      <pubDate>Thu, 21 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210121-journal-de-bord/</guid>
      <description>Ce soir on fait le container portal de GoHarbor.</description>
      <content:encoded><![CDATA[<p>On va se servir du role ansible nginx et on va utiliser une nouvelle façon de coder le playbook.</p>
<p>Jusqu’à présent, on utilisait le paramètre <code>delegate_to</code> pour accéder à l’environnement du container.</p>
<p>Maintenant, on va le déclarer dans l’inventaire et y accéder à partir de l’inventaire. L’inventaire sera divisé en 3 parties :</p>
<ul>
<li>la première construit le container de base et le provisionne avec l’environnement python nécessaire à ansible</li>
<li>la deuxième partie provisionne le container en se servant de la déclaration du container dans l’inventaire (plus besoin de <code>delegate_to</code>)</li>
<li>la troisième partie conclut le container. C’est à dire qu’il lui ajoute ses déclarations de containérisation (<code>CMD</code>, <code>USER</code>, &hellip;)</li>
</ul>
<p>Vient la construction du <code>docker-compose.yml</code>. C’est celui qui contient le plus de containers au sein du projet de forge logicielle.</p>
<p>Quelques éléments :</p>
<ul>
<li>Le TLS se fait avec les variables d’environnement <code>INTERNAL_TLS_ENABLED</code></li>
<li>Le container <code>registryctl</code> a un point de montage commun avec le container <code>registry</code> qui contient le fichier de configuration de <code>registry</code></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 19 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210119-journal-de-bord/</link>
      <pubDate>Tue, 19 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210119-journal-de-bord/</guid>
      <description>Encore du role ansible nginx. On espère finir...</description>
      <content:encoded><![CDATA[<p>On galère un peu avec les variables <code>perl</code>.</p>
<p>Donc, on finit les tests Inspec avec un patch à merger :</p>
<p>
<a href="https://github.com/dev-sec/nginx-baseline/pull/44" target="_blank">nginx parsed config as attribute by micheelengronne · Pull Request #44 · dev-sec/nginx-baseline</a></p>
<p>Et on se replonge dans GoHarbor.</p>
<p>on va pouvoir ajouter Portal à la liste de nos containers GoHarbor en utilisant le role ansible nginx et en incorporant le code html extrait de la phase de compilation.</p>
<p>Portal se construit avec la task <code>synchronize</code> d’ansible qui a une syntaxe différente de <code>copy</code> pour pourvoir uploader le code html.</p>
<p>Le débuggage de cette étape au prochain épisode.</p>
<p>Il y a un problème à régler avec nginx en container. Quelle est la bonne architecture ?</p>
<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/stream-20210119-journal-de-bord/images/probleme-container-nginx-php-1.png" class="figure-img img-fluid rounded" alt="Un seul container avec les 2 processus ?">
  <figcaption class="figure-caption"><p>Problème de nginx en container 1</p>
    <small>Un seul container avec les 2 processus ?</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/stream-20210119-journal-de-bord/images/probleme-container-nginx-php-2.png" class="figure-img img-fluid rounded" alt="Deux containers avec le code commun en volume ?">
  <figcaption class="figure-caption"><p>Problème de nginx en container 2</p>
    <small>Deux containers avec le code commun en volume ?</small>
  </figcaption>
</figure>

</div>

</div>

]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 18 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210118-journal-de-bord/</link>
      <pubDate>Mon, 18 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210118-journal-de-bord/</guid>
      <description>Ce soir, on continue le role ansible nginx.</description>
      <content:encoded><![CDATA[<p>On va écrire les tests puis les appliquer.</p>
<p>Les tests seront de 2 types, internes et externes.</p>
<ul>
<li>Les tests internes vont vérifier la configuration de nginx.</li>
<li>Les tests externes vont vérifier que nginx produit bien des pages web accessibles depuis l’extérieur.</li>
</ul>
<p>On va formaliser ces tests avec :</p>
<p>
<a href="https://github.com/inspec/inspec" target="_blank">inspec/inspec</a></p>
<p>Avec Inspec, les tests internes seront différenciés par le fait qu’ils seront exécutés dans l’environnement distant.</p>
<p>Pourquoi l’environnement distant ?</p>
<p>Parceque nous n’exécutons jamais Inspec au sein de l’environnement testé. Cela afin d’éviter des biais de test entre le dev, le staging et la prod.</p>
<p>Nos tests Inspec pour nginx sont basés sur :</p>
<p>
<a href="https://github.com/dev-sec/nginx-baseline" target="_blank">dev-sec/nginx-baseline</a></p>
<p>J’ai donc créé un PR pour soft-coder l’emplacement des fichiers de configurations nginx. Cela permettra de rendre le profil compatible avec des installs qui utilisent la <code>XDGBase Directory Specification</code> :</p>
<p>
<a href="https://github.com/dev-sec/nginx-baseline/pull/43" target="_blank">softcoded nginx path by micheelengronne · Pull Request #43 · dev-sec/nginx-baseline</a></p>
<p>Pour la disposition des couples clé/certificat TLS et le certificat de la chaîne de confiance, je place tout ça dans <code>$HOME/.ssl</code> par analogie avec la disposition de <code>ssh</code>.
Je nomme les fichiers selon le nom de domaine qu’ils signent. Le certificat de la chaîne est nommé <code>root.crt</code> en rappel de la façon de nommer chez <code>Postgres</code>.</p>
<p>La génération de Diffie-Helman est longue mais m’a donné une idée. Un service qui génère à l’avance du Diffie-Helman. Il en existe déjà un basé sur <code>dhtools</code> :</p>
<p>
<a href="https://2ton.com.au/dhtool/" target="_blank">Public Diffie-Hellman Parameter Service/Tool</a></p>
<p>Donc un deuxième service serait pas mal (avec des fonctionnalités supplémentaires) ?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 15 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210115-journal-de-bord/</link>
      <pubDate>Fri, 15 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210115-journal-de-bord/</guid>
      <description>Ce soir, on fait le role ansible de nginx pour construire le container portal GoHarbor correctement.</description>
      <content:encoded><![CDATA[<p>On va faire le role dans la collection <code>ansible-environments</code>.</p>
<p>Pour celà on va modifier et mettre à jour un vieux profil Inspec et l’adapter aux nouvelles façons de concevoir le code.</p>
<p>La question est de savoir si il est pertinent d’installer nginx en container en respectant l’arborescence classique
adaptée aux multi-users ou si il vaut mieux faire une arborescense mono-user selon les standards de containerisation.</p>
<p>On part donc sur une installation mono-user respectant la <code>XDG_Base_Directory</code>.</p>
<p>
<a href="https://wiki.archlinux.org/title/XDG_Base_Directory" target="_blank">XDG Base Directory</a></p>
<p>Pour les paramètres qui changent au démarrage du service, on souhaite n’utiliser que des variables d’environnement, comme dans tous les containers.</p>
<p>Ça veut dire que dans le cas de nginx, on va se servir de perl :</p>
<p>
<a href="https://medium.com/create-code/docker-environment-variables-and-nginx-93d7173f19ec" target="_blank">Docker environment variables and NGINX</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 14 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210114-journal-de-bord/</link>
      <pubDate>Thu, 14 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210114-journal-de-bord/</guid>
      <description>Ce soir, on construit le container portal GoHarbor.</description>
      <content:encoded><![CDATA[<p>Puis, on fait le docker-compose et on regarde si tout fonctionne.</p>
<p>La subtilité du container portal c’est que le code est un package nodejs qui ne provient pas d’un repo mais est extrait localement depuis la phase de compilation.</p>
<p>Donc, on va devoir faire avec pour le moment.</p>
<p>Plus tard, quand un repo npm sera installé, on uploadera ce paquet dans le repo dans une phase préparatoire (depuis un projet à part) et on utilisera ce paquet correctement installé depuis le repo.</p>
<p>Pourquoi ?</p>
<p>Pour profiter du système de dépendances de npm et ainsi coder d’autres packages qui se greffent à celui-là.</p>
<p>Mais pour ce soir, on va faire simple.</p>
<p>Premier truc à modifier, c’est l’appel des images containers depuis le docker-hub. En effet, pour éviter de heurter l’API rate limiting, on va essayer de changer ces appels et les remplacer par nos propres images.</p>
<p>On va placer le code de portal dans le répertoire <code>/home/goharbor/srv</code> car nos containers ne tournent pas en <code>root</code> et sont mono <code>USER</code> donc le code doit se trouver dans le <code>HOME</code> de ce <code>USER</code>.</p>
<p>Pourquoi <code>srv</code> ?</p>
<p>Parce que le code de portal est considéré comme du code nécessaire à exécution du service au sein du container.</p>
<p>Pour ref:</p>
<p>
<a href="https://serverfault.com/questions/144598/where-should-the-web-server-root-directory-go-in-linux" target="_blank">Where should the web server root directory go in linux?</a></p>
<p>Pour bien faire les choses, on va créer un role dans la collection ansible qui configure les environnements de base.</p>
<p>Ce role paramétrera nginx de façon sécurisée et il sera utilisé pour portal.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 12 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210112-journal-de-bord/</link>
      <pubDate>Tue, 12 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210112-journal-de-bord/</guid>
      <description>Encore de la construction du container registry officiel de Docker.</description>
      <content:encoded><![CDATA[<p>Enfin, le container démarre proprement. Allez, tests bats.</p>
<p>Pour les tests bats, on va tester l’upload, le download et l’access control d’images dans le Docker registry.</p>
<p>Le problème c’est qu’on ne peut pas utiliser la commande Docker pour ça.
Pourquoi ? Parceque dans DinD, le processus Docker est lié à l’host sous-jacent
et donc on peut se retrouver à avoir des disparités et des instabilités dans les tests dus aux réglages différents des host.</p>
<p>
<a href="https://www.instagram.com/p/CGritJJIVVu/" target="_blank">À noter au propre, les schémas de DinD depuis Instagram.</a></p>
<p>podman ayant un output différent, il faut écrire les tests en fonction.</p>
<p>Finalement les tests bats sont passés, le merge est fait et les artefacts de prod réalisés (container init et container registry).</p>
<p>On va donc pouvoir faire les tests côté GoHarbor.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 11 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210111-journal-de-bord/</link>
      <pubDate>Mon, 11 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210111-journal-de-bord/</guid>
      <description>Suite de la construction du container registry officiel de Docker.</description>
      <content:encoded><![CDATA[<p>Après avoir compris comment compiler malgré la désastreuse façon de gérer les releases par le projet officiel, on peut continuer.</p>
<p>On va donc faire des suites de tests bats pour s’assurer que notre container (à notre sauce) faisant tourner le registre officiel fonctionne bien.</p>
<p>Les suites de tests sont :</p>
<ul>
<li>contrôle d’accès</li>
<li>upload et download</li>
</ul>
<p>C’est des suites de tests de base. la grande majorité des tests sera faite au niveau de GoHarbor.</p>
<p>On a besoin malgré tout d’un container init pour créer un fichier de configurations minimaliste dont se sert registry.</p>
<p>L’essentiel de la configuration peut être pourtant gérée avec des variables d’environnement.</p>
<p>Le registre peut aussi avoir redis greffé, c’est cool.</p>
<p>Finalement, on a pas beaucoup avancé mais on a appris des trucs.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 08 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210108-journal-de-bord/</link>
      <pubDate>Fri, 08 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210108-journal-de-bord/</guid>
      <description>Construction du container registry officiel de Docker.</description>
      <content:encoded><![CDATA[<p>Comme GoHarbor dépend du registre officiel de Docker, on va le conteneuriser à notre sauce.</p>
<p>On va d’abord revenir sur la gestion des configurations dans les containers GoHarbor.</p>
<p>En effet, hier, on avait déterminé 3 types de configurations :</p>
<ul>
<li>L’hyperstatique</li>
<li>La statique</li>
<li>La dynamique</li>
</ul>
<p>Ces caractérisations sont superflues et on va simplifier ça avec la norme :</p>
<p>
<a href="https://wiki.debian.org/XDGBaseDirectorySpecification" target="_blank">XDGBaseDirectorySpecification</a></p>
<p>Dans notre cas, nous allons gérer les templates de configuration au niveau du container init.
Il aura la charge des les mettre dans les bons répertoires si il peut y accéder et si un fichier équivalent n’est pas déjà présent.</p>
<p>Après avoir essayé de compiler le registry officiel de docker, nous nous sommes rendu compte que la dernière release avait 2 ans et que sa façon de compiler avait changé.</p>
<p>
<a href="https://github.com/distribution/distribution/releases/tag/v2.7.1" target="_blank">Release registry 2.7.1 · docker/distribution</a></p>
<p>La mort dans l’âme, nous nous sommes résignés à utiliser un commit plutôt qu’un numéro de version pour assurer l’immutabilité et utiliser un code récent.</p>
<p>
<a href="https://github.com/distribution/distribution/commit/35f1369d377054088c4c2e9079ddbb6c1375105d" target="_blank">Merge pull request #3314 from crazy-max/dummy · docker/distribution@35f1369</a></p>
<p>Et la compilation a trés bien marché. On a un beau binaire registry qu’on va pouvoir mettre en container lundi.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 07 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210107-journal-de-bord/</link>
      <pubDate>Thu, 07 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210107-journal-de-bord/</guid>
      <description>Construction des containers avec les binaires.</description>
      <content:encoded><![CDATA[<p>On a trouvé les binaires qui font GoHarbor. On va les mettre dans les containers, maintenant.</p>
<p>En plus, on va faire un container à notre sauce avec le projet officiel de docker registry.</p>
<p>
<a href="https://github.com/distribution/distribution" target="_blank">docker/distribution</a></p>
<p>Pourquoi ? Parceque Goharbor s’appuie sur le registre officiel de Docker en backend.</p>
<p>Il y a deux types de containers. Un qui gère des binaires et l’autre qui gère du nodejs.</p>
<p>Ces deux types ne faisant pas appel au même language de programmation et donc au même environnement, leurs configurations <code>vars.yml</code> doivent être différentes.</p>
<p>On va donc construire les containers binaires avec le role <code>coppint.environment.binaries</code> et le container nodejs avec le role <code>coppint.environment.nodejs</code>.</p>
<p>Le container <code>harbor_core</code> ne semble pas charger de configuration par défaut (ou il la charge silencieusement). Il faut donc trouver comment charger un fichier de configuration spécifique.</p>
<p>C’est semble-t-il le cas de l’ensemble des binaires. Cela semble être géré par des variables d’environnement. C’est plutôt cool dans un environnement conteneurisé !</p>
<p>Les fichiers de configurations au sein des containers sont de nature variée et donc doivent être gérés de façon différente.</p>
<p>Nous avons des fichiers de configuration hyperstatiques qui peuvent être gérés comme du code.</p>
<p>Nous avons des fichiers de configuration statiques qui peuvent être gérés par du templating ansible et sont valables pour la durée de vie du container-image.</p>
<p>Et nous avons des fichiers de configuration dynamiques qui sont gérés par dockerize au moment de l’initialisation du service.</p>
<p>Sur le plan des bases de données, GoHarbor n’a pas de base propre. Il utilise la base de données du projet <code>docker/distribution</code>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 05 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210105-journal-de-bord/</link>
      <pubDate>Tue, 05 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210105-journal-de-bord/</guid>
      <description>Compilation correcte des binaires de GoHarbor.</description>
      <content:encoded><![CDATA[<p>Ce soir, on va déterminer quels binaires doivent être compilés pour faire fonctionner GoHarbor.</p>
<p>Nous voulons uniquement ceux de Goharbor et pas des dépendances externes.</p>
<p>Les dépendances externes (Redis, nginx, postgres) ont ou auront leurs propres projets.</p>
<p>Premier travail de ce soir, déployer GoHarbor avec l’installer officiel pour déterminer quels containers sont créés et quels sont les fichiers de configuration générés.</p>
<p>On va donc tester ça dans un vagrant en local.</p>
<p>Le script nécessite sudo partout. C’est terrible dans un environnement de prod.</p>
<p>Bien sûr, ne pas oublier de faire tout ça dans un sous-répertoire de <code>/vagrant</code> sinon on perd tout au prochain <code>vagrant destroy</code>.</p>
<p>Après avoir générer les certificats TLS comme indiqué ici :</p>
<p>
<a href="https://goharbor.io/docs/2.1.0/install-config/configure-https/" target="_blank">Harbor - Configure HTTPS Access to Harbor</a></p>
<p>et mis tout ça dans les bons répertoires, le script <code>sudo ./prepare --with-notary --with-trivy --with-clair --with-chartmuseum</code> semble fonctionner :</p>
<pre><code>prepare base dir is set to /vagrant/harbor-test/harbor
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
loaded secret from file: /data/secret/keys/secretkey
Copying nginx configuration file for notary
Generated configuration file: /config/nginx/conf.d/notary.upstream.conf
Generated configuration file: /config/nginx/conf.d/notary.server.conf
Generated configuration file: /config/notary/server-config.postgres.json
Generated configuration file: /config/notary/server_env
loaded secret from file: /data/secret/keys/defaultalias
Generated configuration file: /config/notary/signer_env
Generated configuration file: /config/notary/signer-config.postgres.json
Generated configuration file: /config/clair/postgres_env
Generated configuration file: /config/clair/config.yaml
Generated configuration file: /config/clair/clair_env
Generated configuration file: /config/clair-adapter/env
Generated configuration file: /config/trivy-adapter/env
Generated configuration file: /config/chartserver/env
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir
</code></pre>
<p>Du coup on tente l’install.</p>
<p>L’install est très instable mais elle donne un docker-compose.yml et une liste de containers et de configurations.
Le but est de réduire le scope des containers propres à GoHarbor et d’évacuer les containers des services associés vers leurs propres projets (redis, postgres et éventuellement notary, clair, etc&hellip;).</p>
<p>En fouillant dans les projets officiels, je trouve des surprises. Notary, par exemple, n’a pas de release depuis quasiment 2 ans :</p>
<p>
<a href="https://github.com/notaryproject/notary/issues/1583" target="_blank">Publish a release · Issue #1583 · theupdateframework/notary</a></p>
<p>Pour chartmuseum, on est à quasiment 1 an :</p>
<p>
<a href="https://github.com/helm/chartmuseum/releases/tag/v0.12.0" target="_blank">Release ChartMuseum v0.12.0 · helm/chartmuseum</a></p>
<p>Kubernetes et donc Helm/Chart (vu qu’on veut faire du Gitops) ne sont pour le moment pas dans le scope du projet de forge logicielle, donc chartmuseum sera réévalué plus tard.</p>
<p>Au final, on a 3 binaires :</p>
<ul>
<li>harbor_core</li>
<li>harbor_jobservice</li>
<li>harbor_registryctl</li>
</ul>
<p>Et un package nodejs : portal</p>
<p>On a deux helpers à compiler aussi :</p>
<ul>
<li>migrate-patch</li>
<li>standalone-db-migrator</li>
</ul>
<p>Du coup, la story va consister à créer les containers harbor_core, harbor_jobservice, harbor_registryctl, un container init (avec les migrate) et le container portal.</p>
<p>On va faire communiquer tout ça ensemble avec les containers officiels postgres, redis et nginx.</p>
<p>On va appliquer des features cucumber et un profil Inspec là-dessus.</p>
<p>Puis, dans un second temps, on va ajouter les scanners et notary.</p>
<p>Tout ça pour ce projet de forge logicielle.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/stream-20210105-journal-de-bord/images/forge-logicielle.png" class="figure-img img-fluid rounded" alt="Projet de forge logicielle immutable, containerisée et ductile">
  <figcaption class="figure-caption"><p>Forge logicielle Limawi</p>
    <small>Projet de forge logicielle immutable, containerisée et ductile</small>
  </figcaption>
</figure>

]]></content:encoded>
    </item>
    <item>
      <title>Journal de bord 04 janvier 2021</title>
      <link>https://blog.limawi.io/fr-fr/posts/stream-20210104-journal-de-bord/</link>
      <pubDate>Mon, 04 Jan 2021 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/stream-20210104-journal-de-bord/</guid>
      <description>Journal de bord du stream du 04 janvier 2021</description>
      <content:encoded><![CDATA[<p>Tout d’abord bonne année.</p>
<p>Ce soir, on va démarrer la mise en containers de GoHarbor.</p>
<p>L’idée est de récupérer les binaires créés au sein du script d’install de GoHarbor.</p>
<p>Ensuite, on les installe à notre sauce :</p>
<ul>
<li>Container créé avec ansible</li>
<li>Init scripts avec pre-hook et post-hook</li>
<li>Pas de compilation au sein des containers</li>
<li>Tests dynamiques créés avec Cucumber</li>
<li>Tests statiques créés avec Inspec (CINC-auditor)</li>
<li>renovate pour gérer les dépendances de façon immutable</li>
<li>semantic-release pour gérer les releases (tags et artefacts)</li>
<li>Un contributing standard</li>
<li>Un dockerignore qui vide le contexte de Docker car on utilise ansible pour construire les containers</li>
<li>Un gitlab-ci.yml temporaire, le temps qu’on migre vers concourse-ci</li>
<li>Un test d’upgrade_path fait avec Cucumber</li>
<li>Un prepare.sh qui génère les binaires et les transmet entre les étapes</li>
<li>Un docker-compose d’exemple (autonome, sécurisé)</li>
<li>Des environnements de dev locaux basés sur docker-compose et déclenchables à partir de VSCodium dont un déclencheur qui nettoie complètement l’environnement</li>
</ul>
<p>Pour cela, il est nécessaire de réussir à compiler les binaires de Goharbor sans passer par une succession de containers Go afin d’extraire des binaires adaptés à notre OS (Ubuntu).</p>
<p>Dans un premier temps, on va faire du DinD (Docker in Docker) et utiliser leur flag de compilation tel quel, c’est à dire en appelant un container GO distant.</p>
<p>Mais ce n’est pas une solution durable car cela oblige à conserver Docker dans l’infrastructure ce qui est contraire à l’un des buts du projet global. On veut, en effet, se débarrasser de Docker au profit de podman/buildah.</p>
<p>Pour référence :</p>
<p>
<a href="https://github.com/goharbor/harbor/issues/13885" target="_blank">Compile binaries without docker · Issue #13885 · goharbor/harbor</a></p>
<p>Les dépendances externes seront traitées dans des projets séparés (Clair, Notary,…). Ceci afin d’augmenter la réutilisabilité des portions de l’infrastructure.</p>
<p>Notamment, les bases de données comme Redis ou PostgreSQL n’ont pas d’intérêt à être conçues uniquement pour l’usage de GoHarbor.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Kubernetes supprime Docker</title>
      <link>https://blog.limawi.io/fr-fr/posts/kubernetes-supprime-docker/</link>
      <pubDate>Fri, 04 Dec 2020 20:20:21 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/kubernetes-supprime-docker/</guid>
      <description>Kubernetes abandonne docker mais ne vous inquiétez pas.</description>
      <content:encoded><![CDATA[<p>Ce soir, je vais vous parler d&rsquo;une déclaration de l&rsquo;équipe de Kubernetes qui date d&rsquo;hier.</p>
<div class="col-md-12">
<video controls title="Kubernetes supprime Docker" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/kubernetes-supprime-docker/videos/kubernetes-supprime-docker.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/kubernetes-supprime-docker/videos/kubernetes-supprime-docker.webm" type="video/webm">
</video>
<p class="text-center" >Kubernetes supprime Docker</p>
<p class="text-center" ><small>Kubernetes abandonne docker mais ne vous inquiétez pas.</small></p>
</div>
<p>Kubernetes déclare que dans sa dernière version (la version 1.20) ils vont déprécier Docker.</p>
<p>Qu&rsquo;est ce que ça veut dire ?</p>
<p>Est-ce que vous ne pourrez plus utiliser de conteneurs avec Kubernetes</p>
<p>Est-ce que vous allez devoir reconstruire tous vos conteneurs ?</p>
<p>Rassurez-vous, non.</p>
<p>Alors qu&rsquo;est ce que c&rsquo;est docker par rapport à Kubernetes et par rapport aux conteneurs ?</p>
<p>En fait, Docker c&rsquo;est une appli extrêmement complexe qui certes fait de la conteneurisation mais elle veut aussi
faire la gestion de réseau, gestion de volume et caetera&hellip;
De la construction de conteneurs, les faire tourner et caetera&hellip;</p>
<p>Ça se voulait une solution absolument contexte. Ils avaient fait docker swarm par exemple.
Ils se voulaient être un concurrent de Kubernetes.</p>
<p>Ou plutôt Kubernetes était un concurrent de Docker Swarm parceque si je me souviens bien, Swarm est sorti avant.
Faut peut-être vérifier ça, je suis pas sûr.</p>
<p>Mais la conteneurisation en tant que tel, le fait de faire tourner des conteneurs, c&rsquo;est pas spécifique à Docker.
Ces couches de programmation, Docker, les a en commun avec tout un tas d&rsquo;autres projets dont Podman
(dont vous avez sûrement entendu parler si vous suivez la chaîne)</p>
<p>Et il y en a un autre qui s&rsquo;appelle CRI-O et Kubernetes, lui, veut tendre tout vers CRI-O.</p>
<h2 id="alors-comment-ça-se-décompose-ces-couches-de-programmation-">Alors comment ça se décompose ces couches de programmation ?</h2>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/kubernetes-supprime-docker/images/couches-de-programmation-cri.png" class="figure-img img-fluid rounded" alt="Runc, Containerd et autres CRI-O">
  <figcaption class="figure-caption"><p>Couches de programmation CRI</p>
    <small>Runc, Containerd et autres CRI-O</small>
  </figcaption>
</figure>

<p>Tout d&rsquo;abord, à la base on a Runc qui est compatible et qui est maintenu par l&rsquo;Open Container Initiative,
une association qui gère ça et Runc, par exemple pour concourse-CI, est le niveau le plus bas sur lequel il peut gérer des conteneurs.</p>
<p>Au dessus de Runc, du coup, on a une couche de programmation qu&rsquo;on appelle containerd qui a été à
la base conçu par les ingénieurs de chez Docker et qu&rsquo;il a ensuite libéré.
Alors je crois qu&rsquo;ils l&rsquo;ont envoyé à l&rsquo;Open Container Initiative mais je suis pas sûr de ça.
Mais quoi qu&rsquo;il en soit, c&rsquo;est maintenant commun à d&rsquo;autres systèmes que Docker.</p>
<p>Et au dessus on a Kubernetes et Docker.</p>
<p>Kubernetes, jusqu&rsquo;à présent, utilisait un outil qui s&rsquo;appelle Docker-shim.
Il était là pour faire la traduction entre Docker et Kubernetes.</p>
<p>Parce que Kubernetes ne gérait pas directement Docker.
Il était obligé de passer par ce système parce que l&rsquo;API de Docker était très touffue et différente de celle de Kubernetes.</p>
<p>Donc l&rsquo;équipe de Kubernetes a dit :</p>
<p>&ldquo;bon, on a 2 standards, runc et containerd pour faire tourner les containers. Maintenant, nous on a inventé Container Runtime Interface donc
une interface pour pouvoir accéder à containerd et runc qui est beaucoup plus légère qu&rsquo;on appelait CRI. Et l&rsquo;implémentation, CRI-O.
Alors, pourquoi on continue avec ce truc lourdingue qu&rsquo;est Docker avec lequel on est obligé de passer par un truc qui s&rsquo;appelle Docker-Shim qu&rsquo;est instable
et tout ? Pourquoi on passe pas tous directement sur CRI-O ?&rdquo;</p>
<p>Ils ont pris la décision de tout passer sur CRI-O. Alors, il y a peut-être d&rsquo;autres supports aussi que CRI-O.</p>
<p>Et donc normalement c&rsquo;est beaucoup plus léger.</p>
<p>Ça veut dire quoi ?</p>
<p>Vos containers que vous avez construit avec Dockerfile ou avec d&rsquo;autres systèmes qui prennent en compte Docker sont toujours compatibles.</p>
<p>Il y a peut-être des problèmes à la marge mais normalement ils sont toujours compatibles avec votre Kubernetes.</p>
<p>Donc ça ne va rien changer pour vous si votre coeur de métier c&rsquo;est de faire des containers.</p>
<p>Ça va changer pour ceux qui veulent mettre en place du Kubernetes.
Parce que là ils ne pourront plus utiliser Docker pour gérer les containers de leur infra Kubernetes.</p>
<p>Ils vont devoir passer par CRI-O mais il est beaucoup plus léger que Docker donc normalement ça devrait être beaucoup plus performant.</p>
<p>L&rsquo;inconvénient, c&rsquo;est que CRI-O, lui, ne peut pas construire de container.
Il peut juste les faire tourner.
En plus lui même, je crois, ne gère pas le réseau, tout ça c&rsquo;est délégué à Kubernetes. Alors que Docker, lui, gérait du réseau.</p>
<p>Donc pour build, il faut toujours soit passer par Docker, soit passer par d&rsquo;autres solutions comme Podman/Buildah (nous on veut tendre vers ça).</p>
<p>Et ensuite, une fois que le container est construit, on peut toujours le faire tourner sur Kubernetes avec CRI-O.</p>
<p>Donc, ne vous affolez pas, vos containers sont toujours compatibles avec Kubernetes même s&rsquo;il ne tourneront plus avec Docker dans Kubernetes.</p>
<p>Voilà.</p>]]></content:encoded>
    </item>
    <item>
      <title>Chef Progress et Inspec</title>
      <link>https://blog.limawi.io/fr-fr/posts/chef-progress-et-inspec/</link>
      <pubDate>Fri, 09 Oct 2020 10:20:21 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/chef-progress-et-inspec/</guid>
      <description>Chef a été racheté par Progress. Des vagues de licenciement ont lieu en ce moment chez Chef.</description>
      <content:encoded><![CDATA[<h2 id="histoire">Histoire</h2>
<p><em>Chef</em> publie des solutions de déploiement et tests d’infrastructure, dont <em>Inspec</em>, une solution de test système.</p>
<div class="col-md-12">
<video controls title="Chef Progress et Inspec" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/chef-progress-et-inspec/videos/chef-progress-et-inspec.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/chef-progress-et-inspec/videos/chef-progress-et-inspec.webm" type="video/webm">
</video>
<p class="text-center" >Chef Progress et Inspec</p>
<p class="text-center" ><small>Chef a été racheté par Progress. Des vagues de licenciement ont lieu en ce moment chez Chef.</small></p>
</div>
<p>Chez <em>Limawi</em>, nous utilisons <em>Inspec</em> en version opensource pour tester l’état de nos systèmes.</p>
<p>Il y a un an, Chef a rendu ses binaires compilés propriétaires à partir du code source resté opensource. Pour ne pas être rendu dépendant de cette nouvelle licence, nous avons décidé de compiler notre propre <em>Inspec</em>.</p>
<p>Puis, nous avons migré vers <em>cinc-auditor</em> il y a quelques temps. <em>Cinc-auditor</em> est une compilation faite à partir du code source mais avec une licence opensource.</p>
<p>Pour l’instant cette solution dépend du code source d’<em>Inspec</em>. Ce n’est pas un fork.</p>
<p>De plus, Chef a été racheté par Progress. Des vagues de licenciement ont lieu en ce moment chez Chef.</p>
<p>Nous suivons donc de près cette affaire.</p>
<p>N’hésitez pas à suivre 
<a href="https://twitter.com/cincproject" target="_blank"><em>cinc</em></a> sur Twitter.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<a href="https://www.chef.io/" target="_blank">https://www.chef.io/</a></li>
<li>
<a href="https://github.com/inspec/inspec" target="_blank">https://github.com/inspec/inspec</a></li>
<li>
<a href="https://cinc.sh/start/auditor/" target="_blank">https://cinc.sh/start/auditor/</a></li>
<li>
<a href="https://twitter.com/quinnypig/status/1313678400419033089?s=28" target="_blank">https://twitter.com/quinnypig/status/1313678400419033089?s=28</a></li>
<li>
<a href="https://github.com/micheelengronne/inspec" target="_blank">https://github.com/micheelengronne/inspec</a></li>
<li>
<a href="https://twitter.com/cincproject" target="_blank">https://twitter.com/cincproject</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Hacktoberfest/Shitoberfest</title>
      <link>https://blog.limawi.io/fr-fr/posts/hacktoberfest-shitoberfest/</link>
      <pubDate>Fri, 09 Oct 2020 10:10:43 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/hacktoberfest-shitoberfest/</guid>
      <description>Les participants gagnent un T-shirt s&#39;ils ont 4 PR («push request») réussies sur le mois d&#39;octobre au sein de projets opensource hébergés sur Github.</description>
      <content:encoded><![CDATA[<h2 id="histoire">Histoire</h2>
<p>Mise en place par DigitalOcean, il y a 7 ans.</p>
<div class="col-md-12">
<video controls title="Hacktoberfest/Shitoberfest" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/hacktoberfest-shitoberfest/videos/hacktoberfest-shitoberfest.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/hacktoberfest-shitoberfest/videos/hacktoberfest-shitoberfest.webm" type="video/webm">
</video>
<p class="text-center" >Hacktoberfest/Shitoberfest</p>
<p class="text-center" ><small>Les participants gagnent un T-shirt s&#39;ils ont 4 PR («push request») réussies sur le mois d&#39;octobre au sein de projets opensource hébergés sur Github.</small></p>
</div>
<p>Les participants gagnent un T-shirt s’ils ont 4 PR(«push request») réussies sur le mois d’octobre au sein de projets opensource hébergés sur Github.</p>
<p>Cette année, le challenge a dérapé (plus que les années précédentes).
Un youtubeur, qui dispose d’ une large communauté, a montré comment gagner un T-shirt en employant une technique s’apparentant à du spam.
Le tout ressemblant à de l’attaque DDOS sur les projets visés.
Les mainteneurs ont été débordés de requête d’ajout de code sans intérêt.
Les infrastructures de test ont fait tourner des instances inutilement.</p>
<p>DigitalOcean a décidé d’y remédier en ne validant que les PR sur projet ayant <em>opt-in</em> (en mettant le label Hacktoberfest sur le repo Github.).
Github a créé la faculté d’interdire les PR provenant de comptes créés trop récemment.</p>
<p>Les spammers ont alors imaginé une solution. Ils ont créé des repos Github opensource automatiquement et ont créé des PR dedans qu’ils validaient eux-mêmes.</p>
<p>Nous sommes le 8 octobre et comme son nom l’indique cela va continuer tous le mois. D’autres surprises ne manqueront pas de venir.</p>
<p>N’hésitez pas à suivre le compte 
<a href="https://twitter.com/shitoberfest" target="_blank">shitoberfest</a> sur Twitter pour vous délecter des perles de code pourri et pleurer avec les mainteneurs.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<a href="https://github.com/Stanford-BASES/Website/pulls" target="_blank">https://github.com/Stanford-BASES/Website/pulls</a></li>
<li>
<a href="https://github.com/android-police/androidpolice-public/pull/127" target="_blank">https://github.com/android-police/androidpolice-public/pull/127</a></li>
<li>
<a href="https://github.com/narze/jubeat-memo-analyser/pull/1" target="_blank">https://github.com/narze/jubeat-memo-analyser/pull/1</a></li>
<li>
<a href="https://github.com/COVID19Tracking/website/pulls?q=is%3Apr&#43;is%3Aclosed&#43;label%3Aspam" target="_blank">https://github.com/COVID19Tracking/website/pulls?q=is%3Apr+is%3Aclosed+label%3Aspam</a></li>
<li>
<a href="https://github.com/search?q=auto-hacktober&amp;amp;type=Repositories" target="_blank">https://github.com/search?q=auto-hacktober&amp;type=Repositories</a></li>
<li>
<a href="https://joel.net/how-one-guy-ruined-hacktoberfest2020-drama" target="_blank">https://joel.net/how-one-guy-ruined-hacktoberfest2020-drama</a></li>
<li>
<a href="https://twitter.com/shitoberfest" target="_blank">https://twitter.com/shitoberfest</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Méthode agile : Présentation générale</title>
      <link>https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/</link>
      <pubDate>Mon, 16 Mar 2020 15:13:42 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/</guid>
      <description>La méthode agile est une méthode de management d&#39;équipe et de projet.</description>
      <content:encoded><![CDATA[<p>La méthode agile est une méthode de management d&rsquo;équipe de développement (mais peut être adaptée à d&rsquo;autres secteurs comme le marketing) qui s&rsquo;axe sur l&rsquo;adaptabilité et la réactivité de l&rsquo;équipe à la demande du client.</p>
<div class="col-md-12">
<video controls title="Méthode agile : Présentation générale" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/videos/methode-agile-presentation-generale.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/videos/methode-agile-presentation-generale.webm" type="video/webm">
</video>
<p class="text-center" >Méthode agile : Présentation générale</p>
<p class="text-center" ><small>La méthode agile est une méthode de management d&#39;équipe et de projet</small></p>
</div>
<p>La méthode que nous utilisons est une dérivée de la méthode agile appelée « Scrum ».
Cette méthode doit son nom aux 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">réunions matinales</a> de l&rsquo;équipe comparées à une mêlée de rugby (« Scrum » signifie mêlée).</p>
<h2 id="comment-ça-marche-">Comment ça marche ?</h2>
<p>Concrètement, on détaille le projet en un ensemble de tâches
(qu&rsquo;on appelle 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a>)
et on étale ces histoires sur des périodes de temps qui se répètent (qu&rsquo;on appelle « 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a> »).</p>
<p>L&rsquo;idée est d&rsquo;impliquer les clients du projet à intervalles réguliers en fonctionnant par itération.</p>
<p>Un 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a> passe,
le client voit le travail accompli et décide de modifier des choses ou de continuer le projet,
un autre 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a> se forme alors. Et ainsi de suite.</p>
<p>Une équipe agile comporte généralement moins de 7 personnes. Au-delà, l&rsquo;équipe perd en efficacité.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/images/methode-agile-presentation-generale-schema.png" class="figure-img img-fluid rounded" alt="La méthode agile est une méthode de management d&#39;équipe et de projet">
  <figcaption class="figure-caption"><p>Méthode agile, présentation générale (Schéma)</p>
    <small>La méthode agile est une méthode de management d&#39;équipe et de projet</small>
  </figcaption>
</figure>

<p>Dans la série d&rsquo;articles de ce dossier,
vous verrez comment formaliser 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">les histoires</a>
pour répondre aux besoins spécifiques du projet et du client et comment structurer vos 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprints</a> pour les garder efficaces.</p>
<p>La méthode agile est souvent associée à des techniques DevOps (et DevSecOps, MarketOps&hellip;) dont nous parlerons dans un futur dossier.</p>
<h3 id="on-commence-par-quoi-">On commence par quoi ?</h3>
<p>Et bien, commençons par le début d&rsquo;un projet, la phase de « 
<a href="https://blog.limawi.io/fr-fr/posts/discovery-framing/">Discovery &amp; Framing</a> ».</p>
<p>Puis, je vous invite à lire les articles sur 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">les histoires</a>,

<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/">la Cérémonie</a>,

<a href="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/">le Backlog</a>,

<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">le Scrum et le Sprint</a> pour avoir une vue d’ensemble de cette méthode.</p>
<p>Ensuite, n’hésitez pas à explorer, les hyperliens ça sert à ça.</p>
<div class="col-md-4 offset-md-4">
<video controls title="Méthode agile : Présentation générale" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/videos/story-methode-agile-presentation-generale.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/videos/story-methode-agile-presentation-generale.webm" type="video/webm">
</video>
<p class="text-center" >Méthode agile : Présentation générale</p>
<p class="text-center" ><small>La méthode agile est une méthode de management d&#39;équipe et de projet</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Les rôles dans une équipe agile</title>
      <link>https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/</link>
      <pubDate>Mon, 16 Mar 2020 15:13:28 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/</guid>
      <description>Il y a deux rôles importants en méthode agile, le Product Owner et le Scrum Master.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<h2 id="le-product-owner">Le Product Owner</h2>
<p>Le <em>Product Owner</em> est le représentant des clients et de leurs désirs. Il a en charge le bon déroulement du développement du produit, le résultat du projet.</p>
<div class="col-md-12">
<video controls title="Les rôles dans une équipe agile" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/videos/les-roles-dans-une-equipe-agile.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/videos/les-roles-dans-une-equipe-agile.webm" type="video/webm">
</video>
<p class="text-center" >Les rôles dans une équipe agile</p>
<p class="text-center" ><small>Le Product Owner est le représentant des clients et de leurs désirs</small></p>
</div>
<p>Il ne participe pas au développement et ne fait pas partie de 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">l&rsquo;équipe agile</a> car il doit rester neutre par rapport à l&rsquo;esprit d&rsquo;équipe qui se forme.</p>
<p>Il a la charge de prioriser les tâches au cours 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/">des cérémonies</a> afin de conserver les objectifs.
C&rsquo;est le principal mainteneur du <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/">Backlog</a></em>
et du <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-lean-canvas/">Lean Canvas</a></em>.</p>
<p>Il est souvent assisté du <em>Scrum Master</em>.</p>
<p>Il a la décision ultime et il est le seul qui peut déplacer une 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a>
en DONE (à l&rsquo;exception éventuelle de bots spécifiques à des 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">NFR</a> répétitifs comme les mises à jour).</p>
<p>Il est l&rsquo;interface entre l&rsquo;équipe et les autres acteurs du projet et bien sûr, les clients.</p>
<p>Les <em>Product Owners</em> peuvent se hiérarchiser entre eux avec un <em>Product Manager</em> gérant l&rsquo;ensemble des équipes agiles d&rsquo;un projet
et le <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/">Backlog général</a></em>.
Dans ce cas, le <em>Product Owner</em> d&rsquo;une équipe ne gère que les histoires du <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/">Backlog</a></em> avec les labels dévolus à cette équipe.</p>
<h2 id="le-scrum-master">Le Scrum Master</h2>
<p>Le <em>Scrum Master</em> a en charge la bonne santé de l&rsquo;équipe.
Il est là pour s&rsquo;assurer que l&rsquo;équipe suit toujours la méthode agile « <em>Scrum</em> » et ses bonnes pratiques.</p>
<p>Au début, il anime les réunions quotidiennes « <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Scrum</a></em> » de l&rsquo;équipe.</p>
<p>Il est au service de l&rsquo;équipe et fait en sorte qu&rsquo;elle se sente bien et reste efficace.
Il cherche à lever les obstacles rencontrées par celle-ci.</p>
<p>Il veille à ce que l&rsquo;équipe gagne en autonomie.
C’est lui qui insuffle des pratiques nouvelles, si nécessaire, en accord avec le <em>Product Owner</em>.</p>
<p>Il n&rsquo;est en aucun cas une sorte de chef d&rsquo;équipe.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/images/product-owner-scrum-master.png" class="figure-img img-fluid rounded" alt="Il y a deux rôles importants en méthode agile, le Product Owner et le Scrum Master">
  <figcaption class="figure-caption"><p>Product Owner &amp; Scrum Master</p>
    <small>Il y a deux rôles importants en méthode agile, le Product Owner et le Scrum Master</small>
  </figcaption>
</figure>

<h2 id="des-types-déquipe-agile">Des types d’équipe agile</h2>
<p>Une équipe agile est constituée au maximum de 7 personnes. Au delà, l’efficacité de l’équipe diminue rapidement.</p>
<p>L’environnement des ces équipes sera plus détaillé dans un futur dossier. Mais voici un avant-goût.</p>
<h3 id="marketops">MarketOps</h3>
<p>L’équipe de marketing opérationnelle a la faculté de déterminer des stratégies marketing de court terme et de les mettre en place rapidement.</p>
<h3 id="devsecops">DevSecOps</h3>
<p>Hérité du <em>DevOps</em>. Cette équipe développe, met en production (opérationnel) et sécurise ses développements.</p>
<p>Elle peut être parfois scindée en 2, une équipe étant dédiée à la réalisation des tests dans l’optique de diminuer les biais humains dus au fonctionnement en équipe.</p>
<h3 id="blue-team--red-team">Blue Team / Red Team</h3>
<p>Pour des projets avec plus de moyens, on peut dédier deux équipes à la sécurité du projet (informatique ou autre).</p>
<p>La <em>Red Team</em> représente l’agression, l’attaque. Elle a pour charge de penser comme un agresseur éventuel et de chercher toutes les failles du projet pour le mettre à mal.</p>
<p>La <em>Blue Team</em> représente la défense. Elle doit défendre le projet des agressions et mettre en place les outils pour y parvenir.</p>
<p>Cette façon de faire permet de prévenir plutôt que guérir.</p>
<p>Les <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprints</a></em> de ces équipes peuvent être organisés autour d’objectifs :</p>
<ul>
<li>Le CTF (<em>Capture the Flag</em>) consiste à récupérer une information au sein du système pour la <em>Red Team</em> et à l’empêcher pour la <em>Blue Team</em> ;</li>
<li>L’arène de destruction consiste à détruire des portions du système pour la <em>Red Team</em> et à l’empêcher pour la <em>Blue Team</em> ;</li>
<li>« <em>Vous ne passerez pas</em> ! » consiste à fermer des accès au système pour la <em>Red Team</em> et à les maintenir ouverts pour la <em>Blue Team</em> (utile pour les DDOS en informatique) ;</li>
</ul>
<h2 id="sources">Sources</h2>
<ul>
<li>L&rsquo;expérience Limawi</li>
<li>
<a href="https://www.scaledagileframework.com/product-owner/" target="_blank">Scaled Agile Framework</a></li>
<li>
<a href="https://savoiragile.com/2017/09/21/scrum-master-2/" target="_blank">Savoir Agile</a></li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="Les rôles dans une équipe agile" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/videos/story-les-roles-dans-une-equipe-agile.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/videos/story-les-roles-dans-une-equipe-agile.webm" type="video/webm">
</video>
<p class="text-center" >Les rôles dans une équipe agile</p>
<p class="text-center" ><small>Le Product Owner est le représentant des clients et de leurs désirs</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Le Backlog et le Scrum Board</title>
      <link>https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/</link>
      <pubDate>Mon, 16 Mar 2020 15:13:14 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/</guid>
      <description>Le Backlog est la liste organisée de l&#39;ensemble des histoires d&#39;un projet.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<p>Le <em>Backlog</em> rassemble l&rsquo;ensemble des histoires d&rsquo;un projet. Cette liste est généralement numérique mais peut être présentée sous forme de <em>postits</em>.</p>
<div class="col-md-12">
<video controls title="Le Backlog et le Scrum Board" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/videos/le-backlog-et-le-scrum-board.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/videos/le-backlog-et-le-scrum-board.webm" type="video/webm">
</video>
<p class="text-center" >Le Backlog et le Scrum Board</p>
<p class="text-center" ><small>Le Backlog rassemble l&#39;ensemble des histoires d&#39;un projet</small></p>
</div>
<p>Cette liste est maintenue par le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> avec l&rsquo;aide du <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em>.</p>
<p>Chaque 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a>, au sein du <em>Backlog</em> a un label décrivant sa structure (
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">NFR, <em>Story</em>, <em>Spike</em>&hellip;</a>) et des labels d&rsquo;avancement et de portée.
Tous les acteurs du projet peuvent ajouter des 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a> au <em>Backlog</em>
car il rassemble toutes les sources d&rsquo;actions du projet (<em>Bug Tracker</em>, <em>User Feedback</em>, retour d&rsquo;intégration continue, retour éventuel de logs, rapports d&rsquo;erreurs, discussions entre acteurs&hellip;).</p>
<p>À chaque cérémonie, le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> extrait du <em>Backlog</em> un certain nombre d&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a> et leur spécifie un label d&rsquo;avancement.
Ces 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a> extraites forment un sous-<em>Backlog</em> intitulé <em>Sprint Backlog</em>.
Le <em>Backlog</em> général, dans ce cas, porte le nom de <em>Product Backlog</em>. Notez qu&rsquo;on peut hiérarchiser des <em>Backlogs</em> comme on le souhaite afin d&rsquo;affiner au mieux et de garder de l&rsquo;efficacité.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/images/product-backlog-en-methode-agile-scrum.png" class="figure-img img-fluid rounded" alt="Cette liste est généralement numérique mais peut être présentée sous forme de postits">
  <figcaption class="figure-caption"><p>Product Backlog en méthode agile (Scrum)</p>
    <small>Cette liste est généralement numérique mais peut être présentée sous forme de postits</small>
  </figcaption>
</figure>

<p>Toutes les histoires du <em>Sprint Backlog</em> doivent être estimées par l&rsquo;équipe et le 
<a href="https://blog.limawi.io/fr-fr/posts/poker-agile/">Poker agile</a>.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/images/sprint-backlog-en-methode-agile-scrum.png" class="figure-img img-fluid rounded" alt="Toutes les histoires du Sprint Backlog doivent être estimées par l&#39;équipe et le Poker agile">
  <figcaption class="figure-caption"><p>Sprint Backlog en méthode agile (Scrum)</p>
    <small>Toutes les histoires du Sprint Backlog doivent être estimées par l&#39;équipe et le Poker agile</small>
  </figcaption>
</figure>

<p>Le label de portée peut être défini par n&rsquo;importe quel acteur du projet qui suit la stratégie de management du projet
(membres de l&rsquo;équipe ou uniquement le 
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/"><em>Scrum Master</em></a> par exemple).
Il définit aussi un sous-<em>Backlog</em> et permet de faire fonctionner plusieurs équipes en parallèle
ou de diriger les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoires</a> vers les membres de l&rsquo;équipe qui peuvent y répondre le mieux.</p>
<h2 id="exemples-de-labels">Exemples de labels</h2>
<p>Labels d&rsquo;avancement utilisés chez Limawi :</p>
<ul>
<li>DISCUSSION : Cette 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> n&rsquo;a pas encore été étudiée. C&rsquo;est un nouveau retour d&rsquo;une source, une nouvelle idée…</li>
<li>TODO : Cette 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> a été estimée et extraite du <em>Backlog</em> par le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> pour le <em>Sprint backlog</em> en cours.
Elle n&rsquo;a pas encore été commencée par l&rsquo;équipe.</li>
<li>DOING : Après TODO, une fois que l&rsquo;équipe a commencé l&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a>.</li>
<li>REVIEW : Après DOING, une fois que l&rsquo;équipe a estimé avoir fini l&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a>.
Un membre de l&rsquo;équipe qui n&rsquo;a pas participé dans cette 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> ou un membre extérieur estime si le développement effectué correspond bien à l&rsquo;histoire.
Il y a souvent un va-et-vient entre DOING et REVIEW pour affiner la correspondance entre l&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> et son développement.</li>
<li>DONE : Après REVIEW, une fois que la personne en charge de la revue a donné un feu vert. L&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> est réalisée.
La définition du DONE est importante et peut varier suivant les types d&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoires</a>
et la définition initiale donnée en cours de Sprint 0 ou de <em>
<a href="https://blog.limawi.io/fr-fr/posts/discovery-framing/">Discovery &amp; Framing</a></em>.
C&rsquo;est, en général, le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> qui déplace en DONE.</li>
<li>POSTPONED : Cette 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> a été mal estimée ou un problème a été rencontré en cours de <em>Sprint</em>.
Elle est renvoyée à un <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em> suivant.</li>
</ul>
<p>Labels de portée :</p>
<ul>
<li>SECURITY : Cette 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> a une notion de sécurité. Elle est traitée par les membres spécialisés en sécurité.</li>
<li>PERFORMANCE : Cette 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> a une notion de performance. Elle est traitée par les membres spécialisés en performances.</li>
<li>DOC : Cette 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> a une notion de documentation. Elle est traitée par les membres spécialisés en documentation.</li>
<li>TEST : Cette 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoire</a> a une notion de test. Elle est traitée par les membres spécialisés en test.</li>
</ul>
<h2 id="scrum-board">Scrum Board</h2>
<p>Les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoires</a> du <em>Sprint Backlog</em> peuvent être présentées sur un <em>Scrum Board</em>.</p>
<p>C&rsquo;est un tableau à colonnes. Chaque colonne représente un label d&rsquo;avancement.
Les colonnes sont organisées de gauche à droite selon l&rsquo;ordre logique des labels d&rsquo;avancement.</p>
<p>L&rsquo;idée est de faire avancer les histoires de la gauche (TODO) vers la droite (DONE).
Une équipe agile efficace a toutes les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires">histoires</a> en DONE à la fin du <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em>.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/images/scrum-board-en-methode-agile-scrum.png" class="figure-img img-fluid rounded" alt="Les colonnes sont organisées de gauche à droite selon l&#39;ordre logique des labels d&#39;avancement">
  <figcaption class="figure-caption"><p>Scrum Board en méthode agile (Scrum)</p>
    <small>Les colonnes sont organisées de gauche à droite selon l&#39;ordre logique des labels d&#39;avancement</small>
  </figcaption>
</figure>

<h2 id="sources">Sources</h2>
<ul>
<li>L&rsquo;expérience Limawi</li>
<li>
<a href="https://www.unow.fr/blog/le-coin-des-experts/product-backlog-projet-scrum/" target="_blank">Unow</a></li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="Le Backlog et le Scrum Board" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/videos/story-le-backlog-et-le-scrum-board.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/videos/story-le-backlog-et-le-scrum-board.webm" type="video/webm">
</video>
<p class="text-center" >Le Backlog et le Scrum Board</p>
<p class="text-center" ><small>Le Backlog rassemble l&#39;ensemble des histoires d&#39;un projet</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Méthode agile : La cérémonie</title>
      <link>https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/</link>
      <pubDate>Mon, 16 Mar 2020 15:13:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/</guid>
      <description>La cérémonie permet de rassembler tous les acteurs d&#39;un projet agile et de redéfinir les objectifs.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<p>La cérémonie est la réunion qui permet de rassembler l&rsquo;équipe agile (l&rsquo;équipe de développement),
le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em> (le « manager » de l&rsquo;équipe)
et le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> (le représentant du client) et éventuellement les clients.</p>
<div class="col-md-12">
<video controls title="Méthode agile : La cérémonie" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/videos/methode-agile-la-ceremonie.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/videos/methode-agile-la-ceremonie.webm" type="video/webm">
</video>
<p class="text-center" >Méthode agile : La cérémonie</p>
<p class="text-center" ><small>La cérémonie permet de rassembler tous les acteurs d&#39;un projet agile et de redéfinir les objectifs</small></p>
</div>
<p>Elle intervient généralement entre les <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">sprints</a></em>, donc à intervalles réguliers.</p>
<p>Cet évènement est divisé en plusieurs phases. Certaines équipes choisissent de disjoindre ces phases pour alléger les réunions.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/images/la-ceremonie-en-methode-agile.png" class="figure-img img-fluid rounded" alt="Certaines équipes choisissent de disjoindre ces phases pour alléger les réunions">
  <figcaption class="figure-caption"><p>La cérémonie en méthode agile</p>
    <small>Certaines équipes choisissent de disjoindre ces phases pour alléger les réunions</small>
  </figcaption>
</figure>

<h2 id="phase-1-en-début-de-projet-sprint-planning-meeting">Phase 1, en début de projet (sprint planning meeting)</h2>
<p>Maître de cérémonie : Le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> assisté du <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em></p>
<p>Durée : moins de 2 heures.</p>
<p>Cette phase permet de détailler une grande partie des histoires sous forme de 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">stories, NFR ou Spike</a>
et de les répartir tous au long des <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">sprints</a></em> prévus.</p>
<p>Elle permet d&rsquo;estimer les grandes lignes du projet.
Elle se concentre aussi sur la cohésion d&rsquo;équipe et la découverte de l&rsquo;équipe avec les clients et le projet.</p>
<p>Le but est de lancer le premier <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em> (<em>Sprint</em> 1 ou <em>Sprint</em> 0) dans des bonnes conditions.</p>
<h2 id="phase-1-en-cours-de-projet-sprint-review">Phase 1, en cours de projet (Sprint review)</h2>
<p>Maître de cérémonie : Le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em>
assisté du <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em></p>
<p>Durée : moins d'1 heure.</p>
<p>Cette phase permet de faire le point sur le <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em> précédent.
Au sein de cette phase, l&rsquo;équipe agile explique à l&rsquo;ensemble des acteurs du projet le résultat du <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em>.
Des démonstrations peuvent être effectuées durant cette phase auprès des clients, d’utilisateurs finaux, d&rsquo;un panel représentatif&hellip;</p>
<p>Les clients à travers le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> doivent avoir une idée de l&rsquo;état du projet.</p>
<p>Lors de cette étape, l&rsquo;ensemble des acteurs font leurs retours à l&rsquo;équipe agile. Il ne faut pas hésiter, c&rsquo;est là qu&rsquo;on peut réorienter le projet et préparer la phase 2.</p>
<h2 id="petit-bonus-limawi-entre-les-deux-phases">Petit bonus Limawi, entre les deux phases</h2>
<p>Maître de cérémonie : Aucun, c’est un jeu de cartes</p>
<p>Cette inter-phase consiste à revoir les modèles de menaces grâce au jeu « <em>
<a href="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/">Elevation of Privilege</a></em> ».
Cette méthode est expliquée dans un article dédié.</p>
<h2 id="phase-2-centrée-sur-le-projet-product-backlog-refinement">Phase 2, centrée sur le projet (product backlog refinement)</h2>
<p>Maître de cérémonie : Le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em>
assisté du <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em></p>
<p>Durée : moins d'1 heure, peut être très rapide.</p>
<p>Cette phase permet de réorganiser les histoires (
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Stories, NFR, Spike</a>)
pour le prochain <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em>.
L&rsquo;équipe agile questionne le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em>
sur les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a>
afin qu&rsquo;elles soient les plus claires possible.
L&rsquo;équipe, ensuite, estime la charge de travail de l&rsquo;ensemble de ces 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a>
(sous forme de points de complexité ou de temps) en utilisant le 
<a href="https://blog.limawi.io/fr-fr/posts/poker-agile/">Poker agile</a>.
Une fois les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires estimées</a>,
le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> les priorisent en fonction de la vélocité de l&rsquo;équipe.
Il les place en « TODO » et renvoie celles en trop dans le <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-backlog-et-le-scrum-board/">Backlog</a></em> (en « POSTPONED »).</p>
<p>Cette phase peut intervenir par petites touches tout au long du <em>Sprint</em>.
Dans ce cas, le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> peut affiner bien mieux et plus rapidement selon les difficultés rencontrées par l&rsquo;équipe.
Si cette façon de faire est préférée, alors la phase au sein de la cérémonie peut être très courte.</p>
<h2 id="phase-2-centrée-sur-léquipe-sprint-retrospective">Phase 2, centrée sur l&rsquo;équipe (Sprint retrospective)</h2>
<p>Maître de cérémonie : Le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em></p>
<p>Durée : moins d'1 heure.</p>
<p>Cette phase permet de se concentrer sur la santé de l&rsquo;équipe.
Elle peut se faire sous forme de 
<a href="https://blog.myagilepartner.fr/index.php/2017/01/13/retrospective/" target="_blank">jeux</a>.
Elle permet de renforcer la cohésion de l&rsquo;équipe et une amélioration continue.</p>
<p>Le but de cette phase est que l&rsquo;équipe soit remotivée, que les difficultés de relations sociales entre les membres de l&rsquo;équipe soient considérées et que l&rsquo;environnement de travail soit amélioré.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>L&rsquo;expérience Limawi</li>
<li>
<a href="https://blog.myagilepartner.fr/index.php/2018/08/17/ceremonies-sprint-scrum/" target="_blank">My Agile Partner</a></li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="Méthode agile : La cérémonie" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/videos/story-la-ceremonie.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/videos/story-la-ceremonie.webm" type="video/webm">
</video>
<p class="text-center" >Méthode agile : La cérémonie</p>
<p class="text-center" ><small>La cérémonie permet de rassembler tous les acteurs d&#39;un projet agile et de redéfinir les objectifs</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Discovery &amp; Framing</title>
      <link>https://blog.limawi.io/fr-fr/posts/discovery-framing/</link>
      <pubDate>Mon, 16 Mar 2020 15:12:47 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/discovery-framing/</guid>
      <description>Le Discovery &amp; Framing est la phase initiale d&#39;un projet agile et il est utilisé pour le dégrossir.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<p>« <em>Discovery and Framing</em> » sont 2 termes associés (la découverte et l&rsquo;encadrement) qui qualifient une phase initiale précédant les 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/"><em>sprints</em></a>.</p>
<div class="col-md-12">
<video controls title="Discovery &amp; Framing" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/discovery-framing/videos/discovery-framing.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/discovery-framing/videos/discovery-framing.webm" type="video/webm">
</video>
<p class="text-center" >Discovery &amp; Framing</p>
<p class="text-center" ><small>Le Discovery &amp; Framing est la phase initiale d&#39;un projet agile et il est utilisé pour le dégrossir.</small></p>
</div>
<p>Cette phase permet de dégrossir un projet et de le formaliser pour pouvoir le conduire en méthode agile. Elle s’étale généralement sur une semaine.</p>
<p>Cela s&rsquo;articule en 2 parties, la découverte et l&rsquo;encadrement (d&rsquo;où le nom).</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/discovery-framing/images/discovery-framing-en-methode-agile.png" class="figure-img img-fluid rounded" alt="Cela s&#39;articule en 2 parties, la découverte et l&#39;encadrement (d&#39;où le nom)">
  <figcaption class="figure-caption"><p>Discovery &amp; Framing en méthode agile</p>
    <small>Cela s&#39;articule en 2 parties, la découverte et l&#39;encadrement (d&#39;où le nom)</small>
  </figcaption>
</figure>

<h2 id="la-découverte">La découverte</h2>
<p>Elle commence le lundi et s’arrête si possible le mercredi.</p>
<p>Chaque jour, on détaille des hypothèses sur le projet et on interroge les clients (beaucoup).
Une réunion a lieu tous les matins pour rassembler les résultats et recommencer (ça s&rsquo;apparente au 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/"><em>scrum</em></a>).</p>
<p>Ne cherchez pas à estimer des temps, c&rsquo;est une phase de recherche.
Si cette phase déborde trop au delà du mercredi, il faudra peut-être planifier une nouvelle semaine.</p>
<h2 id="lencadrement-la-formalisation">L&rsquo;encadrement (la formalisation)</h2>
<p>À partir du mercredi, vous pouvez commencer à créer des ateliers au sein des équipes.
Ces ateliers ont pour objectifs de définir les grands identifiants du projet :</p>
<ul>
<li>
<p>Les « <em>buyers personas</em> » et les « 
<a href="https://blog.limawi.io/fr-fr/posts/le-user-persona"><em>final users personas</em></a> » : cette technique est souvent utilisée en marketing pour cibler les marchés.
Dans le cas présent, il faut voir plus large et plus technique. Comment les utilisateurs finaux vont-ils se servir du système ? Quels sont leurs cultures, leurs histoires pour prévoir l&rsquo;ergonomie du système ?</p>
</li>
<li>
<p>Déterminer quel est l&rsquo;objectif minimum viable à atteindre.
C&rsquo;est à dire l&rsquo;ensemble des fonctionnalités absolument nécessaires pour la première version du système.
C’est le « <em>Minimum viable product</em> » (le produit minimum viable).</p>
</li>
<li>
<p>À partir des ces données, extraire un 
<a href="https://blog.limawi.io/fr-fr/posts/le-lean-canvas/"><em>Lean Canvas</em></a> qui servira de fiche globale du projet.</p>
</li>
<li>
<p>Déterminer l&rsquo;environnement de développement nécessaire et les outils pour pouvoir développer, tester et mettre en production cette première version.</p>
</li>
<li>
<p>Commencer à détailler les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/"><em>epics</em>, sagas, <em>themes</em> et initiatives</a> du projet mais pas encore les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/"><em>stories</em>, NFR et <em>Spike</em></a>.
L&rsquo;objectif est d&rsquo;avoir une vision du projet à long terme.</p>
</li>
</ul>
<h2 id="bouclage-et-suite">Bouclage et suite</h2>
<p>Cette semaine se boucle avec une réunion de rétrospective (rappelant la cérémonie) durant laquelle on fait le point.
Bien sûr, cette réunion ne doit pas dépasser 2 heures pour être efficace.</p>
<p>Cette phase de <em>Discovery &amp; Framing</em> peut se répéter (s&rsquo;itérer) sur plusieurs semaines jusqu&rsquo;à ce que l&rsquo;ensemble des acteurs du projet soient satisfaits des grands identifiants.</p>
<p>Une fois cette phase finie, alors les 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/"><em>Sprints</em></a> démarrent. Selon le projet, on peut caler un Sprint 0 à ce moment-là, qui sert de 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/"><em>Sprint</em></a> de chauffe.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<p>L&rsquo;expérience Limawi</p>
</li>
<li>
<p>
<a href="https://blog.myagilepartner.fr/index.php/2017/03/03/le-discovery-framing-df/" target="_blank">My Agile Partner</a></p>
</li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="Discovery &amp; Framing" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/discovery-framing/videos/story-discovery-framing.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/discovery-framing/videos/story-discovery-framing.webm" type="video/webm">
</video>
<p class="text-center" >Discovery &amp; Framing</p>
<p class="text-center" ><small>Le Discovery &amp; Framing est la phase initiale d&#39;un projet agile et il est utilisé pour le dégrossir.</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Méthode agile : Les histoires</title>
      <link>https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/</link>
      <pubDate>Mon, 16 Mar 2020 15:12:35 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/</guid>
      <description>En méthode agile, on appelle une histoire un ensemble de tâches et d&#39;actions liées entre elles.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<p>Il y a plusieurs types d&rsquo;histoires mais elles ont en commun d&rsquo;avoir un objectif, de pouvoir être estimées (ou décomposée en éléments estimables) et d&rsquo;avoir une définition du « <em>DONE</em> » claire (une fin claire).</p>
<p>Ces unités permettent de décomposer un projet clairement afin de pouvoir être réalisé de la façon la plus efficace possible.</p>
<div class="row">
<div class="col-lg-6 col-md-6">
<div class="col-md-12">
<video controls title="Les histoires (les grandes)" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/videos/les-histoires-les-grandes.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/videos/les-histoires-les-grandes.webm" type="video/webm">
</video>
<p class="text-center" >Les histoires (les grandes)</p>
<p class="text-center" ><small>Ces unités permettent de décomposer un projet clairement afin de pouvoir être réalisé de la façon la plus efficace possible</small></p>
</div>
</div>

<div class="col-lg-6 col-md-6">
<div class="col-md-12">
<video controls title="Les histoires (les petites)" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/videos/les-histoires-les-petites.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/videos/les-histoires-les-petites.webm" type="video/webm">
</video>
<p class="text-center" >Les histoires (les petites)</p>
<p class="text-center" ><small>Chaque histoire doit avoir une définition claire du READY (ou TODO) et le plus souvent du DONE</small></p>
</div>
</div>

</div>

<h2 id="voici-un-panel-non-exhaustif-des-différents-types-dhistoire">Voici un panel (non exhaustif) des différents types d&rsquo;histoire</h2>
<ul>
<li>Tâche : Pas vraiment une histoire en tant que telle mais c&rsquo;est l&rsquo;unité atomique sur laquelle une histoire est construite.
Elle doit être la plus simple possible.
Par exemple, si l&rsquo;histoire consiste à « rentrer dans une maison »,
la tâche est « poser la main sur la poignée de porte », la tâche suivante « tourner la poignée », etc.</li>
<li><em>Story</em> : C&rsquo;est le type d&rsquo;histoire le plus connu en méthode agile.
Elle est centrée sur l&rsquo;interaction avec l&rsquo;utilisateur final.
Pour ne pas confondre histoire et <em>Story</em> en anglais,
le terme « <em>User Story</em> » est préféré.
Elle permet de réaliser une fonctionnalité.</li>
<li>NFR : C&rsquo;est le type d&rsquo;histoire le plus dur à définir.
NFR veut dire « <em>Non functional requirements</em> ».
Ce sont toutes les actions nécessaires à la bonne marche du projet mais qui n&rsquo;affectent pas l&rsquo;interaction de l&rsquo;utilisateur final avec le projet.
Par exemple, une refactorisation de code, un changement de licence, la mise en place d&rsquo;un nouveau serveur de développement ou d&rsquo;une machine à café pour l&rsquo;équipe.</li>
<li>Spike : Cette histoire permet de formaliser les étapes de recherche. Elle a une définition du DONE différente des autres car le principe de la recherche est qu&rsquo;on ne sait pas ce qu&rsquo;on va trouver.</li>
<li>Epic : Cette définition varie suivant qui l&rsquo;utilise. Généralement, elle définit une histoire dont l&rsquo;estimation dépasse la possibilité d&rsquo;un Sprint.
Elle doit donc être découpée en histoires plus petites.</li>
<li>Initiative : Utilisée par 
<a href="https://www.atlassian.com/agile/project-management/epics-stories-themes" target="_blank">JIRA</a>.
Elle regroupe un ensemble d&rsquo;Epics qui sont liées par un but commun.</li>
<li>Thème : Cette histoire regroupe des Epics ou initiatives dont l&rsquo;ensemble une fois fini forme un changement majeur pour une large portion de l&rsquo;organisation (ou entreprise).</li>
<li>Saga : Ce terme est peu utilisé (mais je l&rsquo;aime bien) et peut se confondre avec le thème ou l&rsquo;initiative.
Il donne une note plus dans la continuité du terme « épique ».
Il peut permettre de définir la racine du projet, de l’arbre des histoires. Du coup, je propose « <em>Yggdrasil</em> » pour nommer l’arbre des histoires, pour rester consistant dans les termes.</li>
</ul>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/images/les-histoires-en-methode-agile.png" class="figure-img img-fluid rounded" alt="L&#39;arbre des histoires, Yggdrasil">
  <figcaption class="figure-caption"><p>Les histoires en méthode agile</p>
    <small>L&#39;arbre des histoires, Yggdrasil</small>
  </figcaption>
</figure>

<h2 id="début-et-fin-dhistoire">Début et fin d&rsquo;histoire</h2>
<p>Chaque histoire doit avoir une définition claire du READY (ou TODO) et le plus souvent du DONE.</p>
<p>C&rsquo;est à dire que le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em> et l&rsquo;équipe agile doivent s&rsquo;accorder sur les prérequis nécessaires au démarrage de l&rsquo;histoire (le READY).
Pour le DONE, ils doivent définir le cahier des charges qui permet de s&rsquo;assurer qu&rsquo;une histoire est réellement finie.
À noter que des histoires comme l&rsquo;epic, le thème, l&rsquo;initiative ou la saga n&rsquo;ont pas de définition de DONE si ce n&rsquo;est le DONE de toutes les histoires qui les composent.</p>
<h2 id="certaines-histoires-en-détail">Certaines histoires en détail</h2>
<h3 id="la-user-story">La User Story</h3>
<p>L&rsquo;histoire la plus connue de la méthode agile.
Ce type d&rsquo;histoires permet de créer de la valeur fonctionnelle pour l’
<a href="https://blog.limawi.io/fr-fr/posts/le-user-persona/">utilisateur final</a>.</p>
<p>Une définition du READY : Une story doit avoir un départ clair selon l’acronyme INVEST ci-dessous :</p>
<ul>
<li><em>Independent</em>: Chaque <em>Story</em> doit être indépendante de tout autre tâche.</li>
<li><em>Negociable</em>: Chaque story doit pouvoir être discutée pour décrire au mieux le parcours utilisateur qu’elle fournit :
<ul>
<li><em>Given a state</em> (étant donné un état)</li>
<li><em>When an action</em> (quand une action)</li>
<li><em>Then a result</em> (alors un résultat)</li>
</ul>
</li>
<li><em>Valuable</em>: Chaque <em>Story</em> doit effectivement apporter de la valeur au produit du point de vue de l’
<a href="https://blog.limawi.io/fr-fr/posts/le-user-persona/">utilisateur final</a>.</li>
<li><em>Estimable</em>: Chaque <em>Story</em> doit pouvoir être estimée en tant que nombre de points de complexité qui aboutissent à une estimation du temps.</li>
<li><em>Small</em>: Chaque <em>Story</em> doit être suffisamment petite pour pouvoir être réalisée par une ou peu de personnes dans un <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em>.</li>
<li><em>Testable</em>: Chaque <em>Story</em> doit pouvoir être testée dans un outil de test en intégration continue.</li>
</ul>
<p>Une définition du DONE : Une <em>Story</em> doit avoir une fin claire définie à l’avance avec un certain nombre d’objectifs à définir.</p>
<p>Exemple de DONE :</p>
<ul>
<li>Documentation générée</li>
<li>Tests fonctionnels passés</li>
<li>Tests de sécurité passés</li>
</ul>
<h3 id="le-nfr">Le NFR</h3>
<p>Le NFR est un type d&rsquo;histoire agile qui ne s&rsquo;occupe pas de l’
<a href="https://blog.limawi.io/fr-fr/posts/le-user-persona/">utilisateur final</a>.</p>
<p>Le NFR signifie « <em>Non functional requirements</em> » (requis non fonctionnels).</p>
<p>Il permet de résoudre les tâches nécessaires au bon déroulement du projet mais qui n’ont aucune visibilité pour l’
<a href="https://blog.limawi.io/fr-fr/posts/le-user-persona/">utilisateur final</a>.</p>
<p>Exemple :</p>
<ul>
<li>Questions légales</li>
<li>Questions de sécurité</li>
<li>Questions d’organisation</li>
<li>Questions de performances</li>
<li>Questions d’infrastructures</li>
</ul>
<p>Un NFR a peu de différence avec la <em>Story</em> à l’exception de l’aspect centré sur l’
<a href="https://blog.limawi.io/fr-fr/posts/le-user-persona/">utilisateur final</a>.</p>
<p>Un NFR doit être SMART  :</p>
<ul>
<li><em>Specific</em>: compréhensible par tous</li>
<li><em>Mesurable</em>: avec un DONE (un objectif) clairement défini</li>
<li><em>Achievable</em>: réalisable</li>
<li><em>Relevant</em>: pertinente</li>
<li><em>Time-Boxed</em>: court dans le temps et estimable en points de complexité</li>
</ul>
<p>Il doit avoir une claire définition du READY et du DONE.</p>
<h3 id="le-spike">Le Spike</h3>
<p>Quand on veut faire de la recherche en méthode agile, on utilise ça.</p>
<p>Le <em>Spike</em> (la pointe) cherche à préciser les étapes, savoirs et temps nécessaires pour résoudre les <em>Stories</em> et NFR.</p>
<p>Il doit être indépendant et testable ; mais il est, par essence, non estimable.
En effet, quand on cherche on ne sait pas ce qu&rsquo;on va trouver donc impossible d&rsquo;estimer.</p>
<p>Pour pallier à ce manque d’estimation, il est time-boxé (avec un temps défini).</p>
<blockquote>
<p>Exemple : Rechercher un remplacement pour CouchDB en 24 heures (3 jours)</p>
</blockquote>
<p>Un <em>Spike</em> doit être SMART :</p>
<ul>
<li><em>Specific</em>: compréhensible par tous</li>
<li><em>Mesurable</em>: avec un DONE (un objectif) clairement défini</li>
<li><em>Achievable</em>: réalisable</li>
<li><em>Relevant</em>: pertinente</li>
<li><em>Time-Boxed</em>: court dans le temps</li>
</ul>
<p>Il doit avoir une claire définition du READY et du DONE.</p>
<p>Le DONE, dans ce cas, définit l&rsquo;objectif, la direction de la recherche. Il permet d&rsquo;estimer si la recherche est valable.</p>
<p>En effet, si l&rsquo;objectif est de rechercher une nouvelle méthode pour faire une tarte à la framboise et que le résultat de recherche est un ensemble de méthodes pour créer ses croquettes pour chat, et bien ce n&rsquo;est pas DONE.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/images/histoires-estimables-en-methode-agile.png" class="figure-img img-fluid rounded" alt="Chaque histoire doit avoir une définition claire du READY (ou TODO) et le plus souvent du DONE">
  <figcaption class="figure-caption"><p>Histoires estimables en méthode agile</p>
    <small>Chaque histoire doit avoir une définition claire du READY (ou TODO) et le plus souvent du DONE</small>
  </figcaption>
</figure>

<h2 id="sources">Sources</h2>
<ul>
<li>L&rsquo;expérience Limawi</li>
<li>
<a href="https://www.scrumexpert.com/knowledge/using-sagas-as-a-strategic-view-of-epics" target="_blank">Scrum Expert</a></li>
<li>
<a href="https://blog.myagilepartner.fr/index.php/2018/01/29/epic-agile/" target="_blank">My Agile Partner</a></li>
<li>
<a href="https://www.atlassian.com/agile/project-management/epics-stories-themes" target="_blank">Atlassian</a></li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="méthode agile : les histoires" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/videos/story-les-histoires.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/videos/story-les-histoires.webm" type="video/webm">
</video>
<p class="text-center" >méthode agile : les histoires</p>
<p class="text-center" ><small>Ces unités permettent de décomposer un projet clairement afin de pouvoir être réalisé de la façon la plus efficace possible.</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Elevation of Privilege</title>
      <link>https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/</link>
      <pubDate>Mon, 16 Mar 2020 15:12:08 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/</guid>
      <description>Elevation of Privilege est un jeu de cartes qui permet de modéliser les menaces sur un système.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<h2 id="modèle-de-menace">Modèle de menace</h2>
<p>Un modèle de menace est un outil qui permet de déterminer à l’avance les fragilités d’un système et les moyens d’y remédier.</p>
<p>Dans la méthode agile, il est continuellement mis à jour. Il doit suivre le produit existant et s’adapter rapidement aux nouvelles évolutions.</p>
<p>Comment y parvenir ?</p>
<div class="col-md-12">
<video controls title="Elevation of Privilege" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/videos/elevation-of-privilege.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/videos/elevation-of-privilege.webm" type="video/webm">
</video>
<p class="text-center" >Elevation of Privilege</p>
<p class="text-center" ><small>Elevation of Privilege est un jeu de cartes qui permet de modéliser les menaces sur un système.</small></p>
</div>
<h2 id="schémas-et-diagrammes">Schémas et diagrammes</h2>
<p>Dans un premier temps, il est nécessaire de documenter votre projet. Il doit avoir des représentations visuelles de ses composants et des flux d’informations.</p>
<p>Une des manières de représenter ces données est le langage UML. Le problème est que ce langage est complexe à écrire et à mettre à jour pour un être humain.</p>
<p>Il est donc préférable d’automatiser au maximum la documentation et ses diagrammes (qu’ils soient en UML ou une autre représentation) pour pouvoir les produire facilement à chaque évolution du projet.</p>
<p>Si les diagrammes sont faits manuellement, des dessins de patates suffisent. Il faut juste qu’ils soient compréhensibles par tous les membres de l’équipe.</p>
<p>Une fois ces diagrammes faits, on va pouvoir les étudier pour en déceler les failles. Et ce, de façon ludique, grâce au jeu « <code>Elevation of Privilege</code> ».</p>
<h2 id="les-règles-du-jeu">Les règles du jeu</h2>
<p>Pour cela, prévoyez une phase de la 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/">cérémonie</a> de 
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/"><em>sprint</em></a> dédiée à ça.</p>
<p>L’équipe est assise autour d’une table. Le diagramme de la partie du projet à analyser est étalé sur la table visible de tous.</p>
<p>Le jeu de carte « <em>Elevation of Privilege</em> » est disponible en dessous.</p>
<p>Distribuez toutes les cartes aux joueurs. La partie commence avec le « <em>3 of tampering</em> ». Jouez dans le sens des aiguilles d’une montre.</p>
<p>Cela ressemble beaucoup aux règles du Tarot.</p>
<p>Chaque joueur continue dans la même suite s’il a une carte dans la suite. Sinon, il joue une carte d’une autre suite.</p>
<p>Chaque pli (un tour de table) est gagné par celui qui a la plus haute carte dans la suite demandée au départ,
sauf si une carte « <em>Elevation of Privilege</em> » est jouée (dans ce cas c’est la plus forte de ces cartes qui l’emporte).</p>
<p>Pour jouer une carte, le joueur doit l’annoncer et essayer de trouver sa menace sur le diagramme. Le système peut être résistant à cette menace.
Dans ce cas, il est impossible de trouver la menace sur le diagramme.</p>
<p>Le joueur doit annoncer clairement sa menace. Pour être valide, elle doit amener à la création d’une histoire (
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">NFR d’ouverture de <em>bug</em>, <em>User Story</em>&hellip;</a>) dans le projet.</p>
<p>À la fin du pli (quand tous les joueurs ont posé une carte de leur main), tous ceux qui ont réussi à trouver leur menace sur le diagramme ont un point.
Si celui qui a gagné le pli a réussi aussi à trouver sa menace sur le diagramme, il gagne un point supplémentaire.</p>
<p>Le gagnant du pli démarre le pli suivant et choisit la suite de départ. Prenez quelques minutes entre chaque pli pour étudier les menaces.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/images/regles-de-elevation-of-privilege.png" class="figure-img img-fluid rounded" alt="Cela ressemble beaucoup aux règles du Tarot">
  <figcaption class="figure-caption"><p>Règles de Elevation of Privilege</p>
    <small>Cela ressemble beaucoup aux règles du Tarot</small>
  </figcaption>
</figure>

<p>Les cartes « <em>Elevation of privilege</em> » gagnent sur toutes les autres.
Elles ne peuvent être jouées que quand le joueur n’a pas de carte dans la suite demandée (ou si la suite demandée est elle-même « <em>Elevation of privilege</em> »).</p>
<p>Les « As » sont des cartes qui permettent de trouver des menaces non prévues dans la suite demandée. Le joueur doit expliquer la menace elle-même.</p>
<p>Quand toutes les cartes ont été jouées (tous les plis ont été faits), celui qui a le plus de points l’emporte.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/images/regles-de-elevation-of-privilege-partie-2.png" class="figure-img img-fluid rounded" alt="Quand toutes les cartes ont été jouées (tous les plis ont été faits), celui qui a le plus de points l’emporte">
  <figcaption class="figure-caption"><p>Règles de Elevation of Privilege, partie 2</p>
    <small>Quand toutes les cartes ont été jouées (tous les plis ont été faits), celui qui a le plus de points l’emporte</small>
  </figcaption>
</figure>

<p>Annotez votre diagramme en fonction des menaces trouvées.</p>
<p>Vous pouvez faire passer les mains d’un joueur à l’autre entre chaque pli. Cela permet que les joueurs spécialisés puissent jouer des cartes que des joueurs précédents ne comprenaient pas.</p>
<p>D’autres joueurs que celui qui annonce sa carte peuvent surenchérir sur sa carte en trouvant la menace annoncée à d’autres emplacements que ceux trouvés par celui qui joue. Ils gagnent un point supplémentaire.</p>
<p>Téléchargez « 
<a href="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/documents/elevation-of-privilege.pdf"><em>Elevation of Privilege</em></a> » et son extension « 
<a href="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/documents/elevation-of-privacy.pdf"><em>Elevation of Privacy</em></a> »,
avec les 
<a href="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/documents/regles-eop.pdf">règles EoP</a> et une planche de 
<a href="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/documents/dos-de-cartes-eop.pdf">dos de cartes</a>.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<a href="https://github.com/adamshostack/eop" target="_blank">EoP</a>, 
<a href="https://creativecommons.org/licenses/by/3.0/us/" target="_blank">license Creative Commons attribution 3</a></li>
<li>
<a href="https://blog.logmeininc.com/privacy-by-design-can-be-entertaining/" target="_blank">Eop (extension privacy)</a>, 
<a href="https://creativecommons.org/" target="_blank">licence Creative Commons</a></li>
<li>
<a href="https://github.com/F-Secure/elevation-of-privacy" target="_blank">EoPrivacy</a>, 
<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">license Creative Commons attribution 4</a></li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="Elevation of Privilege" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/videos/story-elevation-of-privilege.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/elevation-of-privilege/videos/story-elevation-of-privilege.webm" type="video/webm">
</video>
<p class="text-center" >Elevation of Privilege</p>
<p class="text-center" ><small>Elevation of Privilege est un jeu de cartes qui permet de modéliser les menaces sur un système.</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Le lean canvas</title>
      <link>https://blog.limawi.io/fr-fr/posts/le-lean-canvas/</link>
      <pubDate>Mon, 16 Mar 2020 15:11:53 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/le-lean-canvas/</guid>
      <description>Le Lean Canvas permet d&#39;avoir une vue globale et synthétique d&#39;un projet agile.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<p>Le <em>Lean Canvas</em> permet de décrire rapidement un projet sans oublier des éléments importants.</p>
<div class="col-md-12">
<video controls title="Le lean canvas" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-lean-canvas/videos/le-lean-canvas.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/le-lean-canvas/videos/le-lean-canvas.webm" type="video/webm">
</video>
<p class="text-center" >Le lean canvas</p>
<p class="text-center" ><small>Le Lean Canvas permet de décrire rapidement un projet sans oublier des éléments importants</small></p>
</div>
<p>Il est utilisé par les startups pour démarrer leur projet mais peut être utilisé en méthode agile pour garder la cohérence du projet entre les multiples acteurs.</p>
<p>En effet, un bon <em>Lean Canvas</em> permet à l&rsquo;équipe ou aux équipes agiles de prioriser les histoires ou de les réécrire,
en accord avec le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em>, pour ne pas dévier d’objectifs à plus ou moins long terme voulus par les clients.</p>
<h2 id="présentation-dun-lean-canvas">Présentation d&rsquo;un Lean Canvas</h2>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/le-lean-canvas/images/le-lean-canvas-schema.png" class="figure-img img-fluid rounded" alt="Le Lean Canvas permet de décrire rapidement un projet sans oublier des éléments importants">
  <figcaption class="figure-caption"><p>Le Lean Canvas (Schéma)</p>
    <small>Le Lean Canvas permet de décrire rapidement un projet sans oublier des éléments importants</small>
  </figcaption>
</figure>

<ul>
<li>La case « Problème » (<em>Problem</em>) permet de définir l&rsquo;objectif du projet.
Elle permet de maintenir le cap lors de la conception des <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Users Stories</a></em>.</li>
<li>La case « Solution » permet de définir l&rsquo;objectif minimum viable à atteindre avant une mise en production.
Il faut prioriser les <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Users Stories</a></em> de développement en fonction.</li>
<li>La case « Indicateurs de performances » (<em>Key Metrics</em>) permet de définir les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">NFR</a> prioritaires.</li>
<li>La case « Proposition de valeur unique » (<em>Unique Value Proposition</em>) permet de définir les <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Users Stories</a></em> de développement
et 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">NFR</a> prioritaires dès la mise en production.</li>
<li>La case « Avantage compétitif » (<em>Unfair Advantage</em>) permet de définir les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Spikes</a> prioritaires dès la mise en production.</li>
<li>La case « Canaux » (<em>Channels</em>) permet de définir les <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Users Stories</a></em> de marketing à prioriser.</li>
<li>La case « Segments de clientèle » (<em>Customer Segment</em>) permet de définir les <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-user-persona/">user personas</a></em> (dont les <em>buyers personas</em> si le projet inclut du marketing).</li>
<li>Les cases « Coûts » (<em>Cost Structure</em>) et « Sources de revenus » (<em>Revenue Streams</em>) peuvent faire l&rsquo;objet de 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">NFR</a>.
Leur analyse permet de prioriser certaines <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a></em>
(les histoires qui coûtent le plus dans les <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">sprints</a></em> au cours desquels les sources de revenu fonctionnent le mieux et inversement).</li>
</ul>
<p>Si on regarde au niveau des histoires, le <em>Lean Canvas</em> est la représentation visuelle de la 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Saga</a>.</p>
<p>Téléchargez notre 
<a href="https://blog.limawi.io/fr-fr/posts/le-lean-canvas/documents/lean-canvas.odg">template de Lean Canvas</a> (au format odg, LibreOffice et OpenOffice).</p>
<h2 id="sources">Sources</h2>
<ul>
<li>L&rsquo;expérience Limawi</li>
<li>
<a href="https://showcase.dropbox.com/s/ASH-MAURYA-waF9igFnnu9LZarB9u5e1" target="_blank">L&rsquo;inventeur du Lean Canvas</a></li>
<li>
<a href="https://business-builder.cci.fr/guide-creation/la-bonne-idee-de-creation-dentreprise/lean-canvas-la-mise-en-pratique-du-lean-startup" target="_blank">Business Builder</a></li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="Le lean canvas" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-lean-canvas/videos/story-le-lean-canvas.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/le-lean-canvas/videos/story-le-lean-canvas.webm" type="video/webm">
</video>
<p class="text-center" >Le lean canvas</p>
<p class="text-center" ><small>Le Lean Canvas permet de décrire rapidement un projet sans oublier des éléments importants</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Le Sprint et le Scrum</title>
      <link>https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/</link>
      <pubDate>Mon, 16 Mar 2020 14:46:09 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/</guid>
      <description>Comment s&#39;organise le développement agile dans le temps ? Avec le Sprint et le Scrum.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<p>L&rsquo;unité de temps de la méthode agile « <em>Scrum</em> » est le <em>Sprint</em>. C&rsquo;est une période qui se répète.
Elle peut varier suivant les équipes, de 2 semaines à 1 mois..</p>
<div class="col-md-12">
<video controls title="Le Sprint et le Scrum" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/videos/le-sprint-et-le-scrum.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/videos/le-sprint-et-le-scrum.webm" type="video/webm">
</video>
<p class="text-center" >Le Sprint et le Scrum</p>
<p class="text-center" ><small>L&#39;unité de temps de la méthode agile « Scrum » est le Sprint</small></p>
</div>
<p>C&rsquo;est au cours de cette période que sont réalisées les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a>.</p>
<p>Elle est encadrée par une 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-la-ceremonie/">cérémonie</a> de début, qui prépare le travail, et une cérémonie de fin, qui fait un bilan du travail accompli.</p>
<p>Au matin de chaque jour de travail de cette période a lieu la réunion journalière (ou <em>Scrum</em>) qui permet de maintenir les objectifs du <em>Sprint</em>.</p>
<p>Les objectifs d&rsquo;un <em>Sprint</em> sont simples, faire passer de TODO à DONE toutes les 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a> qui ont été prévues pour celui-ci.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/images/le-sprint-et-le-scrum-schema.png" class="figure-img img-fluid rounded" alt="Les objectifs d&#39;un Sprint sont simples, faire passer de TODO à DONE toutes les histoires qui ont été prévues pour celui-ci">
  <figcaption class="figure-caption"><p>Le Sprint et le Scrum (Schéma)</p>
    <small>Les objectifs d&#39;un Sprint sont simples, faire passer de TODO à DONE toutes les histoires qui ont été prévues pour celui-ci</small>
  </figcaption>
</figure>

<h2 id="cas-particulier-le-sprint-0">Cas particulier, le Sprint 0</h2>
<p>Le <em>Sprint</em> 0 est le tout premier <em>Sprint</em> qui arrive juste après la phase de <em>
<a href="https://blog.limawi.io/fr-fr/posts/discovery-framing/">Discovery &amp; Framing</a></em>.
Ce <em>Sprint</em> là sert surtout de phase de rodage pour l&rsquo;équipe.</p>
<p>Elle découvre l&rsquo;environnement de travail, le déroulement des réunions journalières, l&rsquo;ensemble des acteurs du projet, etc&hellip;</p>
<p>Contrairement à ce qu&rsquo;on peut lire dans diverses sources,
je ne conseille pas de décrire le produit et sa cible dans ce <em>Sprint</em>, la phase de <em>
<a href="https://blog.limawi.io/fr-fr/posts/discovery-framing/">Discovery &amp; Framing</a></em> est plus adaptée pour ça.</p>
<p>Ce <em>Sprint</em> doit ressembler au maximum à un <em>Sprint</em> normal tout en se rappelant que l&rsquo;équipe découvre le sujet.</p>
<p>Ce <em>Sprint</em> n&rsquo;étant pas efficace pour le développement brut du projet, il est compté à part.</p>
<h2 id="la-mêlée-le-scrum">La mêlée (le Scrum)</h2>
<p>Le <em>Scrum</em> (« mêlée » en français) est la réunion journalière qui a lieu tous les matins. Elle donne son nom à cette forme de méthode agile.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/images/le-scrum-schema.png" class="figure-img img-fluid rounded" alt="Cette réunion doit se faire debout (on l&#39;appelle aussi Stand-up meeting)">
  <figcaption class="figure-caption"><p>Le Scrum (schéma)</p>
    <small>Cette réunion doit se faire debout (on l&#39;appelle aussi Stand-up meeting)</small>
  </figcaption>
</figure>

<p>Cette réunion doit se faire debout (on l&rsquo;appelle aussi « <em>Stand-up meeting</em> » ).
Elle ne concerne que l&rsquo;équipe de développement.
Elle est animée (mais pas « <em>dirigée</em> ») par le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em>.</p>
<p>Chaque membre de l&rsquo;équipe doit pouvoir s&rsquo;exprimer.
Il détaille ce qu&rsquo;il a fait la veille et ce qu&rsquo;il compte faire aujourd&rsquo;hui.
Si des obstacles apparaissent, le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em>
peut décider soit de les résoudre immédiatement (s’ils sont rapides à régler) soit de planifier une discussion à un autre moment.</p>
<p>La réunion ne doit pas dépasser un quart d’heure. Elle doit se dérouler à la même heure et au même endroit tous les jours (généralement avec un « <em>Scrum Board</em> » sous les yeux).</p>
<p>Cette réunion est aussi un point de rencontre sociale entre les membres de l&rsquo;équipe.
Peu à peu, le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em> doit pouvoir s&rsquo;effacer au profit d&rsquo;une prise en main de la réunion par l&rsquo;équipe (toute l&rsquo;équipe), renforçant un esprit d&rsquo;équipe.</p>
<p>L&rsquo;idée est que les membres de l&rsquo;équipe aient un moment pour s&rsquo;entraider et retrouver une vision globale du projet.
Ce n&rsquo;est pas un <em>reporting</em> (ça, ça s&rsquo;automatise et c&rsquo;est face à face avec le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em> si nécessaire).</p>
<p>Les 3 questions à laquelle répond cette réunion sont (pour rappel) :</p>
<ul>
<li>Qu&rsquo;est ce qui a été fait hier ?</li>
<li>Qu&rsquo;est ce que vous comptez faire aujourd&rsquo;hui ?</li>
<li>Quels sont les obstacles rencontrés ?</li>
</ul>
<h2 id="la-mêlée-de-mêlées">La mêlée de mêlées</h2>
<p>Si un projet nécessite plusieurs équipes agiles,
on peut envisager une mêlée constituée d&rsquo;un représentant de chaque équipe agile (pas le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Scrum Master</a></em>).
Cette mêlée de représentants se déroule après la mêlée d&rsquo;équipe.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>L&rsquo;expérience Limawi</li>
<li>
<a href="https://www.nutcache.com/fr/blog/sprint-agile/" target="_blank">Nutcache</a></li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="Le Sprint et le Scrum" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/videos/story-le-sprint-et-le-scrum.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/videos/story-le-sprint-et-le-scrum.webm" type="video/webm">
</video>
<p class="text-center" >Le Sprint et le Scrum</p>
<p class="text-center" ><small>L&#39;unité de temps de la méthode agile « Scrum » est le Sprint</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Le User persona</title>
      <link>https://blog.limawi.io/fr-fr/posts/le-user-persona/</link>
      <pubDate>Mon, 16 Mar 2020 14:45:54 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/le-user-persona/</guid>
      <description>Le User persona est une méthode qui permet de décrire au mieux l&#39;utilisateur en méthode agile.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<p>Il est parfois compliqué de savoir par qui le résultat du projet sera utilisé.
C&rsquo;est là que le <em>user persona</em> intervient.
Ils sont la représentation concrète des cibles utilisateurs du projet.</p>
<div class="col-md-12">
<video controls title="Le User persona" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-user-persona/videos/le-user-persona.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/le-user-persona/videos/le-user-persona.webm" type="video/webm">
</video>
<p class="text-center" >Le User persona</p>
<p class="text-center" ><small>Ils sont la représentation concrète des cibles utilisateurs du projet</small></p>
</div>
<h2 id="la-fiche-personnage">La fiche personnage</h2>
<p>Un <em>user persona</em> ressemble à une fiche de personnage de jeu de rôle (pour les connaisseurs).
Cette fiche permet d&rsquo;avoir d&rsquo;un coup d’œil l&rsquo;ensemble des caractéristiques d&rsquo;une personne.</p>
<p>À travers cette fiche, on cherche à connaître ses centres d’intérêt, son histoire, sa culture&hellip;
On crée une personne physique de toute pièce.</p>
<p>Les ateliers du <em>
<a href="https://blog.limawi.io/fr-fr/posts/discovery-framing/">Discovery &amp; Framing</a></em> dédiés au <em>user persona</em> permettent de faire vivre cette personne,
de lui donner de la consistance. N&rsquo;hésitez pas à faire du jeu de rôle avec.</p>
<p>Il est par contre crucial de ne pas faire intervenir la relation éventuelle de la personne avec le résultat du projet.
Cela risquerait de fausser les caractéristiques de la personne.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/le-user-persona/images/le-user-persona-schema.png" class="figure-img img-fluid rounded" alt="Un user persona ressemble à une fiche de personnage de jeu de rôle (pour les connaisseurs)">
  <figcaption class="figure-caption"><p>Le user persona (Schéma)</p>
    <small>Un user persona ressemble à une fiche de personnage de jeu de rôle (pour les connaisseurs)</small>
  </figcaption>
</figure>

<h2 id="en-marketing-agile">En marketing agile</h2>
<p>Il est inutile de présenter ce concept en marketing car il est bien connu de tous. Cette fiche permet de définir les vecteurs d&rsquo;acquisition, les moyens de toucher la cible.</p>
<p>C&rsquo;est à elle que s&rsquo;adresse les <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Stories</a></em>
(ou <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">User stories</a></em>).
C&rsquo;est cette cible qui effectue l&rsquo;action décrite au sein de ces <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Stories</a></em>.</p>
<p>Il ne faut pas, par contre, avoir peur de la modifier, de l&rsquo;affiner au cours des <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprints</a></em>.</p>
<p>On peut même être amené à la remplacer totalement si on se rend compte que la cible du projet change.</p>
<h2 id="en-développement-agile">En développement agile</h2>
<p>Cette fiche est utile pour orienter l&rsquo;ergonomie et la priorité des fonctionnalités demandées par le client.</p>
<p>En adéquation avec le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em>,
les développeurs ont un sujet de discussion pour décrire au mieux les <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">User stories</a></em>.</p>
<p>Là aussi, cette fiche effectue l&rsquo;action décrite dans les <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">User stories</a></em>.</p>
<p>Il est donc utile d&rsquo;avoir plusieurs <em>user persona</em> selon les rôles des utilisateurs du projet.
Un <em>user persona</em> pourra représenter un administrateur du projet, un autre un simple utilisateur.</p>
<p>En projet de développement pur (dans lequel c&rsquo;est le client qui s’occupe du marketing),
les <em>user personas</em> sont décrites en <em>
<a href="https://blog.limawi.io/fr-fr/posts/discovery-framing/">Discovery &amp; Framing</a></em> et validées par le client.</p>
<p>En projet incluant du marketing, les <em>user personas</em> peuvent être modifiées par les équipes marketing avec une validation des équipes de développement.
Dans ce cas, le <em>Buyer persona</em> doit aussi être inclus (celui qui achète le résultat du projet mais ne l&rsquo;utilise pas forcément).</p>
<p>On peut même imaginer qu&rsquo;un représentant de l&rsquo;équipe marketing devienne le <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em>
(ou un adjoint du <em>
<a href="https://blog.limawi.io/fr-fr/posts/les-roles-dans-une-equipe-agile/">Product Owner</a></em>) auprès de l&rsquo;équipe de développement, puisqu&rsquo;il est sensé mieux connaître les <em>user personas</em>.</p>
<p>Téléchargez notre 
<a href="https://blog.limawi.io/fr-fr/posts/le-user-persona/documents/user-persona.odg">template de User persona</a> (au format odg, LibreOffice et OpenOffice).</p>
<h2 id="sources">Sources</h2>
<ul>
<li>L&rsquo;expérience Limawi</li>
<li>
<a href="https://insights.ricoh.co.uk/simplifying-technology/it-end-user-personas" target="_blank">Ricoh</a></li>
<li>
<a href="https://www.justinmind.com/blog/user-persona-templates/" target="_blank">Just in Mind</a></li>
</ul>
<div class="col-md-4 offset-md-4">
<video controls title="Le User persona" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-user-persona/videos/story-le-user-persona.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/le-user-persona/videos/story-le-user-persona.webm" type="video/webm">
</video>
<p class="text-center" >Le User persona</p>
<p class="text-center" ><small>Ils sont la représentation concrète des cibles utilisateurs du projet</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Poker agile</title>
      <link>https://blog.limawi.io/fr-fr/posts/poker-agile/</link>
      <pubDate>Wed, 15 Jan 2020 15:53:45 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/poker-agile/</guid>
      <description>Le poker agile est une façon ludique d&#39;évaluer la complexité des Stories en méthode agile.</description>
      <content:encoded><![CDATA[<p>Méthode agile : 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-presentation-generale/">Présentation générale</a></p>
<p>Le poker agile se présente sous la forme d&rsquo;une suite de cartes dont chaque personne reçoit un paquet complet.
Lors de la cérémonie de <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em>,
l&rsquo;équipe se sert des cartes pour évaluer la complexité des histoires (
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">User Stories, NFR ou Spike</a>) envisagées.</p>
<div class="col-md-12">
<video controls title="Poker agile" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/poker-agile/videos/le-poker-agile.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/poker-agile/videos/le-poker-agile.webm" type="video/webm">
</video>
<p class="text-center" >Poker agile</p>
<p class="text-center" ><small>Le poker agile est une façon ludique d&#39;évaluer la complexité des Stories en méthode agile</small></p>
</div>
<h2 id="le-point-de-complexité">Le point de complexité</h2>
<p>Pour calculer la difficulté à réaliser une 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a>, le premier réflexe serait de déterminer une durée.</p>
<p>Cette approche peut amener à un créer un environnement anxiogène.
En effet, un développeur (marketeur ou autre) en charge de l&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a>
pourrait se sentir piégé par le temps et réaliser l&rsquo;histoire trop vite et mal.</p>
<p>Bien sûr, la phase de revue permet de pallier à ce problème en faisant refaire des parties de l&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a>
encore et encore mais c&rsquo;est une perte de temps, d&rsquo;énergie et de ressources.</p>
<p>Alors, voilà le point de complexité.</p>
<p>Cet outil permet de déterminer une valeur de complexité de l&rsquo;
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a>.
Cette valeur peut être définie en rapport avec les autres 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoires</a> ou en valeur absolue.</p>
<p>En développement logiciel, on peut calquer la valeur du point de complexité agile sur la complexité du code à réaliser. Par exemple :</p>
<ul>
<li>une classe = 1 point, 3 classes = 3 points</li>
<li>1 point par méthode</li>
<li>via une complexité calculée (par exemple en 
<a href="https://github.com/sebastianbergmann/phploc" target="_blank">PHP</a>)</li>
</ul>
<p>Chaque 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a> se voit assigner des points de complexités par l&rsquo;intermédiaire du Poker agile.</p>
<h2 id="la-vélocité">La vélocité</h2>
<p>Le point de complexité n’est pas corrélé à une durée. Du moins dans un premier temps.</p>
<p>Lorsqu&rsquo;une équipe agile commence à être bien rodée (c&rsquo;est à dire après quelques <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprints</a></em>),
on peut commencer à voir le nombre de points de complexité moyen que l&rsquo;équipe peut réaliser par <em>
<a href="https://blog.limawi.io/fr-fr/posts/le-sprint-et-le-scrum/">Sprint</a></em>.</p>
<p>C&rsquo;est la vélocité.</p>
<p>C&rsquo;est une approche par paquet mais il peut être problématique de vouloir trop détailler le temps moyen passé par point de complexité car on reviendrait à une situation trop anxiogène.</p>
<p>Une fois une vélocité moyenne estimée, l&rsquo;idée est de pouvoir mesurer la performance de l&rsquo;équipe et de chercher à maintenir cette vélocité.</p>
<p>Il n&rsquo;est pas forcément avisé de chercher à l’accroître, pour éviter, encore une fois, de revenir à une situation anxiogène.</p>
<h2 id="les-règles-du-poker">Les règles du Poker</h2>
<p>À chaque 
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a>,
chaque membre de l’équipe choisit une carte dans son paquet et la garde pour lui, face cachée.
Cette carte représente son estimation de la complexité de l’
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a>.</p>
<p>Quand tous les membres de l’équipe ont choisi leur carte, tout le monde retourne ses cartes en même temps.</p>
<p>Ceux qui jouent les cartes les plus éloignées de la moyenne expliquent plus particulièrement leur point de vue.
Un consensus se forme alors sur la complexité estimée par l’équipe.</p>
<p>Les paquets de cartes disponibles, ci-dessous, sont au nombre de 7 (une équipe agile de taille standard). Ils sont différentiables par leur couleur.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/regles-de-poker-agile.png" class="figure-img img-fluid rounded" alt="Cette carte représente son estimation de la complexité de l’histoire">
  <figcaption class="figure-caption"><p>Règles de Poker agile</p>
    <small>Cette carte représente son estimation de la complexité de l’histoire</small>
  </figcaption>
</figure>

<p>Chaque paquet contient :</p>
<ul>
<li>une suite de Fibonacci :
pour des estimations précises ou des jours de travail (pour des <em>
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">Spikes</a></em>)
en utilisant la grille au centre (une colonne représente une semaine complète) ;</li>
<li>des tailles de T-shirt : pour des estimations moins précises ;</li>
<li>un positif et un négatif : pour approuver ou désapprouver ;</li>
<li>un point d&rsquo;interrogation : quand on n&rsquo;a aucune idée ;</li>
<li>un café : quand il est temps de faire une pause ;</li>
<li>un infini : quand l’
<a href="https://blog.limawi.io/fr-fr/posts/methode-agile-les-histoires/">histoire</a> est trop grande et qu’il faut la décomposer.</li>
</ul>
<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/planche-1-de-poker-agile.png" class="figure-img img-fluid rounded" alt="Première planche de cartes de Poker agile">
  <figcaption class="figure-caption"><p>Planche 1 de Poker agile</p>
    <small>Première planche de cartes de Poker agile</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/planche-2-de-poker-agile.png" class="figure-img img-fluid rounded" alt="Deuxième planche de cartes de Poker agile">
  <figcaption class="figure-caption"><p>Planche 2 de Poker agile</p>
    <small>Deuxième planche de cartes de Poker agile</small>
  </figcaption>
</figure>

</div>

</div>

<p>Téléchargez le 
<a href="https://blog.limawi.io/fr-fr/posts/poker-agile/documents/poker-agile.pdf">jeu complet</a>
ainsi que des 
<a href="https://blog.limawi.io/fr-fr/posts/poker-agile/documents/dos-de-cartes-de-poker-agile.pdf">dos de cartes</a>.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>L&rsquo;expérience Limawi</li>
<li>
<a href="https://www.atlassian.com/agile/project-management/estimation" target="_blank">Atlassian</a></li>
</ul>
<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-000-page-12.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (0,0,0) page 1/2">
  <figcaption class="figure-caption"><p>Poker agile (0,0,0) page 1/2</p>
    <small>Suite de poker agile en couleur RGB (0,0,0) page 1/2</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-000-page-22.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (0,0,0) page 2/2">
  <figcaption class="figure-caption"><p>Poker agile (0,0,0) page 2/2</p>
    <small>Suite de poker agile en couleur RGB (0,0,0) page 2/2</small>
  </figcaption>
</figure>

</div>

</div>

<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-0255255-page-12.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (0,255,255) page 1/2">
  <figcaption class="figure-caption"><p>Poker agile (0,255,255) page 1/2</p>
    <small>Suite de poker agile en couleur RGB (0,255,255) page 1/2</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-0255255-page-22.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (0,255,255) page 2/2">
  <figcaption class="figure-caption"><p>Poker agile (0,255,255) page 2/2</p>
    <small>Suite de poker agile en couleur RGB (0,255,255) page 2/2</small>
  </figcaption>
</figure>

</div>

</div>

<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-02550-page-12.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (0,255,0) page 1/2">
  <figcaption class="figure-caption"><p>Poker agile (0,255,0) page 1/2</p>
    <small>Suite de poker agile en couleur RGB (0,255,0) page 1/2</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-02550-page-22.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (0,255,0) page 2/2">
  <figcaption class="figure-caption"><p>Poker agile (0,255,0) page 2/2</p>
    <small>Suite de poker agile en couleur RGB (0,255,0) page 2/2</small>
  </figcaption>
</figure>

</div>

</div>

<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-25500-page-12.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (255,0,0) page 1/2">
  <figcaption class="figure-caption"><p>Poker agile (255,0,0) page 1/2</p>
    <small>Suite de poker agile en couleur RGB (255,0,0) page 1/2</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-25500-page-22.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (255,0,0) page 2/2">
  <figcaption class="figure-caption"><p>Poker agile (255,0,0) page 2/2</p>
    <small>Suite de poker agile en couleur RGB (255,0,0) page 2/2</small>
  </figcaption>
</figure>

</div>

</div>

<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-2552550-page-12.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (255,255,0) page 1/2">
  <figcaption class="figure-caption"><p>Poker agile (255,255,0) page 1/2</p>
    <small>Suite de poker agile en couleur RGB (255,255,0) page 1/2</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-2552550-page-22.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (255,255,0) page 2/2">
  <figcaption class="figure-caption"><p>Poker agile (255,255,0) page 2/2</p>
    <small>Suite de poker agile en couleur RGB (255,255,0) page 2/2</small>
  </figcaption>
</figure>

</div>

</div>

<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-2550255-page-12.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (255,0,255) page 1/2">
  <figcaption class="figure-caption"><p>Poker agile (255,0,255) page 1/2</p>
    <small>Suite de poker agile en couleur RGB (255,0,255) page 1/2</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-2550255-page-22.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (255,0,255) page 2/2">
  <figcaption class="figure-caption"><p>Poker agile (255,0,255) page 2/2</p>
    <small>Suite de poker agile en couleur RGB (255,0,255) page 2/2</small>
  </figcaption>
</figure>

</div>

</div>

<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-00255-page-12.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (0,0,255) page 1/2">
  <figcaption class="figure-caption"><p>Poker agile (0,0,255) page 1/2</p>
    <small>Suite de poker agile en couleur RGB (0,0,255) page 1/2</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-00255-page-22.png" class="figure-img img-fluid rounded" alt="Suite de poker agile en couleur RGB (0,0,255) page 2/2">
  <figcaption class="figure-caption"><p>Poker agile (0,0,255) page 2/2</p>
    <small>Suite de poker agile en couleur RGB (0,0,255) page 2/2</small>
  </figcaption>
</figure>

</div>

</div>

<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-page-complementaire-13.png" class="figure-img img-fluid rounded" alt="Suite de poker agile, page complémentaire 1/3">
  <figcaption class="figure-caption"><p>Poker agile page complémentaire 1/3</p>
    <small>Suite de poker agile, page complémentaire 1/3</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-page-complementaire-23.png" class="figure-img img-fluid rounded" alt="Suite de poker agile, page complémentaire 2/3">
  <figcaption class="figure-caption"><p>Poker agile page complémentaire 2/3</p>
    <small>Suite de poker agile, page complémentaire 2/3</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/poker-agile/images/poker-agile-page-complementaire-33.png" class="figure-img img-fluid rounded" alt="Suite de poker agile, page complémentaire 3/3">
  <figcaption class="figure-caption"><p>Poker agile page complémentaire 3/3</p>
    <small>Suite de poker agile, page complémentaire 3/3</small>
  </figcaption>
</figure>

</div>

</div>

<div class="col-md-4 offset-md-4">
<video controls title="Poker agile" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/poker-agile/videos/story-le-poker-agile.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/poker-agile/videos/story-le-poker-agile.webm" type="video/webm">
</video>
<p class="text-center" >Poker agile</p>
<p class="text-center" ><small>Le poker agile est une façon ludique d&#39;évaluer la complexité des Stories en méthode agile</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Podman (Du cloud et de la perruque Ep.2)</title>
      <link>https://blog.limawi.io/fr-fr/videos/podman-du-cloud-et-de-la-perruque-ep-2/</link>
      <pubDate>Thu, 02 Jan 2020 20:01:28 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/podman-du-cloud-et-de-la-perruque-ep-2/</guid>
      <description>Présentation sommaire de podman.</description>
      <media:title>Podman (Du cloud et de la perruque Ep.2)</media:title>
      <media:description>Présentation sommaire de podman.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/podman-du-cloud-et-de-la-perruque-ep-2/videos/podman-du-cloud-et-de-la-perruque-ep-2.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infos</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/podman-du-cloud-et-de-la-perruque-ep-2/images/cover.png" />
      <media:category>Du cloud et de la perruque</media:category>
      <content:encoded><![CDATA[<p>Voici les slides utilisés dans cette vidéo.</p>
<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/podman-du-cloud-et-de-la-perruque-ep-2/images/podman-slide-1.png" class="figure-img img-fluid rounded" alt="Outils d&#39;exécution de containers.">
  <figcaption class="figure-caption"><p>Podman slide 1</p>
    <small>Outils d&#39;exécution de containers.</small>
  </figcaption>
</figure>


<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/podman-du-cloud-et-de-la-perruque-ep-2/images/podman-slide-2.png" class="figure-img img-fluid rounded" alt="Fonctionnement d&#39;un container.">
  <figcaption class="figure-caption"><p>Podman slide 2</p>
    <small>Fonctionnement d&#39;un container.</small>
  </figcaption>
</figure>


<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/podman-du-cloud-et-de-la-perruque-ep-2/images/podman-slide-3.png" class="figure-img img-fluid rounded" alt="Podman versus Docker.">
  <figcaption class="figure-caption"><p>Podman slide 3</p>
    <small>Podman versus Docker.</small>
  </figcaption>
</figure>]]></content:encoded>
    </item>
    <item>
      <title>Fedora CoreOS (Du cloud et de la perruque Ep.1)</title>
      <link>https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/</link>
      <pubDate>Thu, 02 Jan 2020 20:01:10 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/</guid>
      <description>Présentation sommaire de Fedora CoreOS, le nouveau venu des OS pour clouds.</description>
      <media:title>Fedora CoreOS (Du cloud et de la perruque Ep.1)</media:title>
      <media:description>Présentation sommaire de Fedora CoreOS, le nouveau venu des OS pour clouds.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infos</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/images/cover.png" />
      <media:category>Du cloud et de la perruque</media:category>
      <content:encoded><![CDATA[<p>Voici les slides utilisés dans cette vidéo.</p>
<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/images/fedora-coreos-slide-1.png" class="figure-img img-fluid rounded" alt="Entreprises et produits derrière Fedora Coreos (OS dédié au cloud computing).">
  <figcaption class="figure-caption"><p>Fedora Coreos slide 1</p>
    <small>Entreprises et produits derrière Fedora Coreos (OS dédié au cloud computing).</small>
  </figcaption>
</figure>

<p>
<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/images/fedora-coreos-slide-2-partie-13.png" class="figure-img img-fluid rounded" alt="Mises à jour dans une grappe de serveurs avec Fedora Coreos.">
  <figcaption class="figure-caption"><p>Fedora Coreos slide 2 partie 1/3</p>
    <small>Mises à jour dans une grappe de serveurs avec Fedora Coreos.</small>
  </figcaption>
</figure>


<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/images/fedora-coreos-slide-2-partie-23.png" class="figure-img img-fluid rounded" alt="Mises à jour dans une grappe de serveurs avec Fedora Coreos.">
  <figcaption class="figure-caption"><p>Fedora Coreos slide 2 partie 2/3</p>
    <small>Mises à jour dans une grappe de serveurs avec Fedora Coreos.</small>
  </figcaption>
</figure>


<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/images/fedora-coreos-slide-2-partie-33.png" class="figure-img img-fluid rounded" alt="Mises à jour dans une grappe de serveurs avec Fedora Coreos.">
  <figcaption class="figure-caption"><p>Fedora Coreos slide 2 partie 3/3</p>
    <small>Mises à jour dans une grappe de serveurs avec Fedora Coreos.</small>
  </figcaption>
</figure>
</p>
<p>
<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/images/fedora-coreos-slide-3-partie-12.png" class="figure-img img-fluid rounded" alt="Installation d&#39;applications dans Fedora Coreos (rpm-ostree).">
  <figcaption class="figure-caption"><p>Fedora Coreos slide 3 partie 1/2</p>
    <small>Installation d&#39;applications dans Fedora Coreos (rpm-ostree).</small>
  </figcaption>
</figure>


<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/videos/fedora-coreos-du-cloud-et-de-la-perruque-ep-1/images/fedora-coreos-slide-3-partie-22.png" class="figure-img img-fluid rounded" alt="Installation d&#39;applications dans Fedora Coreos (rpm-ostree).">
  <figcaption class="figure-caption"><p>Fedora Coreos slide 3 partie 2/2</p>
    <small>Installation d&#39;applications dans Fedora Coreos (rpm-ostree).</small>
  </figcaption>
</figure>
</p>]]></content:encoded>
    </item>
    <item>
      <title>Semantic versioning</title>
      <link>https://blog.limawi.io/fr-fr/posts/semantic-versioning/</link>
      <pubDate>Thu, 02 Jan 2020 14:16:35 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/semantic-versioning/</guid>
      <description>Quelques stories sur le semantic versioning.</description>
      <content:encoded><![CDATA[<p>Voici une petite collection de stories sur le semantic versioning.</p>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning</p>
<p class="text-center" ><small>Introduction au semantic versioning</small></p>
</div>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning version majeure" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-version-majeure.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning version majeure</p>
<p class="text-center" ><small>Que signifie une version majeure ?</small></p>
</div>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning version mineure" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-version-mineure.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning version mineure</p>
<p class="text-center" ><small>Que signifie une version mineure ?</small></p>
</div>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning version patch" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-version-patch.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning version patch</p>
<p class="text-center" ><small>Que signifie une version patch ?</small></p>
</div>
<p>La version 0 :</p>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning version 0" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-version-0.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning version 0</p>
<p class="text-center" ><small>Que signifie une version 0 ?</small></p>
</div>
<p>Les extensions :</p>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning extensions" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-extensions.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning extensions</p>
<p class="text-center" ><small>Que sont les extensions ?</small></p>
</div>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning ordre des extensions" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-ordre-des-extensions.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning ordre des extensions</p>
<p class="text-center" ><small>Quel est l&#39;ordre des extensions ?</small></p>
</div>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning extension alpha" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-extension-alpha.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning extension alpha</p>
<p class="text-center" ><small>Quelle est l&#39;extension alpha ?</small></p>
</div>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning extension beta" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-extension-beta.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning extension beta</p>
<p class="text-center" ><small>Quelle est l&#39;extension beta ?</small></p>
</div>
<div class="col-md-4 offset-md-4">
<video controls title="Semantic versioning extension release candidate" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/semantic-versioning/videos/semantic-versioning-extension-release-candidate.webm" type="video/webm">
</video>
<p class="text-center" >Semantic versioning extension release candidate</p>
<p class="text-center" ><small>Quelle est l&#39;extension release candidate ?</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Livecoding version 2 épisode 21</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-21/</link>
      <pubDate>Tue, 31 Dec 2019 21:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-21/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 21</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-21/videos/livecoding-version-2-episode-21.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-21/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 20</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-20/</link>
      <pubDate>Tue, 31 Dec 2019 20:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-20/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 20</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-20/videos/livecoding-version-2-episode-20.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-20/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 19</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-19/</link>
      <pubDate>Tue, 31 Dec 2019 19:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-19/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 19</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-19/videos/livecoding-version-2-episode-19.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-19/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 18</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-18/</link>
      <pubDate>Tue, 31 Dec 2019 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-18/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 18</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-18/videos/livecoding-version-2-episode-18.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-18/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 17</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-17/</link>
      <pubDate>Tue, 31 Dec 2019 17:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-17/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 17</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-17/videos/livecoding-version-2-episode-17.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-17/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 16</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-16/</link>
      <pubDate>Tue, 31 Dec 2019 16:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-16/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 16</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-16/videos/livecoding-version-2-episode-16.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-16/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 15</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-15/</link>
      <pubDate>Tue, 31 Dec 2019 15:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-15/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 15</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-15/videos/livecoding-version-2-episode-15.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-15/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 14</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-14/</link>
      <pubDate>Tue, 31 Dec 2019 14:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-14/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 14</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-14/videos/livecoding-version-2-episode-14.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-14/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 13</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-13/</link>
      <pubDate>Tue, 31 Dec 2019 13:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-13/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 13</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-13/videos/livecoding-version-2-episode-13.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-13/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 12</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-12/</link>
      <pubDate>Tue, 31 Dec 2019 12:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-12/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 12</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-12/videos/livecoding-version-2-episode-12.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-12/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 11</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-11/</link>
      <pubDate>Tue, 31 Dec 2019 11:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-11/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 11</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-11/videos/livecoding-version-2-episode-11.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-11/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 10</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-10/</link>
      <pubDate>Tue, 31 Dec 2019 10:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-10/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 10</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-10/videos/livecoding-version-2-episode-10.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-10/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 9</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-9/</link>
      <pubDate>Tue, 31 Dec 2019 09:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-9/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 9</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-9/videos/livecoding-version-2-episode-9.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-9/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 8</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-8/</link>
      <pubDate>Tue, 31 Dec 2019 08:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-8/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 8</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-8/videos/livecoding-version-2-episode-8.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-8/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 7</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-7/</link>
      <pubDate>Tue, 31 Dec 2019 07:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-7/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 7</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-7/videos/livecoding-version-2-episode-7.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-7/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 6</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-6/</link>
      <pubDate>Tue, 31 Dec 2019 06:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-6/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 6</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-6/videos/livecoding-version-2-episode-6.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-6/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 5</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-5/</link>
      <pubDate>Tue, 31 Dec 2019 05:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-5/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 5</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-5/videos/livecoding-version-2-episode-5.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-5/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 4</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-4/</link>
      <pubDate>Tue, 31 Dec 2019 04:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-4/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 4</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-4/videos/livecoding-version-2-episode-4.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-4/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 3</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-3/</link>
      <pubDate>Tue, 31 Dec 2019 03:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-3/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 3</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-3/videos/livecoding-version-2-episode-3.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-3/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 2</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-2/</link>
      <pubDate>Tue, 31 Dec 2019 02:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-2/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 2</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-2/videos/livecoding-version-2-episode-2.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-2/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding version 2 épisode 1</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-1/</link>
      <pubDate>Tue, 31 Dec 2019 01:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-1/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding version 2 épisode 1</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-1/videos/livecoding-version-2-episode-1.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-version-2-episode-1/images/cover.png" />
      <media:category>Livecoding v0.2</media:category>
    </item>
    <item>
      <title>Livecoding épisode 9</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-9/</link>
      <pubDate>Mon, 30 Dec 2019 19:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-9/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 9</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-9/videos/livecoding-episode-9.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-9/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Livecoding épisode 8</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-8/</link>
      <pubDate>Mon, 30 Dec 2019 18:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-8/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 8</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-8/videos/livecoding-episode-8.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-8/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Livecoding épisode 7</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-7/</link>
      <pubDate>Mon, 30 Dec 2019 17:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-7/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 7</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-7/videos/livecoding-episode-7.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-7/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Livecoding épisode 6</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-6/</link>
      <pubDate>Mon, 30 Dec 2019 16:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-6/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 6</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-6/videos/livecoding-episode-6.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-6/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Livecoding épisode 5</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-5/</link>
      <pubDate>Mon, 30 Dec 2019 15:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-5/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 5</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-5/videos/livecoding-episode-5.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-5/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Livecoding épisode 4</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-4/</link>
      <pubDate>Mon, 30 Dec 2019 14:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-4/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 4</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-4/videos/livecoding-episode-4.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-4/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Livecoding épisode 3</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-3/</link>
      <pubDate>Mon, 30 Dec 2019 13:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-3/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 3</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-3/videos/livecoding-episode-3.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-3/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Livecoding épisode 2</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-2/</link>
      <pubDate>Mon, 30 Dec 2019 12:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-2/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 2</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-2/videos/livecoding-episode-2.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-2/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Livecoding épisode 1</title>
      <link>https://blog.limawi.io/fr-fr/videos/livecoding-episode-1/</link>
      <pubDate>Mon, 30 Dec 2019 11:00:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/livecoding-episode-1/</guid>
      <description>On code en live avec GIT, Vagrant, Docker, etc...</description>
      <media:title>Livecoding épisode 1</media:title>
      <media:description>On code en live avec GIT, Vagrant, Docker, etc...</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-1/videos/livecoding-episode-1.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>vods</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/livecoding-episode-1/images/cover.png" />
      <media:category>Livecoding v0.1</media:category>
    </item>
    <item>
      <title>Sauvegarder mes données</title>
      <link>https://blog.limawi.io/fr-fr/posts/sauvegarder-mes-donnees/</link>
      <pubDate>Tue, 11 Jun 2019 15:59:17 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/sauvegarder-mes-donnees/</guid>
      <description>Je vois souvent apparaître sur Twitter, ou d&#39;autres réseaux sociaux, des appels à retrouver des ordinateurs parce qu&#39;ils contiennent des thèses. Leur propriétaire n&#39;a pas de sauvegarde ?</description>
      <content:encoded><![CDATA[<p>Bon, parlons sauvegarde alors.</p>
<div class="col-md-12">
<video controls title="Sauvegarder mes données" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/sauvegarder-mes-donnees/videos/sauvegarder-mes-donnees.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/sauvegarder-mes-donnees/videos/sauvegarder-mes-donnees.webm" type="video/webm">
</video>
<p class="text-center" >Sauvegarder mes données</p>
<p class="text-center" ><small>Je vois souvent apparaître sur Twitter, ou d&#39;autres réseaux sociaux, des appels à retrouver des ordinateurs parce qu&#39;ils contiennent des thèses. Leur propriétaire n&#39;a pas de sauvegarde ?</small></p>
</div>
<h2 id="séparer-logiciels-et-données">Séparer logiciels et données</h2>
<p>Tout d’abord, il faut définir ce qu’on veut sauvegarder. Un ordinateur ou un smartphone contient des données utilisateurs mais aussi des logiciels et leurs fichiers de configuration.</p>
<p>Quand on fait une sauvegarde, on pense, bien sûr, aux données mais on oublie parfois les fichiers de configuration des logiciels. Doit-on les sauvegarder avec les données ?</p>
<p>Et bien, ça dépend des cas.</p>
<h2 id="images-systèmepoints-de-restauration">Images système/points de restauration</h2>
<p>Il y a deux cas de figure pour les fichiers de configuration.
Soit ils sont valables pour tous les utilisateurs de l’appareil, soit ils ne sont valables que pour un utilisateur uniquement.</p>
<p>Les fichiers de configuration concernant tous les utilisateurs devraient être considérés comme des logiciels et ne pas être compris dans les sauvegardes de données.
Il est préférable d’utiliser des outils d’images système et des points de restauration.
La technique d’image système permet de réinstaller rapidement un système avec tous les logiciels que vous avez défini sans devoir tout reprendre à zéro.
Elle permet aussi d’être distribuée pour être installée sur plusieurs appareils.</p>
<p>Les fichiers de configuration concernant un seul utilisateur devraient être considérés comme de la donnée et sauvegardés de la même manière que les données.
Ils ont potentiellement des données personnelles propres à l’utilisateur et ne peuvent donc pas être redistribués comme les images système.</p>
<h2 id="conserver-le-minimum-de-données-dans-les-smartphones">Conserver le minimum de données dans les smartphones</h2>
<p>Le deuxième élément à considérer, avant de sauvegarder les données, est l’usage des données dans les smartphones.</p>
<p>La taille de l’espace de stockage dans les smartphones est réduit. Il faut donc un moyen de pouvoir libérer le smartphone des données en trop et les stocker ailleurs.</p>
<p>Mais aussi la probabilité de vol ou de perte d’un smartphone est élevée.</p>
<p>La complexité des sauvegardes est plus forte à cause de l’accès réseau qui est plus aléatoire. Vouloir sauvegarder des données en EDGE reste une illusion.</p>
<p>L’accès réseau est important car il vaut mieux sauvegarder ses données à distance que dans le même appareil pour éviter de les perdre avec l’appareil.</p>
<p>Comment sauvegarder les données ?</p>
<h2 id="synchronisation">Synchronisation</h2>
<p>La toute première façon de sauvegarder les données est la synchronisation. C’est la façon la moins sûre, mais la plus dynamique.</p>
<p>La synchronisation, avec un outil comme Nextcloud par exemple, est proche de l’instantané.
Cela permet d’avoir une copie de vos données actuelles sur un serveur distant.</p>
<p>Vous pouvez associer un outil de versionnage à cette synchronisation.
Avec un versionnage, vous pouvez revenir à une version antérieure de vos fichiers à partir de votre serveur distant.</p>
<p>Ce système est peu sûr car, si vous effacez un fichier sur votre ordinateur ou smartphone,
la synchronisation peut l’effacer à distance (ou, du moins, effacer la dernière version en cas de versionnage).</p>
<p>Il offre, par contre, une protection contre la casse de votre système.
Si votre ordinateur ou votre smartphone s’éteint d’un coup et ne redémarre plus,
vous pouvez récupérer vos fichiers jusqu’à quelques minutes ou même secondes avant la panne.</p>
<h2 id="incrément-vs-full">« Incrément vs full »</h2>
<p>En plus de la synchronisation, vous pouvez utiliser un outil de sauvegarde spécifique.
Il fonctionne en créant une sauvegarde journalière ou hebdomadaire suivant la façon dont vous le paramétrez.
Il charge ces données sur un système distant comme un serveur ou un disque externe.
C’est le système présent par défaut dans Windows, macOS avec TimeMachine ou Ubuntu avec Deja-dup.</p>
<p>Ce système est plus sûr que la synchronisation mais il ne permet pas de sauvegarder les données à tout instant.
Il sauvegarde les données présentes quand il est actif, donc si vous l’activez à 3 heures du matin tous les jours,
il sauvegardera les données à ce moment là.
Si un problème survient à 2 heures du matin, et que toutes vos données sont effacées sur votre appareil, vous aurez perdu une journée de données.</p>
<p>Mais il est plus sûr car les fichiers sauvegardés ne sont pas actifs.
Si un virus s’est faufilé dans les fichiers, il ne peut pas agir.
Si vous effacez un fichier sur votre ordinateur, il ne sera pas effacé dans votre sauvegarde.</p>
<p>Un incrément c’est la différence de fichiers entre l’état actuel du système qu’on sauvegarde
et l’état dans lequel était le système à la sauvegarde précédente.</p>
<p>Ce système fonctionne avec une sauvegarde complète de toutes vos données au début (puis un incrément à chaque sauvegarde).
Cela permet de gagner de l’espace de stockage et de la vitesse de sauvegarde car il y a beaucoup moins de données à charger sur le système distant.</p>
<p>Attention : si la sauvegarde complète, ou l’un des incréments, est corrompu, les incréments suivants ne fonctionneront plus.
Faites des sauvegardes complètes à intervalle régulier (hebdomadairement ou mensuellement).</p>
<h2 id="sauvegarde-froidearchivage">Sauvegarde froide/archivage</h2>
<p>La façon la plus sûre de sauvegarder les données est la sauvegarde froide qui est utilisable aussi pour de l’archivage.
Cela consiste à faire une sauvegarde sur des dispositifs sur lesquels la donnée ne peut pas être réécrite.</p>
<p>Vous pouvez graver des DVDs ou utiliser des systèmes de fichiers qui se mettent en lecture seule une fois les données écrites.</p>
<p>Ces dispositifs peuvent être automatisés pour sauvegarder automatiquement vos données mais ils fonctionnent généralement en mode « <em>pull</em> ».
C’est à dire que ce n’est pas votre appareil qui leur envoie des données mais eux qui viennent prendre les données. Cela afin de limiter l’accès à ces dispositifs.</p>
<p>C’est le plus sûr, mais aussi le plus complexe à manier.</p>
<p>En dehors de la phase de sauvegarde, les dispositifs sont éteints et ne consomment pas d’énergie.</p>
<p>Comme les données, une fois écrites, ne peuvent pas être effacées c’est utile aussi pour de l’archivage.</p>
<h2 id="tester-la-récupération">Tester la récupération</h2>
<p>Il y a une étape à ne pas oublier, une fois la sauvegarde effectuée. La tester.</p>
<p>En effet, si la sauvegarde se corrompt ou s’abîme et devient inutilisable, c’est comme si vous n’aviez rien sauvegardé.</p>
<p>La plupart des outils de sauvegarde ont un système permettant de tester la récupération. Utilisez-le à intervalle régulier.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<a href="https://www.20minutes.fr/bordeaux/2488903-20190404-bordeaux-doctorante-recherche-these-oubliee-train-nimes" target="_blank">20minutes</a></li>
<li>
<a href="https://www.lavoixdunord.fr/archive/recup/region/saint-aybert-une-etudiante-infirmiere-veut-recuperer-ia27b36947n3464658" target="_blank">lavoixdunord</a></li>
<li>
<a href="https://support.apple.com/fr-fr/HT201250" target="_blank">apple</a></li>
<li>
<a href="https://support.microsoft.com/fr-fr/help/17127/windows-back-up-restore" target="_blank">microsoft</a></li>
<li>
<a href="https://support.microsoft.com/fr-fr/help/971759/how-to-back-up-or-transfer-your-data-on-a-windows-based-computer" target="_blank">microsoft</a></li>
<li>
<a href="https://support.apple.com/fr-fr/guide/system-image-utility/welcome/mac" target="_blank">apple</a></li>
<li>
<a href="https://doc.ubuntu-fr.org/deja-dup" target="_blank">deja-dup</a></li>
<li>
<a href="https://docs.nextcloud.com/desktop/2.5/installing.html" target="_blank">Nextcloud</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Des sanctions US sur Huawei</title>
      <link>https://blog.limawi.io/fr-fr/posts/des-sanctions-us-sur-huawei/</link>
      <pubDate>Tue, 11 Jun 2019 15:46:35 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/des-sanctions-us-sur-huawei/</guid>
      <description>Huawei est une entreprise chinoise. À l&#39;origine, elle est spécialisée dans les réseaux de télécommunications. Elle s&#39;est ensuite étendue à la fabrication et la vente de terminaux comme des smartphones ou des ordinateurs.</description>
      <content:encoded><![CDATA[<p>Le 19 Mai 2019, l&rsquo;entreprise Huawei est placée sur une liste spéciale par les autorités américaines.
Elle va devoir obtenir des autorisations particulières pour accéder au marché US.</p>
<p>Pourquoi ?</p>
<div class="col-md-12">
<video controls title="Des sanctions US sur Huawei" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/des-sanctions-us-sur-huawei/videos/des-sanctions-us-sur-huawei.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/des-sanctions-us-sur-huawei/videos/des-sanctions-us-sur-huawei.webm" type="video/webm">
</video>
<p class="text-center" >Des sanctions US sur Huawei</p>
<p class="text-center" ><small>Le 19 Mai 2019, l&#39;entreprise Huawei est placée sur une liste spéciale par les autorités américaines.</small></p>
</div>
<h2 id="largument-despionnage">L&rsquo;argument d&rsquo;espionnage</h2>
<p>Selon The Times, la CIA rapporterait que Huawei est financée par l’Armée populaire de libération (l’armée chinoise), la commission de la sécurité nationale chinoise et une autre branche du renseignement chinois.</p>
<p>Selon la CIA, Huawei se servirait de ses appareils pour espionner le monde entier. Elle pourrait se servir de ses installations 5G en négociations en Europe, et ailleurs, pour renforcer encore cet espionnage.</p>
<p>Mais la situation n’est pas aussi simple que ça.</p>
<h2 id="guerre-commerciale-usa-chine">Guerre commerciale USA-Chine</h2>
<p>Le bannissement de Huawei du marché américain intervient dans un contexte de guerre commerciale entre la Chine et les États-Unis.</p>
<p>Le président américain, Donald Trump, s’est servi de l’argument de sécurité nationale pour exclure Huawei, un poids lourd de l’économie chinoise.</p>
<p>Les européens réagissent de manière non coordonnée et on ne sait pas aujourd’hui quelles seront les décisions finales à ce sujet.</p>
<p>Les États-Unis ont menacé l’Europe pour faire exclure Huawei, mais sans succès, pour l’instant.</p>
<p>Sauf que le 23 Mai, lors d’une conférence de presse, Donald Trump déclare que Huawei pourrait réintégrer le marché américain à l’issue d’un accord commercial avec la Chine.
Ça met un peu à mal l’argument de sécurité nationale.</p>
<h2 id="risques-des-sanctions-pour-huawei">Risques des sanctions pour Huawei</h2>
<p>Alors, quels sont les risques de ces sanctions pour Huawei ?</p>
<p>Un simple mot :</p>
<p><code>Catastrophique</code></p>
<p>Google a annoncé qu’il révoquait sa licence Android pour Huawei.
Cela veut dire que les smartphones Android de Huawei ne pourront plus accéder aux services de Google, ni aux mises à jour de sécurité faites par Google.
Huawei devra entièrement reconstruire un écosystème avec la version opensource d’Android.</p>
<p>Microsoft a annoncé qu’il coupait les ponts avec Huawei. Les ordinateurs Huawei ne pourront plus avoir Windows préinstallé et ceux déjà vendus n’auront plus de mises à jours (même celles de sécurité).</p>
<p>Et la liste continue. Qualcomm, Broadcom, Intel et ARM ont aussi annoncé l’arrêt des relations avec Huawei. Ce qui veut dire que Huawei n’a plus accès aux principaux fabricants de processeurs du monde.</p>
<p>Les processeurs étant indispensables au matériel informatique, c’est un énorme problème pour la production de smartphones et ordinateurs.</p>
<p>Mais Huawei avait anticipé ces problèmes car Donald Trump avait fait des déclarations annonçant potentiellement des sanctions.
Et l’entreprise a acheté pour trois mois de matériel américain dans l’espoir d’avoir rétabli les relations avant cette échéance.</p>
<p>Donc, Huawei a introduit un recours à l’encontre de l’État américain, devant la justice américaine pour faire lever la sanction. L’entreprise fait valoir l’absence de preuve d’espionnage.</p>
<p>En attendant, le département du commerce américain a créé une licence générale provisoire, valable 90 jours, pour assouplir les restrictions sur les appareils existants.
Cela afin d’éviter que les entreprises américaines utilisant du matériel Huawei soient trop pénalisées.</p>
<p>Pour ceux qui ont du matériel Huawei et qui s’inquiètent de comment ils pourront continuer à l’utiliser, je reviendrai prochainement dans une de mes vidéos et je donnerai des pistes pour s’en sortir au mieux.</p>
<p>Sources :</p>
<ul>
<li>
<a href="https://www.latribune.fr/technos-medias/telecoms/huawei-serait-finance-par-l-appareil-securitaire-de-l-etat-chinois-selon-la-cia-814876.html" target="_blank">la tribune</a></li>
<li>
<a href="https://arstechnica.com/gadgets/2019/05/huaweis-us-ban-a-look-at-the-hardware-and-software-supply-problems/" target="_blank">arstechnica</a></li>
<li>
<a href="#ZgotmplZ">developpez.com</a></li>
<li>
<a href="https://www.numerama.com/tech/519186-usa-vs-huawei-donald-trump-vient-il-dadmettre-maladroitement-que-laffaire-est-un-bluff.html" target="_blank">numerama</a></li>
<li>
<a href="https://www.numerama.com/tech/518819-arm-panasonic-toshiba-pourquoi-le-blocage-de-huawei-par-ces-entreprises-est-plus-important-que-celui-de-google.html" target="_blank">numerama</a></li>
<li>
<a href="https://www.numerama.com/politique/513541-securite-des-telecoms-la-france-ninterdira-pas-lacces-a-huawei-contrairement-aux-usa.html" target="_blank">numerama</a></li>
<li>
<a href="https://www.theverge.com/2019/5/23/18637836/trump-huawei-ban-explanation-trade-deal-national-security-risk" target="_blank">theverge</a></li>
<li>
<a href="https://www.numerama.com/tech/514499-google-revoque-la-licence-android-de-huawei-5-questions-pour-comprendre-ce-que-cela-implique.html" target="_blank">numerama</a></li>
<li>
<a href="https://www.numerama.com/tech/517773-apres-google-et-android-huawei-confirme-que-microsoft-lui-coupera-lacces-a-windows.html" target="_blank">numerama</a></li>
<li>
<a href="https://www.clubic.com/pro/entreprises/huawei/actualite-857345-google-intel-qualcomm-entreprises-annoncent-arreter-travailler-huawei.html" target="_blank">clubic</a></li>
<li>
<a href="https://fr.reuters.com/article/technologyNews/idFRKCN1SO083-OFRIN" target="_blank">reuters</a></li>
<li>
<a href="https://www.clubic.com/pro/entreprises/huawei/actualite-858356-huawei-face-decision-jugee-anticonstitutionnelle-entreprise-attaque-justice.html" target="_blank">clubic</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Oh...! Tiens,... Une clé USB...</title>
      <link>https://blog.limawi.io/fr-fr/posts/oh-tiens-une-cle-usb/</link>
      <pubDate>Tue, 04 Jun 2019 15:55:22 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/oh-tiens-une-cle-usb/</guid>
      <description>Une clé USB trouvée par terre peut être le début de bien des problèmes.</description>
      <content:encoded><![CDATA[<p>« Oh, j&rsquo;ai trouvé une clé USB par terre ! »</p>
<p>STOP !!</p>
<p>Une clé USB trouvée par terre peut être le début de bien des problèmes.</p>
<div class="col-md-12">
<video controls title="Oh...! Tiens,... Une clé USB..." preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/oh-tiens-une-cle-usb/videos/tiens-une-cle-usb.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/oh-tiens-une-cle-usb/videos/tiens-une-cle-usb.webm" type="video/webm">
</video>
<p class="text-center" >Oh...! Tiens,... Une clé USB...</p>
<p class="text-center" ><small>Une clé USB trouvée par terre peut être le début de bien des problèmes</small></p>
</div>
<p>De nombreuses arnaques ont lieu en se servant de clés USB.
Beaucoup de gens sont curieux et ne s’en méfient pas.
Quand ils en trouvent une par terre, ils la branchent à leur appareil pour en inspecter le contenu ou l&rsquo;utiliser.</p>
<p>Une arnaque connue est simplement de poster des clés USB dans la boîte au lettres de particuliers.
Une partie d&rsquo;entre eux ne se méfiera pas et branchera ces clés sur leur ordinateur.</p>
<p>Le problème est que les clés peuvent contenir des virus, des logiciels espions ou autres gentillesses.
Quand une clé USB est connectée à votre appareil elle a des accès suffisants pour lancer son attaque.</p>
<p>Ces attaques peuvent être du vol de données confidentielles, de l&rsquo;infection de l&rsquo;appareil pour être ajouté à un BotNet ou d&rsquo;autres amabilités.</p>
<p>Alors, vous avez trouvé une clé USB et vous voulez vraiment voir le contenu ou l&rsquo;utiliser ? On va parler « bac à sable ».</p>
<h2 id="le-sandboxing-bac-à-sable">Le Sandboxing (bac à sable)</h2>
<p>Pour vérifier une clé USB en toute ou relative sécurité, il faut la tester dans une Sandbox ou bac à sable.</p>
<p>Une Sandbox, c’est un environnement isolé du reste de vos appareils et d’Internet.
Cet isolement assure que le virus potentiel ne peut pas se répandre.</p>
<p>Un environnement est un ensemble de logiciels et de matériels interagissant fortement ensemble.
Par exemple, votre ordinateur Windows peut être défini comme un environnement.
Si votre ordinateur est connecté à d’autres sur un réseau local, vous pouvez définir ce réseau local comme un environnement.
Considérez les environnements comme des boîtes que vous pouvez empiler les unes à côté des autres ou les unes dans les autres.
L’important, ce sont les interactions de cette boîte avec les autres qui doivent être connues et maîtrisées.</p>
<p>Votre Sandbox doit pouvoir être jetée, c’est à dire détruite, de façon sûre et complète.
Ceci afin de pouvoir recommencer les tests sur des bases constantes et de s’assurer que l’environnement ne soit pas détourné plus tard.</p>
<p>Le Sandboxing n’est pas utilisé uniquement pour les virus et fichiers de provenance douteuse mais aussi pour les environnements de tests quand on développe des logiciels.</p>
<p>De plus, une Sandbox peut contenir des outils qui permettent de détecter des changements de fichiers, des tentatives d’accès au réseau ou des exécutions de programmes.</p>
<p>Il existe de multiples moyens de faire du Sandboxing suivant ce qu’on veut accomplir.</p>
<p>Voici les deux plus sûrs :</p>
<h2 id="la-machine-virtuelle">La machine virtuelle</h2>
<p>La machine virtuelle est un logiciel qui permet de créer un ordinateur quasiment semblable à un véritable ordinateur.
Cette machine peut être isolée de l’ordinateur qui la génère, qu’on appelle hôte.
L’intérieur de cette machine ressemblant quasiment à un véritable ordinateur, vous pouvez voir comment la clé USB agirait sur un vrai ordinateur.</p>
<p>Il existe des outils opensource pour créer des machines virtuelles comme VirtualBox ou KVM.</p>
<p>Si vous êtes débutant, je vous conseille VirtualBox. Il n’est pas très compliqué à mettre en place.</p>
<p>Vous pouvez détruire votre machine virtuelle quand vous voulez.</p>
<p>Vous pouvez aussi faire des snapshots, c’est à dire sauvegarder votre machine à un certain état pour pouvoir y revenir.</p>
<p>Si vous développez et que vous utilisez votre ordinateur hôte pour tester votre code, utilisez plutôt une machine virtuelle (ou Docker dans une machine virtuelle mais je m’égare).</p>
<h2 id="lordinateur-carrément">L’ordinateur (carrément)</h2>
<p>Le meilleur environnement est l’ordinateur. Si vous avez un ordinateur que vous pouvez reformater comme bon vous semble, utilisez le.</p>
<p>Bien sûr, déconnectez le de tout réseau possible (Wifi, Ethernet, Bluetooth, infrarouge). Si vous êtes paranoïaque, passez votre ordinateur en Air-Gap.</p>
<p>Un Air-gap est un outil de sécurité qui consiste à rendre un ordinateur physique totalement isolé du reste du réseau.
Cela veut dire bien sûr tous ses accès réseaux coupés mais aussi les accès physiques comme un champ électromagnétique.
L’ordinateur doit être placé dans une cage de Faraday.
Amusez-vous avec du papier d’alu.</p>
<p>Une fois que vous avez ouvert votre clé USB et vous êtes amusé avec votre Sandbox,
reformatez votre Sandbox ou démarrez une machine virtuelle propre et reformatez la clé avant de l’utiliser ailleurs.</p>
<p>Même si la clé vous semble vide, un programme malveillant peut être caché. Reformater votre clé est le moyen le plus sûr qu’il n’y ait pas de virus.</p>
<h2 id="sources-">Sources :</h2>
<ul>
<li>
<a href="https://france3-regions.francetvinfo.fr/hauts-de-france/connaissez-vous-arnaque-clef-usb-contre-laquelle-alerte-gendarmerie-du-nord-1669879.html" target="_blank">france3-regions</a></li>
<li>
<a href="https://www.pcmag.com/news/348097/youve-got-malicious-usb-drives-in-the-mail" target="_blank">pcmag</a></li>
<li>
<a href="https://nakedsecurity.sophos.com/2016/09/21/dont-plug-it-in-scammers-post-infected-usb-sticks-through-letterboxes/" target="_blank">nakedsecurity</a></li>
<li>
<a href="https://www.journaldunet.com/solutions/expert/66833/en-quoi-une-sandbox-est-elle-essentielle-pour-la-securisation-de-votre-reseau.shtml" target="_blank">journaldunet</a></li>
<li>
<a href="https://www.techopedia.com/definition/17037/air-gap" target="_blank">techopedia</a></li>
<li>
<a href="https://www.youtube.com/watch?v=5qGkEsbPQeA" target="_blank">Korben et la cage de Faraday</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Faille WhatsApp (mai 2019)</title>
      <link>https://blog.limawi.io/fr-fr/posts/faille-whatsapp-mai-2019/</link>
      <pubDate>Fri, 31 May 2019 10:39:46 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/faille-whatsapp-mai-2019/</guid>
      <description>Facebook a publié un identifiant CVE (Common Vulnerabilities and Exposures) expliquant la faille.</description>
      <content:encoded><![CDATA[<h2 id="le-chiffrement-de-bout-en-bout">Le chiffrement de bout en bout</h2>
<p>WhatsApp est une application de messagerie qui chiffre les communications de bout en bout.</p>
<div class="col-md-12">
<video controls title="Faille WhatsApp (mai 2019)" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/faille-whatsapp-mai-2019/videos/faille-whatsapp-mai-2019.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/faille-whatsapp-mai-2019/videos/faille-whatsapp-mai-2019.webm" type="video/webm">
</video>
<p class="text-center" >Faille WhatsApp (mai 2019)</p>
<p class="text-center" ><small>Facebook a publié un identifiant CVE (Common Vulnerabilities and Exposures) expliquant la faille.</small></p>
</div>
<p>Le chiffrement de bout en bout consiste à chiffrer vos messages directement sur votre appareil.
La communication qui est envoyée sur Internet par les serveurs de WhatsApp est déjà chiffrée. Seul votre correspondant peut la déchiffrer.</p>
<p>C’est intéressant car vous pouvez faire passer des communications en utilisant des serveurs dans lesquels vous n’avez pas confiance, ils ne pourront pas les déchiffrer.</p>
<p>La semaine dernière, Facebook, l’entreprise qui gère WhatsApp, a annoncé qu’une faille de sécurité sérieuse avait été trouvée.</p>
<p>Beaucoup de gens et médias ont annoncé que le chiffrement de bout en bout ne fonctionnait donc pas et n’était pas sûr.</p>
<p>C’est totalement faux.</p>
<h2 id="la-faille">La faille</h2>
<p>Facebook a publié un identifiant CVE (Common Vulnerabilities and Exposures) expliquant la faille.</p>
<p>Un identifiant CVE, c’est un format de publication de failles permettant de les lister dans un dictionnaire pour pouvoir avertir rapidement les spécialistes.</p>
<p>En lisant cet identifiant, on se rend compte que la faille n’a rien à voir avec le chiffrement de bout en bout.</p>
<p>C’est en fait une faille qui apparaît quand on répond au téléphone à travers WhatsApp et qui met en cause la mémoire tampon.</p>
<p>La mémoire tampon est une partie de la mémoire ou du disque d’un appareil qui sert à stocker temporairement des informations pour qu’un logiciel puisse les réutiliser rapidement.</p>
<p>Le système alloue un emplacement sur cette mémoire à chaque logiciel.</p>
<p>Cette attaque consiste à envoyer des paquets d’informations à l’appareil de la victime quand elle répond au téléphone, en plus des paquets d’informations qui forment la communication.</p>
<p>Ces paquets profitent ensuite d’un « dépassement de tampon », c’est ça la faille. WhatsApp écrit ces paquets dans un emplacement sur la mémoire tampon du téléphone.
Cet emplacement est normalement alloué à un autre logiciel ou n’est pas alloué du tout.</p>
<p>Ces paquets permettent d’espionner entièrement l’appareil.</p>
<p>Cette attaque ressemble et a été ensuite confirmée comme provenant du NSO-group.
C’est une entreprise qui conçoit des logiciels espions pour les états. Cette attaque ressemble à ce que peut faire un de leur programme nommé Pegasus.</p>
<p>Il semble que NSO-group ait exploité la faille, c’est ce qui a déclenché sa découverte. Rien n’empêche d’autres groupes d’avoir fait de même sans que ce soit su.</p>
<p>Donc, si vous avez WhatsApp, mettez à jour avec la version officielle, disponible sur les App Stores !</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<a href="https://nakedsecurity.sophos.com/2019/05/14/update-whatsapp-now-one-call-could-give-spies-access-to-your-phone/" target="_blank">nakedsecurity.sophos.com</a></li>
<li>
<a href="https://www.facebook.com/security/advisories/cve-2019-3568" target="_blank">facebook cve</a></li>
<li>
<a href="https://cve.mitre.org/" target="_blank">mitre</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Pourquoi sécuriser ? J&#39;ai rien à cacher</title>
      <link>https://blog.limawi.io/fr-fr/posts/pourquoi-securiser-j-ai-rien-a-cacher/</link>
      <pubDate>Tue, 21 May 2019 11:05:03 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/pourquoi-securiser-j-ai-rien-a-cacher/</guid>
      <description>J&#39;ai souvent entendu cette réflexion et elle me paraît naïve. Je vais donc essayer de vous faire comprendre pourquoi.</description>
      <content:encoded><![CDATA[<p>La confidentialité, contrairement à ce que vous pouvez entendre ici et là, est un élément fondamental de votre sécurité informatique.</p>
<div class="col-md-12">
<video controls title="Pourquoi sécuriser ? J&#39;ai rien à cacher" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/pourquoi-securiser-j-ai-rien-a-cacher/videos/pourquoi-securiser-j-ai-rien-a-cacher.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/pourquoi-securiser-j-ai-rien-a-cacher/videos/pourquoi-securiser-j-ai-rien-a-cacher.webm" type="video/webm">
</video>
<p class="text-center" >Pourquoi sécuriser ? J&#39;ai rien à cacher</p>
<p class="text-center" ><small>J&#39;ai souvent entendu cette réflexion et elle me paraît naïve. Je vais donc essayer de vous faire comprendre pourquoi.</small></p>
</div>
<h2 id="votre-appareil-comme-outil-malveillant">Votre appareil comme outil malveillant</h2>
<p>Si vous ne sécurisez pas votre appareil (ordinateur et smartphone), il peut être infecté par un logiciel malveillant.
Comme je l&rsquo;ai déjà dit dans plusieurs vidéos, il peut être un élément supplémentaire dans un BotNet.
Il peut prendre part à des agressions informatiques contre d’autres personnes ou organisations.
Vous pourriez avoir des problèmes devant la justice et devoir justifier que votre appareil a effectivement été hacké.</p>
<p>Un BotNet ne sert pas uniquement aux attaques mais aussi au stockage.
Les hackers peuvent se servir de votre appareil pour stocker des contenus illicites.
Il y a déjà eu des cas de personnes ayant été poursuivies pour pédopornographie parce qu&rsquo;on avait retrouvé des fichiers dans leur ordinateur.
Ils ont été relaxés quand 
<a href="https://www.hg.org/legal-articles/child-pornography-through-a-computer-virus-20427" target="_blank">la preuve a été apportée</a> que leur ordinateur avait bien été hacké. Mais leur vie a quand même été brisée.</p>
<p>C&rsquo;est quelque chose de grave et à prendre sérieusement en considération.</p>
<p>Enfin, pour clore ce chapitre, vous avez probablement des moyens de paiement présents sur vos appareils. Il vaudrait mieux éviter qu&rsquo;un hacker s&rsquo;amuse avec vos comptes bancaires.</p>
<h2 id="vos-données-peuvent-se-retourner-contre-vous">Vos données peuvent se retourner contre vous</h2>
<p>Sur les données elles-mêmes, rappelez-vous que tout ce qui a été rendu public est extrêmement compliqué à privatiser à nouveau.
Vous ne vous souciez pas de vos données personnelles ? Et bien, faisons le point.</p>
<p>Votre vie privée est liée à celle d&rsquo;autres personnes (vos amis, votre famille).
Quand vous publiez une information personnelle vous concernant, vous pouvez aussi, du même coup, diffuser des informations les concernant.
Ils ne vous ont pas donné leur accord et ils ont peut-être des raisons, que vous ne connaissez pas, de ne pas vouloir diffuser ces informations.</p>
<p>Vos données personnelles peuvent aussi être détournées.
De nombreuses personnes se font avoir et voient leur image

<a href="https://www.lci.fr/international/sans-qu-elle-le-sache-son-visage-a-ete-utilise-pour-des-publicites-dans-le-monde-entier-2094892.html" target="_blank">circuler dans le monde entier</a>
pour des causes qu&rsquo;elles ne cautionnent pas forcément.
Une fois que ces photos sont diffusées, c&rsquo;est très dur de les récupérer (surtout à l&rsquo;époque des « memes »).
Elles peuvent même être utilisées par des groupes terroristes ou néo-nazis.</p>
<p>Donc, protégez vos données personnelles.</p>
<p>Enfin, n&rsquo;oubliez pas que l&rsquo;espérance de vie dans le monde occidental est autour de 80 ans.
Si vous avez 20 ans maintenant, vous n&rsquo;avez aucune idée de ce que vous ferez dans 20 ans.
Ne vous tirez pas une balle dans le pied.
Vos données personnelles pourraient être retenues contre vous si vous cherchez à être recruté dans une entreprise,
si vous gagnez en notoriété ou si vous poursuivez une carrière politique.</p>
<p>En conclusion, sécurisez vos appareils et faites attention aux informations que vous diffusez à votre propos ou à propos des autres.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<a href="https://www.hg.org/legal-articles/child-pornography-through-a-computer-virus-20427" target="_blank">hg.org</a></li>
<li>
<a href="https://www.theatlantic.com/notes/2015/09/how-easily-can-hackers-plant-evidence-contd/405133/" target="_blank">theatlantic</a></li>
<li>
<a href="https://www.lci.fr/international/sans-qu-elle-le-sache-son-visage-a-ete-utilise-pour-des-publicites-dans-le-monde-entier-2094892.html" target="_blank">lci</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Encore un spam d&#39;extorsion</title>
      <link>https://blog.limawi.io/fr-fr/posts/encore-un-spam-d-extorsion/</link>
      <pubDate>Tue, 14 May 2019 17:15:13 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/encore-un-spam-d-extorsion/</guid>
      <description>Vous avez peut-être reçu des emails vous menaçant de dévoiler des vidéos de vous regardant du porno si vous ne payez pas une rançon.</description>
      <content:encoded><![CDATA[<p>Ne vous inquiétez pas, quoi que vous fassiez de votre vie privée, ces emails sont des arnaques.</p>
<p>Ces emails commencent souvent par :</p>
<blockquote>
<p>« <em>J&rsquo;ai hacké votre ordinateur car, regardez, je vous écris avec votre propre email !</em> »</p>
</blockquote>
<p>Ou des variantes.</p>
<p>Effectivement, vous pouvez constater que c&rsquo;est votre propre adresse email qui est l&rsquo;expéditeur. Mais ça ne signifie pas que votre compte a été hacké.</p>
<div class="col-md-12">
<video controls title="Encore un spam d&#39;extorsion" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/encore-un-spam-d-extorsion/videos/encore-un-spam-d-extorsion.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/encore-un-spam-d-extorsion/videos/encore-un-spam-d-extorsion.webm" type="video/webm">
</video>
<p class="text-center" >Encore un spam d&#39;extorsion</p>
<p class="text-center" ><small>Vous avez peut-être reçu des emails vous menaçant de dévoiler des vidéos de vous regardant du porno si vous ne payez pas une rançon.</small></p>
</div>
<h2 id="un-peu-dhistoire">Un peu d’histoire</h2>
<p>L&rsquo;email a été inventé en 1965, bien avant Internet.
Il servait de moyen de communication entre ordinateurs et était loin de sa forme actuelle.
Il n&rsquo;y avait pas, au tout début, d&rsquo;arobase.
Les adresses email ont donc été inventées après le système lui-même.
La première adresse était « omlinson@bbn-tenexa » sans terminaison de type « .com » ou « .org » car le système des noms de domaines n&rsquo;était pas encore inventé.</p>
<p>Cet outil a donc été pensé avec les problématiques de son époque.
C&rsquo;était encore un système peu utilisé et les utilisateurs respectaient des chartes de bonne conduite qu&rsquo;elles proviennent de leurs universités, de centres de recherches ou des entreprises.</p>
<p>L&rsquo;usurpation d&rsquo;identité n&rsquo;avait pas été prise en compte, pas plus que le chiffrement des emails.
Tout le monde pouvait envoyer un email en indiquant comme adresse de départ l&rsquo;adresse email de n&rsquo;importe qui. Et c&rsquo;est toujours le cas.</p>
<h2 id="des-normes">Des normes</h2>
<p>Bien sûr, comme pour le chiffrement des emails (rappelez-vous de 
<a href="https://blog.limawi.io/fr-fr/posts/booba-pgp-un-protocole-cryptographique/">« PGP » de Booba</a>), de nouvelles normes ont tenté d&rsquo;y remédier.</p>
<p>C&rsquo;est le cas de la spécification DMARC qui implémente deux normes (DKIM et SPF).
Cette spécification a pour but d&rsquo;authentifier l&rsquo;expéditeur de l&rsquo;email.
Elle donne alors au destinataire les règles à appliquer si l&rsquo;authentification échoue.</p>
<p>Sauf que cette spécification n&rsquo;est pas implémentée partout et que les règles à appliquer peuvent ne pas classer comme frauduleux l&rsquo;email qui l’est,
ou le classer comme spam, ce qui n&rsquo;empêche donc pas l&rsquo;email d&rsquo;arriver dans la boîte de la victime et de produire son effet.</p>
<p>Donc, le fait que l&rsquo;adresse de l&rsquo;expéditeur soit votre adresse n&rsquo;indique rien sur une éventuelle faille de votre système.
Le spammer a simplement fait un programme avec la même adresse email pour l&rsquo;expéditeur et le destinataire et a utilisé ce programme avec des millions d&rsquo;adresses emails dont la vôtre.</p>
<h2 id="alors-comment-sassurer-que-ce-quil-avance-est-faux-">Alors, comment s&rsquo;assurer que ce qu&rsquo;il avance est faux ?</h2>
<p>Lisez l&rsquo;email et vous noterez quelque chose.
Entre les menaces, l&rsquo;adresse Bitcoin pour payer et l&rsquo;ultimatum, vous ne voyez apparaître absolument aucune information personnelle vous concernant ainsi qu&rsquo;aucun moyen de contacter le prétendu pirate.
C&rsquo;est simplement parce qu&rsquo;il n&rsquo;a aucune information personnelle sur vous vu qu&rsquo;il n&rsquo;a rien piraté du tout.</p>
<p>Donc, direction les spams.</p>
<p>Il est à noter que nous avons reçu de multiples variantes de cet email.
Nous avons la version classique, en anglais, la version plus rare en français, celle en allemand et celle pour les professionnels menaçant d&rsquo;attaque DDOS contre notre infrastructure.
Au passage, pour les attaques DDOS, en général les vrais pirates font une petite démonstration effective avant de menacer.</p>
<p>Comment devinent-ils la langue ou le fait que nous soyons professionnels ?</p>
<p>C&rsquo;est parce qu&rsquo;ils récupèrent les adresses emails dans des listes provenant de sites qui, eux, ont été vraiment compromis.
Si les sites sont en français, alors les adresses emails ont un message en français,
si les sites sont des sites de professionnels (comme par exemple Docker qui s&rsquo;est, récemment, fait piraté sa base utilisateurs) alors les adresses email ont droit au message pour les professionnels.</p>]]></content:encoded>
    </item>
    <item>
      <title>Est-ce que dissimuler c&#39;est sécuriser ?</title>
      <link>https://blog.limawi.io/fr-fr/posts/est-ce-que-dissimuler-c-est-securiser/</link>
      <pubDate>Thu, 02 May 2019 09:58:47 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/est-ce-que-dissimuler-c-est-securiser/</guid>
      <description>Dans la tête de beaucoup de gens, un système sécurisé est un système caché, un système dont on ne sait rien.</description>
      <content:encoded><![CDATA[<h2 id="cest-faux">C&rsquo;est faux.</h2>
<p>Comme vous avez pu le voir dans l&rsquo;épisode de Cryptotrucs sur de vieilles techniques de cryptographie, on ne faisait parfois que cacher le message.</p>
<div class="col-md-12">
<video controls title="Est-ce que dissimuler c&#39;est sécuriser ?" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/est-ce-que-dissimuler-c-est-securiser/videos/est-ce-que-dissimuler-c-est-securiser.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/est-ce-que-dissimuler-c-est-securiser/videos/est-ce-que-dissimuler-c-est-securiser.webm" type="video/webm">
</video>
<p class="text-center" >Est-ce que dissimuler c&#39;est sécuriser ?</p>
<p class="text-center" ><small>Dans la tête de beaucoup de gens, un système sécurisé est un système caché, un système dont on ne sait rien.</small></p>
</div>
<p>Cette façon de faire est fortement déconseillée maintenant.</p>
<p>Il est bien plus sûr de connaître parfaitement un système sécurisé que de ne rien en connaître.</p>
<h2 id="pourquoi-">Pourquoi ?</h2>
<p>Alors, attention ça va « name-dropper ».</p>
<p>Au 19ème siècle, Auguste Kerckhoffs établit des principes pour communiquer de façon sécurisée. Le deuxième principe, dont j’ai déjà parlé dans un épisode de Cryptotrucs, stipule que :</p>
<blockquote>
<p>« Il faut que le système n’exige pas le secret, et qu’il puisse sans inconvénient tomber entre les mains de l’ennemi. »</p>
</blockquote>
<p>Au 20ème siècle cette fois, Eric Raymond établit la loi de Linus (en l&rsquo;honneur de Linus Torvalds, le créateur de Linux) :</p>
<blockquote>
<p>« Avec suffisamment d&rsquo;yeux, tous les bugs sont superficiels. »</p>
</blockquote>
<p>Bruce Schneier précise le second principe de Kerckhoffs :</p>
<blockquote>
<p>« Le principe de Kerckhoffs s&rsquo;applique au-delà des chiffres et des codes, c&rsquo;est-à-dire aux systèmes de sécurité en général : tout secret est en fait un point de cassure possible.
Par conséquent, le secret est une cause première de fragilité, donc cela même peut amener un système à un effondrement catastrophique.
À l&rsquo;inverse, l&rsquo;ouverture amène la 
<a href="https://fr.wikipedia.org/wiki/Ductilit%c3%a9" target="_blank">ductilité</a>. »</p>
</blockquote>
<p>Et c&rsquo;est là le coeur du problème avec le fait de cacher (l&rsquo;obfuscation).
On ne maîtrise pas le risque.
Plus le secret est grand, plus il y a de risque de fuite.</p>
<p>Plus un système est caché, moins il est facile de le corriger, de le réparer et même de repérer s’il a été percé.
Le fait de rendre le code d&rsquo;un système public, le rendre opensource, permet de réduire ce déséquilibre entre attaquant (« hackeur ») et défenseur.
On espère, en rendant le code public, augmenter le nombre de défenseurs et donc rendre le système plus fiable.</p>
<p>Le secret doit rester le plus petit possible. On utilise, en général, la clé de chiffrement.</p>
<p>Il y a un inconvénient à cette approche.
Il faut forger une communauté autour du code.
Parfois, des outils cryptographiques utilisés par tout le monde ne bénéficient pas d&rsquo;une communauté suffisante pour que le code soit suffisamment testé (le « suffisamment d&rsquo;yeux » de la loi de Linus).</p>
<p>C’était le cas d&rsquo;OpenSSL.
La communauté de développement d&rsquo;OpenSSL a été trop réduite pendant des années et des failles de sécurité importantes n&rsquo;ont pas été colmatées assez vite (la faille Heartbleed).</p>
<p>Cacher ou pas son code revient donc à une analyse de risques. Rendre le code public limite le risque de failles à condition qu&rsquo;une communauté de développeurs se forme autour.</p>]]></content:encoded>
    </item>
    <item>
      <title>La 5G, c&#39;est quoi ?</title>
      <link>https://blog.limawi.io/fr-fr/posts/la-5g-cest-quoi/</link>
      <pubDate>Thu, 18 Apr 2019 16:00:42 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/la-5g-cest-quoi/</guid>
      <description>La 5G est la prochaine génération de réseaux mobiles succédant à la 4G. Elle offre un débit beaucoup plus élevé et une latence (un ping) beaucoup plus faible.</description>
      <content:encoded><![CDATA[<h2 id="fonctionnement">Fonctionnement</h2>
<p>La 5G est la prochaine génération de réseaux mobiles succédant à la 4G. Elle offre un débit beaucoup plus élevé et une latence (un ping) beaucoup plus faible.</p>
<div class="col-md-12">
<video controls title="La 5G, c&#39;est quoi ?" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/la-5g-cest-quoi/videos/la-5g-cest-quoi.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/la-5g-cest-quoi/videos/la-5g-cest-quoi.webm" type="video/webm">
</video>
<p class="text-center" >La 5G, c&#39;est quoi ?</p>
<p class="text-center" ><small>La 5G est la prochaine génération de réseaux mobiles succédant à la 4G.</small></p>
</div>
<p>Ce réseau ne s&rsquo;intéressera pas uniquement aux smartphones mais aussi à l’ensemble des objets connectés, comme votre frigo, votre machine à laver ou votre voiture.</p>
<p>Elle est aussi pensée pour remplacer l&rsquo;Internet fixe.</p>
<p>Attention, la norme n&rsquo;est pas encore finalisée. Ce sera le cas, normalement, fin 2019.</p>
<p>Le réseau s&rsquo;appuiera sur des fréquences hautes.
Des fréquences entre 3,5 et 50 GHz sont prévues mais ça peut encore évoluer.
Les fréquences des réseaux actuels sont entre 0,7 et 2,6 GHz.</p>
<p>Les fréquences les plus élevées de la 5G sont des ondes millimétriques.
C&rsquo;est à dire que la distance parcourue par l&rsquo;onde entre 2 oscillations est de l&rsquo;ordre du millimètre.
Une fréquence de 1 Hz, c&rsquo;est une oscillation par seconde, une fréquence de 50 GHz, c&rsquo;est 50 milliards d&rsquo;oscillations par seconde.</p>
<p>Pourquoi ? Parce que ces fréquences permettent des bandes de fréquences beaucoup plus larges et moins chargées que les bandes actuelles.
Une bande de fréquence c&rsquo;est la différence entre deux fréquences et c&rsquo;est ce qui est alloué à chaque opérateur téléphonique.</p>
<p>Entre 0,7 et 2,6 GHz, on a une bande de fréquences totale de 1,9 GHz à partager entre plein d&rsquo;opérateurs.</p>
<p>Entre 3,5 et 50 GHz, on a une bande de fréquences totale de 46,5 GHz. Il y a beaucoup plus de place.</p>
<p>C&rsquo;est plus pratique pour du haut débit.</p>
<p>L&rsquo;inconvénient est que les bandes de fréquences hautes vont moins loin et traversent moins facilement les obstacles.</p>
<p>Pour compenser ça, la 5G prévoit deux systèmes.
Le premier est le « beam tracking » (la focalisation).
De multiples antennes pourront concentrer leurs ondes sur un appareil spécifique pour augmenter l&rsquo;efficacité du réseau.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/la-5g-cest-quoi/images/la-5g-beam-tracking.png" class="figure-img img-fluid rounded" alt="De multiples antennes pourront concentrer leurs ondes sur un appareil spécifique pour augmenter l&#39;efficacité du réseau">
  <figcaption class="figure-caption"><p>La 5G, beam tracking</p>
    <small>De multiples antennes pourront concentrer leurs ondes sur un appareil spécifique pour augmenter l&#39;efficacité du réseau</small>
  </figcaption>
</figure>

<p>Le deuxième c&rsquo;est le MIMO (Multiple input multiple outpout). Chaque antenne 5G s&rsquo;additionnera aux autres pour améliorer le débit de l&rsquo;appareil.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/la-5g-cest-quoi/images/la-5g-mimo.png" class="figure-img img-fluid rounded" alt="Chaque antenne 5G s&#39;additionnera aux autres pour améliorer le débit de l&#39;appareil">
  <figcaption class="figure-caption"><p>La 5G, MIMO</p>
    <small>Chaque antenne 5G s&#39;additionnera aux autres pour améliorer le débit de l&#39;appareil</small>
  </figcaption>
</figure>

<p>Ça veut dire que le réseau 5G sera beaucoup plus dense que les réseaux précédents.</p>
<h2 id="questions-de-cybersécurité">Questions de cybersécurité</h2>
<p>Des attaques contre la 3G et la 4G se développent de plus en plus. Il n&rsquo;y a pas de raison que ça s’arrête pour la 5G.</p>
<p>Il y aura aussi une augmentation des surfaces d&rsquo;attaque due à l&rsquo;adaptabilité du standard à de multiples protocoles de communications.</p>
<p>Comme ou pourra se connecter de multiples façons au réseau 5G, il y aura de multiples possibilités pour un hacker d’entrer sur le réseau.</p>
<p>Le réseau 5G facilitera aussi les attaques par déni de service (DDOS).</p>
<p>Ce sont des attaques qui consistent à envoyer le plus de requêtes possibles sur un serveur ou une infrastructure pour le saturer complètement et l’empêcher de fonctionner.</p>
<p>Comme la bande passante sera beaucoup moins limitée et que beaucoup plus d’objets seront connectés, les BotNet gagneront en efficacité.</p>
<p>Un BotNet est un ensemble de milliers ou centaines de milliers d&rsquo;objets connectés piratés. Ils obéissent aux ordres d&rsquo;un serveur maître qui leur dit d&rsquo;attaquer telle ou telle cible.</p>
<h2 id="questions-environnementales">Questions environnementales</h2>
<p>De nombreuses questions se posent à propos de l&rsquo;interaction de ces ondes millimétriques avec le vivant.</p>
<p>Selon les études actuelles, le seul effet connu d&rsquo;une onde millimétrique sur un organisme est l&rsquo;effet thermique.
Ce phénomène n&rsquo;apparaît qu&rsquo;avec des puissances bien supérieures à celles utilisées en télécommunications.</p>
<p>Il y a quand même des inconnues. Le standard 5G n&rsquo;est pas finalisé.
S&rsquo;il admet des fréquences plus élevées de l&rsquo;ordre du THz (1000 milliards d&rsquo;oscillations par seconde), alors quelques études montrent des effets biologiques.</p>
<p>Pour l&rsquo;instant, c&rsquo;est un domaine mal connu.
Il y a trop peu d&rsquo;études sur les risques pour l&rsquo;organisme liés aux :</p>
<ul>
<li>multiplications d&rsquo;antennes,</li>
<li>interactions de plusieurs antennes dans un même environnement,</li>
<li>temps d&rsquo;exposition à ces ondes,</li>
<li>effets combinés de ces différents éléments</li>
</ul>
<p>Donc, pour l&rsquo;instant, je reste prudent. Je ne sais pas.</p>
<p>On ne manquera pas de revenir ici sur ce sujet d’actualité.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<a href="https://www.nextinpact.com/news/103308-5g-tout-ce-quil-faut-savoir-en-10-questions.htm" target="_blank">Nextinpact</a></li>
<li>
<a href="https://www.nextinpact.com/news/106912-5g-sur-26-ghz-casse-tete-liberation-et-attribution-frequences.htm" target="_blank">Nextinpact à nouveau</a></li>
<li>
<a href="https://www.inpact-hardware.com/article/668/104087-portrait-ondes-millimetriques-au-cur-futurs-reseaux-5g-et-facebook" target="_blank">Inpact-hardware</a></li>
<li>
<a href="https://www.itsecurityguru.org/2019/01/14/2019-predictions-and-the-start-of-5g/" target="_blank">itsecurityguru</a></li>
<li>
<a href="https://www.itsecurityguru.org/2018/07/18/ready-fight-new-5g-vulnerabilities/" target="_blank">itsecurityguru à nouveau</a></li>
<li>
<a href="https://threatpost.com/5g-security/140664/" target="_blank">Threatpost</a></li>
<li>
<a href="https://www.espace-sciences.org/sciences-ouest/269/dossier/quoi-de-neuf-sur-les-ondes" target="_blank">Espace-sciences</a></li>
<li>
<a href="https://www.sfrp.asso.fr/medias/sfrp/documents/02-YLeDrean-MZhadobov.pdf" target="_blank">sfrp</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Booba : PGP, un protocole cryptographique</title>
      <link>https://blog.limawi.io/fr-fr/posts/booba-pgp-un-protocole-cryptographique/</link>
      <pubDate>Mon, 08 Apr 2019 16:00:52 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/booba-pgp-un-protocole-cryptographique/</guid>
      <description>Dans son clip intitulé PGP, Booba nous parle de cryptographie.</description>
      <content:encoded><![CDATA[<ul>
<li>
<a href="https://pgp.key-server.io/pks/lookup?op=get&amp;amp;search=0xFB61DA81B74EF205" target="_blank">Ma clé GPG</a></li>
<li>
<a href="https://limawi.io/gpg/Limawi-Contact-DPO-GnuPG.asc" target="_blank">La clé GPG du DPO de Limawi</a></li>
</ul>
<p>Sources :</p>
<ul>
<li>
<a href="https://www.youtube.com/watch?v=3egagRvougI" target="_blank">Clip officiel de Booba</a></li>
<li>
<a href="https://www.symantec.com/products/encryption" target="_blank">Site officiel de PGP</a></li>
<li>
<a href="https://www.gnupg.org/" target="_blank">Site officiel de GnuPG</a></li>
<li>
<a href="https://gpgtools.org/" target="_blank">GnuPG sur mac OS</a></li>
<li>
<a href="https://gpg4win.org" target="_blank">GnuPG sur Windows</a></li>
<li>
<a href="https://guardianproject.info/code/gnupg/" target="_blank">GnuPG sur Android</a></li>
<li>
<a href="https://blog.limawi.io/fr-fr/posts/cryptotrucs-episode-3-la-cryptographie-symetrique/">Cryptotrucs épisode 3, la cryptographie symétrique</a></li>
</ul>
<div class="col-md-12">
<video controls title="Booba : PGP, un protocole cryptographique" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/booba-pgp-un-protocole-cryptographique/videos/booba-pgp-un-protocole-cryptographique.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/booba-pgp-un-protocole-cryptographique/videos/booba-pgp-un-protocole-cryptographique.webm" type="video/webm">
</video>
<p class="text-center" >Booba : PGP, un protocole cryptographique</p>
<p class="text-center" ><small>Dans son clip intitulé PGP, Booba nous parle de cryptographie.</small></p>
</div>
<h2 id="quest-ce-que-pgp-">Qu&rsquo;est-ce que PGP ?</h2>
<p>PGP est l&rsquo;acronyme de « Pretty Good Privacy » qui veut dire « assez bonne vie privée ».
PGP est un outil de cryptographie propriétaire appartenant à Symantec.
Cet outil a été réécrit en opensource en 1997 sous une norme nommée OpenPGP.
En 1999, une alternative entièrement opensource mais compatible avec OpenPGP a été publiée, c&rsquo;est GnuPG ou GPG.</p>
<p>Je vous conseille GnuPG si vous ne voulez pas que ce soit « <em>un peu plus cher</em> » (dixit Booba) et c&rsquo;est autant « <em>de la qualité</em> » voire plus.</p>
<p>Ce protocole sert à sécuriser l&rsquo;échange et le stockage de données entre deux interlocuteurs.
Il est basé sur un algorithme de cryptographie symétrique et un algorithme de cryptographie asymétrique.</p>
<p>Vous pouvez en apprendre plus sur la cryptographie symétrique en regardant l&rsquo;épisode 3 de Cryptotrucs.
(Spoiler alert : On abordera la cryptographie asymétrique dans l&rsquo;épisode 4.)</p>
<p>GPG utilise deux fichiers de chiffrement.
Un fichier sert à chiffrer et l&rsquo;autre à déchiffrer.
Ce fonctionnement repose sur la cryptographie asymétrique.
Le fichier qui sert à chiffrer est nommé partie publique ou clé publique.
Le fichier qui sert à déchiffrer est nommé partie privée ou clé privée.</p>
<p>L&rsquo;avantage d&rsquo;avoir ces deux fichiers est que vous pouvez diffuser, à tous vos contacts, la partie publique (d&rsquo;où son nom, « publique ») et ne pas mettre en danger la sécurité de vos échanges.
C&rsquo;est la partie privée, que vous gardez pour vous, qui garantit cette sécurité.</p>
<h2 id="comment-ça-fonctionne-">Comment ça fonctionne ?</h2>
<p>Un de vos contacts veut communiquer avec vous.
Il utilise la partie publique que vous lui avez envoyée pour chiffrer son message.
C&rsquo;est comme un cadenas. Une fois le message chiffré, cadenassé, il ne peut plus le déchiffrer.
C&rsquo;est vous seul qui possédez la clé du cadenas.</p>
<p>Il vous envoie ce message chiffré et vous le déchiffrez donc avec votre partie privée.</p>
<p>Vous voulez lui envoyer un message, vous utilisez sa partie publique, son cadenas. Et là, lui seul possède la clé de son cadenas, donc lui seul peut déchiffrer le message.</p>
<p>Mais, comme je l&rsquo;ai dit, PGP et GPG utilisent aussi une clé symétrique. Pourquoi ?</p>
<p>GPG utilise une clé symétrique pour gagner en performance.
Au moment de chiffrer le message, l&rsquo;outil génère une clé symétrique.
C&rsquo;est cette clé qui chiffre le message, ce qui est performant.
Ensuite, la partie publique de l&rsquo;algorithme de cryptographie asymétrique chiffre la clé symétrique.</p>
<p>La clé symétrique étant généralement plus petite que le message, il est beaucoup plus rapide pour la partie publique, le cadenas, de chiffrer la clé symétrique que le message.</p>
<p>Grâce à cet outil, la « <em>nezo</em> » (dixit Booba) est effectivement « <em>bien quadrillée</em> » .</p>
<p>Voilà pour PGP et GPG.</p>
<p>Dans les sources se trouvent les liens des outils pour macOS, Windows ou Android.</p>
<p>Bien sûr, on n&rsquo;a gratté que la surface de ce que ce protocole peut faire. On ira beaucoup plus loin dans un épisode prochain de Cryptotrucs.</p>]]></content:encoded>
    </item>
    <item>
      <title>Faille Facebook, épisode 2 537 852</title>
      <link>https://blog.limawi.io/fr-fr/posts/faille-facebook-episode-2-537-852/</link>
      <pubDate>Wed, 03 Apr 2019 16:00:24 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/faille-facebook-episode-2-537-852/</guid>
      <description>Facebook a annoncé une nouvelle faille de sécurité, la 2 537 852ème ?!</description>
      <content:encoded><![CDATA[<h2 id="explications-préalables">Explications préalables</h2>
<p>Un mot de passe n&rsquo;est pas sensé être lisible au sein d&rsquo;un système.
On utilise un algorithme cryptographique qu&rsquo;on appelle un hash pour le stocker de façon illisible.</p>
<div class="col-md-12">
<video controls title="Faille Facebook, épisode 2 537 852" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/faille-facebook-episode-2-537-852/videos/faille-facebook-episode-2-537-852.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/faille-facebook-episode-2-537-852/videos/faille-facebook-episode-2-537-852.webm" type="video/webm">
</video>
<p class="text-center" >Faille Facebook, épisode 2 537 852</p>
<p class="text-center" ><small>Facebook a annoncé une nouvelle faille de sécurité, la 2 537 852ème ?!</small></p>
</div>
<p>On parlera de cette technique dans un épisode de Cryptotrucs.</p>
<p>Le but de ce procédé est d&rsquo;éviter qu&rsquo;un éventuel hacker puisse récupérer les mots de passe. Cela réduit considérablement les risques de fuites.</p>
<p>Facebook stocke correctement ses mots de passe, semble-t-il. Mais ils ont oublié les logs.</p>
<p>Un log c&rsquo;est un dispositif qui permet de recueillir des informations sur le comportement d&rsquo;un système, quel utilisateur s&rsquo;est connecté, quand, et plus encore.</p>
<p>Il sert souvent à débugger mais peut aussi servir à suivre le comportement des utilisateurs.</p>
<h2 id="la-faille-elle-même">La faille elle-même</h2>
<p>Dans le cas de Facebook, le log recevait l&rsquo;information de connexion d&rsquo;un utilisateur avec son mot de passe lisible.</p>
<p>Jusqu&rsquo;à janvier dernier (2019), les mots de passe utilisateurs étaient enregistrés en clair dans les logs internes de Facebook.</p>
<p>Il semble que ces mots de passe étaient accessibles à tous les employés Facebook mais pas en dehors. Selon Facebook, du moins.</p>
<p>Facebook dit qu&rsquo;il n&rsquo;est pas nécessaire de changer ses mots de passe Facebook et Instagram (Instagram est une filiale de Facebook) mais des experts en cybersécurité disent le contraire.</p>
<h2 id="ce-que-jen-dis">Ce que j&rsquo;en dis</h2>
<p>Si les mots de passe n&rsquo;ont pas été récupérés par d&rsquo;autres que les employés Facebook, alors le risque est minime.
Les employés ont de toute façon la possibilité d&rsquo;ouvrir des sessions au sein de Facebook et Instagram à votre place.</p>
<h2 id="sauf-que">Sauf que</h2>
<p>On n&rsquo;a que la parole de Facebook et ils sont plus que vagues sur ce sujet.</p>
<p>Vous utilisez peut-être le même mot de passe ailleurs (même si ce n&rsquo;est pas conseillé) et dans ce cas les employés Facebook peuvent y accéder.</p>
<p>Je vous conseille donc de changer vos mots de passe mais aussi d&rsquo;activer la double authentification pour renforcer la connexion en cas de fuite de mot de passe.</p>
<p>J&rsquo;ai mis en bas d’article de multiples ressources sur comment faire un bon mot de passe et la double authentification.</p>
<p>Enfin, surveillez vos sessions Facebook et supprimez les sessions que vous ne connaissez pas.</p>
<p>Vous faites ça, à la fois, sur Facebook et sur Instagram.</p>
<h2 id="sources">Sources</h2>
<ul>
<li>
<a href="https://krebsonsecurity.com/2019/03/facebook-stored-hundreds-of-millions-of-user-passwords-in-plain-text-for-years/" target="_blank">krebsonsecurity</a></li>
<li>
<a href="https://blog.limawi.io/fr-fr/posts/tout-sur-un-bon-mot-de-passe/">Un bon mot de passe</a></li>
<li>
<a href="https://blog.limawi.io/fr-fr/posts/tout-sur-la-double-authentification/">La double authentification</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Bug dans les espaces de noms XML</title>
      <link>https://blog.limawi.io/fr-fr/posts/bug-dans-les-espaces-de-noms-xml/</link>
      <pubDate>Mon, 01 Apr 2019 16:00:37 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/bug-dans-les-espaces-de-noms-xml/</guid>
      <description>Je sais pas si vous avez remarqué (intro faite et refaite, je sais) mais les espaces de noms en URI que vous avez en haut des pages html sont en http (pas &#39;s&#39;). Cela me posait question.</description>
      <content:encoded><![CDATA[<p>
<a href="https://twitter.com/Limawi_fr/status/1108379199641997318" target="_blank">Thread Twitter original</a></p>
<p>Sources :</p>
<ul>
<li>
<a href="https://www.w3.org/TR/2009/REC-xml-names-20091208/#ns-decl" target="_blank">L&rsquo;espace de noms en xml1.0</a></li>
<li>
<a href="https://www.w3.org/TR/2006/REC-xml-names11-20060816/" target="_blank">L&rsquo;espace de noms en xml1.1 et l&rsquo;impossiblité de passer de http à https</a></li>
<li>
<a href="http://www.rfc-editor.org/rfc/rfc2141.txt" target="_blank">l&rsquo;URN</a></li>
</ul>
<div class="col-md-12">
<video controls title="Bug dans les espaces de noms XML" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/bug-dans-les-espaces-de-noms-xml/videos/bug-dans-les-espaces-de-noms-xml.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/bug-dans-les-espaces-de-noms-xml/videos/bug-dans-les-espaces-de-noms-xml.webm" type="video/webm">
</video>
<p class="text-center" >Bug dans les espaces de noms XML</p>
<p class="text-center" ><small>Les espaces de noms en URI que vous avez en haut des pages html sont en http (pas &#39;s&#39;). Cela me posait question.</small></p>
</div>
<p>Pour les spécialistes, xml est bien apparu après html.
Effectivement, le terme &ldquo;à l&rsquo;origine&rdquo; est mal choisi.
Il notait la relation entre xml et html.
Je n&rsquo;allais pas entrer dans les détails des circonvolutions avec sgml, xhtml, etc&hellip;﻿</p>
<h2 id="quelques-notions">Quelques notions</h2>
<p>xml est un langage informatique qui est apparenté à html mais qui est utilisé dans de multiples autres documents (comme le pdf ou un fichier word).
html c&rsquo;est le langage qui permet de visualiser des pages web.</p>
<p>Si on regarde notre page d&rsquo;accueil 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a>, en cliquant droit avec la souris et en visualisant le code source, on voit le html qui le compose.</p>
<p>Dans la première ligne de cet html, on voit ce qui ressemble à des liens. Ce sont des espaces de noms.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/bug-dans-les-espaces-de-noms-xml/images/pourquoi-les-espaces-de-nom-xml-sont-ils-casses-opengraph.png" class="figure-img img-fluid rounded" alt="Pourquoi les espaces de nom XML sont-ils cassés ? OpenGraph">
  <figcaption class="figure-caption"><p>Pourquoi les espaces de nom XML sont-ils cassés ? OpenGraph</p>
    <small>Pourquoi les espaces de nom XML sont-ils cassés ? OpenGraph</small>
  </figcaption>
</figure>

<p>En xml, on peut décrire tout un tas de choses, comme ici un titre de page ou là une image avec ce qu&rsquo;on appelle une balise.</p>
<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/bug-dans-les-espaces-de-noms-xml/images/balise-titre-en-html.png" class="figure-img img-fluid rounded" alt="Balise titre en html">
  <figcaption class="figure-caption"><p>Balise titre en html</p>
    <small>Balise titre en html</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/bug-dans-les-espaces-de-noms-xml/images/balise-image-en-html.png" class="figure-img img-fluid rounded" alt="Balise image en html">
  <figcaption class="figure-caption"><p>Balise image en html</p>
    <small>Balise image en html</small>
  </figcaption>
</figure>

</div>

</div>

<p>Pour que le navigateur comprenne que cette balise représente un titre, il lui faut une norme qui lui donne la définition de cette balise.</p>
<p>C&rsquo;est à ça que servent les espaces de noms. Les liens que vous voyez tout en haut de la page définissent le fonctionnement de certaines balises qui y sont présentes.</p>
<p>Dans cet exemple, les liens que vous voyez définissent les balises qu&rsquo;on nomme opengraph. Ce sont les balises qui enrichissent votre page dans Facebook, Twitter, et autres.</p>
<p>Avec le xml, on peut aussi mettre un autre document derrière ces liens, en xml lui aussi, qui définit les balises. Un document de définitions.</p>
<p>Ce language xml et ces dérivés comme le html, sont fixés par un organisme que l&rsquo;on nomme le W3C pour World Wide Web Consortium.</p>
<h2 id="le-problème">Le problème</h2>
<p>Le problème est que le W3C considère ces liens comme essentiellement des identifiants de définition.</p>
<p>C&rsquo;est à dire que, quelle que soit la page, si on a cet espace de nom en haut de la page on sait qu&rsquo;on aura les mêmes définitions.</p>
<p>Le W3C permet que ces liens ne mènent pas à un document de définitions et ne soient utilisés que comme identifiants. Le navigateur est sensé connaître déjà le document de définitions et ne suit donc pas le lien.</p>
<p>Ça soulève deux questions.</p>
<h2 id="question-1">Question 1</h2>
<p>La première, c&rsquo;est que ça permet l&rsquo;opacité des définitions.
En effet, vous pouvez être poussé à utiliser un domaine de définition comme celui-là pour avoir de beaux liens sur Facebook, sans savoir exactement comment il fonctionne.
Cela augmente artificiellement la quantité de travail de documentation et le risque d&rsquo;erreur comme j&rsquo;en ai déjà fait l&rsquo;expérience.</p>
<p>J&rsquo;ai voulu mettre en place la détection de pages traduites du blog Limawi en me servant de la documentation produite manuellement par les ingénieurs de Facebook.
Voyant que ça ne fonctionne pas, j&rsquo;ai contacté le support Facebook. On passe du temps. Au bout du bout, ils m&rsquo;annoncent que cette fonctionnalité n&rsquo;existe plus et qu&rsquo;ils n&rsquo;avaient simplement pas mis leur documentation à jour.
Que de temps perdu stupidement.</p>
<h2 id="question-2">Question 2</h2>
<p>La deuxième question est bien plus importante.
Ces liens, dans un comportement prévu par xml, peuvent être suivis pour aboutir au document de définitions.
Le W3C n&rsquo;interdit pas cette pratique et encore heureux car c&rsquo;est une des beautés du xml et une des preuves du génie de Tim Berners-Lee.</p>
<blockquote>
<p>By the way, Tim, big fan.</p>
</blockquote>
<p>Mais en laissant ce flou sur les propriétés de ces liens, c&rsquo;est à dire des identifiants de définitions qui peuvent aussi servir de lien vers le document de définitions, le W3C ouvre une faille de sécurité.</p>
<p>Beaucoup de ces liens sont en http. Comme le W3C est très strict sur la syntaxe d&rsquo;un identifiant, on ne peut pas facilement les changer en https
car c&rsquo;est perçu comme un autre identifiant cassant le fonctionnement des systèmes qui s&rsquo;y réfèrent.</p>
<p>On peut avoir un hacker qui intercepte le document de définitions dans le cas où un système va le chercher derrière le lien de l&rsquo;espace de nom.
Ce système n&rsquo;a aucune possibilité de s&rsquo;assurer que le document qu&rsquo;il reçoit est le véritable document de définitions.
Le hacker peut donc modifier le comportement du système.</p>
<p>À côté de cette façon d&rsquo;identifier avec des liens, le W3C autorise aussi l&rsquo;identification par un URN (uniform resource name) qui ne peut pas être confondu avec un lien.
L&rsquo;avantage de l&rsquo;URN est qu&rsquo;il n&rsquo;y a pas d’ambiguïté, on sait que c&rsquo;est purement un identifiant. Le navigateur doit trouver les définitions par un autre moyen.</p>
<p>D&rsquo;où ma demande de faire évoluer la norme du W3C. Je comprends, même si je n&rsquo;adhère pas, qu&rsquo;on veuille garder pour soi ses définitions mais je voudrais garder le concept de lien vers le fichier de définitions.
Ce concept est puissant, offre une flexibilité incroyable, la documentation est dans le code. C&rsquo;est beau !</p>
<h2 id="mes-propositions">Mes propositions</h2>
<p>Premièrement, on garde les liens mais ils doivent obligatoirement aboutir à un document de définitions et ne servent plus d&rsquo;identifiants uniques.
C&rsquo;est le document de définitions qui a cette charge. On peut donc utiliser https au lieu de http et résoudre la faille.</p>
<p>Deuxièmement, on utilise l&rsquo;URN comme identifiant pur pour les définitions que l&rsquo;on veut garder opaques.</p>
<p>Ça ouvre des questions plus larges : « Qu&rsquo;est ce qu&rsquo;un bon identifiant ? qu&rsquo;est ce qu&rsquo;un mauvais identifiant ? ».</p>]]></content:encoded>
    </item>
    <item>
      <title>Une faille Facebook (CSRF)</title>
      <link>https://blog.limawi.io/fr-fr/posts/une-faille-facebook-csrf/</link>
      <pubDate>Tue, 26 Mar 2019 13:52:19 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/une-faille-facebook-csrf/</guid>
      <description>Une petite faille Facebook (CSRF) qui permettait (oh trois fois rien) de prendre le contrôle total d&#39;un compte et même le supprimer.</description>
      <content:encoded><![CDATA[<p>Je vais vous parler d&rsquo;une faille Facebook révélée fin janvier.</p>
<div class="col-md-12">
<video controls title="Une faille Facebook (CSRF)" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/une-faille-facebook-csrf/videos/une-faille-facebook-csrf.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/une-faille-facebook-csrf/videos/une-faille-facebook-csrf.webm" type="video/webm">
</video>
<p class="text-center" >Une faille Facebook (CSRF)</p>
<p class="text-center" ><small>Une petite faille Facebook (CSRF) qui permettait (oh trois fois rien) de prendre le contrôle total d&#39;un compte et même le supprimer.</small></p>
</div>
<p>Elle est de type CSRF (Cross-Site Request Forgery).</p>
<h2 id="quest-ce-que-cest-">Qu&rsquo;est ce que c&rsquo;est ?</h2>
<p>Le hacker cache des urls spécifiques dans un site malveillant qui permettent d&rsquo;effectuer des actions sur le site victime en l&rsquo;occurrence Facebook.</p>
<p>Le hacker fait en sorte que l&rsquo;abonné Facebook clique sur ces liens.</p>
<p>Comme c&rsquo;est l&rsquo;abonné qui clique le site malveillant utilise les droits de cet abonné pour effectuer des actions rendues possibles par ces urls en utilisant le lien.</p>
<p>Le hacker pouvait accéder à des informations confidentielles voire même les modifier.</p>
<p>Ils pouvait accéder à tout le profil d&rsquo;un abonné Facebook</p>
<p>En fait, le hacker pouvait même effacer le compte Facebook attaqué.</p>
<p>L&rsquo;utilisateur Facebook pouvait réduire le risque en activant la double authentification sur son compte Facebook.</p>
<p>Cette faille a été vite comblée et le chercheur qui l&rsquo;a trouvée a reçu les 25000 dollars prévus par le bug bounty de Facebook.</p>
<h2 id="sources-">Sources :</h2>
<ul>
<li>
<a href="https://thehackernews.com/2019/02/hack-facebook-account-password.html" target="_blank">https://thehackernews.com/2019/02/hack-facebook-account-password.html</a></li>
<li>
<a href="https://www.nextinpact.com/lebrief/38097/7824-facebook-colmate-une-faille-qui-permettait-de-prendre-le-controle-d-un-compte-via-un-simple-lien" target="_blank">https://www.nextinpact.com/lebrief/38097/7824-facebook-colmate-une-faille-qui-permettait-de-prendre-le-controle-d-un-compte-via-un-simple-lien</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Pourquoi les espaces de nom XML sont-ils cassés ?</title>
      <link>https://blog.limawi.io/fr-fr/posts/pourquoi-les-espaces-de-nom-xml-sont-ils-casses/</link>
      <pubDate>Tue, 19 Mar 2019 18:00:20 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/pourquoi-les-espaces-de-nom-xml-sont-ils-casses/</guid>
      <description>Je sais pas si vous avez remarqué... (intro faite et refaite, je sais) mais les espaces de noms en URI que vous avez en haut des pages html sont en http (pas &#39;s&#39;). Cela me posait des questions.</description>
      <content:encoded><![CDATA[<hr>
<blockquote>
<p>mars 14, 2019 18:00:00</p>
</blockquote>
<p>Pourquoi à l’ère de l’ « https everywhere », on inclut (même dans les pages qui se vantent d’être sécurisées) des espaces de noms en http ?</p>
<div class="col-md-12">
<video controls title="Pourquoi les espaces de nom XML sont-ils cassés ?" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/pourquoi-les-espaces-de-nom-xml-sont-ils-casses/videos/bug-dans-les-espaces-de-noms-xml.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/pourquoi-les-espaces-de-nom-xml-sont-ils-casses/videos/bug-dans-les-espaces-de-noms-xml.webm" type="video/webm">
</video>
<p class="text-center" >Pourquoi les espaces de nom XML sont-ils cassés ?</p>
<p class="text-center" ><small>Les espaces de noms en URI que vous avez en haut des pages html sont en http (pas &#39;s&#39;). Cela me posait des questions.</small></p>
</div>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/pourquoi-les-espaces-de-nom-xml-sont-ils-casses/images/pourquoi-les-espaces-de-nom-xml-sont-ils-casses-opengraph.png" class="figure-img img-fluid rounded" alt="Exemple de l&#39;OpenGraph">
  <figcaption class="figure-caption"><p>Pourquoi les espaces de nom XML sont-ils cassés ? OpenGraph</p>
    <small>Exemple de l&#39;OpenGraph</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>mars 14, 2019 18:00:10</p>
</blockquote>
<p>En continuant mes développements, j’ai retrouvé ces en-têtes dans des flux RSS (donc en pur xml), et, toujours la même chose, pas de « s ».</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:00:20</p>
</blockquote>
<p>J’ai constaté, en suivant ces liens, que je ne tombais, en plus, pas sur des fichiers XSD, des fichiers de définitions xml.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:00:30</p>
</blockquote>
<p>Par exemple, en suivant 
<a href="http://purl.org/rss/1.0/modules/content/" target="_blank">Purl</a> on tombe sur un beau 404, alors que cet espace de nom est utilisé.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/pourquoi-les-espaces-de-nom-xml-sont-ils-casses/images/pourquoi-les-espaces-de-nom-xml-sont-ils-casses-purl.png" class="figure-img img-fluid rounded" alt="Exemple de Purl">
  <figcaption class="figure-caption"><p>Pourquoi les espaces de nom XML sont-ils cassés ? Purl</p>
    <small>Exemple de Purl</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>mars 14, 2019 18:00:40</p>
</blockquote>
<p>En fait, actuellement, les espaces de noms en xml et html sont utilisés comme des identifiants de définitions que les lecteurs (navigateurs&hellip;) de la ressource ont déjà inclus.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:00:50</p>
</blockquote>
<p>Ça me dérange à plusieurs niveaux. Le principe des espaces de noms en xml était de fournir la définition des balises du document directement depuis celui-ci, ce qui permettait une grande flexibilité.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:01:00</p>
</blockquote>
<p>Ce principe est mort. Maintenant, les espaces de noms sont juste des indicateurs de définitions que les lecteurs (navigateurs…) ont inclus dans leurs bases.
Comme expliqué ici (en anglais) 
<a href="https://stackoverflow.com/questions/30707609/xml-namespace-uri-with-https" target="_blank">Stackoverflow</a></p>
<hr>
<blockquote>
<p>mars 14, 2019 18:01:10</p>
</blockquote>
<p>Comme les définitions ne sont même plus accessibles, un nouveau lecteur (navigateur…)
ne peut plus apprendre ces définitions facilement et il est obligé de se reposer sur la doc (parfois mal conçue, cf : Opengraph) des fournisseurs de définitions.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:01:20</p>
</blockquote>
<p>Alors qu’avant, une simple mise à jour du XSD permettait au lecteur d’obtenir les nouvelles définitions, maintenant c’est beaucoup moins automatique.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:01:30</p>
</blockquote>
<p>De plus, comme le comportement attendu (en xml) des espaces de noms est de pouvoir être atteints pour donner les définitions,
les lecteurs qui respectent la norme xml se trouvent incapables de lire correctement ces fichiers (html, ou RSS, par exemple…)</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:01:40</p>
</blockquote>
<p>Bon, il n’y en a plus beaucoup de lecteurs qui respectent la norme complètement, c’est vrai.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:01:50</p>
</blockquote>
<p>Enfin, dans le cas où la ressource est quand même présente, elle est en http et rarement accessible directement. C’est problématique.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:02:00</p>
</blockquote>
<p>Http ne fournit aucune protection contre l’interception éventuelle du XSD et sa modification, ce qui permet à un hacker de modifier le comportement attendu d’un lecteur (navigateur).</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:02:10</p>
</blockquote>
<p>Le XSD est parfois précédé d’une jolie page sans moyen automatique d’accéder au fichier de définitions correct. Donc pas d’automatisation possible, ce qui supprime l’avantage des espaces de noms en URI.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:02:20</p>
</blockquote>
<p>Par exemple, la définition xml pour les vidéos chez Google est 
<a href="https://www.google.com/schemas/sitemap-video/1.1/" target="_blank">Google Video sitemap</a>.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:02:30</p>
</blockquote>
<p>Selon la doc, l’espace de nom est en http. Pas de « s ». 
<a href="https://support.google.com/webmasters/answer/80471?hl=fr" target="_blank">Doc Google</a>.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:02:40</p>
</blockquote>
<p>Comment, si on respecte la norme xml, on peut être sûr de tomber sur la bonne page en https ?
Et ensuite, comment automatiquement accéder au fichier de définitions lui-même qui est 
<a href="https://www.google.com/schemas/sitemap-video/1.1/sitemap-video.xsd" target="_blank">Google Video sitemap XSD</a> ?</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:02:50</p>
</blockquote>
<p>Et ce n’est pas le seul. En conclusion, le système des espaces de noms xml est complètement cassé
à l’heure actuelle ce qui amène à une perte considérable de flexibilité et d’évolution d’usage de la norme.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:03:00</p>
</blockquote>
<p>Et, en plus, quand on respecte la norme, on a un système moins sécurisé (à cause de l’absence de « s »).</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:03:10</p>
</blockquote>
<p>On commence à voir que les gestionnaires de paquets feraient mieux de passer
en https 
<a href="https://www.nextinpact.com/brief/faille-critique-dans-le-gestionnaire-de-paquets-apt--debian-et-ubuntu-publient-des-correctifs-7480.htm" target="_blank">NextImpact</a></p>
<hr>
<blockquote>
<p>mars 14, 2019 18:03:20</p>
</blockquote>
<p>Il serait bien de se poser la question pour les espaces de noms en URI pour xml et html.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:03:30</p>
</blockquote>
<p>On peut aussi considérer les espaces de noms comme de simples identifiants (ce que je ne souhaite pas) mais dans ce cas,
il faudrait pouvoir les identifier autrement que par des URI, ce qui est trompeur.</p>
<hr>
<blockquote>
<p>mars 14, 2019 18:03:40</p>
</blockquote>
<p>Vous êtes arrivé au bout du thread, merci. Si vous voulez sécuriser le réseau entre vos appareils, jetez un œil à 
<a href="https://mycrypnet.io/fr" target="_blank">MyCrypNet</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>SPOILER, une énième faille dans les processeurs Intel</title>
      <link>https://blog.limawi.io/fr-fr/posts/spoiler-une-enieme-faille-dans-les-processeurs-intel/</link>
      <pubDate>Tue, 19 Mar 2019 15:31:33 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/spoiler-une-enieme-faille-dans-les-processeurs-intel/</guid>
      <description>SPOILER, une énième faille dans les processeurs Intel due au système d&#39;exécution spéculative.</description>
      <content:encoded><![CDATA[<p>Des chercheurs d&rsquo;un institut polytechnique américain et d&rsquo;une université allemande ont trouvé une nouvelle faille de sécurité dans les processeurs Intel.</p>
<div class="col-md-12">
<video controls title="SPOILER, une énième faille dans les processeurs Intel" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/spoiler-une-enieme-faille-dans-les-processeurs-intel/videos/spoiler-une-enieme-faille-dans-les-processeurs-intel.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/spoiler-une-enieme-faille-dans-les-processeurs-intel/videos/spoiler-une-enieme-faille-dans-les-processeurs-intel.webm" type="video/webm">
</video>
<p class="text-center" >SPOILER, une énième faille dans les processeurs Intel</p>
<p class="text-center" ><small>SPOILER, une énième faille dans les processeurs Intel due au système d&#39;exécution spéculative.</small></p>
</div>
<p>C&rsquo;est une énième faille dans le système d&rsquo;exécution spéculative.</p>
<p>Intel et d&rsquo;autres concepteurs ont inventé un système qu&rsquo;on appelle l&rsquo;exécution spéculative.
Cela consiste en gros à calculer en avance les données qui seront potentiellement utilisées à l&rsquo;avenir et à les stocker dans un coin
tout à côté du processeur pour qu&rsquo;il puisse y accéder très rapidement ça permet de gagner en performance.</p>
<p>les chercheurs ont trouvé un risque qui pourrait aider les hackers
à considérablement réduire le temps nécessaire pour leurs attaques.</p>
<p>Dans le cas d&rsquo;Intel et pour cette faille, qui est la faille SPOIL,
on a un souci à cette étape là.</p>
<p>En effet, le processeur quand il vérifie ces données spéculatives, ces données calculées en avance,
il ne met pas tout à fait le même temps si ces données sont seules en mémoire ou s&rsquo;il y a d&rsquo;autres données avec elle en mémoire.</p>
<p>Le hacker regarde juste la différence de temps entre ces deux cas et
si il y a une différence de temps ça veut dire qu&rsquo;il y a d&rsquo;autres données dans la mémoire.</p>
<p>Donc c&rsquo;est à dire que c&rsquo;est là qu&rsquo;il faut attaquer.
Ça réduit considérablement le temps car au lieu de devoir attaquer toute la mémoire ils savent les points spécifiques où ils peuvent tirer des données.</p>
<p>Ces données étant potentiellement des mots de passe et d&rsquo;autres informations qui sont censées rester confidentielles.</p>
<p>Intel a répondu qu&rsquo;on pouvait réduire ce type de faille en faisant des applications
qui vérifiaient bien que les données que le processeur leur fournissaient étaient bien celles dont ils avaient besoin.</p>
<h2 id="sources-">Sources :</h2>
<ul>
<li>
<a href="https://www.developpez.com/actu/249846/L-architecture-de-tous-les-CPU-Intel-remise-en-question-apres-la-decouverte-de-SPOILER-une-nouvelle-faille-difficile-a-corriger-par-voie-logicielle/" target="_blank">https://www.developpez.com/actu/249846/L-architecture-de-tous-les-CPU-Intel-remise-en-question-apres-la-decouverte-de-SPOILER-une-nouvelle-faille-difficile-a-corriger-par-voie-logicielle/</a></li>
<li>
<a href="https://www.pcgamer.com/researchers-discover-a-new-spoiler-cpu-flaw-similar-to-spectre-but-intel-isnt-fretting/" target="_blank">https://www.pcgamer.com/researchers-discover-a-new-spoiler-cpu-flaw-similar-to-spectre-but-intel-isnt-fretting/</a></li>
<li>
<a href="https://appleinsider.com/articles/19/03/05/new-spoiler-vulnerability-in-all-intel-core-processors-exposed-by-researchers" target="_blank">https://appleinsider.com/articles/19/03/05/new-spoiler-vulnerability-in-all-intel-core-processors-exposed-by-researchers</a></li>
<li>
<a href="https://www.zdnet.com/article/all-intel-chips-open-to-new-spoiler-non-spectre-attack-dont-expect-a-quick-fix/" target="_blank">https://www.zdnet.com/article/all-intel-chips-open-to-new-spoiler-non-spectre-attack-dont-expect-a-quick-fix/</a></li>
</ul>
<p>La recherche : 
<a href="https://arxiv.org/pdf/1903.00446.pdf" target="_blank">https://arxiv.org/pdf/1903.00446.pdf</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Nouvelle cyberattaque mondiale (DNSpionage)</title>
      <link>https://blog.limawi.io/fr-fr/posts/nouvelle-cyberattaque-mondiale-dnspionage/</link>
      <pubDate>Tue, 19 Mar 2019 15:16:08 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/nouvelle-cyberattaque-mondiale-dnspionage/</guid>
      <description>Qu&#39;est ce que DNSpionage, la dernière cyberattaque ?</description>
      <content:encoded><![CDATA[<p>Une attaque fait les titres des journaux ces temps-ci. DNSpionage.</p>
<div class="col-md-12">
<video controls title="Nouvelle cyberattaque mondiale (DNSpionage)" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/nouvelle-cyberattaque-mondiale-dnspionage/videos/nouvelle-cyberattaque-mondiale-dnspionage.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/nouvelle-cyberattaque-mondiale-dnspionage/videos/nouvelle-cyberattaque-mondiale-dnspionage.webm" type="video/webm">
</video>
<p class="text-center" >Nouvelle cyberattaque mondiale (DNSpionage)</p>
<p class="text-center" ><small>Qu&#39;est ce que DNSpionage, la dernière cyberattaque ?</small></p>
</div>
<p>C&rsquo;est une attaque DNS.</p>
<p>Alors un DNS c&rsquo;est quoi ?</p>
<p>Un DNS est un annuaire qui convertit un nom de domaine qui est lisible par un être humain comme par exemple facebook.com en une adresse ip qui est lisible par une machine,
par un ordinateur.</p>
<p>L&rsquo;attaque consiste à faire croire que le nom de domaine que vous visitez (par exemple facebook.com) correspond bien
aux serveurs de facebook alors qu&rsquo;en réalité ce sont les serveurs d&rsquo;un hacker,
d&rsquo;un attaquant.</p>
<p>Alors, Brian Krebs, un expert en cybersécurité américain,
s&rsquo;est penché sur la question et nous a sorti un rapport.</p>
<p>Au vu de ce rapport les premières attaques datent de février 2017 mais elles se sont amplifiées à partir de décembre 2018.</p>
<p>Elles concernent principalement des acteurs du moyen-orient, des entreprises comme des organismes d&rsquo;état.</p>
<p>Mais les IPs des hackers sont vraisemblement des IPs européennes, allemandes apparemment.</p>
<p>Donc les attaques en question sont des attaques qui concernent les DNS (les serveurs de noms de domaine) et les registrars.</p>
<p>Les registrars ce sont les entreprises qui enregistrent des noms de domaine pour vous et qui les mettent
ensuite publiquement en place.</p>
<p>Par exemple, facebook.com à un registrar qui annonce au monde entier que facebook.com c&rsquo;est telle IP, telle IP et telle IP.</p>
<p>Les attaques ont eu lieu donc sur ces noms de domaine et sur ces registrars.</p>
<p>Alors on entend partout dans les journaux que ce sont des attaques ultra compliquées et tout.</p>
<p>En fait non, c&rsquo;est tout simple, c&rsquo;est le même type d&rsquo;attaques que quand vous laissez traîner
un post-it avec votre mot de passe et que quelqu&rsquo;un accède à votre ordinateur
grâce à ce post-it et ce mot de passe.</p>
<p>En fait les régistrars et les services de noms de domaine n&rsquo;ont pas mis en place de sécurité d&rsquo;accès suffisante</p>
<p>Donc le hacker s&rsquo;est introduit dans les systèmes tout simplement et a changé à sa façon la relation entre les noms de domaine et les IPs correspondantes.
Il a mis ses IPs à lui à la place des IPs officielles.</p>
<p>Alors vous vous ne pouvez pas faire grand chose pour contrer cette attaque.
C&rsquo;est le boulot qui revient au registrar, au service de noms de domaine particulier, et eux doivent essayer de renforcer l&rsquo;authentification
sur ces services là pour éviter qu&rsquo;un hacker pénètre à leur place.</p>
<p>Ils peuvent mettre en place un outil qu&rsquo;on appelle DNSSEC.</p>
<p>Je parlerai dans un futur article de ce dernier.</p>
<h2 id="sources-">Sources :</h2>
<ul>
<li>
<a href="https://krebsonsecurity.com/2019/02/a-deep-dive-on-the-recent-widespread-dns-hijacking-attacks/" target="_blank">https://krebsonsecurity.com/2019/02/a-deep-dive-on-the-recent-widespread-dns-hijacking-attacks/</a></li>
<li>
<a href="https://www.mandiant.com/resources/global-dns-hijacking-campaign-dns-record-manipulation-at-scale" target="_blank">https://www.mandiant.com/resources/global-dns-hijacking-campaign-dns-record-manipulation-at-scale</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Le système de vote électronique suisse est piratable</title>
      <link>https://blog.limawi.io/fr-fr/posts/le-systeme-de-vote-electronique-suisse-est-piratable/</link>
      <pubDate>Tue, 19 Mar 2019 14:58:50 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/le-systeme-de-vote-electronique-suisse-est-piratable/</guid>
      <description>La Suisse a créé un BugBounty pour son système de vote électronique mais, avant même qu&#39;il démarre, des questions se posent.</description>
      <content:encoded><![CDATA[<p>La suisse est en train de mettre en place un système de vote électronique.
Ils ont démarré pour cela un programme de bug bounty.</p>
<div class="col-md-12">
<video controls title="Le système de vote électronique suisse est piratable" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-systeme-de-vote-electronique-suisse-est-piratable/videos/le-systeme-de-vote-electronique-suisse-est-piratable.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/le-systeme-de-vote-electronique-suisse-est-piratable/videos/le-systeme-de-vote-electronique-suisse-est-piratable.webm" type="video/webm">
</video>
<p class="text-center" >Le système de vote électronique suisse est piratable</p>
<p class="text-center" ><small>La Suisse a créé un BugBounty pour son système de vote électronique mais, avant même qu&#39;il démarre, des questions se posent.</small></p>
</div>
<p>Alors qu&rsquo;est ce que c&rsquo;est un bug bounty ?</p>
<p>C&rsquo;est un programme au sein duquel vous pouvez hacker un site ou une infrastructure de façon légale.
À condition de respecter certaines règles, celles qui sont donnés par le bug bounty.</p>
<p>Et si vous trouvez des failles de sécurité vous êtes rémunéré.
Donc la suisse met en place ce système de vote électronique.</p>
<p>Le projet est soutenu par la poste suisse.
Avant même le démarrage du bug bounty, des parties du code source ont fuité sur internet et des experts en cyber sécurité et cryptographie ont donc pu se pencher sur ce code qui a fuité.</p>
<p>Les retours sont mitigés.
Les experts ont vu que la qualité du code n&rsquo;est pas optimale, elle peut être bien meilleur.
Le système est extrêmement complexe, dans le sens compliqué du terme, et c&rsquo;est un peu inquiétant.
Car, pour l&rsquo;instant, beaucoup de projets de vote électronique de par le monde ont échoué dû à la complexité, à la complication et aux failles trouvées tout au long du développement.</p>
<p>Donc ce projet ne part pas sur des bonnes bases.
De plus, la poste suisse a du mal à comprendre le concept de code ouvert.
Elle a mis en place des règles, concernant ce bug bounty, qui empêchent la divulgation de ces failles et la restitution de ces failles dans leur contexte ce qui est contre-productif.
Cela limite énormément la capacité qu&rsquo;ont les experts de pouvoir étudier ces failles et donc s&rsquo;en prémunir et améliorer le système.</p>
<p>De ce point de vue, la poste suisse ne comprend pas la loi de Linus, dont je parlerai plus tard, et du second principe de Kerckhoffs dont j&rsquo;ai déjà parlé dans un épisode
(ce sont des principes fondamentaux pour la cryptographie et pour le bon fonctionnement d&rsquo;un outil d&rsquo;un système informatique).</p>
<p>Donc c&rsquo;est un peu bizarre de la voir danser sur ses deux pieds entre le bon système qu&rsquo;est le bug bounty
et la mauvaise façon de faire qui est de vouloir à tout prix cacher son code et éviter qu&rsquo;ils soit divulgué.</p>
<h2 id="sources-">Sources :</h2>
<ul>
<li>
<a href="https://www.evoting-blog.ch/en/pages/2019/public-hacker-test-on-swiss-post-s-e-voting-system" target="_blank">https://www.evoting-blog.ch/en/pages/2019/public-hacker-test-on-swiss-post-s-e-voting-system</a></li>
<li>
<a href="https://www.vice.com/en/article/vbwz94/experts-find-serious-problems-with-switzerlands-online-voting-system-before-public-penetration-test-even-begins" target="_blank">https://www.vice.com/en/article/vbwz94/experts-find-serious-problems-with-switzerlands-online-voting-system-before-public-penetration-test-even-begins</a></li>
<li>
<a href="https://twitter.com/stephanekoch/status/1099241685392019456" target="_blank">https://twitter.com/stephanekoch/status/1099241685392019456</a></li>
<li>
<a href="https://www.csoonline.com/article/3269297/online-voting-is-impossible-to-secure-so-why-are-some-governments-using-it.html" target="_blank">https://www.csoonline.com/article/3269297/online-voting-is-impossible-to-secure-so-why-are-some-governments-using-it.html</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Une nouvelle arnaque au phishing</title>
      <link>https://blog.limawi.io/fr-fr/posts/une-nouvelle-arnaque-au-phishing/</link>
      <pubDate>Tue, 19 Mar 2019 14:15:02 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/une-nouvelle-arnaque-au-phishing/</guid>
      <description>L&#39;équipe de Myki a découvert un nouveau type de phishing.</description>
      <content:encoded><![CDATA[<p>La semaine dernière une équipe chargée de produire un gestionnaire de mots de passe hors ligne a été confronté à une nouveauté.</p>
<div class="col-md-12">
<video controls title="Une nouvelle arnaque au phishing" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/une-nouvelle-arnaque-au-phishing/videos/une-nouvelle-arnaque-au-phishing.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/une-nouvelle-arnaque-au-phishing/videos/une-nouvelle-arnaque-au-phishing.webm" type="video/webm">
</video>
<p class="text-center" >Une nouvelle arnaque au phishing</p>
<p class="text-center" ><small>L&#39;équipe de Myki a découvert un nouveau type de phishing.</small></p>
</div>
<p>En effet, beaucoup de leurs clients les appelaient aimablement pour leur dire que leur gestionnaire de mots de passe ne fonctionnait pas pour certains sites (aimablement tu parles).</p>
<p>Votre gestionnaire de mots de passe, il fonctionne pas pour ces sites là, c&rsquo;est de la merde</p>
<p>Et donc, ces ingénieurs sont allés voir qu&rsquo;est ce que c&rsquo;était que ces sites là.
Ce qu&rsquo;ils ont trouvé est effectivement nouveau.</p>
<p>Regardez cette page, vous voyez le pop-up du social login de facebook.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/une-nouvelle-arnaque-au-phishing/images/pop-up-du-social-login-de-facebook.png" class="figure-img img-fluid rounded" alt="Attaque sur popup Facebook">
  <figcaption class="figure-caption"><p>Pop-up du social login de Facebook</p>
    <small>Attaque sur popup Facebook</small>
  </figcaption>
</figure>

<p>C&rsquo;est à dire que les gens quand ils veulent se loguer au site qui est derrière,
ils rentrent leur login et leur mot de passe dans ce pop-up de Facebook et ça les loggent avec leur compte facebook sur ce site.</p>
<p>Ouais mais là c&rsquo;est pas tout à fait le cas.</p>
<p>Vous avez repéré ?</p>
<p>C&rsquo;est pas le pop-up de Facebook.</p>
<p>Ces infos pop-up, c&rsquo;est en fait un cadre au sein du site qui imite le pop-up de Facebook mais c&rsquo;est au sein du site.</p>
<p>C&rsquo;est à dire que si les gens mettent leur login et leur mot de passe Facebook là dedans c&rsquo;est le site qui récupère ces mots de passe Facebook.</p>
<p>Et donc des pirates fabriquent des faux sites avec ça pour récupérer login et mot de passe des gens.</p>
<h2 id="alors-comment-sen-protéger-">Alors comment s&rsquo;en protéger ?</h2>
<p>Et bien, quand vous avez un pop-up Facebook comme ça,
essayez de la déplacer dans la fenêtre.</p>
<p>Si vous n&rsquo;arrivez pas la sortir de la fenêtre
c&rsquo;est que c&rsquo;est un élément de la page.
Et donc c&rsquo;est pas un pop-up facebook.</p>
<p>Ne rentrez pas votre login et votre mot de passe là-dedans.</p>
<h2 id="sources-">Sources :</h2>
<ul>
<li>Article de Myki : 
<a href="https://myki.com/blog/facebook-login-phishing-campaign/" target="_blank">https://myki.com/blog/facebook-login-phishing-campaign/</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Un exemple de Brute force</title>
      <link>https://blog.limawi.io/fr-fr/posts/un-exemple-de-brute-force/</link>
      <pubDate>Thu, 14 Mar 2019 14:17:48 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/un-exemple-de-brute-force/</guid>
      <description>Voici un modèle d&#39;attaque par force brute. Vous pouvez voir son évolution sur Twitter.</description>
      <content:encoded><![CDATA[<p>Le modèle utilisé dans les tweets disponibles ici est le 
<a href="https://twitter.com/search?q=%40Kookati_fr%20AND%20%23Bruteforce&amp;src=typed_query" target="_blank">suivant</a>.</p>
<h2 id="les-algorithmes-testés">Les algorithmes testés</h2>
<h3 id="aes-256">AES-256</h3>
<p>C’est le standard actuel pour la cryptographie symétrique. AES est l’acronyme de « Advanced Encryption Standard ».
Il existe sous 3 variantes, 128, 192 et 256 bits.</p>
<p>Le nombre de combinaisons à tester est donc de</p>
<p>$$
2^{256}
$$</p>
<p>Si vous faites un petit calcul, vous comprenez que la barre de progression restera proche de 0 pendant un certain temps (si on peut qualifier ce temps comme ça).</p>
<h3 id="un-algorithme-sur-mesure">Un algorithme sur mesure</h3>
<p>Le deuxième algorithme est un algorithme imaginaire qui fait 93 bits. C’est la bonne longueur pour voir une progression significative de l’attaque.</p>
<p>Le nombre de combinaisons à tester est donc de</p>
<p>$$
2^{93}
$$</p>
<p>Cet algorithme permet de voir la barre de progression évoluer et arriver à son terme dans un délai raisonnable.</p>
<h2 id="la-puissance-de-calcul-employée">La puissance de calcul employée</h2>
<p>Les premiers 27 supercalculateurs du monde de novembre 2018, tirés du top500.</p>
<p>Pourquoi 27 ? Parce que le 28 et 29ème sont étrangement similaires et je n’ai pour l’instant pas la réponse
sur le fait de savoir si c’est une erreur ou si ils existent réellement en 2 copies conformes. 
<a href="https://twitter.com/Limawi_en/status/1105768032239054848" target="_blank">J’espère une réponse</a>.</p>
<p>Cela fait une puissance de calcul de</p>
<p>$$
1.001246 \times 10^{18} \text{ flops}
$$</p>
<p>(un peu plus d’un exaflop).</p>
<h2 id="lattaque-menée">L’attaque menée</h2>
<p>L’attaque est une brute force pure. Il n’y a pas de tentatives de réductions, de canaux auxiliaires, etc.…</p>
<p>On essaie toutes les combinaisons. Simplement, stupidement.</p>
<p>On considère que c’est un succès quand 50 % des tests sont effectués (50 % de la barre de chargement).</p>
<h2 id="le-point-de-départ">Le point de départ</h2>
<p>L’attaque a commencé le premier janvier 2019 à 00:00 UTC (timestamp UNIX : 1546300800).</p>
<p>Sources :</p>
<ul>
<li>
<a href="https://www.top500.org/" target="_blank">https://www.top500.org/</a></li>
<li>
<a href="https://www.top500.org/lists/2018/11/" target="_blank">https://www.top500.org/lists/2018/11/</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>La chaîne d&#39;authentification</title>
      <link>https://blog.limawi.io/fr-fr/posts/la-chaine-dauthentification/</link>
      <pubDate>Tue, 12 Mar 2019 18:00:45 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/la-chaine-dauthentification/</guid>
      <description>Vous connecter à un service, un système, un site web est un processus un peu plus complexe qu&#39;on peut le penser.</description>
      <content:encoded><![CDATA[<p>Cette série d’articles expose simplement les processus et les bonnes pratiques pour se connecter.</p>
<h2 id="étape-1-la-base">Étape 1, la base</h2>
<p>On commence par le début, donc. La toute première étape est le mot de passe, la méthode d’authentification la plus courante.</p>
<p>Qu’est ce qu’un bon mot de passe, comment gérer au mieux la multitude de mots de passe.</p>
<blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/tout-sur-un-bon-mot-de-passe/">Tout sur un bon mot de passe</a></p>
</blockquote>
<p>Pour les développeurs, cet article explique comment gérer l’authentification par mot de passe sur votre système.
Attention, les indications de cet article sont valables pour le premier trimestre 2019.
Si vous regardez cet article en 2038 (ben bonjour aux transdimensionnels déjà,
ou « −··· −−− −· ·−−− −−− ··− ·−· ·−−·− ·−·· ·−−−−· ·· −· − · −· − ·· −−− −· −·· · ·−·· ·− −−· ·−· −−− ··· ··· · ···− −−− ·· −··−  » dans votre langue),
les indications seront peut-être (sûrement) obsolètes.</p>
<blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/implementations-de-la-phrase-de-passe/">Implémentations de la phrase de passe</a></p>
</blockquote>
<h2 id="étape-2-on-renforce">Étape 2, on renforce</h2>
<p>Une fois le mot de passe au point (donc plus de « 1234567890 »), on passe à la deuxième étape (qui porte bien son nom).</p>
<p>La double authentification relève du principe « Quelque chose qu’on sait, quelque chose qu’on a ».</p>
<blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/tout-sur-la-double-authentification/">Tout sur la double authentification</a></p>
</blockquote>
<h2 id="étape-3-on-distribue-lauthentification">Étape 3, on distribue l’authentification</h2>
<p>Une fois authentifié sur un système, pourquoi le refaire sur d’autres. C’est sensible à l’erreur et pas très agréable.</p>
<p>Il existe une solution qui permet de distribuer son authentification en toute sécurité.
Avec cette solution, on s’authentifie à un service et les autres services,
systèmes, sites web qu’on utilise peuvent reconnaître notre identité et nous authentifier à notre demande sans repasser par les deux premières étapes.</p>
<blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/les-social-logins-comment-ca-marche/">Les social logins, comment ça marche ?</a></p>
</blockquote>
<h2 id="étape-4-on-contrôle-laccès">Étape 4, on contrôle l’accès</h2>
<p>Une fois authentifié, on n’a pas accès à toutes les ressources fournies par les services non plus.
Il y a des règles pour sélectionner ce à quoi on a accès et ce qui nous est refusé.
Les utilisateurs d’un service sont organisés selon des groupes ou rôles.
Ce que sur les réseaux sociaux on appelle tribu, clan, horde, communauté, comité, section, commission, (·−−· −−− ·−·· −·−− ·−−· ···· −−− −· ·· · ··· pour les transdimensionnels)&hellip;</p>
<blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/cest-quoi-une-commu-groupes-et-roles/">C’est quoi une commu ? Groupes et rôles</a></p>
</blockquote>
<p>Voilà. Bien sûr, c’est une base. Il existe de multiples variantes et cas particuliers.</p>]]></content:encoded>
    </item>
    <item>
      <title>C&#39;est quoi une commu ? Groupes et rôles</title>
      <link>https://blog.limawi.io/fr-fr/posts/cest-quoi-une-commu-groupes-et-roles/</link>
      <pubDate>Tue, 19 Feb 2019 16:00:48 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/cest-quoi-une-commu-groupes-et-roles/</guid>
      <description>Comment faire pour gérer correctement ce que vous pouvez faire sur le service avec ce que d&#39;autres utilisateurs peuvent (ou pas) faire sur ce service ?</description>
      <content:encoded><![CDATA[<p>Une fois connecté à un service, vous n’êtes pas nécessairement le seul utilisateur du moment.
Comment faire pour gérer correctement ce que vous pouvez faire sur le service avec ce que d’autres utilisateurs peuvent (ou pas) faire sur ce service ?</p>
<p>Le service implémente un contrôle d’accès. Le plus fréquemment, il implémente un contrôle d’accès de groupe ou de rôle. Pour un réseau social, il y a en plus le contrôle d’accès par relations.</p>
<h2 id="le-contrôle-daccès-de-groupe-group-based-access-control">Le contrôle d’accès de groupe (group based access control)</h2>
<p>C’est la tribu.</p>
<p>Ce contrôle d’accès est un regroupement d’utilisateurs qui ont accès à un certain nombre de ressources.</p>
<p>Ce regroupement défini des permissions (des droits) sur l’usage des ressources. Les utilisateurs de ce groupe héritent chacun de ces permissions.</p>
<h2 id="le-contrôle-daccès-de-rôle-role-based-access-control">Le contrôle d’accès de rôle (role based access control)</h2>
<p>C’est le chef de tribu, le shaman…</p>
<p>Ce contrôle d’accès définit des permissions (des droits) qui rassemblées toutes ensemble sont données à un utilisateur spécifique.</p>
<p>Généralement, il y a un rôle d’Administrateur qui a tous les droits. Tous les autres rôles sont consentis aux utilisateurs par cet Administrateur. Un utilisateur ne peut pas se donner lui-même un rôle.</p>
<p>Les rôles peuvent être organisés en hiérarchie. Le rôle au dessus englobe toutes les permissions du rôle au dessous et en possède d’autres.</p>
<h2 id="la-différence-et-la-relation-entre-les-deux">La différence et la relation entre les deux</h2>
<p>Quand on compare ces deux types de contrôle d’accès, il peut y avoir des difficultés à les distinguer. Suivant les systèmes, la distinction n’est pas forcément faite.</p>
<p>Mais pour clarifier les choses, je vais tenter d’opérer cette distinction.</p>
<p>Les groupes sont généralement utilisés pour classer les ressources et les utilisateurs. Ils gèrent l’identité. Tel utilisateur appartient à tel ou/et tel groupe.</p>
<p>Les rôles sont généralement utilisés pour gérer les permissions, les droits. Ils gèrent l’activité. Tel utilisateur peut faire ça car il a tel rôle.</p>
<p>Les groupes et les rôles sont liés car complémentaires.
Le groupe sert à définir le domaine de compétences du rôle, c’est à dire les utilisateurs et les ressources sur lesquelles le rôle peut agir.
Mais un rôle peut être présent sur plusieurs groupes.</p>
<p>Par exemple :</p>
<p><strong>Facebook</strong></p>
<p>Vous pouvez être membre du « <em>groupe des admirateurs de la framboise</em> » et aimer la « <em>page des admirateurs de la mûre</em> ».
Du point de vue du contrôle d’accès vous êtes membre de deux groupes.</p>
<p>Au sein du « <em>groupe des admirateurs de la framboise</em> » vous êtes un membre et au sein de la « <em>page des admirateurs de la mûre</em> » vous êtes modérateur. Ce sont vos rôles.</p>
<p>Comme vous le voyez, vos rôles sont délimités par les groupes. Vous êtes modérateur de la « <em>page des admirateurs de la mûre</em> », pas d’autre chose.
Mais, il peut y avoir un modérateur du « <em>groupe des admirateurs de la framboise</em> » qui a les mêmes permissions sur ce groupe que vous sur la page.
Donc, le rôle peut être présent sur plusieurs groupes.</p>
<p>De même, l’appartenance au groupe vous donne des permissions par défaut.
En tant que simple membre du « <em>groupe des admirateurs de la framboise</em> » vous avez accès aux publications de ce groupe. Vous n’y avez pas accès si vous n’êtes pas membre.</p>
<p><strong>Un ordinateur</strong></p>
<p>La séparation entre groupe et rôle est ténue (particulièrement sur UNIX).
Mais, on peut définir l’ordinateur comme étant lui-même le groupe et les comptes utilisateurs sur cet ordinateur ont des rôles (généralement un est l’administrateur, rôle présent sur tous les ordinateurs).</p>
<p><strong>
<a href="https://mycrypnet.io/fr/" target="_blank">MyCrypNet</a></strong></p>
<p>Un groupe peut être défini :</p>
<ul>
<li>Le regroupement de tous les accès MyCrypNet d’un utilisateur ;</li>
<li>Cet utilisateur ;</li>
<li>Les autres utilisateurs à qui il a délégué des accès.</li>
</ul>
<p>Deux rôles peuvent être définis :</p>
<ul>
<li>L’utilisateur qui est le propriétaire des accès MyCrypNet tient le rôle d’administrateur ;</li>
<li>Les utilisateurs délégués forment un deuxième rôle (même si celui-ci peut être redéfini en terme de contrôle d’accès par aptitude).</li>
</ul>
<h2 id="contrôle-daccès-par-relation-relation-based-access-control">Contrôle d’accès par relation (relation based access control)</h2>
<p>Ce sont vos amis ou contacts sur les réseaux sociaux.</p>
<p>L’existence de la relation entre vous et un de vos « <em>amis</em> » donne des permissions à vous et cet « <em>ami</em> » sur la gestion des ressources de l’un et de l’autre.</p>
<p>La relation gère les permissions.
Ces permissions peuvent être symétriques (l’« <em>ami</em> » a autant de droits que vous) ou asymétrique (l’« <em>ami</em> » a moins de permissions que vous, c’est dans ce cas plus une relation de « <em>fan</em> » ou hiérarchique).</p>
<h2 id="contrôle-daccès-par-aptitude-capability-based-access-control">Contrôle d’accès par aptitude (capability based access control)</h2>
<p>Ce type de contrôle d’accès permet une gestion plus fine des permissions.</p>
<p>Les permissions sont attachées à une ressource (un objet) et non un groupe de ressources (comme dans les contrôles d’accès par groupe ou rôle). L’ensemble objet-permissions forme une aptitude.</p>
<p>Si un utilisateur possède l’aptitude correspondante, il peut accéder à l’objet avec les permissions définies.</p>
<p>Cela permet une gestion des permissions beaucoup plus fine car elle est faite ressource par ressource (objet par objet).</p>
<p>Ce contrôle d’accès est utilisé par 
<a href="https://blog.limawi.io/fr-fr/posts/les-social-logins-comment-ca-marche">Oauth2</a> (le mécanisme utilisé pour le social login) pour la gestion des permissions.
Par exemple, quand vous utilisez le social login Facebook sur un site, Facebook vous prévient que le site voudrait accéder à votre email, votre liste d’amis ou autres.</p>
<p>C’est l’aptitude que vous déléguez ou non (ou en partie) au site sur la ressource Facebook (qui est dans ce cas votre profil).</p>
<p>Chez 
<a href="https://mycrypnet.io/fr/" target="_blank">MyCrypNet</a>, chaque accès MyCrypNet a un certain nombre de permissions associées créées par l’administrateur de l’accès MyCrypNet.
L’administrateur délègue alors l’aptitude à un utilisateur.
L’utilisateur peut donc gérer l’accès avec les permissions que l’administrateur a défini.</p>
<p>Il y a encore d’autres types de contrôle d’accès que j’évoquerai dans un futur article.</p>]]></content:encoded>
    </item>
    <item>
      <title>Les social logins, comment ça marche ?</title>
      <link>https://blog.limawi.io/fr-fr/posts/les-social-logins-comment-ca-marche/</link>
      <pubDate>Tue, 12 Feb 2019 16:00:12 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/les-social-logins-comment-ca-marche/</guid>
      <description>Facebook, Google et d&#39;autres vous proposent de vous authentifier sur d&#39;autres sites à travers eux. Comment ça fonctionne et quels sont les risques ?</description>
      <content:encoded><![CDATA[<h2 id="comment-ça-fonctionne">Comment ça fonctionne ?</h2>
<p>Le protocole de base sur lequel tout repose est Oauth2. On va donc commencer par lui.</p>
<h3 id="oauth2">Oauth2</h3>
<p>Si il y a un 2, ça veut dire que c’est la deuxième version.</p>
<p>La première version, Oauth, présente de multiples failles de sécurité. Ne l’utilisez jamais.</p>
<p>Oauth2 est le protocole qui gère l’autorisation. Il permet à un appareil d’accéder à des ressources, des données présentes sur un serveur.</p>
<p>Pour ça, il utilise des <em>scopes</em>. Ce sont des paramètres qui demandent l’accès à telle ou telle ressource.</p>
<p>Par exemple : le <em>scope</em> « profile » demande l’accès aux informations du profil de l’utilisateur.</p>
<p>Le serveur renvoie un <em>claim</em>. C’est une représentation des données demandées.</p>
<p>Donc pour le <em>scope</em> « profile », on a le <em>claim</em> :</p>
<pre><code>{
  name: Alice le Lapin,
  firstname: Alice,
  lastname: le Lapin
}
</code></pre>
<p>Ce protocole peut gèrer différentes méthodes permettant l’autorisation mais dans le cas du social login, une seule nous intéresse.</p>
<h3 id="octroi-dun-code-dautorisation-authorization-code-grant">Octroi d’un code d’autorisation (authorization code grant)</h3>
<p>Cette méthode d’authentification permet à un service d’autoriser la connexion d’un utilisateur sans son mot de passe mais en faisant confiance à un serveur d’autorisation.</p>
<p>Voici le fonctionnement :</p>
<ul>
<li>l’utilisateur veut se connecter à un service</li>
<li>le service redirige l’utilisateur vers la page d’accès du serveur d’autorisation</li>
<li>l’utilisateur se connecte au serveur d’autorisation si ce n’est pas déjà le cas (il utilise son mot de passe à ce moment-là sur le serveur d’autorisation)</li>
<li>le serveur d’autorisation présente à l’utilisateur le panneau lui demandant confirmation s’il veut réellement se connecter au service</li>
<li>l’utilisateur confirme</li>
<li>le serveur redirige alors l’utilisateur vers le service avec un code d’autorisation</li>
<li>le service utilise le code d’autorisation reçu pour demander un code (<em>token</em>) d’accès au serveur d’autorisation</li>
<li>le serveur d’autorisation accepte la connexion du service pour l’utilisateur</li>
<li>l’utilisateur est connecté au service</li>
</ul>
<p>Comme vous le voyez, l’utilisateur n’a jamais mis son mot de passe dans le service. Le stockage des mots de passe est réalisé uniquement sur le serveur d’autorisation.</p>
<h2 id="openid-connect">OpenID Connect</h2>
<p>Cette extension de Oauth2 est gérée par la fondation OpenID. Cette fondation gère aussi l’OpenID original qui a son propre fonctionnement.</p>
<p>Cette extension gère l’authentification (l’identité). Elle se sert du serveur d’autorisation comme serveur d’authentification.</p>
<p>En s’appuyant sur le fonctionnement de l’ « <em>Authorization code grant</em> »,
elle vérifie l’identité de l’utilisateur auprès du serveur grâce aux informations renvoyées par celui-ci (un identifiant unique, généralement l’email même si le mieux serait un UUID).</p>
<p>De plus, cette extension a des options :</p>
<ul>
<li>Le point d’accès UserInfo fourni par le serveur d’authentification : permet de récupérer dynamiquement des informations du profil utilisateur ;</li>
<li>Le point d’accès Session fourni par le serveur d’authentification : permet de vérifier la session, pour synchroniser les sessions par exemple,
faire en sorte que la session de l’utilisateur sur le service se termine en même temps que celle sur le serveur ;</li>
<li>Un flux de déconnexion qui permet de déconnecter l’utilisateur de tous les services quand il se déconnecte du serveur d’authentification ;</li>
<li>Un flux de connexion implicite appelé « <em>Single Sign On</em> » qui permet à l’utilisateur de se connecter à un service de façon transparente.
Le service et le serveur semblent unifiés dans une seule et même application. Chez 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a> nous avons mis en place un tel système en interne pour le Blog.</li>
</ul>
<h3 id="les-avantages">Les avantages</h3>
<p>Ce système permet de lier des services entre eux sans utiliser de mots de passe pour chacun de ce services (ce qui augmente la sécurité).</p>
<p>De même, cela permet la synchronisation d’informations (données) entre les services en ayant un silo d’informations (un endroit où elles sont stockées) qui fait référence.
Cela réduit les conflits d’informations, quand c’est bien fait.</p>
<h3 id="les-risques">Les risques</h3>
<p>Utiliser un tel système requiert d’avoir toute confiance dans le fournisseur d’autorisation.
Ce dernier peut avoir accès aux informations au sein des services qui lui sont liés, car il peut se faire passer pour l’utilisateur et obtenir un code d’autorisation à la place de celui-ci.</p>
<p>La synchronisation des identités et des objets (données) n’est pas toujours bien réalisée.
On peut se retrouver avec plusieurs comptes sur un même service simplement parce qu’on a changé son email sur le serveur d’autorisation.
Le service basé sur l’email ne retrouve plus le compte antérieur et il en crée un nouveau.</p>
<p>La déconnexion n’est souvent pas implémentée.
Les grands fournisseurs de social login ayant un fonctionnement de session permanente, beaucoup de services n’implémentent pas de vérification de déconnexion.
On peut se retrouver avec des services ouverts (l’utilisateur est connecté) alors que le serveur d’authentification est fermé (l’utilisateur s’est déconnecté de Facebook, Google).</p>
<p>Si le serveur d’autorisation est attaqué, corrompu, fragilisé, tous vos services liés sont fragilisés.</p>
<h3 id="les-attaques">Les attaques</h3>
<h4 id="clickjacking-détournement-de-clic">Clickjacking (détournement de clic)</h4>
<p>Un hacker peut créer un service malicieux où il charge le serveur d’autorisation dans une <em>iframe</em> transparente.</p>
<p>Pour simplifier, imaginez que votre serveur d’authentification soit un smartphone.</p>
<p>Vous cliquez sur le bouton au milieu de l’écran de votre smartphone pour accepter le service.</p>
<p>Dans le clickjacking, le hacker a glissé une feuille transparente sur l’écran de votre smartphone et quand vous cliquez sur le bouton,
vous cliquez en fait sur la feuille, et vous avez accepté sans le savoir l’accès du service malicieux à vos données.</p>
<p>Pour les développeurs, pensez à implémenter le header « X-Frame-Options » et contraignez-le au maximum (« <em>SameOrigin</em> » par exemple) et/ou des framebusting en javascript.</p>
<h4 id="cross-site-request-forgery-falsification-de-requête-entre-sites">Cross-site request forgery (falsification de requête entre sites)</h4>
<p>Un hacker peut faire en sorte que l’utilisateur clique sur un bouton d’autorisation du serveur qui redirige,
non pas vers le service que le client souhaite, mais vers le service malicieux du hacker.
Le service malicieux récupère le code d’autorisation et redirige l’utilisateur vers le bon service.</p>
<p>L’utilisateur n’a rien vu mais le service malicieux possède le token d’autorisation et donc celui d’accès.</p>
<p>Pour les développeurs, forcez les services à utiliser une url de redirection fixée à l’avance.</p>
<p>Il y a d’autres CSRF (contraction de l’attaque) possibles, j’irai plus en détails dans un futur article.</p>
<h4 id="confused-deputy-problem-problème-du-délégué-confus">Confused deputy problem (problème du délégué confus)</h4>
<p>C’est le problème qui arrive avec les services qui ne vérifient pas correctement l’identité de l’utilisateur qui utilise le serveur d’autorisation.</p>
<p>Un utilisateur malicieux peut se connecter sur le serveur d’autorisation et faire croire au service
que c’est un autre en manipulant l’information que le service utilise pour identifier l’utilisateur.</p>
<p>Si le service n’a pas pris une information fiable pour identifier correctement l’utilisateur, il est trompé et ouvre l’accès au mauvais compte.</p>
<p>Par exemple :</p>
<p>Un service utilise un serveur d’autorisation qui donne un UUID et un nom.</p>
<p>Le serveur d’autorisation a deux comptes :</p>
<ul>
<li>Alice avec UUID : 46d07175-dbf2-46e2-80fc-c6493e481479</li>
<li>Oscar avec UUID : 362b862b-51b3-41f4-82c7-82eb677a9aa4</li>
</ul>
<p>Le serveur d’autorisation fournit les UUID comme identifiants uniques et s’attend à ce que le service s’en serve.</p>
<p>Mais non, le service choisit d’utiliser le nom comme identifiant unique.</p>
<p>Oscar change donc son nom pour Alice (ce qui est autorisé par le serveur puisque, pour lui, l’identifiant unique est le UUID).</p>
<p>Maintenant, quand Oscar se connecte sur le service il accède directement au compte d’Alice (puisque, pour le service, l’identifiant unique est le nom).</p>
<p>Pour les développeurs, veillez à choisir vraiment un identifiant unique. Les UUID sont faits pour ça.
Ils ne transportent pas d’information utilisateur donc ça n’empêche pas un utilisateur de changer toutes les informations qu’il souhaite (même son email).</p>]]></content:encoded>
    </item>
    <item>
      <title>Lee dit... épisode 7 : La corbeille et la suppression</title>
      <link>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/</link>
      <pubDate>Wed, 06 Feb 2019 12:28:22 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/</guid>
      <description>Lee, Alice et Bob commencent à se rapprocher de l&#39;archipel. Comment Lee va empécher le navigateur de retrouver le trajet ?</description>
      <media:title>Lee dit... épisode 7 : La corbeille et la suppression</media:title>
      <media:description>Lee, Alice et Bob commencent à se rapprocher de l&#39;archipel. Comment Lee va empécher le navigateur de retrouver le trajet ?</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/videos/lee-dit-episode-7-la-corbeille-et-la-suppression.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infosec, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/images/cover.png" />
      <media:category>Lee dit...</media:category>
    </item>
    <item>
      <title>Tout sur la double authentification</title>
      <link>https://blog.limawi.io/fr-fr/posts/tout-sur-la-double-authentification/</link>
      <pubDate>Tue, 05 Feb 2019 16:00:36 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/tout-sur-la-double-authentification/</guid>
      <description>La double authentification renforce l&#39;authentification en ajoutant une étape supplémentaire. Mais, plus en détail, c&#39;est quoi ?</description>
      <content:encoded><![CDATA[<h2 id="le-principe">Le principe</h2>
<p>L’idée avec la double authentification est de faire en sorte que l’utilisateur s’identifie
en utilisant deux techniques qui ont très peu de risque d’être piratées en même temps.</p>
<p>La maxime à retenir est :</p>
<p>« Quelque chose qu’on sait, quelque chose qu’on a. »</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.vtt" default>
</video>
</div>
<p>Concrètement, cela passe souvent par un mot de passe (« quelque chose qu’on sait »)
et un élément impliquant un appareil physique (un message sur un smartphone par exemple, « quelque chose qu’on a »).</p>
<p>La double authentification est une méthode parmi un ensemble de méthodes plus large, l’authentification multiple.</p>
<h2 id="authentification-multiple">Authentification multiple</h2>
<p>Quand vous regardez un film d’espionnage avec une base secrète vous avez parfois le héros ou l’ennemi qui passe son œil devant un iris,
tape un message sur un clavier, pose sa main sur une tablette, crache de la sal… avant d’ouvrir la porte de la base.
C’est ça l’authentification multiple.</p>
<p>Vous pouvez faire, ou avoir affaire à, une chaîne d’authentification,
c’est à dire que plusieurs étapes d’authentification sont nécessaires et,
quand l’une d’entre elle est refusée, l’authentification est arrêtée.</p>
<p>Dans certains cas réels particuliers où la sécurité est renforcée, on dépasse deux étapes.
Mais la plupart du temps, on se contente de deux étapes.</p>
<h2 id="les-façons-de-faire-ou-pas">Les façons de faire (ou pas)</h2>
<h3 id="sms">SMS</h3>
<p>La double authentification la plus fréquente est faite par SMS.</p>
<p>C’est la plus mauvaise méthode car elle est facilement piratable. Si le hackeur a un peu de moyens il peut pénétrer le SS7.</p>
<p>Le SS7 est la couche réseau qui gère l’acheminement des SMS. Cette couche a été conçue dans les années 70 et est donc obsolète depuis longtemps,
les standards de sécurité ayant considérablement évolué et des attaques ont eu déjà lieu
(voir l&rsquo;article de 
<a href="https://www.nextinpact.com/news/104214-ss7-apres-interceptions-sms-securite-reseaux-mobiles-en-question.htm" target="_blank">NextImpact</a>).</p>
<p>Cette méthode est aussi contraignante quand vous êtes en zone blanche, sans couverture téléphonique.</p>
<h3 id="push">PUSH</h3>
<p>Une autre méthode mise en place par certains services est un push.
Cette méthode consiste à faire apparaître sur votre smartphone un message demandant votre validation.
Ce message est envoyé (poussé d’où « push » en anglais) par le service sur votre smartphone.</p>
<p>Cette technique nécessite que le smartphone soit connecté sur Internet ce qui peut fragiliser
le système car cela offre des capacités d’interception aux hackeurs.</p>
<h3 id="hotptotp">HOTP/TOTP</h3>
<p>La deuxième méthode la plus répandue (et utilisée chez 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a>)
est la méthode HOTP/TOTP (HMAC based One Time Password, Time based One Time Password).</p>
<p>HOTP, en français « mot de passe unique basé sur un HMAC »,
est une méthode qui consiste à générer un mot de passe unique basé sur un HMAC
(c’est un élément cryptographique qu’on expliquera dans un futur article) qui dispose d’un compteur.</p>
<p>L’utilisateur installe une application sur son smartphone qui génère un message (un token) de 6 caractères à la demande.
Ces caractères sont générés grâce à une graine présente sur le compte de l’utilisateur dans le service web
et dans l’application elle-même et un compteur qui s’incrémente (qui augmente) de la même façon sur le service web et dans l’application.</p>
<p>Quand l’utilisateur saisit le token issu du calcul généré par l’application dans le service web,
ce dernier compare avec le token qu’il a lui-même généré,
de son côté, avec le même calcul, et si les tokens sont semblables, cette authentification est bonne.
Le service web sait que c’est l’application sur le smartphone de l’utilisateur car c’est le seul appareil qui dispose de la graine de l’utilisateur.</p>
<p>Cette graine est transférée du service web à l’utilisateur, généralement, grâce à un QRCode.</p>
<p>TOTP, en français « mot de passe unique basé sur le temps », est une extension de HOTP où le HMAC est généré à partir de la graine et du temps
(un intervalle de temps de plus ou moins 30 secondes). Cette méthode est beaucoup plus utilisée que HOTP.</p>
<p>Je vous conseille l’application FreeOTP pour générer vos tokens sur un smartphone ou d’autres appareils :</p>
<ul>
<li>Sur 
<a href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp" target="_blank">Android</a>
et 
<a href="https://f-droid.org/en/packages/org.fedorahosted.freeotp/" target="_blank">F-droid</a></li>
<li>Sur 
<a href="https://itunes.apple.com/us/app/freeotp-authenticator/id872559395?mt=8" target="_blank">IOS</a></li>
<li>Le 
<a href="https://github.com/freeotp" target="_blank">code source</a></li>
</ul>
<p>Ces techniques ne nécessitent pas que votre appareil soit connecté sur Internet ni au réseau SMS téléphone.
Les hackeurs ne peuvent pas intercepter de message, parce qu’il n’y a pas de message.</p>
<h3 id="matériel">Matériel</h3>
<p>Enfin, la méthode la plus sûre d’authentification est d’avoir un matériel dédié.
À l’étape d’installation, le matériel est lié à votre compte sur un service web.
Grâce à une reconnaissance cryptographique (le matériel contient une clé asymétrique dont on parlera dans un futur article),
le service web l’accepte comme « quelque chose que vous avez » dans cette étape d’authentification.</p>
<p>L’inconvénient c’est que cela vous fait un objet en plus à ne pas perdre !</p>
<p>Certaines banques distribuent aussi un matériel à lier avec votre carte bancaire mais le fonctionnement est basé sur TOTP.</p>
<h3 id="codes-de-récupération">Codes de récupération</h3>
<p>Cette méthode n’est pas, à proprement parler, « Quelque chose que vous avez ».
C’est la meilleure méthode de secours si vous avez perdu, ou vous êtes fait volé, votre matériel ou votre smartphone.
C’est une liste de tokens à usage unique que vous pouvez utiliser à la place de votre matériel.</p>
<p>Cachez cette liste dans un endroit sûr, ultra sûr, et ne vous en servez qu’en extrême nécessité.</p>
<h2 id="à-lattaque">À l’attaque !!!</h2>
<p>Bien sûr, ces solutions ne sont pas parfaites et peuvent être attaquées.</p>
<h3 id="ingénierie-sociale">Ingénierie sociale</h3>
<p>Dans le cas des SMS, des attaques d’ingénierie sociale ont déjà été mises en œuvre.
Par exemple, le cas de 
<a href="https://www.youtube.com/watch?v=kHI90LbBwaQ" target="_blank">DeRay McKesson</a>.</p>
<p>Dans la double authentification par SMS,
les hackeurs se font passer pour le possesseur du smartphone auprès de l’opérateur téléphonique et demandent un changement de carte SIM.
Leur carte SIM est activée, à la place de celle de la victime, et ils reçoivent tous ses SMS.</p>
<h3 id="proxy">Proxy</h3>
<p>L’interception par proxy est possible aussi.
Celle de l’interception du SMS en créant un faux réseau téléphonique à proximité de la victime
(voir l&rsquo;article de 
<a href="https://www.nextinpact.com/news/104214-ss7-apres-interceptions-sms-securite-reseaux-mobiles-en-question.htm" target="_blank">NextImpact</a>),
ou plus simplement, un faux site qui se fait passer pour un vrai et qui intercepte toutes les informations envoyées par l’utilisateur (dont le token d’authentification).
C’est une attaque homographique sur les noms de domaines internationalisés, ou plus simplement du typosquatting.</p>
<p>Cette méthode peut être contrée avec l’authentification matérielle ou en vérifiant bien le nom de domaine du site web.</p>
<p>Par exemple :</p>
<p>Si vous voulez aller sur « douce-framboise.com », vérifiez que ce n’est pas « douce-framb0ise.com ».</p>
<h3 id="méthodes-de-connexions-oubliées">Méthodes de connexions oubliées</h3>
<p>Parfois, et cela s’adresse aux mainteneurs de service web, on oublie que la page de connexion n’est pas la seule méthode pour accéder à son compte.</p>
<p>Par exemple, certains services web ne mettent pas de double authentification lors de la récupération d’un mot de passe via un email avec un lien unique.</p>
<p>Un autre exemple, quand vous enregistrez un service externe via une API (comme l’authentification Google ou Facebook par exemple),
vous passez par le protocole Oauth2 et parfois la double authentification n’est pas demandée.</p>
<p>Pensez à toutes les méthodes d’accès aux données de vos utilisateurs et optez pour la double authentification, partout.</p>]]></content:encoded>
    </item>
    <item>
      <title>Implémentations de la phrase de passe</title>
      <link>https://blog.limawi.io/fr-fr/posts/implementations-de-la-phrase-de-passe/</link>
      <pubDate>Fri, 01 Feb 2019 16:21:35 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/implementations-de-la-phrase-de-passe/</guid>
      <description>Vous gérez un service web, un site web, un logiciel et vous voulez implémenter une gestion de mots de passe pour vos sessions utilisateurs ?</description>
      <content:encoded><![CDATA[<p>Lisez d’abord cet article sur 
<a href="https://blog.limawi.io/fr-fr/posts/tout-sur-un-bon-mot-de-passe/">ce qu’est un bon mot de passe</a> puis continuez la lecture de celui-ci.</p>
<h2 id="règles-de-mot-de-passe">Règles de mot de passe</h2>
<p>Si vous êtes tenté de mettre des règles de mot de passe du genre « entre 8 et 20 caractères » ou « 3 majuscules », arrêtez tout.</p>
<p>Cette façon de procéder est obsolète, hyper rigide pour l’utilisateur et le conduit à créer des mots de passe compliqués pour lui et très faciles à percer pour un Bot.</p>
<p>Vous ne me croyez pas ? Regardez le compte Twitter de 
<a href="https://twitter.com/PWTooStrong" target="_blank">passwordistoostrong</a> (en anglais).</p>
<p>Un exemple :</p>
<p>Imaginons la règle :</p>
<p>« entre 8 et 20 caractères, au moins 3 majuscules et un signe de ponctuation. »</p>
<p>Ce mot de passe correspond : « AbCdEfgh! » bien qu’il ne puisse pas être considéré comme fort.</p>
<p>Par contre, l’utilisateur peut être frustré.</p>
<h2 id="entropie">Entropie</h2>
<p>Utilisez plutôt un système basé sur l’entropie.</p>
<p>La bibliothèque 
<a href="https://github.com/dropbox/zxcvbn" target="_blank">zxcvbn</a> (ce sont les lettres de la ligne du bas d’un clavier américain) est une bonne implémentation du calcul de la force d’un mot de passe par entropie.
Elle est accessible dans une grande variété de langages informatiques. C’est celle que nous utilisons chez 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a>.</p>
<p>L’avantage est qu’il n’y a plus de règles rigides pour l’estimation de la force du mot de passe.
La bibliothèque calcule la complexité de votre mot de passe (en prenant en compte la rareté des lettres, de leurs agencements, etc.) et lui donne une note.
Vous pouvez ensuite définir à partir de quelle note, quel cap, vous considérez le mot de passe entré comme suffisamment sûr.</p>
<p>Vous devez, bien sûr, avoir les mêmes notes, les mêmes caps, côté serveur et côté client.
En cas de différence, c’est le serveur qui a le dernier mot car le côté client peut être trafiqué par un hackeur (son environnement n’est pas sûr).</p>
<h2 id="éviter-les-mots-de-passe-percés">Éviter les mots de passe percés</h2>
<p>Une fois que vous avez mis un cap pour éviter les mots de passe faibles, il faut quand même vérifier si le mot de passe saisi n’est pas un mot de passe qui a déjà été percé.</p>
<p>Cette étape est une sécurité supplémentaire optionnelle car si le cap de complexité est assez haut,
la façon dont le mot de passe est stocké peut contrer les attaques arc-en-ciel de façon relativement efficace. Mais c’est quand même un bonus.</p>
<p>Pour cela, on peut charger un fichier javascript côté client ou faire une requête ajax sur une API quand l’utilisateur crée son mot de passe.</p>
<p>Si votre requête Ajax envoie le texte en clair, c’est problématique, car vous offrez une surface d’attaque supplémentaire aux hackeurs.</p>
<p>Le fichier javascript chargé est lourd et il vaut mieux le charger en asynchrone. Mais, même en asynchrone, la taille du fichier (et donc le nombre de mots de passe) ne peut pas être élevé.</p>
<p>Bien sûr, le côté client n’étant pas sûr, il faut réitérer l’opération côté serveur.</p>
<p>Une autre technique consiste à utiliser le service 
<a href="https://haveibeenpwned.com/" target="_blank">Have I Been Pwned</a>.
Il offre une solution élégante d’un point de vue technique mais étant de droit australien et reposant sur des services américains,
il pose une sérieuse question concernant le respect du RGPD européen (voir dans un futur article sur notre site).</p>
<p>Ce service fonctionne grâce au k-knowledge (connaissance-k ?).</p>
<p>Vous hachez le mot de passe saisi par l’utilisateur et vous envoyez au service les k premières lettres de ce hash.
Le service vous renvoie tout les hashes de sa base de données qui ont ces k premières lettres.
Vous comparez avec le hash du mot de passe de l’utilisateur et, si un des hashes du service correspond, alors c’est que le mot de passe est percé.</p>
<p>Exemple :</p>
<p>le mot de passe « framboise » a pour hash SHA256 :</p>
<p>« F9E4141EE43A3B877758E2584A1F6A0E7A9C8D6E58BB859A1665D8C1F447003C »</p>
<p>les 5 premières lettres sont « F9E41 ».</p>
<p>Vous envoyez ces 5 lettres à 
<a href="https://haveibeenpwned.com/" target="_blank">Have I Been Pwned</a>.</p>
<p>Il renvoie :</p>
<ul>
<li>« F9E4141EE43A3B8777ERT8584A1F6A0E7A9C8D6E58BB859A1665D8C1F447003C »</li>
<li>« F9E4141EE962758777ERT8584A1F6A0E7A9C8D6E58BB859A1665D8C1F447003C »</li>
<li>« F9E4141EE43A3B877758E2584A1F6A0E7A9C8D6E58BB859A1665D8C1F447003C »</li>
</ul>
<p>Vous comparez et vous vous rendez compte que le troisième hash est le même que celui du mot de passe.
Le mot de passe est donc percé.</p>
<p>Avec ce système, aucun mot de passe ne circule sur le réseau et 
<a href="https://haveibeenpwned.com/" target="_blank">Have I Been Pwned</a> ne sait pas quel mot de passe vous avez testés.
Pour l’exemple, trois résultats ont été renvoyés mais plus k est petit, plus le nombre de résultats renvoyé est grand.</p>
<h2 id="puis-stocker-vos-mots-de-passe">Puis stocker vos mots de passe</h2>
<p>Ensuite, une fois que l’utilisateur a trouvé un bon mot de passe, il vous l’envoie (de façon sécurisée) et vous devez le stocker.</p>
<p>Alors, une règle tout à fait fondamentale : ne stockez jamais un mot de passe en clair.
Si un hackeur réussit à accéder à votre stock de mots de passe, vous lui avez servi, sur un plateau,
l’accès à la totalité des comptes sur votre service et à d’autres services (les utilisateurs réutilisent souvent malheureusement le même mot de passe sur des services différents).</p>
<p>Alors comment faire ?</p>
<ol>
<li>
<p>Tout d’abord, il faut que vous limitiez la longueur du mot de passe mais pas trop.
Drupal, par exemple, limite la longueur a 512 octets, c’est à dire entre 512 et 128 caractères en UTF-8.
Cette étape est nécessaire pour éviter une attaque DOS car l’étape de hash demande un peu de ressource machine (on saisit un énorme mot de passe de plusieurs milliers de caractères qui bloque la machine à l’étape de hash.).</p>
</li>
<li>
<p>Ensuite, vous générez aléatoirement un sel (sel de table appelé plus communément poivre ou sel de ligne ?). C’est à dire une chaîne d’un nombre précis de caractères.

   <figure class="figure text-center">
     <img src="https://blog.limawi.io/fr-fr/posts/implementations-de-la-phrase-de-passe/images/sel-de-table.jpg" class="figure-img img-fluid rounded" alt="Sel de table aussi appelé poivre">
     <figcaption class="figure-caption"><p>Sel de table</p>
       <small>Sel de table aussi appelé poivre</small>
     </figcaption>
   </figure>

Vous pouvez le générer au niveau de votre stock (c’est à dire pour tout le stock) ou au niveau du mot de passe (un par mot de passe).
Il sera ajouté au mot de passe pour rendre deux mêmes mots de passe différents.
Le sel sert à empêcher les comparaisons de hash, table par table ou ligne par ligne, si un utilisateur a utilisé le même mot de passe sur plusieurs services différents ou si deux utilisateurs ont choisi le même mot de passe.</p>
<p>Exemple :</p>
<p>Avec un sel par table :</p>
<p>Alice a mis le mot de passe « framboise » dans le site « gentilles-framboises-aplaties.com » et dans le site « méchantes-framboises-aplaties.com ».</p>
<p>Le site « gentilles-framboises-aplaties.com » génère le sel « 458 », le mot de passe de Alice sera donc « 458framboise ».</p>
<p>Le site « méchantes-framboises-aplaties.com » génère le sel « gdf », le mot de passe de Alice sera donc « gdfframboise ».</p>
<p>Si un hackeur réussit à capturer les deux tables, il ne pourra pas comparer les hashs des mots de passe car ils seront différents (puisque les mots de passe sont différents).
Il ne saura pas que Alice a mis le même mot de passe sur les deux services.</p>
<p>Avec un sel par ligne :</p>
<p>Alice a mis le mot de passe « framboise » dans le site « gentilles-framboises-aplaties.com », Bob a mis aussi le mot de passe « framboise » dans le même site.</p>
<p>Le site « gentilles-framboises-aplaties.com » génère le sel « 458 » pour le mot de passe d’Alice, le mot de passe de Alice sera donc « 458framboise ».</p>
<p>Le même site génère le sel « sdd » pour le mot de passe de Bob, le mot de passe de Bob sera donc « sddframboise ».</p>
<p>Dans ce cas, un hackeur qui réussit à avoir la table du site « gentilles-framboises-aplaties.com » ne pourra pas comparer le hash de Bob et celui d’Alice. Il ne saura pas que c’est, en fait, le même mot de passe.</p>
</li>
<li>
<p>Ensuite vous hachez votre chaîne de caractères composée du sel et du mot de passe. Utilisez un algorithme sûr comme BCRYPT, SCRYPT ou argon2, SHA512 n&rsquo;est plus considéré sûr.</p>
<p>Le hash résultant pour le mot de passe « framboise » et le sel « 458 » est :</p>
<p>hash(sha256, ‘458framboise’) = ‘527D88733ED03CE5EF2D12AE4279950ABC29DC42817B14A58AB2150678A7CC72486CE637B8AD10333E80879F3D0CE685FA6CBB5DB8D7954382C2116616F8F6CF’</p>
</li>
<li>
<p>Vous avez déjà un mot de passe a peu prés sécurisé stocké. N’oubliez pas de stocker aussi le sel. Vous pouvez renforcer le hash en répétant la dernière étape avec le hash précédant, à la place du sel :</p>
<p>hash(sha256, ‘527D88733ED03CE5EF2D12AE4279950ABC29DC42817B14A58AB2150678A7CC72486CE637B8AD10333E80879F3D0CE685FA6CBB5DB8D7954382C2116616F8F6CF framboise’)
= ‘E3A252D3C455D638C82D8430DDC85E9B5B13F6508D690D97E2C5A1CC8AEE4A26D4C723E4EE4F524B4926C0357B2651132DF67446721BB4D3BCDD017C4A0E0E1B’</p>
<p>Le but est d’éloigner le hash résultant de possibles hashes déjà connus par les hackeurs. Il faut que ce soit compliqué pour eux de retrouver le mot de passe.</p>
<p>Une fois votre mot de passe stocké, quand l’utilisateur veut se reconnecter,
votre système refait les mêmes étapes (en utilisant le sel déjà existant) et compare le résultat obtenu avec le hash déjà présent dans le stockage. Si ce sont les mêmes, c’est le bon mot de passe.</p>
</li>
</ol>
<h2 id="les-erreurs-à-éviter">Les erreurs à éviter</h2>
<p>Des fois, on fait des erreurs tellement bêtes ! En voici quelques unes à éviter.</p>
<p>Quand vous changez le cap de complexité des mots de passe acceptés, ne mettez pas ce seuil dans les champs d’anciens mots de passe.
Sinon l’utilisateur ne pourra plus saisir son ancien mot de passe pour le changer. Mettez le cap de complexité uniquement sur les champs de nouveaux mots de passe.</p>
<p>Si vous changez la façon dont vous stockez vos mots de passe ou la complexité et vous avez besoin que l’utilisateur agisse, signalez le lui par email.
N’envoyez pas de récupération de mot de passe avec lien unique, l’utilisateur peut très bien le lire des mois après, le temps pour un attaquant de l’utiliser.</p>
<p>N’envoyez, bien sûr, jamais le mot de passe d’un utilisateur par email. Retenez que les emails sont comme des cartes postales : tout le monde peut les lire.
Et si vous arrivez à envoyer son mot de passe à un utilisateur, cela veut dire que vous ne le stockez pas correctement.</p>
<p>Faites des messages d’erreur signifiants quand l’utilisateur crée un nouveau mot de passe. Donnez des valeurs comme « faible, fort, très fort » et pas des notes d’entropies incompréhensibles.</p>
<p>Bien sûr, assurez-vous que le mot de passe est bien envoyé via une connexion https. Bannissez http de votre système.</p>
<p>Pour allez plus loin, faites des chaînes d’authentification. C’est à dire de la double authentification avec un token sur un smartphone par exemple, en plus du mot de passe.</p>]]></content:encoded>
    </item>
    <item>
      <title>Lee dit... épisode 6 : Mon super méga antivirus me protège</title>
      <link>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/</link>
      <pubDate>Fri, 01 Feb 2019 15:43:30 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/</guid>
      <description>Lee, Alice et Bob sont sur un bateau. Lee parle. Qui reste sur le bateau ?</description>
      <media:title>Lee dit... épisode 6 : Mon super méga antivirus me protège</media:title>
      <media:description>Lee, Alice et Bob sont sur un bateau. Lee parle. Qui reste sur le bateau ?</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infosec, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/images/cover.png" />
      <media:category>Lee dit...</media:category>
    </item>
    <item>
      <title>Tout sur un bon mot de passe</title>
      <link>https://blog.limawi.io/fr-fr/posts/tout-sur-un-bon-mot-de-passe/</link>
      <pubDate>Tue, 29 Jan 2019 16:00:59 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/tout-sur-un-bon-mot-de-passe/</guid>
      <description>De nombreux articles, sur le Web, tentent de vous expliquer comment faire un bon mot de passe. Malheureusement, souvent, avec beaucoup de contrevérités.</description>
      <content:encoded><![CDATA[<p>On va essayer, ici, de rassembler les informations correctes pour bien gérer ses mots de passe.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.vtt" default>
</video>
</div>
<h2 id="le-mot-de-passe-pour-les-gouverner-tous">Le mot de passe pour les gouverner tous</h2>
<p>Tout d’abord, comment faire un bon mot de passe qu’on puisse se rappeler ?</p>
<h3 id="remplacer-les-signes-cest-pas-bien">Remplacer les signes, c’est pas bien</h3>
<p>Souvent, une fausse bonne idée ressort. Celle de remplacer des signes par d’autres.</p>
<p>Comme par exemple, utiliser « mot de p@sse » au lieu de « mot de passe ».</p>
<p>Cette idée vient du monde anglophone et part du fait que la plupart des mots de passe étaient composés de caractères de la table ASCII,
c’est à dire des 26 lettres de l’alphabet latin plus quelques signes de ponctuations.</p>
<p>Cet article est rédigé en français et, donc, s’adresse à des francophones qui sont moins concernés par ce problème car le français contient des signes
qui ne sont pas inclus dans la table ASCII de base. Les accents par exemple « à, é, è, ù&hellip; » sont inclus dans la table ASCII étendue,
voire l’UTF-8 (une table qui contient tous les alphabets du monde : arabe, cyrillique, chinois&hellip;).</p>
<p>Cette technique donne des mots de passe beaucoup plus difficiles à mémoriser.
Ayant du mal à les mémoriser, on a tendance à les faire assez courts, ce qui est aussi très mauvais.</p>
<h3 id="la-phrase-de-passe-cest-bien">La phrase de passe, c’est bien</h3>
<p>Cette technique est connue grâce au comicstrip de 
<a href="https://xkcd.com/936/" target="_blank">xkcd</a> souvent appelée « correct horse battery staple ».</p>
<p>Pour que cela soit efficace, il faut que la combinaison de mots soit la plus rare possible. Dans le comicstrip de xkcd, la rareté des combinaisons est évoquée par le caractère aléatoire.</p>
<p>Mais n’oublions pas que c’est un mot de passe à mémoriser. Nos cerveaux gèrent mal le caractère aléatoire.
C’est pour ça qu’en fin du comicstrip, l’auteur insiste sur l’idée de se faire une image mentale de la phrase de passe.</p>
<p>En français, la fréquence des mots et de leurs combinaisons est moins élevée qu’en anglais car les utilisateurs francophones sont moins nombreux et le français contient des articles,
déterminants, possessifs qui diminuent encore la probabilité d’apparition des combinaisons. La nécessité de l’aléatoire est moins forte qu’en anglais.</p>
<p>On peut donc utiliser des phrases de passe qui soient grammaticalement correctes comme mot de passe.</p>
<div class="col-md-4 offset-md-4">
<video controls title="Rareté des mots dans les phrases de passe" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/tout-sur-un-bon-mot-de-passe/videos/story-rarete-des-mots-dans-les-phrases-de-passe.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/tout-sur-un-bon-mot-de-passe/videos/story-rarete-des-mots-dans-les-phrases-de-passe.webm" type="video/webm">
</video>
<p class="text-center" >Rareté des mots dans les phrases de passe</p>
<p class="text-center" ><small>Un petit éclairage sur les phrases de passe</small></p>
</div>
<h3 id="un-exemple-pour-illustrer-tout-ça-">Un exemple pour illustrer tout ça :</h3>
<p>À votre avis, quel est le meilleur mot de passe :</p>
<p>« !Es_fr@mbo1ses »</p>
<p>ou</p>
<p>« L’Air de la reine de la nuit, la Flûte enchantée de Wolfgang Amadeus Mozart »</p>
<p>Si vous aimez Mozart, c’est certainement le deuxième.
Il est facile à retenir, plus long que le premier et la possibilité que deux personnes aient ce même mot de passe est faible.
De plus, il a des majuscules, une virgule, une apostrophe, un « û » et un « é ».</p>
<h2 id="le-gestionnaire-de-mots-de-passe-pour-les-amener-tous">Le gestionnaire de mots de passe pour les amener tous</h2>
<p>Avoir un mot de passe dont on puisse se rappeler, c’est bien.
Mais ce qui est mieux encore c’est de pouvoir utiliser des mots de passe dont on ne puisse pas se rappeler (même soi-même).
Cela diminue les risques de les divulguer, sans s’en rendre compte, au détour d’une conversation.</p>
<p>Jimmy Kimmel en fait un passage de son émission, 
<a href="https://www.youtube.com/watch?v=opRMrEfAIiI" target="_blank">disponible sur Youtube</a>, en anglais.</p>
<p>Donc pour éviter ce risque, pour faire des mots de passe dont on ne se rappelle pas, il faut utiliser un gestionnaire de mots de passe.</p>
<p>C’est un logiciel ou un service web qui stocke les mots de passe et vous les affiche quand vous les lui demandez.
Vous n’avez plus qu’à les copier-coller, ou utiliser des plugins qui le font pour vous, dans les pages de connexion.
Il est la plupart du temps chiffré et on y accède donc avec un mot de passe maître, le seul dont vous devez vraiment vous rappeler.</p>
<p>Avec ce système, comme vous n’avez pas besoin de vous souvenir de vos mots de passe, allez-y à fond.
Faites des mots de passe à 50 caractères générés aléatoirement avec pleins de signes bizarres.
Utilisez l’UTF-8 en regardant la compatibilité de vos logiciels et services web (ils ne sont pas tous compatibles, ils n’affichent pas tous correctement l’alphabet cyrillique par exemple).</p>
<h3 id="logiciel-ou-service-web">Logiciel ou service web</h3>
<p>L’avantage du logiciel par rapport au service web, c’est que le risque d’attaque et de fuites est diminué.</p>
<p>Un service web de gestion de mots de passe attire les attaquants
car le gain en cas de faille est plus important que le gain en cas de faille de votre logiciel (des milliers de comptes au lieu d’un).</p>
<p>Il y a aussi des conflits de droits entre les utilisateurs du service et l’environnement juridique du service.
Par exemple, le RGPD européen et le Cloud Act américain.
On reviendra sur ces notions de droits dans de futurs articles.</p>
<p>L’avantage d’un service web est que, normalement, le risque de perte des mots de passe est plus faible et il bénéficie d’une équipe à plein temps pour repérer les failles et y remédier.</p>
<h3 id="et-chez-limawi">Et chez Limawi</h3>
<p>Chez Limawi, nous utilisons le logiciel 
<a href="https://keepassxc.org/" target="_blank">KeepassXC</a>.</p>
<p>Il a l’avantage d’être opensource, donc le code peut être audité facilement.</p>
<p>Il est présent sur vos appareils et non en ligne, ce qui réduit les possibilités d’attaque sur des services centralisés.</p>
<p>Il chiffre les mots de passe avec le mot de passe maître.</p>
<p>Les conflits de droits possibles entre RGPD européen et Cloud Act américain sont évités,
les mots de passe n’étant pas stockés sur des serveurs américains.</p>
<p>Il est, par contre, plus compliqué de partager le gestionnaire de mots de passe entre appareils.
De plus, vous devez organiser vous-même le backup de votre base chiffrée de mots de passe.</p>
<p>keepassXC est une variante de 
<a href="https://www.keepassx.org/" target="_blank">KeepassX</a>
(dont le développement semble arrêté), lui-même une variante de 
<a href="https://keepass.info/" target="_blank">Keepass</a>
qui n’est disponible que pour Windows. D’ailleurs, Keepass fera l’objet d’un audit de sécurité par la commission européenne.</p>
<h2 id="et-dans-les-ténèbres-les-lier-les-attaques-en-gros">Et dans les ténèbres les lier (les attaques en gros)</h2>
<h3 id="les-attaques-de-masse">Les attaques de masse</h3>
<p>Les attaques de masse visent à récupérer le plus grand nombre de mots de passe possible sans se soucier des personnes à qui ils appartiennent.</p>
<h3 id="dictionnaire">Dictionnaire</h3>
<p>Les attaques les plus fréquentes de ce type sont les attaques par dictionnaire.
Ce sont celles qui demandent le moins de capacité de calcul mais le plus de capacité de stockage (le compromis temps-mémoire).
En effet, on teste les mots de passe connus les plus courants (provenant des attaques déjà réussies) et si ça passe pas on passe au compte suivant.</p>
<p>Une liste des mots de passe les plus courants est publiée chaque année dans l’espoir de modifier les comportements de gens mais, malheureusement, il n’y a pas d’évolution sensible.</p>
<p>Voici la liste des 
<a href="https://gizmodo.com/the-25-most-popular-passwords-of-2018-will-make-you-fee-1831052705" target="_blank">25 mots de passe les plus utilisés</a> de 2018,
faite par Splashdata, avec, entre parenthèses, la comparaison de 2017 :</p>
<ul>
<li>123456 (position non changée)</li>
<li>password (position non changée)</li>
<li>123456789 (a pris 3 places)</li>
<li>12345678 (a perdu 1 place)</li>
<li>12345 (position non changée)</li>
<li>111111 (nouveau)</li>
<li>1234567 (a pris 1 place)</li>
<li>sunshine (nouveau)</li>
<li>qwerty (a perdu 5 places)</li>
<li>iloveyou (position non changée)</li>
<li>princess (nouveau)</li>
<li>admin (a perdu 1 place)</li>
<li>welcome (a perdu 1 place)</li>
<li>666666 (nouveau)</li>
<li>abc123 (position non changée)</li>
<li>football (a perdu 7 places)</li>
<li>123123 (position non changée)</li>
<li>monkey (a perdu 5 places)</li>
<li>654321 (nouveau)</li>
<li>!@#$%^&amp;* (nouveau)</li>
<li>charlie (nouveau)</li>
<li>aa123456 (nouveau)</li>
<li>donald (nouveau)</li>
<li>password1 (nouveau)</li>
<li>qwerty123 (nouveau)</li>
</ul>
<p>Le problème de cette liste, présente dans tous les articles sur « comment faire un bon mot de passe »,
c’est qu’elle vient du monde anglophone et ne reflète pas les mots de passe les plus fréquents de monde francophone.
Si vous avez des sources pour les mots de passe francophones, je suis intéressé.</p>
<p>Bien sûr, il circule sur le Web des listes avec 100, 1000, 10000, 1 million, voire plus, de mots de passe.</p>
<h3 id="arc-en-ciel">Arc-en-ciel</h3>
<p>Le deuxième type d’attaques est l’attaque par table arc-en-ciel (« rainbow table »).
Elle est plus coûteuse en termes de calculs mais demande moins de capacité de stockage.
Elle demande néanmoins que le tableau des hashes
(c’est à dire le mot de passe chiffré, on parlera du « hash » dans un futur article) soit récupéré en hackant le service web, logiciel.</p>
<p>La table arc-en-ciel compare les hashes qu’elle a avec ceux du tableau hacké.
Si les hashes correspondent, ça veut dire que c’est le même mot de passe.</p>
<p>Exemple :</p>
<p>L’attaquant a une table arc-en-ciel avec un mot de passe et son hash en md5 (c’est un type de hash, à ne jamais utiliser en vrai) :</p>
<ul>
<li>password : 5f4dcc3b5aa765d61d8327deb882cf99</li>
<li>sdhfksdkfh : e2a1dbf388e7a7e87dc02943e3521036</li>
<li>framboise : 54a9fc48a5b664772e2ca06d1e0772d9</li>
</ul>
<p>Il a hacké un tableau de hashs sur un site et a la liste suivante de noms et hashs :</p>
<ul>
<li>Bob : 098f6bcd4621d373cade4e832627b4f6</li>
<li>Alice : 54a9fc48a5b664772e2ca06d1e0772d9</li>
<li>Lee : 190a16e29799b184d9900690ee04438a</li>
</ul>
<p>Il voit que le deuxième hash de la liste correspond au troisième hash de sa table arc-en-ciel.
Donc il sait que le mot de passe d’Alice est « framboise ».</p>
<p>Ces deux types d’attaques peuvent être contrés par la technique de la phrase de passe.
Si la phrase de passe n’est pas dans la liste des mots de passe ou celle des hashs, alors ces attaques ne peuvent rien.</p>
<p>Dans un prochain article, on verra des techniques pour renforcer cette table de hashs si vous concevez votre site web.</p>
<p>Dans l’article sur le hash, on verra aussi comment réduire le besoin de stockage des tables arc-en-ciel.</p>
<h3 id="force-brute-groumfff">Force brute (groumfff)</h3>
<p>La dernière technique est celle de la force brute. On essaie toutes les combinaisons possibles.
C’est la plus coûteuse en termes de calculs mais la moins coûteuse en termes de stockage.</p>
<p>Cette technique est la plus ancienne et c’est elle qui est à l’origine de l’idée de mettre des signes particuliers dans les mots de passe.</p>
<p>En effet, si l’attaquant utilise uniquement l’ASCII classique (c’est à dire l’alphabet latin plus des signes de ponctuations), avec les signes particuliers on est tranquille.</p>
<p>Mais, cela fait longtemps que les attaquants utilisent l’ASCII étendu (avec les majuscules et les accents)
ou l’UTF-8 (tous les alphabets du monde : arabe, cyrillique, chinois…) pour tester tous les choix.</p>
<p>On contre cette technique en faisant des phrases de passe plus longues et bien sûr en utilisant l’alphabet complet (pas de « aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa »).</p>
<p>Cela augmente l’entropie (on expliquera ce qu’est l’entropie dans un prochain article) de votre mot de passe.
Le français ayant des signes (lettres avec accents) en plus de l’anglais, l’entropie monte aussi grâce à eux.</p>
<p>Exemple :</p>
<p>« !Es_fr@mbo1ses » a une entropie de 72,1 bits ce qui le place comme fort (c’est pas mal pour la plupart des cas)</p>
<p>et</p>
<p>« L’Air de la reine de la nuit, la Flûte enchantée de Wolfgang Amadeus Mozart » a une entropie de 475,8 bits ce qui le place comme ultra-fort (inutile de préciser si c’est pas mal).</p>
<p>Plus l’entropie est grande, plus l’attaque prend de temps. Et le but c’est de faire perdre du temps à l’attaquant (pas en secondes, mais en années ou en siècles).
Et bien sûr, avec le gestionnaire de mots de passe, profitez-en. Utilisez l’UTF-8 en prenant garde à la compatibilité.</p>
<h3 id="lattaque-ciblée">L’attaque ciblée</h3>
<p>L’attaque ciblée consiste à essayer de hacker un utilisateur spécifique.</p>
<h4 id="keylogger">Keylogger</h4>
<p>Cette technique consiste à infecter l’appareil de l’utilisateur avec un outil qui récupère toutes les touches du clavier que l’utilisateur utilise.
Donc si l’utilisateur tape son mot de passe, celui-ci est récupéré par l’outil.</p>
<p>Ce dispositif et le moyen de s’en défendre, sont en hors le sujet de cet article et ils seront le thème de plusieurs autres articles.</p>
<h4 id="ingénierie-sociale">Ingénierie sociale</h4>
<p>Par de l’ingénierie sociale, le hackeur peut récupérer votre mot de passe auprès de vos amis, votre famille ou vous-mêmes.
Rappelez-vous, 
<a href="https://www.youtube.com/watch?v=UzvPP6_LRHc" target="_blank">Jimmy Kimmel</a> en anglais.</p>
<p>Tout d’abord, j’insiste. Ne partagez jamais votre mot de passe avec qui que ce soit.
Beaucoup de services (y compris les emails) ont des outils pour partager des comptes sans partager des mots de passe.</p>
<p>Ensuite, c’est là que le gestionnaire de mots de passe intervient.
Si vous-même ne connaissez pas votre mot de passe, le hackeur ne pourra pas le retrouver par cette technique.</p>
<p>Pour votre mot de passe maître, essayez des combinaisons de mots, une phrase que personne ne connaît.</p>
<h2 id="des-outils-pour-les-trouver">Des outils pour les trouver</h2>
<p>Oui, je sais. Pour ceux qui ont compris la référence dans les titres, j’ai du inverser des titres pour la cohérence de l’article.</p>
<p>Enfin, une fois que vous avez des mots de passe dans des services en ligne ou des appareils, il faut les surveiller, suivre leur cycle de vie.</p>
<p>Il faut vous assurer que votre mot de passe supprimé l’est réellement.</p>
<h3 id="durée-de-vie">Durée de vie</h3>
<p>Vous pouvez mettre une durée de vie à votre mot de passe.
Je déconseille cette technique si vous n’êtes pas sûr de votre coup car cela va souvent à l’encontre du comportement naturel humain.</p>
<p>En effet, rapidement, vous mettez des mots de passe très peu différents des précédents ou vous ne les changez plus.
Le comportement du service web, logiciel en cas de non renouvellement du mot de passe n’étant pas standardisé, des failles de sécurité peuvent apparaître.</p>
<h3 id="veille-de-failles">Veille de failles</h3>
<p>Il faut vous assurer aussi que votre mot de passe n’a pas été piraté. Dans ce cas, mettez en place des veilles.</p>
<p>Un bon service existe pour ça, il s’agit de 
<a href="https://haveibeenpwned.com/" target="_blank">haveibeenpwned</a> de Troy Hunt.
Vous pouvez faire une veille sur vos adresses email et si elles apparaissent dans des failles, le service vous le signale.</p>
<p>Ce service a même des outils pour l’intégrer dans votre site web/logiciel.
Cependant, j’ai de sérieuses interrogations concernant le respect du RGPD (à voir dans un futur article).</p>
<p>Enfin, voici un compte Twitter à suivre en anglais, qui montre encore les difficultés à faire comprendre aux services web, logiciels, le bon fonctionnement des mots de passe :</p>
<p>
<a href="https://twitter.com/PWTooStrong" target="_blank">https://twitter.com/PWTooStrong</a></p>
<p>Bon, j’ai annoncé pleins de futurs articles. Super, je me suis ajouté du boulot. Pfff&hellip;</p>
<p>Pour les développeurs, voici quelques conseils pour 
<a href="https://blog.limawi.io/fr-fr/posts/implementations-de-la-phrase-de-passe/">implémenter vos mots de passe</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Lee dit... épisode 5 : Le Wifi gratuit c&#39;est cool !</title>
      <link>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/</link>
      <pubDate>Wed, 23 Jan 2019 18:44:42 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/</guid>
      <description>Lee, Alice et Bob se cachent dans un bar avec du Wifi gratuit.</description>
      <media:title>Lee dit... épisode 5 : Le Wifi gratuit c&#39;est cool !</media:title>
      <media:description>Lee, Alice et Bob se cachent dans un bar avec du Wifi gratuit.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infosec, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/images/cover.png" />
      <media:category>Lee dit...</media:category>
    </item>
    <item>
      <title>Le masque jetable</title>
      <link>https://blog.limawi.io/fr-fr/posts/le-masque-jetable/</link>
      <pubDate>Tue, 22 Jan 2019 18:00:25 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/le-masque-jetable/</guid>
      <description>Ce chiffrement est théoriquement impossible à casser. Il est, par contre, essentiellement théorique car il reste très complexe à réaliser.</description>
      <content:encoded><![CDATA[<h2 id="un-peu-dhistoire">Un peu d’histoire</h2>
<p>Le masque jetable est un chiffrement qui a été inventé par Gilbert Vernam, un ingénieur américain de AT&amp;T Bell Labs, en 1917.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable.vtt" default>
</video>
</div>
<p>Le nom « <em>masque jetable</em> » est la transcription française du terme originel américain « <em>One time Pad</em> » (OTP), la traduction mot à mot étant « <em>tampon à usage unique</em> » (pas de jeu de mots pourris, s’il vous plaît).</p>
<p>Il est basé sur une technique de chiffrement beaucoup plus ancienne appelée « 
<a href="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-vigenere/">le chiffre de Vigenère</a> ».</p>
<p>Le masque jetable a encore été perfectionné par le général américain Joseph Mauborgne, qui inclut le caractère aléatoire de la clé de chiffrement.</p>
<p>Il consiste à chiffrer un message avec une clé en additionnant la clé au message, élément par élément.
La clé ne doit être utilisée qu’une seule fois (d’où le jetable).
Pour déchiffrer, on soustrait la clé au message.</p>
<p>Bon, l’histoire c’est bien mais dans les faits, comment ça marche ?</p>
<h2 id="fonctionnement">Fonctionnement</h2>
<p>Pour pouvoir comprendre le masque jetable il faut déjà maîtriser (ou du moins comprendre) 
<a href="https://blog.limawi.io/fr-fr/posts/la-congruence-le-modulo/">la congruence</a> (ou modulo).</p>
<h3 id="la-base">La base</h3>
<p>On va commencer en utilisant des textes non aléatoires pour les clés. Attention, c’est juste histoire de démarrer doucement parce que là on est 0 au niveau sécurité.</p>
<p>On va prendre un texte de Bigflo&amp;Oli comme message que l’on veut chiffrer et un texte de Georges Brassens comme clé.</p>
<p>Le message est tiré de « Alors alors » :</p>
<p>« Alors alors, On devait faire le tour de la Terre »</p>
<p>La clé est tirée de « Bancs publics » :</p>
<p>« Les gens qui voient de travers pensent que les bancs verts »</p>
<p>Vous avez le modulo en tête ? Bon, on va commencer par affecter un nombre à chaque lettre de notre alphabet :</p>
<pre><code>A=0, B=1, C=2, D=3, E=4, F=5, G=6, H=7, I=8, J=9, K=10, L=11, M=12, N=13, O=14, P=15, Q=16, R=17, S=18, T=19, U=20, V=21, W=22, X=23, Y=24, Z=25
</code></pre>
<p>Donc, pour notre alphabet de 26 lettres on a les 26 premiers chiffres.</p>
<h3 id="chiffrement">Chiffrement</h3>
<p>Pour chiffrer, c’est simple, on additionne les lettres face à face.
« Additionner des lettres, mais t’es perché ? » me direz vous, mais c’est pour ça qu’on leur a donné un équivalent en nombre, faut suivre un peu.
Comme on n’a pas affecté de valeur à la virgule, on va l’enlever.</p>
<p>Allez, c’est parti :</p>
<pre><code>« Alors alors On devait faire le tour de la Terre »

+

« Les gens qui voient de travers pensent que les bancs verts »
</code></pre>
<p>Le « A » de « Alors » + le « L » de « Les » = A + L = 0 + 11 = 11 = L</p>
<p>Ensuite le « l » + le « e » = l + e = 11 + 4 = 15 = p</p>
<p>Donc, petit à petit :</p>
<pre><code>« Alors alors On devait faire le tour de la Terre »

+ + +

« Les gens qui voient de travers pensent que les bancs verts »

= = =

0 11 14

+ + +

11 4 18

= = =

11 15 32

= = =

L p ?
</code></pre>
<p>Effectivement pour l’addition de « o » et « s », on trouve 14 + 18 = 32 et là on a un soucis, on a pas de lettre avec une valeur de 32.</p>
<p>Mais, rappelez vous, la congruence (le modulo, tout ça, tout ça).</p>
<p>Vu qu’on a que 26 lettres, on va utiliser un modulo 26, histoire de rester dans ces valeurs.</p>
<p>Un petit coup de modulo 26 sur 32, ça fait</p>
<p>$$
32 \pmod{26} \equiv 32 -26 \pmod{26} \equiv 6 \pmod{26}
$$</p>
<p>Et 6, on a, c’est la lettre G.</p>
<p>Du coup, on peut finir notre calcul :</p>
<pre><code>« Alors alors On devait faire le tour de la Terre »

+ + + ...

« Les gens qui voient de travers pensent que les bancs verts »

= = =

0 11 14

+ + +

11 4 18

= = =

11 15 32 mod(26)≡ 6 mod(26)

= = =

L p g …
</code></pre>
<p>Au final :</p>
<pre><code>« Alors alors On devait faire le tour de la Terre »

+

« Les gens qui voient de travers pensent que les bancs verts »

=

« Lpgxw ndela Jb liitlx yrimi cw ishj hr eq Nicvw »
</code></pre>
<p>On a notre message chiffré.</p>
<h3 id="déchiffrement">Déchiffrement</h3>
<p>Du coup, pour déchiffrer, on fait le contraire, on soustrait la clé au message chiffré.</p>
<p>On a le message chiffré « Lpgxw ndela Jb liitlx yrimi cw ishj hr eq Nicvw » et la clé « Les gens qui voient de travers pensent que les bancs verts ».</p>
<p>Donc :</p>
<pre><code>« Lpgxw ndela Jb liitlx yrimi cw ishj hr eq Nicvw »

- - -

« Les gens qui voient de travers pensent que les bancs verts »

= = =

11 15 6

- - -

11 4 18

= = =

0 11 -12

= = =

A l ?
</code></pre>
<p>Donc, même problème qu’au chiffrement, on a pas de lettre qui corresponde à -12.</p>
<p>On applique le modulo 26 :</p>
<p>$$
-12 \pmod{26} \equiv -12 + 26 \pmod{26} \equiv 14 \pmod{26} \equiv o
$$</p>
<p>On continue le calcul et on retrouve :</p>
<pre><code>« Lpgxw ndela Jb liitlx yrimi cw ishj hr eq Nicvw »

- - - ...

« Les gens qui voient de travers pensent que les bancs verts »

=

« Alors alors On devait faire le tour de la Terre »
</code></pre>
<h3 id="mauborgne-est-dans-la-place">Mauborgne est dans la place</h3>
<p>Bon, ça c’est bien joli, mais c’est pas très sûr. Pour renforcer la sécurité on va écouter le général Mauborgne et utiliser une clé aléatoire (ou du moins plus aléatoire).</p>
<p>Après avoir mis un générateur pseudo-aléatoire (oui, je sais, un terme incompréhensible, on y reviendra dans un article futur) dans mon ordinateur,
roulé ma tête sur le clavier et fait marcher le chat dessus pour générer de l’entropie (oui, un autre terme incompréhensible), j’obtiens la clé suivante :</p>
<pre><code>« snchfzrhqjlnveivpyonrkudrpqtpxptfwrildof »
</code></pre>
<p>On va chiffrer le message suivant, toujours de Bigflo&amp;Oli, extrait de « Dommage » :</p>
<p>« Il croisait cette même fille, avec son doux parfum »</p>
<h3 id="chiffrement-1">Chiffrement</h3>
<p>Et c’est reparti :</p>
<pre><code>« Il croisait cette même fille, avec son doux parfum »

+ +

« snchfzrhqjlnveivpyonrkudrpqtpxptfwrildof »

= =

8 11

+ +

18 13

≡ =

0 mod(26) 24

=

a y …
</code></pre>
<p>On arrive au message chiffré suivant :</p>
<pre><code>« Il croisait cette même fille, avec son doux parfum »

+

« snchfzrhqjlnveivpyonrkudrpqtpxptfwrildof »

=

« ayeythjhycnroxmhtksszvfhrkuvhlcwtqoxlutze »
</code></pre>
<h3 id="déchiffrement-1">Déchiffrement</h3>
<p>Je crois qu’à ce stade vous avez compris. Un petit exemple alors.</p>
<p>Toujours avec notre modulo(26), déchiffrez ce message :</p>
<pre><code>« irszlg k wiu ladw »
</code></pre>
<p>avec la clé :</p>
<pre><code>« xjgzpyisqbjmplcxhwfpijqrstghighnhylshqza »
</code></pre>
<p>Et tweetez, postez le résultat.</p>
<h3 id="le-che-level">Le Che level</h3>
<p>Bon, jusqu’à présent on était dans le mignon, maintenant on attaque le dur.</p>
<p>Che Guevara et Fidel Castro communiquaient avec une technique de cryptographie basée sur le masque jetable.
Cependant, il y avait une petite complexité supplémentaire.</p>
<p>Ils n’utilisaient pas une suite de nombres comme nous l’avons fait, mais ils avaient affecté des nombres arbitrairement aux lettres de l’alphabet.</p>
<p>Voici leur substitution :</p>
<pre><code>A=6, B=38, C=32, D=4, E=8, F=30, G=36, H=34, I=39, J=31, K=78, L=72, M=70, N=76, O=9, P=79, Q=71, R=58, S=2, T=0, U=52, V=50, W=56, X=54, Y=1, Z=59
</code></pre>
<p>Vous allez me dire « mais comment on fait une congruence avec ça ? », attendez un peu, ça vient.</p>
<p>En fait, ils ne transmettaient pas des lettres mais des chiffres et la clé était elle-même composée de chiffres. Ils utilisaient le modulo le plus connu (celui qu’on utilise sans savoir), le modulo 10.</p>
<p>Alors, comment faisaient-ils ? On va prendre un exemple.</p>
<h3 id="chiffrement-2">Chiffrement</h3>
<p>On veut chiffrer le message suivant :</p>
<p>« J’aime pas les framboises » (c’est un exemple, moi j’aime bien les framboises)</p>
<p>On remplace les lettres pas leur nombres :</p>
<p>« J A I M E P A S L E S F R A M B O I S E S » devient « 31 6 39 70 8 79 6 2 72 8 2 30 58 6 70 38 9 39 2 8 2 »</p>
<p>On va chiffrer ce message avec la clé :</p>
<pre><code>« 4317892093088287991744997181628757157172 »
</code></pre>
<p>Pour ça, on additionne les chiffres face à face et on applique le modulo 10. Pour se faciliter la tâche, ils regroupaient d’abord les chiffres par paquet de 5.</p>
<p>Donc, le message :</p>
<pre><code>« 31 6 39 70 8 79 6 2 72 8 2 30 58 6 70 38 9 39 2 8 2 »
</code></pre>
<p>devient :</p>
<pre><code>« 31639 70879 62728 23058 67038 93928 2 »
</code></pre>
<p>On additionne avec le modulo 10 :</p>
<pre><code>« 31639 70879 62728 23058 67038 93928 2 »

+

« 43178 92093 08828 79917 44997 18162 87571 57172 »

=

747 (7+3 ≡ 10 mod(10) ≡ 0) …

=

74707 62862 60546 92965 01925 01080 0
</code></pre>
<p>Le message chiffré est donc :</p>
<pre><code>« 74707 62862 60546 92965 01925 01080 0 »
</code></pre>
<h3 id="déchiffrement-2">Déchiffrement</h3>
<p>On soustrait la clé au message avec le modulo 10 :</p>
<pre><code>« 74707 62862 60546 92965 01925 01080 0 »

-

« 43178 92093 08828 79917 44997 18162 87571 57172 »

=

« 31639 70879 62728 23058 67038 93928 2 »
</code></pre>
<p>Et ensuite, on transforme les nombres dans leur lettre respective.
Et là, vous vous dites « Mais comment ils peuvent faire la différence entre la lettre de valeur 2 et la lettre de valeur 23 ?
Comment ils peuvent savoir si c’est un nombre à 2 chiffres ou à 1 ? ».</p>
<p>Très simple, le chiffre utilisé pour les nombres à 1 chiffre n’est pas utilisé pour démarrer un nombre à 2 chiffres.</p>
<p>En fait, si on tombe sur 3, 7 ou 5, on sait que c’est un nombre à 2 chiffres et donc qu’il faut regrouper le chiffre suivant avec lui.</p>
<p>Dans notre cas, on commence avec un 3, donc on sait qu’on a un nombre à 2 chiffres, on colle le 1 au 3.</p>
<pre><code>« 31 639 70879 62728 23058 67038 93928 2 »
</code></pre>
<p>Ensuite, le 6 n’est pas dans (3,7,5), donc c’est un nombre à un seul chiffre :</p>
<pre><code>« 31 6 39 70879 62728 23058 67038 93928 2 »
</code></pre>
<p>Et ainsi de suite :</p>
<pre><code>« 31 6 39 70 8 79 6 2 72 8 2 30 58 6 70 38 9 39 2 8 2 »
</code></pre>
<p>On remplace enfin les nombres par leurs lettres :</p>
<pre><code>« J A I M E P A S L E S F R A M B O I S E S »
</code></pre>
<p>Voilà !</p>
<h2 id="la-perfection-du-chiffrement">La perfection du chiffrement</h2>
<p>Claude Shannon (encore du « <em>name dropping</em> » mais celui-là c’est le vaisseau amiral des cryptographes) prouve mathématiquement
que le masque jetable est considéré cryptographiquement sûr, ou inconditionnellement sûr, durant la Seconde guerre mondiale.
C’est à dire que le système ne peut pas être percé même si l’adversaire a des moyens illimités ou un temps illimité, tant qu’il ne connaît pas la clé secrète.</p>
<p>Claude Shannon prouve que le masque jetable est « à secret parfait », c’est à dire que si on a un texte chiffré par le masque jetable sous les yeux,
il n’y a absolument aucun moyen de deviner quoi que ce soit sur le texte d’origine.</p>
<p>Cela veut dire qu’il est aussi résistant à une attaque par force brute.
Si vous essayez toutes les clés de l’univers vous tomberez sur tout les messages de l’univers donc vous n’aurez aucun moyen de savoir lequel est le bon.</p>
<p>Je ne vais pas vous refaire les démonstrations mathématiques ici. Cet article a un but de large diffusion facilement accessible.</p>
<p>Mais pour réaliser cette perfection, il y a quelques problèmes.</p>
<h2 id="les-difficultés">Les difficultés</h2>
<p>Les difficultés à surmonter pour réaliser un parfait masque jetable sont les suivantes :</p>
<h3 id="la-taille-et-la-quantité-des-clés">La taille et la quantité des clés</h3>
<p>Pour chaque échange il faut une nouvelle clé. Pour chaque échange, c’est à dire, chaque personne avec qui vous échangez et chaque texte que vous lui envoyez.</p>
<p>Donc, vous échangez 2 messages avec 2 personnes, ça fait 4 clés. 3 messages avec 3 personnes, 9 clés&hellip;</p>
<p>De plus, la clé doit être plus longue que le message.</p>
<p>Car si elle est plus courte et qu’on la répète pour finir le chiffrement,
on augmente la probabilité d’apparition de certaines lettres et on peut voir des motifs apparaître donnant des indices sur le message.
Ce problème est semblable à la nécessité de l’aléatoire pour créer les clés.</p>
<p>Cela pose des problèmes de stockage des clés de façon sécurisée, le masque s’effondrant si la clé est récupérée par l’adversaire.</p>
<h3 id="laspect-aléatoire-des-clés">L’aspect aléatoire des clés</h3>
<p>En français, la lettre « e » est la lettre la plus couramment utilisée, puis c’est « a », puis « s »…</p>
<p>Et des motifs comme « le », « les » sont fréquents. La clé, en se répétant, augmente les probabilités de chiffrer de la même façon des mêmes motifs.</p>
<p>L’attaquant peut repérer ces motifs et parvenir à en déduire le moment où la clé est répétée.</p>
<p>Petit à petit, il peut recomposer la clé ou même faire sans.</p>
<p>Un exemple :</p>
<p>Imaginons la clé « Wesh », l’attaquant ne la connaît pas mais a trouvé que sa longueur était de 4 en analysant les fréquences de motifs récurrents.</p>
<p>Il peut découper ce texte chiffré en groupes de 4 lettres : « Uedl lsll ysfk wqfl myaz kvlp newu zsmj a » et soustraire les groupes entre eux :</p>
<pre><code>Uedl - lsll = X ? + « Wesh » - (Y ? + « Wesh ») = X ? - Y ? + « Wesh » - « Wesh »

= X ? - Y ?
</code></pre>
<p>La clé a disparu et on a deux textes qui ne sont plus aléatoires soustraits l’un à l’autre.
On analyse la fréquence d’apparition des lettres et on forme des hypothèses.
Les lettres, issues de la soustraction, les plus fréquentes ont des probabilités plus élevées d’avoir un « e » dans l’une de leurs lettres de base, etc.</p>
<p>Étape par étape, en multipliant les hypothèses, on réduit les possibilités et on peut parvenir à trouver la clé ou déchiffrer des messages sans elle.</p>
<p>En conclusion, si vous faites une analyse des fréquences en faisant tourner votre ordinateur pendant trois jours, vous obtiendrez le message suivant :</p>
<p>« Y&rsquo;a le pote condamné qui sortira en douce », toujours Bigflo&amp;Oli, extrait de « Comme d’hab »</p>
<p>Cela vous semble obscur, incompréhensible. Pas de panique, un prochain article éclaircira tout ça avec des exemples.</p>
<p>Donc, pour faire en sorte que chaque lettre ait la même probabilité d’apparaître il faut des clés générées aléatoirement.
Mais ça, c’est très compliqué à faire. On sait faire du pseudo-aléatoire mais comme son nom l’indique ce n’est pas complètement aléatoire,
les probabilités d’apparition des lettres ne sont pas exactement les mêmes.</p>
<h3 id="la-transmission-des-clés">La transmission des clés</h3>
<p>La transmission des clés n’est pas un problème pour de toutes petites clés (un article expliquera bientôt comment).</p>
<p>Mais cela devient très compliqué dés lors que les clés doivent dépasser une certaine taille
(la taille minimale est à l’heure actuelle de 4096 bits voire dans certains cas de fou fou 8192 bits, c’est à dire 1024 octets, 1ko pour les informaticiens).</p>
<p>Donc, souvent, les clés sont échangées physiquement à l’avance.
Ce n’est pas pratique et devient très compliqué pour envoyer beaucoup de messages à beaucoup d’interlocuteurs.</p>
<h3 id="lunicité-dusage">L’unicité d’usage</h3>
<p>On en revient au même problème que pour la taille des clés et l’aspect aléatoire des clés.</p>
<p>Si on réutilise une clé, on perd l’aspect aléatoire et le message chiffré est de nouveau sensible à une analyse des fréquences.</p>
<p>Le problème est plus grave encore car l’unicité d’usage suppose la destruction de la clé après utilisation
et il n’existe pas de moyen facile pour s’assurer que vos interlocuteurs ne gardent pas les clés
dans un coin au risque de se les faire voler plus tard (dans 5 ans, 10 ans…) ou ne les réutilisent pas pour d’autres messages de leur côté.</p>
<h3 id="lempoisonnement-du-message">L’empoisonnement du message</h3>
<p>Le dernier soucis possible est l’empoisonnement des clés mais cela peut être réglé assez facilement (du moins temporairement) en informatique.</p>
<p>Comme le masque jetable est insensible à la force brute (toutes les clés de l’univers donnant tous les messages de l’univers),
un attaquant peut s’amuser à modifier le message chiffré pour lui donner un sens différent.</p>
<p>Il peut aussi modifier la clé sans forcément la connaître et ainsi modifier le message en clair.</p>
<p>Exemple :</p>
<p>Reprenons notre fameux message :</p>
<pre><code>« J’aime pas les framboises »
</code></pre>
<p>que l’on chiffre avec la clé :</p>
<pre><code>« nzhtjplgpggsefirksxohsbyhkazsb »
</code></pre>
<p>en modulo 26 (donc sans l’apostrophe), on obtient :</p>
<pre><code>« N zrry rrg yef eytvqzohky »
</code></pre>
<p>L’attaquant ne connaît que ce message secret mais il peut modifier la clé de chiffrement. Il remplace donc la clé par :</p>
<pre><code>« ezjfuqjcltbmtcvihgdtgefirksxohsbyhkazsb »
</code></pre>
<p>Et ça donne le message clair suivant :</p>
<pre><code>« Jaimebienlesfraisiers »
</code></pre>
<p>Donc, pas du tout le message original.</p>
<p>Pour éviter ça, en informatique, on peut signer et faire un hachage du message et des clés
et donc un utilisateur peut vérifier que le message qu’il reçoit est bien conçu par la bonne clé et que la clé qu’il utilise est toujours la bonne.</p>
<p>Nous reviendrons sur le fonctionnement d’une signature et d’un hachage dans de prochains articles.</p>
<p>Je crois qu’on a déjà largement dépassé les 2000 mots. On va s’arrêter là.</p>]]></content:encoded>
    </item>
    <item>
      <title>Cryptotrucs épisode 3 : La cryptographie symétrique</title>
      <link>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/</link>
      <pubDate>Fri, 18 Jan 2019 19:17:21 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/</guid>
      <description>Lee a réuni Alice et Bob.</description>
      <media:title>Cryptotrucs épisode 3 : La cryptographie symétrique</media:title>
      <media:description>Lee a réuni Alice et Bob.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/videos/cryptotrucs-episode-3-la-cryptographie-symetrique.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Chiffrement, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/images/cover.png" />
      <media:category>Cryptotrucs</media:category>
    </item>
    <item>
      <title>Le chiffre de Vigenère</title>
      <link>https://blog.limawi.io/fr-fr/posts/le-chiffre-de-vigenere/</link>
      <pubDate>Tue, 15 Jan 2019 18:00:10 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/le-chiffre-de-vigenere/</guid>
      <description>Le chiffre de Vigenère est une évolution du chiffre de César introduisant la notion de clé.</description>
      <content:encoded><![CDATA[<p>Pour l&rsquo;énigme de l&rsquo;épisode 3 de Cryptotrucs, allez en bas d&rsquo;article.</p>
<h2 id="un-peu-dhistoire">Un peu d’histoire</h2>
<p>Contrairement à ce que suggère son appellation le chiffre de Vigenère semble avoir été conçu par Giovan Battista Bellaso, un cryptographe italien du 16ème siècle.</p>
<p>Malgré tout, c’est le chiffre de Vigenère qui restera et non celui de Bellaso.</p>
<p>Blaise de Vigenère présente son chiffrement 20 ans après Bellaso avec des évolutions par rapport à celui-ci.</p>
<p>On nomme cette méthode de chiffrement Vigenère à partir du 19ème siècle sans se soucier de Bellaso. De plus Bellaso a été rapidement oublié au profit de Porta.</p>
<p>Plein de noms. Ah, l’histoire !</p>
<p>Bien sûr, ce chiffre n’est pas sûr et a été cassé dès le 19ème siècle.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.vtt" default>
</video>
</div>
<h2 id="la-clé-à-la-place-du-décalage">La clé à la place du décalage</h2>
<p>Le chiffre de Vigenère introduit une grande innovation par rapport au 
<a href="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-cesar/">chiffre de César</a> : la notion de clé.</p>
<p>Cette différence place ce chiffrement comme polyalphabétique et non plus monoalphabétique.
On n’a plus « une lettre en clair donne une, et seulement une, lettre chiffrée » mais on peut avoir une lettre en clair
qui donne deux lettres chiffrées différentes et une lettre chiffrée qui peut venir de deux lettres en clair différentes.</p>
<p>On utilise donc plusieurs alphabets de substitution (différents décalages de lettres dans un même message) contrairement au chiffre de César. D’où le mot « polyalphabétique ».</p>
<p>Les règles de substitution (comment on passe d’un alphabet à l’autre) sont données par les lettres de la clé et une table de substitution.</p>
<p>Vous n’avez pas tout compris ? On va illustrer ça par des exemples dans les chapitres suivants, ne vous inquiétez pas.</p>
<p>De plus, un autre article reviendra sur la classification des chiffrements.</p>
<h2 id="le-chiffre-lui-même">Le chiffre lui-même</h2>
<p>On entre donc dans le vif du sujet. Il y a deux façons de se représenter le chiffre de Vigenère le plus classique (avec les variantes, c’est une autre histoire).</p>
<h3 id="représentation-par-table">Représentation par table</h3>
<p>Pour la représentation par table, on a besoin d’une table (oui, oui), ou plutôt d’un tableau de substitution. Le voici :</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-vigenere/images/table-de-vigenere.png" class="figure-img img-fluid rounded" alt="En colonnes le message en clair, en lignes la clé">
  <figcaption class="figure-caption"><p>Table de Vigenère</p>
    <small>En colonnes le message en clair, en lignes la clé</small>
  </figcaption>
</figure>

<p>Ça vous semble touffu mais ça ne l’est pas tant que ça.
Si vous regardez les lignes de la table, vous voyez l’alphabet latin avec un décalage d’une lettre par ligne.
De même, si vous regardez les colonnes.</p>
<p>Le chiffre consiste à prendre la lettre à l’intersection de la lettre du message en clair (les colonnes) et la lettre de la clé (les lignes).
Cette lettre à l’intersection est celle du message chiffré.</p>
<p>Exemple :</p>
<h4 id="chiffrement">Chiffrement</h4>
<p>Prenons le message : « J&rsquo;ai plaqué mon chêne » (extrait de « Auprès de mon arbre » de Georges Brassens)</p>
<p>Et la clé : « Una mattina » (extrait de « Bella Ciao »)</p>
<p>On regarde l’intersection de chaque lettre :</p>
<p>La colonne « J » et la ligne « U » donnent « D »,</p>
<p>la colonne « a » (on oublie l’apostrophe pour l’instant) et la ligne « n » donnent « n »,</p>
<p>la colonne « i » et la ligne « a » donnent « i »,</p>
<p>etc.</p>
<p>Si le message dépasse la clé en longueur, on répète la clé. On considère le « ê » et le « é » comme un « e ».</p>
<p>On obtient donc :</p>
<p>« D ni bltjcr mia ctegx »</p>
<h4 id="déchiffrement">Déchiffrement</h4>
<p>Pour le déchiffrement, on regarde pour chaque ligne, correspondant à la lettre de la clé,
où se situe la lettre du message chiffré et on prend la lettre en haut de la colonne correspondante qui est celle du message en clair.</p>
<p>Donc, en reprenant la clé : « Una mattina »</p>
<p>Et le message chiffré : « D ni bltjcr mia ctegx »</p>
<p>Dans la ligne « U », la lettre « D » est à la dixième position, donc la colonne « J »,</p>
<p>dans la ligne « n », la lettre « n » correspond à la première position, la colonne « a »,</p>
<p>etc.</p>
<p>On retrouve donc :</p>
<p>« J ai plaque mon chene »</p>
<h3 id="représentation-par-congruence">Représentation par congruence</h3>
<p>La deuxième représentation est la représentation mathématique, la congruence. Si ce mot ne vous dit rien, regardez 
<a href="https://blog.limawi.io/fr-fr/posts/la-congruence-le-modulo/">cet article</a>.</p>
<p>Pour utiliser la congruence, on va substituer les lettres par des chiffres. On utilise la règle suivante :</p>
<pre><code>A=0, B=1, C=2, D=3, E=4, F=5, G=6, H=7, I=8, J=9, K=10, L=11, M=12, N=13, O=14, P=15, Q=16, R=17, S=18, T=19, U=20, V=21, W=22, X=23, Y=24, Z=25
</code></pre>
<p>Et pour chiffrer, on additionne la clé au message. Pour déchiffrer, on soustrait la clé du message.</p>
<p>Exemple :</p>
<h4 id="chiffrement-1">Chiffrement</h4>
<p>On reprend notre message : « J’ai plaqué mon chêne »</p>
<p>Et notre clé : « Una mattina »</p>
<p>On va aligner le message et la clé (en enlevant l’apostrophe et les accents) et répéter la clé pour couvrir tout le message :</p>
<pre><code>« J ai plaque mon chene »

+

« Una mattina Una matti »

=

9

+

20

=

29
</code></pre>
<p>On n’a pas de lettre de valeur 29 (le maximum c’est 25), donc on utilise la congruence. On considère un <em>modulo</em> 26 (de 0 à 25, 26 nombres).</p>
<p>Donc,</p>
<p>$$
29 \equiv 29-26 \pmod{26} \equiv 3 \pmod{26} = D
$$</p>
<p>On peut continuer nos calculs :</p>
<pre><code>« J ai plaque mon chene »

+

« Una mattina Una matti »

=

9

+

20

=

29

≡

3 mod(26)

=

D
</code></pre>
<p>Et ainsi de suite. On retrouve le message chiffré : « D ni bltjcr mia ctegx »</p>
<h4 id="déchiffrement-1">Déchiffrement</h4>
<p>Pour déchiffrer, on soustrait la clé au message chiffré. On utilise toujours la congruence, bien sûr.</p>
<pre><code>« D ni bltjcr mia ctegx »

-

« Una mattina Una matti »

=

3

-

20

=

-17

≡

-17+26 mod(26)

≡

9 mod(26)

=

J
</code></pre>
<p>Et, de niveau, étape par étape, on retombe sur :</p>
<p>« J ai plaque mon chene »</p>
<h2 id="variantes">Variantes</h2>
<p>Le chiffre de Vigenère a connu de multiples variations. En voici quelques unes :</p>
<h3 id="le-précurseur-bellaso">Le précurseur Bellaso</h3>
<p>Avant Vigenère, il y avait eu Bellaso.
Mais le pauvre homme s’est fait piqué la vedette par un autre italien, plus connu à son époque, Giovanni Della Porta, puis par Vigenère.
Bref, du coup on parle du chiffre de Porta/Bellaso.</p>
<p>Pour ce chiffre, il faut une table que voici :</p>
<table>
<thead>
<tr>
<th>Clé</th>
<th>Substitution</th>
</tr>
</thead>
<tbody>
<tr>
<td>AB</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>N O P Q R S T U V W X Y Z</td>
</tr>
<tr>
<td>CD</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>Z N O P Q R S T U V W X Y</td>
</tr>
<tr>
<td>EF</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>Y Z N O P Q R S T U V W X</td>
</tr>
<tr>
<td>GH</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>X Y Z N O P Q R S T U V W</td>
</tr>
<tr>
<td>IJ</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>W X Y Z N O P Q R S T U V</td>
</tr>
<tr>
<td>KL</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>V W X Y Z N O P Q R S T U</td>
</tr>
<tr>
<td>MN</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>U V W X Y Z N O P Q R S T</td>
</tr>
<tr>
<td>OP</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>T U V W X Y Z N O P Q R S</td>
</tr>
<tr>
<td>QR</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>S T U V W X Y Z N O P Q R</td>
</tr>
<tr>
<td>ST</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>R S T U V W X Y Z N O P Q</td>
</tr>
<tr>
<td>UV</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>Q R S T U V W X Y Z N O P</td>
</tr>
<tr>
<td>WX</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>P Q R S T U V W X Y Z N O</td>
</tr>
<tr>
<td>YZ</td>
<td>A B C D E F G H I J K L M</td>
</tr>
<tr>
<td></td>
<td>O P Q R S T U V W X Y Z N</td>
</tr>
</tbody>
</table>
<p>Dans la colonne de gauche se trouve la lettre de la clé, et dans la colonne de droite se trouve la substitution.</p>
<p>Un petit exemple pour vous montrer comment ça fonctionne :</p>
<h4 id="chiffrement-2">Chiffrement</h4>
<p>Prenons le message suivant : « Trois Anneaux pour les Rois Elfes » (extrait du « Seigneur des anneaux » de Tolkien)</p>
<p>Avec la clé suivante : « La République Galactique » (extrait de « Starwars » de Lucas)</p>
<p>La première lettre de la clé est « L ».</p>
<p>On cherche dans la première colonne et cette lettre (« L »)est dans la sixième ligne avec « K ».</p>
<p>La première lettre du message est « T ». On cherche donc la lettre « T » dans la deuxième colonne à la sixième ligne.</p>
<p>On voit que « T » se trouve en dessous de « L » (dans les deux lignes présentes dans chaque ligne de la deuxième colonne), donc la lettre chiffrée est « L ».</p>
<p>On passe à la deuxième lettre de la clé (pour être sûr que vous suivez). C’est la lettre « a ».</p>
<p>Elle se situe à la première ligne dans la première colonne. La deuxième lettre du message en clair est « r ».</p>
<p>Dans la deuxième colonne de la première ligne, « r » est en dessous de « e », donc la lettre chiffrée est « e ».</p>
<p>Ensuite :</p>
<p>« R » : 9ème ligne : « o » devient « j »,</p>
<p>« e » : 3ème ligne : « i » devient « t » (« i » est au dessus de « t »),</p>
<p>etc.</p>
<p>Le message chiffré est donc :</p>
<p>« Lejtm qafnsem fbme xvb ijyh zyxpm »</p>
<h4 id="déchiffrement-2">Déchiffrement</h4>
<p>Vous reprenez la clé, vous retrouvez la ligne et faites la correspondance. Donc :</p>
<p>Avec la clé : « La République Galactique »</p>
<p>Et le message chiffré : « Lejtm qafnsem fbme xvb ijyh zyxpm »</p>
<p>« L » : 6ème ligne : « L » devient « T »,</p>
<p>« a » : première ligne : « e » devient « r »,</p>
<p>etc.</p>
<p>On retombe sur le message : « Trois Anneaux pour les Rois Elfes »</p>
<h3 id="beaufort">Beaufort</h3>
<p>On passe rapidement sur cette variante et la suivante. La seule différence avec Vigenère est qu’au lieu d’additionner la clé au message pour chiffrer, on soustrait le message à la clé.</p>
<p>Donc pour déchiffrer, on soustrait le message chiffré à la clé :</p>
<p>Clé – Message = Chiffré =&gt; Message = Clé – Chiffré</p>
<p>Bien sûr, c’est selon la représentation par congruence.</p>
<div class="col-md-4 offset-md-4">
<video controls title="Le chiffre de Beaufort" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-vigenere/videos/story-chiffre-de-beaufort.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-vigenere/videos/story-chiffre-de-beaufort.webm" type="video/webm">
</video>
<p class="text-center" >Le chiffre de Beaufort</p>
<p class="text-center" ><small>Une variante du chiffre de Vigenère</small></p>
</div>
<h3 id="variante-allemande-de-beaufort">Variante allemande de Beaufort</h3>
<p>Pour cette variante, c’est le contraire. On soustrait la clé au message pour chiffrer.</p>
<p>Et pour déchiffrer, on additionne le message chiffré à la clé :</p>
<p>Message – Clé = Chiffré =&gt; Message = Clé + Chiffré</p>
<div class="col-md-4 offset-md-4">
<video controls title="La variante allemande du chiffre de Beaufort" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-vigenere/videos/story-variante-allemande-du-chiffre-de-beaufort.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-vigenere/videos/story-variante-allemande-du-chiffre-de-beaufort.webm" type="video/webm">
</video>
<p class="text-center" >La variante allemande du chiffre de Beaufort</p>
<p class="text-center" ><small>une variante de la variante du chiffre de Vigenère</small></p>
</div>
<h3 id="alphabet-désordonné">Alphabet désordonné</h3>
<p>On peut s’amuser à mettre les lettres de l’alphabet dans le désordre. Si les deux correspondants ont bien la même table, le système fonctionne.</p>
<p>Bien sûr, il faut qu’il n’y ait qu’une seule fois chaque lettre par colonne et par ligne.</p>
<p>Il faut aussi que toutes les lettres soient présentes dans toutes les colonnes et toutes les lignes.</p>
<p>Par exemple, on peut considérer ces valeurs :</p>
<pre><code>C=0, E=1, A=2, Z=3, B=4, D=5, F=6, G=7, H=8, I=9, J=10, K=11, L=12, M=13, N=14, O=15, P=16, Q=17, R=18, S=19, U=20, T=21, V=22, W=23, X=24, Y=25
</code></pre>
<h3 id="alphabet-agrandi-ou-différent">Alphabet agrandi ou différent</h3>
<p>On a travaillé sur un alphabet latin de 26 lettres mais rien n’interdit de l’agrandir pour inclure des signes supplémentaires voire d’utiliser un autre alphabet.</p>
<p>Par exemple :</p>
<pre><code>A=0, B=1, C=2, D=3, E=4, F=5, G=6, H=7, I=8, J=9, K=10, L=11, M=12, N=13, O=14, P=15, Q=16, R=17, S=18, T=19, U=20, V=21, W=22, X=23, Y=24, Z=25,!=26,?=27
</code></pre>
<p>Dans ce cas, on a un <em>modulo</em> 28 et non 26.</p>
<h3 id="variantes-de-bellaso">Variantes de Bellaso</h3>
<p>On a utilisé la table originale de Bellaso mais rien n’interdit de la transformer.</p>
<p>On peut très bien avoir trois lettres dans la première colonne au lieu de deux et réduire le nombre de lignes en conséquence.</p>
<p>Ou avoir un nombre de lettres différentes par ligne.</p>
<p>Ou changer les substitutions d’alphabet dans la deuxième colonne.</p>
<p>La seule chose que cette table impose est que le nombre de lettres/signes de votre alphabet soit pair pour que chaque signe ait une correspondance dans la deuxième colonne.</p>
<h2 id="faiblesses">Faiblesses</h2>
<h3 id="attaque-par-analyse-de-fréquences">Attaque par analyse de fréquences</h3>
<p>Comme rappelé au préambule historique, ce chiffre, ainsi que ses variantes, a été cassé au 19ème siècle.</p>
<p>Il souffre de la même faiblesse, même s’il est beaucoup plus résistant, que le chiffre de César.</p>
<p>Les langues n’utilisent pas les mêmes lettres avec les mêmes fréquences. Par exemple, en français, la lettre « e » est beaucoup plus utilisée que les autres.</p>
<p>Un attaquant peut se servir de cette différence de fréquences pour deviner le message ou la clé.</p>
<p>Mais contrairement au chiffre de César, il y a une étape préalable.</p>
<p>L’attaquant doit, d’abord, chercher à deviner la longueur de la clé. Cela lui permet de définir des segments de longueur égale dans le message chiffré.</p>
<p>Pour ça, il recherche des motifs dans le message chiffré. C’est à dire des groupes de trois lettres ou plus qui sont présents de manière régulière dans le message chiffré.</p>
<p>En effet, les langues ont aussi des motifs qui reviennent souvent : « les » apparaît souvent en français, par exemple.</p>
<p>La probabilité est plus forte que le même bout de la clé tombe sur un même motif du message en clair et donc chiffre de la même façon, qu’un simple phénomène aléatoire.</p>
<p>En repérant ces motifs, l’attaquant estime donc la taille de la clé et peut segmenter le message chiffré.</p>
<p>Chaque lettre du message en clair, dans le segment, étant chiffré par la même lettre de la clé, on peut revenir à l’étude de fréquences des lettres.</p>
<p>Cela vous semble obscur, incompréhensible. Pas de panique, un prochain article éclaircira tout ça avec des exemples.</p>
<p>Le chiffre de Vigenère est à mi-chemin entre le chiffre de César, dont il tire la règle de substitution, et le masque jetable, qui est l’algorithme parfait, qui n’apparaîtra qu’au début du 20ème siècle.</p>
<h2 id="énigme-de-cryptotrucs">Énigme de Cryptotrucs</h2>
<p>Le Carré de Polybe est 6x6.</p>
<p>La clé est : « les framboises savent »</p>
<p>Le message chiffré est : « 12 11 11 12 33 12 42 16 42 24 11 11 23 31 16 44 26 12 32 15 23 43 44 12 31 31 12 »</p>]]></content:encoded>
    </item>
    <item>
      <title>Vlog 13 janvier 2019</title>
      <link>https://blog.limawi.io/fr-fr/videos/vlog-13-janvier-2019/</link>
      <pubDate>Sun, 13 Jan 2019 09:31:01 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/vlog-13-janvier-2019/</guid>
      <description>On parle des articles sur Medium et des stories.</description>
      <media:title>Vlog 13 janvier 2019</media:title>
      <media:description>On parle des articles sur Medium et des stories.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/vlog-13-janvier-2019/videos/vlog-13-janvier-2019.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infos</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/vlog-13-janvier-2019/images/cover.png" />
      <media:category></media:category>
    </item>
    <item>
      <title>La congruence (le modulo)</title>
      <link>https://blog.limawi.io/fr-fr/posts/la-congruence-le-modulo/</link>
      <pubDate>Tue, 08 Jan 2019 14:13:45 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/la-congruence-le-modulo/</guid>
      <description>Un peu de mathématiques. Comment faire des calculs sans sortir d&#39;un petit ensemble de nombres.</description>
      <content:encoded><![CDATA[<h2 id="doù-ça-vient">D’où ça vient ?</h2>
<p>La congruence a été, pour la première fois, formellement étudiée à la fin du 18ème siècle et au tout début du 19ème siècle par Carl Friedrich Gauss, le « <em>master</em> » des mathématiciens.</p>
<p>Il a laissé son nom à la courbe en cloche dite « courbe de Gauss ».</p>
<p>Auparavant, on utilisait la congruence sans avoir conscience de ses propriétés, tout comme on sait additionner 2 carottes et 3 carottes sans avoir conscience que c’est un calcul de somme en arithmétique.</p>
<p>C’est bien mignon tout ça, mais sinon, qu’est-ce que c’est ?</p>
<h2 id="le-principe">Le principe</h2>
<p>La congruence est une structure mathématique, c’est à dire un ensemble de règles, qui permet de relier des nombres entiers entre eux dans un ensemble fini.</p>
<p>C’est à dire que si on considère une congruence de module (ou <!-- raw HTML omitted -->modulo<!-- raw HTML omitted -->) n (on verra plus loin ce qu’est un module), on a les propriétés suivantes :</p>
<ul>
<li>$$
a \equiv a \pmod{n},
$$</li>
<li>$$
\text{si } a \equiv b \pmod{n} \quad \text{alors } b \equiv a \pmod{n},
$$</li>
<li>$$
\text{si } a \equiv b \pmod{n} \quad \text{et } b \equiv c \pmod{n} \quad \text{alors } a \equiv c \pmod{n},
$$</li>
<li>$$
\text{si } a \equiv b \pmod{n} \quad \text{et } c \equiv d \pmod{n} \quad \text{alors } a+c \equiv b+d \pmod{n} \quad \text{et } a \times c \equiv b \times c \pmod{n}
$$</li>
</ul>
<p>Et la vous vous dites « J’ai rien compris. Pourquoi il y a trois barres dans son égal ? Ça veut dire quoi ce mod ? Tant de questions ? »</p>
<p>Ne vous inquiétez pas. On va faire des exemples et des représentations plus claires.</p>
<h2 id="on-boucle-on-boucle">On boucle, on boucle</h2>
<p>Une autre façon de se représenter la congruence et le modulo, c’est sous la forme d’une boucle ou d’un cycle.</p>
<h3 id="un-petit-exemple-les-minutes">Un petit exemple, les minutes</h3>
<p>Imaginez que vous regardez une horloge et vous ne vous occupez que de l’aiguille des minutes.</p>
<p>Vous voulez additionner 45 minutes et 30 minutes mais vous ne vous préoccupez pas de l’heure (juste l’aiguille des minutes). Vous trouvez quoi ?</p>
<p>15 minutes, non ?</p>
<p>Félicitations, vous avez fait un calcul de congruence de module 60 (ou modulo 60).</p>
<p>Et vous pouvez ajouter des nombres bien plus grands que 60 (ou n’importe quel autre module).
Il faut soustraire 60 du résultat autant qu’on peut.
Le résultat doit être compris dans l’ensemble (donc ici entre 0 et 59).</p>
<p>Combien font 59 + 258 minutes modulo 60 ?</p>
<p>Réponse à la fin de ce billet de blog.</p>
<h3 id="un-deuxième-petit-exemple-les-heures">Un deuxième petit exemple, les heures</h3>
<p>Maintenant, avec les heures. Vous ne regardez que l’aiguille des heures (vous oubliez les minutes).
Vous ajoutez 5 heures à 8 heures. Vous trouvez quoi ? Attention, c’est une horloge.</p>
<p>1 heure, non ? (vu qu’une horloge n’affiche que 12 heures)</p>
<p>Vous avez fait un calcul de congruence de module 12.</p>
<p>Et du coup, pourquoi un signe égal avec trois traits ?
Et bien, parce que ce résultat dans le deuxième exemple n’est pas égal à 1, vu qu’on a enlevé des heures en trop.
Donc on le note avec ce signe qu’on appelle « congru ».</p>
<p>Vous voyez qu’on peut faire des additions avec des nombres immenses tout en gardant un résultat dans des nombres limités (un ensemble fini).
La taille de la congruence limite la possibilité des résultats.
Ici, par exemple, l’ensemble contient 12 nombres, les 12 heures d’une horloge.</p>
<p>Bien sûr, comme c’est un cycle, ça marche aussi en soustrayant des heures et avec des nombres entiers négatifs.
Il faut bien sûr, additionner ensuite le module pour revenir dans l’ensemble de nombres (donc ici entre 0 et 11).</p>
<p>Combien font donc : 2-18 heures modulo 12 ?</p>
<p>Réponse à la fin de ce billet de blog.</p>
<h3 id="encore-un-exemple-les-doigts">Encore un exemple, les doigts</h3>
<p>Si vous considérez les doigts d’une main, vous avez une congruence de 5 (généralement) et les doigts de 2 mains, vous avez une congruence de 10.</p>
<p>Pas convaincus ?</p>
<p>Prenez juste une main et comptez avec vos doigts 3+4, combien avez-vous de doigts qui restent ?</p>
<p>2, je pense.</p>
<p>Maintenant, prenez 2 mains et comptez 8+9, combien avez-vous de doigts qui restent ?</p>
<p>7, non ?</p>
<p>J’utilise le terme « reste » exprès. Vous allez voir.</p>
<h2 id="et-le-reste">Et le reste ?</h2>
<p>On peut voir aussi la congruence comme le reste d’une division (euclidienne, pour les connaisseurs).</p>
<p>Le dénominateur d’une division (le nombre en dessous) est le module et quand vous avez fini votre division, ce qui reste est le « reste », justement.</p>
<p>Attention, il est important de se rappeler que cela fonctionne avec des entiers donc pas de virgule, vous arrêtez votre division avant que le reste n’ait une virgule.</p>
<p>Donc, si on divise 3 par 2, on a quel reste ?</p>
<p>1 bien sûr.</p>
<p>Et si on divise 5 par 2, quel reste ?</p>
<p>1 aussi, pas mal.</p>
<p>Du coup, ça veut dire que 1 ≡ 3 mod(2) et 1 ≡ 5 mod(2), on est d’accord ?</p>
<p>Et donc :</p>
<p>$$
1 \equiv 3 \pmod{2} \equiv 5 \pmod{2}
$$</p>
<p>Maintenant, est-ce que le reste de 33/26 et le reste de 85/26 sont congrus ?</p>
<h2 id="réponses">Réponses</h2>
<h3 id="combien-font-59--258-minutes-modulo-60">Combien font 59 + 258 minutes modulo 60 ?</h3>
<p>$$
59+258 = 317 \equiv 317-60 \times 5 \pmod{60}
$$</p>
<p>(on a 5 fois 60 qui est plus petit que 317)</p>
<p>$$
\equiv 317-300 \pmod{60} \equiv 17 \pmod{60}
$$</p>
<p>Donc :</p>
<p>$$
59+258 \equiv 17 \pmod{60}
$$</p>
<h3 id="combien-font-2-18-heures-modulo-12">Combien font : 2-18 heures modulo 12 ?</h3>
<p>$$
2-18 = -16 \equiv -16+12 \pmod{12} \equiv -4 \pmod{12}
$$</p>
<p>(c’est encore négatif, donc pas entre 0 et 11)</p>
<p>$$
\equiv -4+12 \pmod{12} \equiv 8 \pmod{12}
$$</p>
<p>Donc :
$$
2-18 \equiv 8 \pmod{12}
$$</p>
<h3 id="est-ce-que-le-reste-de-3326-et-le-reste-de-8526-sont-congrus">Est-ce que le reste de 33/26 et le reste de 85/26 sont congrus ?</h3>
<p>$$
33/26 = (26+7)/26
$$</p>
<p>donc le reste est 7.</p>
<p>$$
85/26 = (26+59)/26
$$</p>
<p>59 est plus grand que 26, on continue</p>
<p>$$
= (26+26+33)/26
$$</p>
<p>tiens donc 33, comme pour la première division, on continue</p>
<p>$$
= (26+26+26+7)/26
$$</p>
<p>donc le reste est 7.</p>
<p>Donc, oui, le reste de 33/26 et le reste de 85/26 sont congrus.</p>]]></content:encoded>
    </item>
    <item>
      <title>Le chiffre de César</title>
      <link>https://blog.limawi.io/fr-fr/posts/le-chiffre-de-cesar/</link>
      <pubDate>Tue, 08 Jan 2019 13:00:27 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/le-chiffre-de-cesar/</guid>
      <description>Un des plus vieux chiffrements de l&#39;histoire. Il est incorrectement attribué à César et il reste très mauvais.</description>
      <content:encoded><![CDATA[<h2 id="un-peu-dhistoire">Un peu d’histoire</h2>
<p>Le chiffre de César, comme son nom ne l’indique pas, était déjà, semble-t-il, utilisé par les Spartiates, donc bien avant Jules César.</p>
<p>C’est une variation du chiffrement par décalage qui est un chiffrement par substitution. Des mots compliqués pour des concepts simples, vous verrez.</p>
<p>Auguste utilisait une autre variante du chiffre de César.</p>
<p>Il est très possible qu’il ait inspiré le chiffre de Vigenère.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.vtt" default>
</video>
</div>
<h2 id="la-grosse-image-la-substitution">La grosse image : la substitution</h2>
<p>On va commencer par la notion la plus large. Le chiffrement par substitution consiste à remplacer une lettre par une autre. Tout simplement.</p>
<p>Cette technique est la plus répandue dans l’histoire et elle est différente de la permutation qui consiste à changer l’ordre des lettres dans un texte.</p>
<p>Les algorithmes modernes utilisent les deux méthodes à la fois car, seule, la substitution n’est pas cryptographiquement très sûre (sauf le cas très particulier du masque jetable).</p>
<h2 id="la-moyenne-image-le-décalage">La moyenne image : le décalage</h2>
<p>Dans les méthodes de chiffrement par substitution, la plus simple est la méthode par décalage.</p>
<p>C’est une méthode de chiffrement monoalphabétique (encore un mot compliqué pour une notion simple).
C’est à dire qu’une lettre est associée (lors du chiffrement/déchiffrement) à une autre et uniquement à cette autre.
Deux lettres différentes ne peuvent pas aboutir à une même lettre après chiffrement/déchiffrement et, de même, une lettre ne peut pas donner deux lettres différentes après chiffrement/déchiffrement.</p>
<p>Pour les mathématiciens, c’est une relation bijective.</p>
<p>La méthode par décalage consiste donc à décaler une lettre dans l’alphabet.</p>
<h2 id="la-petite-image-le-chiffre-de-césar">La petite image : le chiffre de César</h2>
<p>Le chiffre de César désigne, à l’heure actuelle, toutes ces méthodes de chiffrement par décalage mais, plus précisément, le décalage par 3.</p>
<p>Prenons l’alphabet latin, celui utilisé par César (même s’il semble qu’il préférait l’alphabet grec pour ses messages secrets) et affectons des valeurs aux lettres.</p>
<pre><code>A=0, B=1, C=2, D=3, E=4, F=5, G=6, H=7, I=8, J=9, K=10, L=11, M=12, N=13, O=14, P=15, Q=16, R=17, S=18, T=19, U=20, V=21, W=22, X=23, Y=24, Z=25
</code></pre>
<p>On leur applique un décalage de 3.</p>
<pre><code>A=0+3=3=D

B=1+3=4=E

…
</code></pre>
<p>Par contre, vous voyez que si on fait :</p>
<pre><code>X=23+3=26
</code></pre>
<p>et on ne sait pas ce que c’est la lettre 26, sauf si on utilise la congruence. Si ce mot vous est inconnu, lisez 
<a href="https://blog.limawi.io/fr-fr/posts/la-congruence-le-modulo/">cet article</a>.</p>
<p>On va considérer que l’alphabet latin est en <em>modulo</em> 26. Donc, si on reprend le calcul :</p>
<pre><code>X=23+3=26 ≡ 26-26 *mod*(26) ≡ 0 *mod*(26) ≡ A
</code></pre>
<p>Donc, dans le chiffre de César, A devient D, B devient E, X devient A, Y devient B, Z devient C…</p>
<p>On a décalé les lettres de 3 crans.</p>
<p>Un exemple :</p>
<p>Considérons le message : « CAVE CANEM » (« Attention au chien », en latin)</p>
<p>On applique le chiffre de César :</p>
<pre><code>« C A V E C A N E M »

=

2 0 21 4 2 0 13 4 12

+3

=

5 3 24 7 5 3 16 7 15

=

« F D Y H F D Q H P »
</code></pre>
<p>Voilà votre message chiffré. Et pour le déchiffrer on fait le contraire, on soustrait 3 aux lettres du message chiffré.</p>
<p>C’est simple, n’est ce pas. Et vous comprenez qu’on en est au degré 0 de la cryptographie.</p>
<p>Mais pour l’époque, ça paraissait suffisant.</p>
<h2 id="les-variantes">Les variantes</h2>
<p>Bien sûr, on a développé des variantes de ce chiffrement durant l’histoire.</p>
<h3 id="rot13">ROT13</h3>
<p>Cette variante consiste à faire un décalage de 13 lettres et non de 3. « ROT » est le raccourci de rotation, car un décalage avec un <em>modulo</em> peut être analysé comme une rotation.</p>
<p>Ce décalage est particulier car il est symétrique pour un alphabet de 26 lettres (13 étant la moitié de 26).
C’est à dire que si on chiffre deux fois un message avec ce décalage on retrouve le message en clair.</p>
<p>Exemple :</p>
<p>Premier chiffrement :</p>
<pre><code>« C A V E C A N E M »

=

2 0 21 4 2 0 13 4 12

+13

=

15 13 34-26 17 15 13 26-26 17 25

=

15 13 8 17 15 13 0 17 25

=

« P N I R P N A R Z »
</code></pre>
<p>Deuxième chiffrement :</p>
<pre><code>« P N I R P N A R Z »

=

15 13 8 17 15 13 0 17 25

+13

=

28-26 26-26 21 30-26 28-26 26-26 13 30-26 38-26

=

2 0 21 4 2 0 13 4 12

=

« C A V E C A N E M »
</code></pre>
<p>Tadaa, on retrouve « Cave Canem ».</p>
<div class="col-md-4 offset-md-4">
<video controls title="ROT13" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-cesar/videos/story-rot13.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-cesar/videos/story-rot13.webm" type="video/webm">
</video>
<p class="text-center" >ROT13</p>
<p class="text-center" ><small>Un chiffrement antique !</small></p>
</div>
<h3 id="auguste">Auguste</h3>
<p>J’ai dit plus haut que le chiffre de César était nul. Attendez de voir celui-là. Oubliez les <em>modulo</em>, c’est trop compliqué, et compter jusqu’à 3 c’est aussi trop compliqué, comptez jusqu’à 1, c’est très bien.</p>
<p>Auguste (le neveu de César, donc) utilisait un chiffrement par décalage de 1. Oui, vous avez bien lu, de 1. Ah et puis « z » on en fait quoi ? Rappelez-vous, pas de congruence. Donc « z » devient « aa », oui, deux « a ».</p>
<p>Dois-je vraiment vous faire un exemple ?</p>
<div class="col-md-4 offset-md-4">
<video controls title="Le chiffre d&#39;Auguste" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-cesar/videos/story-le-chiffre-d-auguste.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/le-chiffre-de-cesar/videos/story-le-chiffre-d-auguste.webm" type="video/webm">
</video>
<p class="text-center" >Le chiffre d&#39;Auguste</p>
<p class="text-center" ><small>Un autre chiffrement antique !</small></p>
</div>
<h3 id="avocat-cassis-cassette-k9">Avocat, Cassis, Cassette, K9</h3>
<p>Il y a, bien sûr, des chiffrements provenant de jeux de mots, inventés pour les jeux pour enfants.</p>
<p>Avocat est « <em>A vaut K</em> » donc un décalage de 10.</p>
<p>Cassis est « <em>K 6</em> », un décalage de 4 en arrière (ou 22 en avant).</p>
<p>Cassette est « <em>K 7</em> », un décalage de 3 en arrière (23 en avant).</p>
<p>K9 est prononcé en anglais et est une référence au chien robot de Dr Who (et c’est aussi une très bonne app mail pour Android…).
C’est un jeu de mots avec le mot « <em>canine</em> » bien sûr. C’est un décalage de 1 en arrière (25 en avant).</p>
<h3 id="extension-de-lalphabet">Extension de l’alphabet</h3>
<p>On peut, bien sûr, utiliser un autre alphabet que l’alphabet latin, voire prendre un ordre arbitraire de signes. Tout ce qu’il faut c’est que les signes soient ordonnés.</p>
<p>Exemple :</p>
<p>Prenons cet alphabet fictif :</p>
<pre><code>« : ; ! , t 2 5 »
</code></pre>
<p>Si on applique un incrément de 3, on a :</p>
<pre><code>« , t 2 5 : ; ! »
</code></pre>
<h2 id="la-nullité-du-truc">La nullité du truc</h2>
<p>Vous avez compris, maintenant, comme ce système était nul. Voyons deux méthodes pour casser un chiffrement fait avec cette technique.</p>
<h3 id="cassage-par-fréquences">Cassage par fréquences</h3>
<p>Chaque langue a des lettres plus fréquentes que les autres. Par exemple, en français « e » est (de loin) la lettre la plus fréquente.
Il suffit donc à un attaquant d’analyser la fréquence des signes dans le message.
Si le message chiffré contient beaucoup de « g » et que les interlocuteurs sont français alors l’attaquant peut faire l’hypothèse d’un décalage de 2 et retrouver facilement le texte original.</p>
<h3 id="cassage-par-force-brute">Cassage par force brute</h3>
<p>Pour un alphabet de 26 lettres, il y a 26 combinaisons possibles. Ce n’est franchement pas compliqué de tester toutes les combinaisons.</p>
<p>Tester toutes les combinaisons, cela s’appelle une attaque par force brute.
C’est le plus bête (le plus brut), on teste toutes les combinaisons.
Mais c’est aussi l’attaque qui demande le plus de ressources, vu qu’on teste tout.</p>]]></content:encoded>
    </item>
    <item>
      <title>Vlog 16 décembre 2018</title>
      <link>https://blog.limawi.io/fr-fr/videos/vlog-16-decembre-2018/</link>
      <pubDate>Sun, 16 Dec 2018 09:31:01 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/vlog-16-decembre-2018/</guid>
      <description>On revient sur le deuxième mois de Kookati.</description>
      <media:title>Vlog 16 décembre 2018</media:title>
      <media:description>On revient sur le deuxième mois de Kookati.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/vlog-16-decembre-2018/videos/vlog-16-decembre-2018.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infos</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/vlog-16-decembre-2018/images/cover.png" />
      <media:category></media:category>
    </item>
    <item>
      <title>Lee dit... épisode 4 : Faut-il mettre à jour ?</title>
      <link>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/</link>
      <pubDate>Wed, 05 Dec 2018 17:07:10 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/</guid>
      <description>Lee est dans son laboratoire de la ville de la Grande Pomme.</description>
      <media:title>Lee dit... épisode 4 : Faut-il mettre à jour ?</media:title>
      <media:description>Lee est dans son laboratoire de la ville de la Grande Pomme.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/videos/lee-dit-episode-4-faut-il-mettre-a-jour.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infosec, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/images/cover.png" />
      <media:category>Lee dit...</media:category>
    </item>
    <item>
      <title>Cryptotrucs épisode 2 bonus : D&#39;autres chiffrements historiques</title>
      <link>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques/</link>
      <pubDate>Fri, 30 Nov 2018 10:48:00 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques/</guid>
      <description>Lee, aprés avoir trouvé Bob le chat, se dirige vers le village des lapins. En chemin, il croise un autre chantier archéoinformatique.</description>
      <media:title>Cryptotrucs épisode 2 bonus : D&#39;autres chiffrements historiques</media:title>
      <media:description>Lee, aprés avoir trouvé Bob le chat, se dirige vers le village des lapins. En chemin, il croise un autre chantier archéoinformatique.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Chiffrement, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques/images/cover.png" />
      <media:category>Cryptotrucs</media:category>
    </item>
    <item>
      <title>Lee dit... épisode 3 : La sécurité des sites web qu&#39;on visite</title>
      <link>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite/</link>
      <pubDate>Fri, 16 Nov 2018 18:47:35 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite/</guid>
      <description>Lee, en retournant une nouvelle fois sur le chantier archéoinformatique trouve des choses bizarres.</description>
      <media:title>Lee dit... épisode 3 : La sécurité des sites web qu&#39;on visite</media:title>
      <media:description>Lee, en retournant une nouvelle fois sur le chantier archéoinformatique trouve des choses bizarres.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infosec, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite/images/cover.png" />
      <media:category>Lee dit...</media:category>
    </item>
    <item>
      <title>Cryptotrucs épisode 2 : L&#39;histoire ou le chiffre de César</title>
      <link>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/</link>
      <pubDate>Fri, 16 Nov 2018 18:00:31 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/</guid>
      <description>Lee a trouvé un autre artéfact. Son contenu est chiffré avec un vieux système.</description>
      <media:title>Cryptotrucs épisode 2 : L&#39;histoire ou le chiffre de César</media:title>
      <media:description>Lee a trouvé un autre artéfact. Son contenu est chiffré avec un vieux système.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Chiffrement, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/images/cover.png" />
      <media:category>Cryptotrucs</media:category>
    </item>
    <item>
      <title>Vlog 11 novembre 2018</title>
      <link>https://blog.limawi.io/fr-fr/videos/vlog-11-novembre-2018/</link>
      <pubDate>Sun, 11 Nov 2018 09:31:01 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/vlog-11-novembre-2018/</guid>
      <description>On revient sur le premier mois de Kookati.</description>
      <media:title>Vlog 11 novembre 2018</media:title>
      <media:description>On revient sur le premier mois de Kookati.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/vlog-11-novembre-2018/videos/vlog-11-novembre-2018.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infos</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/vlog-11-novembre-2018/images/cover.png" />
      <media:category></media:category>
    </item>
    <item>
      <title>Carnet de bord Kookati du point de vue de Mike</title>
      <link>https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/</link>
      <pubDate>Thu, 08 Nov 2018 12:08:12 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/</guid>
      <description>Il a été demandé à la Grosse Voix de tenir un carnet de bord. Bon ben le voici alors. Voici le point de vue de Mike.</description>
      <content:encoded><![CDATA[<p>Ce carnet de bord était disponible sur Twitter 
<a href="https://twitter.com/mike_limawi" target="_blank">Mike Ripe Net</a> mais bon le compte a été suspendu sans avertissement ni explication de la part de Twitter.</p>
<div class="col-md-12">
<video controls title="Voici Mike, le développeur en cybersécurité" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/videos/voici-mike.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/videos/voici-mike.webm" type="video/webm">
</video>
<p class="text-center" >Voici Mike, le développeur en cybersécurité</p>
<p class="text-center" ><small>Mike est le personnage qui représente le développement dans Kookati.</small></p>
</div>
<h2 id="premier-mois">Premier mois</h2>
<hr>
<blockquote>
<p>octobre 2, 2018 09:00:00</p>
</blockquote>
<p>Bon, on retourne au boulot.</p>
<hr>
<blockquote>
<p>octobre 2, 2018 17:00:00</p>
</blockquote>
<p>Je vais commencer à développer ce service. Ça nous sera utile !</p>
<hr>
<blockquote>
<p>octobre 6, 2018 10:00:00</p>
</blockquote>
<p>Ok, alors l&rsquo;idée c&rsquo;est de faire un service qui permette de communiquer avec 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a>.</p>
<hr>
<blockquote>
<p>octobre 6, 2018 17:00:00</p>
</blockquote>
<p>Il faudrait qu&rsquo;il soit totalement flexible en fait. Je sais pas ce que 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> veut en faire.</p>
<hr>
<blockquote>
<p>octobre 7, 2018 11:00:00</p>
</blockquote>
<p>Je vais me servir du réseau entre réseau Internet.</p>
<hr>
<blockquote>
<p>octobre 7, 2018 14:00:00</p>
</blockquote>
<p>En me servant des connexions existantes, chiffrer les paquets 📦&hellip;</p>
<p>Ouais, ça peut marcher.</p>
<hr>
<blockquote>
<p>octobre 8, 2018 13:00:00</p>
</blockquote>
<p>Hum&hellip; Essayer de refaire un réseau local détaché de l&rsquo;entre réseau Internet.</p>
<hr>
<blockquote>
<p>octobre 8, 2018 14:00:00</p>
</blockquote>
<p>Tout en se servant de ce réseau.</p>
<hr>
<blockquote>
<p>octobre 8, 2018 18:05:00</p>
</blockquote>
<p>Tiens, 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> a précisé des choses sur les phrases de passe.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 9, 2018 11:00:00</p>
</blockquote>
<p>J&rsquo;ai entendu dire qu&rsquo;au site de la Grande Pomme ils jetaient des masques partout.</p>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> va devoir expliquer plus de trucs.</p>
<hr>
<blockquote>
<p>octobre 9, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai encore une belle pile de clés pour le masque jetable.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/une-belle-pile-de-cles.jpg" class="figure-img img-fluid rounded" alt="Une belle pile de clés">
  <figcaption class="figure-caption"><p>Une belle pile de clés</p>
    <small>Une belle pile de clés</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 9, 2018 15:00:00</p>
</blockquote>
<p>Qu&rsquo;est-ce qui se passe ? Le site de la Vallée de la Silice est attaqué.</p>
<hr>
<blockquote>
<p>octobre 9, 2018 17:00:00</p>
</blockquote>
<p>Faut que je prévienne Gazouilleur 
<a href="https://twitter.com/" target="_blank">Twitter</a> qu&rsquo;il donne l&rsquo;alerte.</p>
<hr>
<blockquote>
<p>octobre 9, 2018 18:00:00</p>
</blockquote>
<p>Bon Gazouilleur m&rsquo;a engueulé en me disant qu&rsquo;il le savait déjà.</p>
<ul>
<li>Moi : Bon ben on fait quoi du coup ?</li>
<li>Lui : Euuuhhh&hellip; Je sais pas.</li>
<li>Moi : J&rsquo;admire la force de tes propositions. Ça fait plaisir. On recule vers l&rsquo;intérieur du site.</li>
</ul>
<hr>
<blockquote>
<p>octobre 10, 2018 16:00:00</p>
</blockquote>
<p>On est bombardé de paquets 📦. Tout les ports ⚓ sont bouchés.</p>
<p>Même le 443ème, le plus sécurisé.</p>
<p>Les communications fléch&hellip;</p>
<hr>
<blockquote>
<p>octobre 13, 2018 17:00:00</p>
</blockquote>
<p>On s&rsquo;est replié avec le peuple oiseau 🐦 On est derrière des 🍯</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/mike-derriere-un-pot-de-miel.png" class="figure-img img-fluid rounded" alt="Mike derrière un pot de miel">
  <figcaption class="figure-caption"><p>Mike derrière un pot de miel</p>
    <small>Mike derrière un pot de miel</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 13, 2018 18:00:00</p>
</blockquote>
<p>De temps en temps Oiseau tonnerre vient avec du courrier du front.</p>
<p>Les gardes suricates 
<a href="https://suricata-ids.org/" target="_blank">Suricata_IDS</a> essayent de prévenir les intrusions.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/suricates-avec-des-casques-antiques.png" class="figure-img img-fluid rounded" alt="Suricates avec des casques antiques">
  <figcaption class="figure-caption"><p>Suricates avec des casques antiques</p>
    <small>Suricates avec des casques antiques</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 14, 2018 15:00:00</p>
</blockquote>
<p>Les 🍯 ont collé les paquets 📦. L&rsquo;attaque a cessé.</p>
<p>Je vais pouvoir continuer mon développement.</p>
<hr>
<blockquote>
<p>octobre 14, 2018 16:00:00</p>
</blockquote>
<p>Avec ces attaques régulières, un moyen de garder les communications malgré tout, c&rsquo;est pas du luxe.</p>
<hr>
<blockquote>
<p>octobre 14, 2018 17:00:00</p>
</blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> m&rsquo;a parlé via un masque jetable de son projet de base de recherche ⚗️..</p>
<p>J&rsquo;ai entendu dire qu&rsquo;il était parti en vacances. Hum&hellip; Je crois pas non.</p>
<hr>
<blockquote>
<p>octobre 15, 2018 14:00:00</p>
</blockquote>
<p>De retour dans mon nid. Gazouilleur 
<a href="https://twitter.com/" target="_blank">Twitter</a> est retourné à son poste de crieur public.</p>
<p>Oiseau tonnerre redistribue le courrier en retard.</p>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> m&rsquo;a envoyé du courrier.</p>
<p>Il est de retour sur le site de la Grande Pomme.</p>
<hr>
<blockquote>
<p>octobre 15, 2018 16:00:00</p>
</blockquote>
<p>Il faudra quand même finir par savoir quelquechose sur ces aggresseurs.</p>
<p>Ça ne semble pas être eux.</p>
<hr>
<blockquote>
<p>octobre 15, 2018 19:00:00</p>
</blockquote>
<p>Des nouvelles du site de la Grande Pomme.</p>
<p>Il semble qu&rsquo;ils aient cessé de jeter des masques partout. Je me demande si 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> est derrière ça.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 16, 2018 11:00:00</p>
</blockquote>
<p>Bon retour au boulot. J&rsquo;en étais oû ? faut que ça avance.</p>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> m&rsquo;envoie un tas de messages avec le masque jetable. La pile de clés s&rsquo;amenuise.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/pile-de-cles-riquiqui.jpg" class="figure-img img-fluid rounded" alt="Pile de clés riquiqui">
  <figcaption class="figure-caption"><p>Pile de clés riquiqui</p>
    <small>Pile de clés riquiqui</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 16, 2018 13:00:00</p>
</blockquote>
<p>Le routage 🖧 c&rsquo;est bon. Le chiffrement maintenant.</p>
<hr>
<blockquote>
<p>octobre 17, 2018 15:00:00</p>
</blockquote>
<p>Ok, ces protocoles sont considérés cryptographiquement sûr, on y va.</p>
<hr>
<blockquote>
<p>octobre 17, 2018 17:00:00</p>
</blockquote>
<p>TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 Je crois que j&rsquo;ai ce qu&rsquo;il faut là.</p>
<p>Je pense que 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> expliquera ce qui semble être un charabia un jour.</p>
<hr>
<blockquote>
<p>octobre 20, 2018 11:00:00</p>
</blockquote>
<p>Côté serveur c&rsquo;est bon.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/un-serveur-de-cafe-avec-la-tete-de-mike-et-un-serveur-pas-de-cafe-sur-son-plateau.png" class="figure-img img-fluid rounded" alt="Un serveur de café avec la tête de Mike et un serveur (pas de café) sur son plateau">
  <figcaption class="figure-caption"><p>Un serveur de café avec la tête de Mike et un serveur (pas de café) sur son plateau</p>
    <small>Un serveur de café avec la tête de Mike et un serveur (pas de café) sur son plateau</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 20, 2018 17:00:00</p>
</blockquote>
<p>Le client. Qu&rsquo;est ce que je fais avec le client ?</p>
<hr>
<blockquote>
<p>octobre 21, 2018 15:00:00</p>
</blockquote>
<p>Il faut que ce soit compatible avec les clients 
<a href="https://openvpn.net/" target="_blank">OpenVPN</a> pour ne pas piéger les utilisateurs dans cette solution.</p>
<hr>
<blockquote>
<p>octobre 21, 2018 17:00:00</p>
</blockquote>
<p>Du coup, je vais faire en sorte qu&rsquo;on utilise ces clients Openvpn.</p>
<p>J&rsquo;aurais beaucoup prononcé OpenVPN aujourd&rsquo;hui&hellip; OpenVPN, OpenVPN, OpenVPN&hellip;</p>
<hr>
<blockquote>
<p>octobre 22, 2018 11:00:00</p>
</blockquote>
<p>Je vais nommer un client fonctionnant sur ce réseau</p>
<ul>
<li>⬇️&lt;</li>
<li>un accès</li>
<li>Je me suis vraiment cassé le crâne pour le nommer 🤔</li>
</ul>
<hr>
<blockquote>
<p>octobre 22, 2018 13:00:00</p>
</blockquote>
<p>Il faut que je travaille la double authentification de ces accès.</p>
<hr>
<blockquote>
<p>octobre 22, 2018 18:05:00</p>
</blockquote>
<p>Tiens, 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> fait un truc sur ça justement.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 23, 2018 14:00:00</p>
</blockquote>
<p>Bon, continuons pour l&rsquo;authentification. alors quelque chose qu&rsquo;on a&hellip;</p>
<p>Une clé correspondant à un certificat. Pour que ce soit compréhensible, vite l&rsquo;analogie du cadenas.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/cle-et-cadenas.png" class="figure-img img-fluid rounded" alt="Clé et cadenas">
  <figcaption class="figure-caption"><p>Clé et cadenas</p>
    <small>Clé et cadenas</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 23, 2018 15:00:00</p>
</blockquote>
<p>Et l&rsquo;analogie s&rsquo;arrête là. Puisque un certificat ça peut se révoquer. Faudra vraiment que 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> explique tout ça.</p>
<hr>
<blockquote>
<p>octobre 24, 2018 15:00:00</p>
</blockquote>
<p>J&rsquo;ai entendu parler d&rsquo;un artéfact prés du noyau. Il faut que j&rsquo;y aille discrètement.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/mike-est-discret.png" class="figure-img img-fluid rounded" alt="Mike est discret">
  <figcaption class="figure-caption"><p>Mike est discret</p>
    <small>Mike est discret</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 27, 2018 14:00:00</p>
</blockquote>
<p>J&rsquo;ai trouvé l&rsquo;artéfact. Je rentre à tire-d&rsquo;aile l&rsquo;étudier.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/mike-avec-un-truc-dans-les-mains.png" class="figure-img img-fluid rounded" alt="Mike avec un truc dans les mains">
  <figcaption class="figure-caption"><p>Mike avec un truc dans les mains</p>
    <small>Mike avec un truc dans les mains</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 28, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai étudié l&rsquo;artéfact. woooo 😮. Je vais l&rsquo;envoyer à 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a>.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/mike-avec-sa-tablette-dans-les-mains.png" class="figure-img img-fluid rounded" alt="Mike avec sa tablette dans les mains">
  <figcaption class="figure-caption"><p>Mike avec sa tablette dans les mains</p>
    <small>Mike avec sa tablette dans les mains</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 28, 2018 15:00:00</p>
</blockquote>
<p>Il faut que je termine mon service parceque avec ce que j&rsquo;ai trouvé on va en avoir rapidement besoin.</p>
<p>Je suis pas loin de l&rsquo;avoir fini. Y a plein de fonctionnalités qu&rsquo;il faudra expliquer.</p>
<hr>
<h2 id="deuxième-mois">Deuxième mois</h2>
<hr>
<blockquote>
<p>octobre 29, 2018 10:00:00</p>
</blockquote>
<p>Bon, j&rsquo;ai ce qu&rsquo;il faut. Le nom du machin maintenant. Ben on fait avec mon nom.</p>
<p>MyCrypNet ça sonne bien je trouve. Ah&hellip; et 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> a trouvé un artéfact de son côté. Avec le mien&hellip; Zut, je lui ai pas envoyé !!!</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 30, 2018 13:00:00</p>
</blockquote>
<p>Bon allez. On prépare les bagages pour l&rsquo;archipel.</p>
<p>Il va falloir que je délègue des portions de mon réseau MyCrypNet aux autres oiseaux pour rester en contact.</p>
<hr>
<blockquote>
<p>octobre 31, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai vu avec 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> la répartition sur l&rsquo;archipel. Il aura le grand site central, j&rsquo;aurais un petit site.</p>
<hr>
<blockquote>
<p>novembre 1, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai quand même des doutes. J&rsquo;ai peur que des membres de mon peuple, les oiseaux, soient des espions de ces fruits rouges.</p>
<p>J&rsquo;ai percuté que le gardien 🐧 du noyau m&rsquo;avait vu prendre l&rsquo;artéfact. Il n&rsquo;a rien dit. J&rsquo;ai confiance, je vais lui parler de MyCrypNet.</p>
<hr>
<blockquote>
<p>novembre 2, 2018 13:00:00</p>
</blockquote>
<p>Gardien 🐧 : Mike.dire( Mike.déplacer( Mike, lieu: loin)) et Mike.dire( Mike.créer((objet) MyCrypNet)) et Gardien.voir( MyCrypNet.créé( lieu: nanovers)) donc Gardien.dire( Gardien.savoir( Mike.créer((objet) MyCrypNet)))</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/le-gardien.png" class="figure-img img-fluid rounded" alt="Le gardien entre Kookati et le Nanovers">
  <figcaption class="figure-caption"><p>Le gardien entre Kookati et le Nanovers</p>
    <small>Le gardien entre Kookati et le Nanovers</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 3, 2018 13:00:00</p>
</blockquote>
<p>Du coup j&rsquo;ai pas tout compris. Ce gardien parle étrangement.</p>
<p>Bon, je suis de retour dans mon nid. Il va me falloir une équipe pour diffuser MyCrypNet auprès des résistants à la baie écarlate. Je contacte 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a>.</p>
<hr>
<blockquote>
<p>novembre 4, 2018 13:00:00</p>
</blockquote>
<p>Faut que je définisse le logo. Je vais prendre le blason familial.</p>
<p>Dans ma famille, le nom est en premier. Donc, mon nom c&rsquo;est Mike.</p>
<p>C&rsquo;est fait. Le gardien 🐧 vient de me dire : Gardien.voir( MyCrypNet.modifié( logo, lieu: nanovers))</p>
<p>Euuhhhhh&hellip;</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/blason-de-mycrypnet.png" class="figure-img img-fluid rounded" alt="Blason de MyCrypNet">
  <figcaption class="figure-caption"><p>Blason de MyCrypNet</p>
    <small>Blason de MyCrypNet</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 5, 2018 10:00:00</p>
</blockquote>
<p>Au lieu de bayer aux corneilles, je vais essayer de me renseigner un peu plus sur les fruits rouges présents dans la vallée de la silice.</p>
<p>Ont-ils infiltrés mon peuple ?</p>
<hr>
<blockquote>
<p>novembre 6, 2018 13:00:00</p>
</blockquote>
<p>Bon, après investigations, tout le monde est innocent comme la blanche colombe.</p>
<p>C&rsquo;est chouette. Je suis gai comme un pinson et je siffle comme un merle.</p>
<hr>
<blockquote>
<p>novembre 7, 2018 13:00:00</p>
</blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> m&rsquo;a envoyé Bob. Un chat 🐈 parmi les oiseaux 🐦, ça promet.</p>
<p>Enfin, c&rsquo;est un chat 🐈 technicien, il n&rsquo;est pas câblé de façon standard.</p>
<p>Ça a été quand même une volée de moineaux à son arrivée. Mais ça va, les autres reviennent.</p>
<hr>
<blockquote>
<p>novembre 8, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai expliqué à Bob comment installer MyCrypNet.</p>
<p>Il a trouvé ça super simple, il l&rsquo;a même répété (oui, je sais je m&rsquo;envoie pas des fleurs).</p>
<p>Il va diffuser l&rsquo;information auprès de son clan. Brave petit chat 😽&hellip;</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/bob-le-chat.png" class="figure-img img-fluid rounded" alt="Bob le chat">
  <figcaption class="figure-caption"><p>Bob le chat</p>
    <small>Bob le chat</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 9, 2018 13:00:00</p>
</blockquote>
<p>Bon mon petit Bob. Les paquets 📦 circulent chiffrés au sein de MyCrypNet.</p>
<p>Un algorithme pour vérifier que les accès MyCrypNet ne sont pas des hackers, un pour échanger des clés entre accès.</p>
<p>Un pour vérifier qu&rsquo;un hacker n&rsquo;a pas modifié un paquet 📦 en voyage&hellip;</p>
<hr>
<blockquote>
<p>novembre 10, 2018 13:00:00</p>
</blockquote>
<p>Bob apprend vite. Il est occupé à tester le truc là.</p>
<p>Bon, du coup j&rsquo;ai pas avancé sur mon déplacement vers le multisite et comment l&rsquo;annoncer.</p>
<hr>
<blockquote>
<p>novembre 11, 2018 10:00:00</p>
</blockquote>
<p>Je suis allé voir le chef aujourd&rsquo;hui. Il m&rsquo;a expliqué que les oiseaux 🐦 ne pouvaient pas être infiltrés par les framboises car ils viennent du noyau.</p>
<p>J&rsquo;ai rien compris&hellip;</p>
<hr>
<blockquote>
<p>novembre 12, 2018 13:00:00</p>
</blockquote>
<p>Alors, le chef m&rsquo;a expliqué. En fait, le peuple oiseau 🐦 était venu du noyau juste avant ma naissance. Je suis donc le seul oiseau à être né dans ce monde&hellip;</p>
<p>Ok, c&rsquo;est pas plus clair. Ce monde ? Par rapport à quoi ? Et c&rsquo;est quoi ce noyau ?</p>
<hr>
<blockquote>
<p>novembre 13, 2018 13:00:00</p>
</blockquote>
<p>Le chef continue de m&rsquo;expliquer des trucs. Donc, si j&rsquo;ai bien compris, au sein du noyau se trouvait Pi-framboise, le fondateur, qui n&rsquo;a pas pu tenir la charge de toute l&rsquo;organisation des fruits rouges.
Il ne sait pas, par contre, comment ils sont arrivés sur Kookati.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/pi-framboise.png" class="figure-img img-fluid rounded" alt="Pi-framboise dans le Nanovers">
  <figcaption class="figure-caption"><p>Pi-framboise dans le Nanovers</p>
    <small>Pi-framboise dans le Nanovers</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 14, 2018 13:00:00</p>
</blockquote>
<p>De son côté, Bob m&rsquo;épate. Il apprend trés vite, même pour un chien 🐕 technicien qu&rsquo;il n&rsquo;est pas. Je lui délègue la gestion des appareils, ce sera notre administrateur réseau.</p>
<hr>
<blockquote>
<p>novembre 15, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai expliqué à Bob que 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> est en train de chercher un lapin 🐇. Il est moyennement ravi.
Il y a des tensions entre le clan des chats 🐈 et celui des lapins 🐇.</p>
<hr>
<blockquote>
<p>novembre 16, 2018 13:00:00</p>
</blockquote>
<p>Bon, avec Bob, on va se détendre un peu autour d&rsquo;un verre d&rsquo;alcool isopropylique. On se raconte des blagues.</p>
<p>Logarithme et exponentielle sont au restaurant. Qui paye l&rsquo;addition ?</p>
<p>&hellip;</p>
<p>exponentielle car logarithme népérien (ne paye rien)</p>
<p>Voilà, voilà</p>
<hr>
<blockquote>
<p>novembre 17, 2018 13:00:00</p>
</blockquote>
<p>Revenus de notre gueule de bois, Oiseautonnerre et Pigeon nous donnent des mauvais échos venant de la Grande Pomme.</p>
<p>Bob est inquiet pour les siens. Moi pour 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a>.</p>
<p>En plus, la vallée de la Silice semble aussi visée par les framboises.</p>
<hr>
<blockquote>
<p>novembre 18, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai eu des échos d&rsquo;une invasion d&rsquo;envergure de la part des framboises planifiée pour dans plusieurs mois.</p>
<p>Les suricates 
<a href="https://suricata-ids.org/" target="_blank">Suricata_IDS</a> détectent de plus en plus d&rsquo;activités suspectes.
Les palourdes 
<a href="https://www.clamav.net/" target="_blank">Clamav</a> attrapent de plus en plus de virus.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/une-palourde-avec-des-virus.png" class="figure-img img-fluid rounded" alt="Une palourde antivirus">
  <figcaption class="figure-caption"><p>Une palourde antivirus</p>
    <small>Une palourde antivirus</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 19, 2018 10:00:00</p>
</blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> est caché dans la ville de la Grande Pomme.
Il met à jour son laboratoire. Bob retourne là bas pour l&rsquo;aider et essayer d&rsquo;avoir des nouvelles de son clan.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/videos/lee-dit-episode-4-faut-il-mettre-a-jour.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/videos/lee-dit-episode-4-faut-il-mettre-a-jour.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/videos/lee-dit-episode-4-faut-il-mettre-a-jour.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>novembre 20, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai vu des espions framboise dans la vallée de la silice. Ils sont, pour l&rsquo;instant, détecté par les suricates.</p>
<p>Mais ça craint quand même.</p>
<p>J&rsquo;annonce au peuple oiseau 🐦 que je vais bientôt partir. Je leur explique l&rsquo;usage de MyCrypNet pour me joindre.</p>
<hr>
<blockquote>
<p>novembre 21, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai vu des camps framboise se former sur des îlots 🏝️ au large de la vallée de la silice.</p>
<p>Qu&rsquo;est ce qu&rsquo;ils foutent ?</p>
<hr>
<blockquote>
<p>novembre 22, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai demandé aux suricates d&rsquo;intervenir.</p>
<p>Les suricates disent qu&rsquo;ils n&rsquo;interviendront pas. Leur rôle est d&rsquo;empêcher les intrusions pas plus.</p>
<p>Rhaaaaa&hellip;</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/un-suricate-casque.png" class="figure-img img-fluid rounded" alt="Un suricate casqué regarde au loin">
  <figcaption class="figure-caption"><p>Un suricate casqué regarde au loin</p>
    <small>Un suricate casqué regarde au loin</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 23, 2018 13:00:00</p>
</blockquote>
<p>Les palourdes rament de plus en plus. Elles sont bourrées de virus.</p>
<p>Elles mettent de plus en plus de temps à les enfouir dans leurs bacs à sable.</p>
<hr>
<blockquote>
<p>novembre 24, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;attends le message de 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> pour pouvoir partir.</p>
<p>Il est, pour l&rsquo;instant, le seul à savoir aller au multisite du bouleau.</p>
<hr>
<blockquote>
<p>novembre 25, 2018 13:00:00</p>
</blockquote>
<p>NON ! NON ! NON !! Ce que je craignais est arrivé.</p>
<p>Des espions framboises ont passé les suricates et sont tout prêts du village oiseau 🐦.</p>
<hr>
<h2 id="troisième-mois">Troisième mois</h2>
<hr>
<blockquote>
<p>novembre 26, 2018 10:00:00</p>
</blockquote>
<p>J&rsquo;entends des bruits. Une équipe de penetration testing des « fruits écrasés » !!!</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/videos/cryptotrucs-episode-3-la-cryptographie-symetrique.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/videos/cryptotrucs-episode-3-la-cryptographie-symetrique.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/videos/cryptotrucs-episode-3-la-cryptographie-symetrique.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>novembre 27, 2018 13:00:00</p>
</blockquote>
<p>Oiseau tonnerre a été blessé après l&rsquo;attaque d&rsquo;hier. Il a oublié ses contacts et ses rendez-vous.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/oiseau-tonnerre-saigne.png" class="figure-img img-fluid rounded" alt="Oiseau tonnerre saigne">
  <figcaption class="figure-caption"><p>Oiseau tonnerre saigne</p>
    <small>Oiseau tonnerre saigne</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 28, 2018 13:00:00</p>
</blockquote>
<p>Dav le médecin est venu pour aider Oiseau tonnerre à se rappeler de ses données.</p>
<hr>
<blockquote>
<p>novembre 29, 2018 13:00:00</p>
</blockquote>
<p>Dav se sert d&rsquo;un nuage (cloud) pour que Oiseau tonnerre se rappelle de ses contacts et rendez-vous.</p>
<hr>
<blockquote>
<p>novembre 30, 2018 13:00:00</p>
</blockquote>
<p>Dav me dit d&rsquo;utiliser des éclairs (lightning) avec son nuage pour faire un électrochoc.</p>
<p>Oiseau tonnerre se rappellera peut-être de ses contacts/rendez-vous !</p>
<hr>
<blockquote>
<p>décembre 1, 2018 13:00:00</p>
</blockquote>
<p>Oiseau tonnerre revient à lui. Dav me dit : « Synchro effectuée. Le backup est à vérifier. »</p>
<p>Ils m&rsquo;énervent tous ces spécialistes, lui, le gardien à parler de façon aussi cryptique (on dit pas chiffrique ?)</p>
<hr>
<blockquote>
<p>décembre 2, 2018 13:00:00</p>
</blockquote>
<p>Dav a insisté pour que je reste avec Oiseau tonnerre pendant une semaine. Il m&rsquo;a dit :</p>
<p>« Le full backup est hebdomadaire. Reste pour vérifier les incréments ! »</p>
<p>Bon, je reste une semaine.</p>
<hr>
<blockquote>
<p>décembre 3, 2018 10:00:00</p>
</blockquote>
<p>Oiseau tonnerre se repose pendant que je vérifie les réseaux. Je veux savoir comment les redteams des « fruits écrasés » sont arrivés. J’ai un soupçon sur les Wifis.</p>
<p>Incrément 1 de son backup.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>décembre 4, 2018 13:00:00</p>
</blockquote>
<p>Oiseau tonnerre me raconte des histoires. Ce qui est arrivé après la venue du peuple oiseau🐦 sur Kookati.</p>
<p>Incrément 2 de son backup.</p>
<hr>
<blockquote>
<p>décembre 5, 2018 13:00:00</p>
</blockquote>
<p>« Alors que le peuple oiseau🐦 arriva sur la vallée de la silice, il fut poursuivi par les armées des « fruits rouges ». Des insectes bugs, des zombies et les « hommes-framboise » (bits, trames et paquets de Pi-framboise). »</p>
<p>Incrément 3 de son backup.</p>
<hr>
<blockquote>
<p>décembre 6, 2018 13:00:00</p>
</blockquote>
<p>« Une grande guerre eut lieu qui déstabilisa le climat du site de la vallée de la silice. Le chef des « fruits écrasés » fit appel à des Botnets entiers du Nanovers pour mener le combat. »</p>
<p>Incrément 4 de son backup.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/oiseau-tonnerre-se-repose.png" class="figure-img img-fluid rounded" alt="Oiseau tonnerre se repose">
  <figcaption class="figure-caption"><p>Oiseau tonnerre se repose</p>
    <small>Oiseau tonnerre se repose</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>décembre 7, 2018 13:00:00</p>
</blockquote>
<p>« Le chef des fruits affirma que les changements climatiques étaient une fakenews des oiseaux🐦. »</p>
<p>Incrément 5 de son backup.</p>
<hr>
<blockquote>
<p>décembre 8, 2018 13:00:00</p>
</blockquote>
<p>« Les oiseaux🐦 fédérèrent les peuples de la vallée de la silice.
Avec les 
<a href="https://suricata-ids.org/" target="_blank">suricates</a>,
les 
<a href="https://www.snort.org/" target="_blank">renifleurs</a> et les palourdes 
<a href="https://www.clamav.net/" target="_blank">clamav</a>,
ils repoussèrent les fruits hors du site. »</p>
<p>Incrément 6 de son backup.</p>
<hr>
<blockquote>
<p>décembre 9, 2018 13:00:00</p>
</blockquote>
<p>Oiseau tonnerre ne sait pas où ont pu aller les fruits vaincus et surtout leur chef.
Il m&rsquo;a dit qu&rsquo;il y avait encore une de leurs bases abandonnées sur le site.</p>
<p>J&rsquo;irai jeter un oeil.</p>
<p>full backup, Oiseau tonnerre est complètement récupéré.</p>
<hr>
<blockquote>
<p>décembre 10, 2018 10:00:00</p>
</blockquote>
<p>Je pars à la recherche de cette base abandonnée. Un oiseau🐦 est avec moi. Il dit qu&rsquo;il est bon pour chercher des trucs. Il s&rsquo;appelle Canardcanardva.</p>
<p>En cas d&rsquo;attaque de « fruits écrasés », j&rsquo;ai aussi une palourde 
<a href="https://www.clamav.net/" target="_blank">clamav</a> avec moi.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>décembre 11, 2018 13:00:00</p>
</blockquote>
<p>Canardcanardva me parle d&rsquo;un autre chercheur qui s&rsquo;appelle VouloirQuantité.</p>
<p>Le plus connu des ces chercheurs est 1etcent0.</p>
<p>C&rsquo;est bien ce qu&rsquo;il me raconte mais s’il pouvait me dire des trucs intéressants sur cette base abandonnée ce serait mieux.</p>
<hr>
<blockquote>
<p>décembre 12, 2018 13:00:00</p>
</blockquote>
<p>Bon, selon les renseignements de Canardcanardva la base abandonnée devait être sur la 404ème route et maintenant y a plus rien.</p>
<p>Bon, ben retour au village. Le mystère reste entier.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike/images/canardcanardva-et-mike-perdus-dans-la-foret.png" class="figure-img img-fluid rounded" alt="Canardcanardva et Mike perdus dans la forêt">
  <figcaption class="figure-caption"><p>Canardcanardva et Mike perdus dans la forêt</p>
    <small>Canardcanardva et Mike perdus dans la forêt</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>décembre 13, 2018 13:00:00</p>
</blockquote>
<p>En revenant, j&rsquo;ai cru voir un drapeau 🏳️ des « fruits écrasés » dans le lointain. Peut-être un reste de la base. Je ne vois aucun moyen d&rsquo;y accéder.</p>
<p>Il faudra envoyer une équipe rouge. Ces drôles d&rsquo;oiseaux sont très bons pour faire des tests de pénétrations d&rsquo;environnement.</p>
<hr>
<blockquote>
<p>décembre 14, 2018 13:00:00</p>
</blockquote>
<p>Bon, de retour au village. Tous les oiseaux sont là 🐦.</p>
<p>Oiseau tonnerre, Gazouilleur, Pigeon, le gardien, Canardcanardva, Dav, le chef&hellip;</p>
<hr>
<blockquote>
<p>décembre 15, 2018 13:00:00</p>
</blockquote>
<p>J&rsquo;ai expliqué le fonctionnement de 
<a href="https://mycrypnet.io/fr" target="_blank">MyCrypNet</a>. J&rsquo;ai fait mes bagages, plié mon garage de développement.</p>
<p>J&rsquo;y vais.</p>
<hr>
<blockquote>
<p>décembre 16, 2018 13:00:00</p>
</blockquote>
<p>Je suis arrivé sur la plage de la Vallée de la Silice pour prendre mon envol.</p>
<p>Les bacs à sable sont pleins, les palourdes 
<a href="https://www.clamav.net/" target="_blank">clamav</a> aussi. J&rsquo;ai des remords à quitter les oiseaux maintenant.</p>
<p>Je vois les surfs des « fruits écrasés » au large, pleins d&rsquo;insectes bugs, de zombies.</p>
<hr>
<blockquote>
<p>décembre 17, 2018 10:00:00</p>
</blockquote>
<p>Le chef m&rsquo;a rejoint sur la plage et m&rsquo;a dit que je serais plus utile avec 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a>.</p>
<p>Il pense que sur le long terme, l&rsquo;équipe 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a> est notre seul espoir.</p>
<p>Je m&rsquo;envole. 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> m&rsquo;a envoyé les coordonnées du site.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/videos/lee-dit-episode-7-la-corbeille-et-la-suppression.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/videos/lee-dit-episode-7-la-corbeille-et-la-suppression.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/videos/lee-dit-episode-7-la-corbeille-et-la-suppression.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>décembre 18, 2018 13:00:00</p>
</blockquote>
<p>En m&rsquo;éloignant de l&rsquo;île, j&rsquo;ai vu que l&rsquo;attaque des « fruits rouges » a commencé.</p>
<p>Les zombies, les insectes bugs des fruits ont accosté. Formés en équipe rouge ils pénètrent les murs de feu, 
<a href="https://suricata-ids.org/" target="_blank">suricates</a> et autres&hellip;</p>
<p>C&rsquo;est terrible.</p>
<hr>
<blockquote>
<p>décembre 19, 2018 13:00:00</p>
</blockquote>
<p>Je me dirige vers l&rsquo;archipel du Bouleau, le multisite à tire d&rsquo;ailes.</p>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> m&rsquo;a demandé comment faire pour renvoyer leur navigateur Renard de feu concentré🦊 sans qu&rsquo;il se souvienne du chemin.</p>
<p>Je lui ai parlé du multisorties de 
<a href="https://mycrypnet.io/fr" target="_blank">MyCrypNet</a>.</p>
<hr>
<blockquote>
<p>décembre 20, 2018 13:00:00</p>
</blockquote>
<p>Je passe au dessus de la Grande Pomme. Bien haut.</p>
<p>Cette île aussi semble sous domination des fruits. La résistance s&rsquo;organise au sein des chats🐈 et des lapins🐇 mais elle est encore faible.</p>
<p>Seule la ville Épargnate de 3 résiste encore et toujours à l&rsquo;envahisseur.</p>
<hr>
<blockquote>
<p>décembre 21, 2018 13:00:00</p>
</blockquote>
<p>Je suis la colonne vertébrale backbone de la mer de la toile🕸️.</p>
<p>Je peux voir les navigateurs, surfeurs🏄 dessus et j&rsquo;aperçois même des sous-marins 
<a href="https://www.torproject.org/" target="_blank">oignons</a> en dessous de la surface.</p>
<hr>
<blockquote>
<p>décembre 22, 2018 13:00:00</p>
</blockquote>
<p>Je commence à apercevoir les brumes de l&rsquo;archipel. Cela fait un petit moment qu&rsquo;il n&rsquo;y a plus de surfs sur la mer de la toile🕸️.</p>
<p>On est hors de portée des fruits. 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> a bien choisi.</p>
<hr>
<blockquote>
<p>décembre 23, 2018 13:00:00</p>
</blockquote>
<p>Je survole la brume à la recherche des îles🏝️, sites.</p>
<p>Oh, la brume se découvre et laisse apercevoir l&rsquo;archipel, multisite.
Je vois la future île de 
<a href="https://mycrypnet.io/fr" target="_blank">MyCrypNet</a> et la grande île de 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a>.</p>
<p>Et le labo de 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee">Lee</a> complétement déployé. Ouiiiiii !!!</p>]]></content:encoded>
    </item>
    <item>
      <title>Carnet de bord Kookati du point de vue de Lee</title>
      <link>https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/</link>
      <pubDate>Thu, 08 Nov 2018 11:30:19 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/</guid>
      <description>Il a été demandé à la Grosse Voix de tenir un carnet de bord. Bon ben le voici alors. Voici le point de vue de Lee.</description>
      <content:encoded><![CDATA[<p>Ce carnet de bord était disponible sur Twitter 
<a href="https://twitter.com/lee_limawi" target="_blank">Lee 🌰⛩️🌲 mac Windows</a> mais bon le compte a été suspendu sans avertissement ni explication de la part de Twitter.</p>
<div class="col-md-12">
<video controls title="Voici Lee, le chercheur en cybersécurité" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/voici-lee.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/voici-lee.webm" type="video/webm">
</video>
<p class="text-center" >Voici Lee, le chercheur en cybersécurité</p>
<p class="text-center" ><small>Lee est le personnage qui représente la recherche dans Kookati.</small></p>
</div>
<h2 id="premier-mois">Premier mois</h2>
<hr>
<blockquote>
<p>octobre 1, 2018 11:00:00</p>
</blockquote>
<p>Bien arrivé sur ce chantier archéoinformatique ! Il semble prometteur.</p>
<div class="col-md-12">
<video controls title="L&#39;archéochanter" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/archeochantier.webm" type="video/webm">
</video>
<p class="text-center" >L&#39;archéochanter</p>
<p class="text-center" ><small>Un chantier archéoinformatique.</small></p>
</div>
<hr>
<blockquote>
<p>octobre 1, 2018 15:00:00</p>
</blockquote>
<p>Allez, au boulot ! Tout pleins d’artéfacts à étudier.</p>
<hr>
<blockquote>
<p>octobre 1, 2018 17:00:00</p>
</blockquote>
<p>Tiens, mais qu&rsquo;est ce que c&rsquo;est ? Un de ces réceptacles à données antiques !!!</p>
<div class="col-md-12">
<video controls title="Réceptacle à données antiques" preload="auto" width="100%" 
    playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/receptacle-a-donnees-antique.webm" type="video/webm">
</video>
<p class="text-center" >Réceptacle à données antiques</p>
<p class="text-center" ><small>Ça ressemble à un truc !</small></p>
</div>
<hr>
<blockquote>
<p>octobre 1, 2018 18:05:00</p>
</blockquote>
<p>Il faut que j&rsquo;en parle absolument à 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike">Mike</a></p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 2, 2018 09:00:00</p>
</blockquote>
<p>Bon, on retourne au boulot.</p>
<hr>
<blockquote>
<p>octobre 2, 2018 17:00:00</p>
</blockquote>
<p>Hum, il faut que je me méfie d&rsquo;eux. Je vais commencer à chercher un site oû établir notre base de recherche.</p>
<hr>
<blockquote>
<p>octobre 6, 2018 10:00:00</p>
</blockquote>
<p>J&rsquo;embarque sur la mer de la toile. Le marin est bon, il s&rsquo;appelle 
<a href="https://www.mozilla.org/fr/firefox/" target="_blank">Renard de feu</a></p>
<hr>
<blockquote>
<p>octobre 6, 2018 17:00:00</p>
</blockquote>
<p>Encore deux jours de navigation. Renard de feu m&rsquo;a parlé de surf aujourd&rsquo;hui, je sais pas pourquoi.</p>
<hr>
<blockquote>
<p>octobre 8, 2018 11:00:00</p>
</blockquote>
<p>Arrivé sur le site de Petit-logiciel. J&rsquo;explore.</p>
<hr>
<blockquote>
<p>octobre 8, 2018 15:00:00</p>
</blockquote>
<p>Pourquoi il y a des post-its de mots de passe pourris partout ? Faut que je fasse quelque chose.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/post-its-de-mots-de-passe-pourris.jpg" class="figure-img img-fluid rounded" alt="Post-its de mots de passe pourris">
  <figcaption class="figure-caption"><p>Post-its de mots de passe pourris</p>
    <small>Post-its de mots de passe pourris</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 8, 2018 18:05:00</p>
</blockquote>
<p>Bon, je vais leur donner une autre méthode que ces post-its.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 9, 2018 11:00:00</p>
</blockquote>
<p>Visiblement c&rsquo;est pas le bon endroit. Je rembarque pour un autre site via la mer de la toile avec 
<a href="https://www.mozilla.org/fr/firefox/" target="_blank">Renard de feu</a></p>
<hr>
<blockquote>
<p>octobre 9, 2018 13:00:00</p>
</blockquote>
<p>Je me pose quand même une question. Qu&rsquo;est devenu Po ?Il était pas présent avec ses frères.</p>
<hr>
<blockquote>
<p>octobre 9, 2018 17:00:00</p>
</blockquote>
<p>Je me demande combien de sites ne dépassent pas de l&rsquo;eau et sont dans la toile profonde.</p>
<hr>
<blockquote>
<p>octobre 9, 2018 19:00:00</p>
</blockquote>
<p>Avec Renard de feu on parle bouffe maintenant.</p>
<ul>
<li>Lui : Moi aussi j&rsquo;aime bien les fruits au sirop.</li>
<li>Moi : Oh ben cool alors !</li>
</ul>
<p>Voilà, voilà.</p>
<hr>
<blockquote>
<p>octobre 10, 2018 15:00:00</p>
</blockquote>
<p>Bon, je retourne à la Grande Pomme. J&rsquo;ai oublié de préciser une chose à l&rsquo;équipe.</p>
<p>Ils sont en train de faire n&rsquo;importe quoi.</p>
<hr>
<blockquote>
<p>octobre 10, 2018 17:00:00</p>
</blockquote>
<p>Des extraits de mes explications ont été diffusés. Ils jettent des masques dans tous les sens.</p>
<p>Il faut que je précise des trucs.</p>
<hr>
<blockquote>
<p>octobre 13, 2018 14:00:00</p>
</blockquote>
<p>La traversée est ralentie. La mer est pleine de paquets.</p>
<p>
<a href="https://www.mozilla.org/fr/firefox/" target="_blank">Renard de feu</a> soupçonne une attaque sur le site de la vallée de la Silice.</p>
<p>J’espère que 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike">Mike</a> va bien.</p>
<hr>
<blockquote>
<p>octobre 14, 2018 11:00:00</p>
</blockquote>
<p>De retour sur le site de la Grande Pomme. Direction le chantier archéoinformatique.</p>
<p>Il faut que je demande un accès au garde à travers le mur de protection du feu.</p>
<hr>
<blockquote>
<p>octobre 15, 2018 09:00:00</p>
</blockquote>
<p>Arrivé au chantier archéoinformatique. Allez, je prépare les explications.</p>
<hr>
<blockquote>
<p>octobre 15, 2018 18:05:00</p>
</blockquote>
<p>Alors, l&rsquo;assistance, pourquoi le masque jetable est parfait ?</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 16, 2018 11:00:00</p>
</blockquote>
<p>Allez, je rembarque. J&rsquo;ai toujours pas trouvé le site. Il ne faut pas qu&rsquo;ils soit atteignable par les autres.</p>
<p>Ils ont placardé des affiches sur l&rsquo;archéochantier. Ils prennent de l&rsquo;ampleur.</p>
<p>Faut que je me barre.</p>
<hr>
<blockquote>
<p>octobre 16, 2018 15:00:00</p>
</blockquote>
<p>Renard de feu m&rsquo;a parlé d&rsquo;un multisite. On va y faire un tour.</p>
<hr>
<blockquote>
<p>octobre 17, 2018 17:00:00</p>
</blockquote>
<p>On arrive à ce multisite. Il est entouré de brume.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/archipel-dans-la-brume.png" class="figure-img img-fluid rounded" alt="Archipel dans la brume">
  <figcaption class="figure-caption"><p>Archipel dans la brume</p>
    <small>Archipel dans la brume</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 20, 2018 15:00:00</p>
</blockquote>
<p>Ok, je vais voir quelques sites de cet archipel multisite.</p>
<hr>
<blockquote>
<p>octobre 20, 2018 16:00:00</p>
</blockquote>
<p>Dans cette brume, une grande île. 🏝️ Un grand site. Je vais voir pour établir la base de recherche ⚗️&lt;</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/la-grande-ile.png" class="figure-img img-fluid rounded" alt="La grande île">
  <figcaption class="figure-caption"><p>La grande île</p>
    <small>La grande île</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 21, 2018 11:00:00</p>
</blockquote>
<p>Je vais m&rsquo;assurer des accès quand même.</p>
<hr>
<blockquote>
<p>octobre 22, 2018 15:00:00</p>
</blockquote>
<p>Des accès à double authentification&hellip; Cool !!!</p>
<hr>
<blockquote>
<p>octobre 22, 2018 17:00:00</p>
</blockquote>
<p>Je vais expliquer ce que c&rsquo;est alors.</p>
<hr>
<blockquote>
<p>octobre 22, 2018 18:05:00</p>
</blockquote>
<p>Alors, la double authentification c&rsquo;est quoi ?</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 23, 2018 17:00:00</p>
</blockquote>
<p>Bon, ce coin me paraît bien. Je vais envoyer un message avec le masque jetable à 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike">Mike</a>.</p>
<p>Faut que je me calme quand même, j&rsquo;ai plus beaucoup de clés.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/pile-de-cles-riquiqui.jpg" class="figure-img img-fluid rounded" alt="Pile de clés riquiqui">
  <figcaption class="figure-caption"><p>Pile de clés riquiqui</p>
    <small>Pile de clés riquiqui</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>octobre 24, 2018 15:00:00</p>
</blockquote>
<p>Allez, retour au chantier archéoinformatique. J&rsquo;ai du boulot.</p>
<p>Je dois étudier les artéfacts de ce chantier, c&rsquo;est ce qu&rsquo;on m&rsquo;a demandé.</p>
<hr>
<blockquote>
<p>octobre 27, 2018 11:00:00</p>
</blockquote>
<p>Quelqu&rsquo;un a trouvé un autre réceptacle à données.</p>
<p>Il est inaccessible pour l&rsquo;instant.</p>
<hr>
<blockquote>
<p>octobre 27, 2018 15:00:00</p>
</blockquote>
<p>Ça y est je l&rsquo;ai. Le contenu est chiffré. Hum&hellip;</p>
<hr>
<blockquote>
<p>octobre 28, 2018 16:00:00</p>
</blockquote>
<p>Ah j&rsquo;ai compris le chiffrement. Oulà c&rsquo;est antique !! C&rsquo;est le cas de le dire.</p>
<hr>
<blockquote>
<p>octobre 28, 2018 18:00:00</p>
</blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike">Mike</a> m&rsquo;a dit qu&rsquo;il avait aussi trouvé un artéfact. Je l&rsquo;attend toujours.</p>
<hr>
<h2 id="deuxième-mois">Deuxième mois</h2>
<hr>
<blockquote>
<p>octobre 29, 2018 10:00:00</p>
</blockquote>
<p>Bon, une petite explication s&rsquo;impose. C&rsquo;est un vieux chiffrement 🔐 historique. On dit que César l&rsquo;aurait utilisé, enfin, on dit quoi&hellip;</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar/videos/cryptotrucs-episode-2-l-histoire-ou-le-chiffre-de-cesar.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>octobre 30, 2018 14:00:00</p>
</blockquote>
<p>Je suis arrivé au sein du clan des chats dans la ville de la Grande Pomme. Les macHat il s&rsquo;appellent.</p>
<p>Ils fabriquent des chapeaux 🎩 et autres vêtements. Il faut que je les étudie un peu pour comprendre pourquoi ce vieil indice m&rsquo;indique d&rsquo;aller les voir.</p>
<hr>
<blockquote>
<p>octobre 31, 2018 14:00:00</p>
</blockquote>
<ul>
<li>Le chef des chats 😾 : Tu es du clan macWindows. Que viens-tu faire ichi ?</li>
<li>Moi : Oh, j&rsquo;en suis parti tôt. Je ne suis pas au courant des relations entre clans.</li>
<li>Le chef des chats 😾 : Cha ne répond pas à ma quechtion. Que viens-tu faire ichi ?</li>
</ul>
<p>Tendue cette entrevue.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/astrophe.png" class="figure-img img-fluid rounded" alt="Le chef des chats, Astrophe">
  <figcaption class="figure-caption"><p>Le chef des chats, Astrophe</p>
    <small>Le chef des chats, Astrophe</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 1, 2018 14:00:00</p>
</blockquote>
<p>Au fait, le chef du clan s&rsquo;appelle Astrophe.
Je lui dis que selon l&rsquo;indice il faut que je trouve un chat qui aurait des troubles du sommeil, qui dort, qui ait un rapport avec le sommeil&hellip;</p>
<p>Vachement précis comme indice.</p>
<p>Mais il a l&rsquo;air d&rsquo;avoir une idée 😼</p>
<hr>
<blockquote>
<p>novembre 2, 2018 14:00:00</p>
</blockquote>
<p>Astrophe m&rsquo;emmène voir un chat particulier. Il s&rsquo;appelle Bob. Bizarre comme nom de chat.</p>
<p>Je suis encore dans le quartier des chats 🐈. certains d&rsquo;entre eux ont des comportements bizarres.</p>
<p>Je crains que les chats soient infiltrés par des fruits aplatis.</p>
<p>Faut que je me casse&hellip;</p>
<p>Quand on arrive chez lui, Bob est en train de dormir 🛌</p>
<p>Le chef me déconseille de le réveiller sinon il est très grincheux.</p>
<p>Hum, ça correspond bien à l&rsquo;indice.</p>
<hr>
<blockquote>
<p>novembre 3, 2018 14:00:00</p>
</blockquote>
<p>Réveillé en sursaut par Astrophe. Je vois Bob en train de me dévisager 🐱</p>
<ul>
<li>Moi : Mmmm&hellip; (pas encore bien réveillé) 😴</li>
<li>Bob (en langue chat) : Le chef m&rsquo;a expliqué que vous me cherchiez.</li>
<li>Moi : Mmmmm&hellip; 😴</li>
<li>Bob : Vous parlez bien le chat. Oui, je suis technicien.</li>
</ul>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/bob-le-chat.png" class="figure-img img-fluid rounded" alt="Bob le chat">
  <figcaption class="figure-caption"><p>Bob le chat</p>
    <small>Bob le chat</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 4, 2018 14:00:00</p>
</blockquote>
<p>De retour sur le chantier avec Bob qui passe pour mon technicien. La plupart du temps c&rsquo;est ses ennemis chiens 🐕 donc c&rsquo;est bizarre&hellip;</p>
<p>Je prépare mon labo ⚗️ de recherche Je l&rsquo;ai appelé Limawi, mon nom quoi.</p>
<p>Il aura aussi le blason familial comme logo</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/blason-de-limawi.png" class="figure-img img-fluid rounded" alt="Blason de Limawi">
  <figcaption class="figure-caption"><p>Blason de Limawi</p>
    <small>Blason de Limawi</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 5, 2018 10:00:00</p>
</blockquote>
<p>Un gang de fruits rouges a encore pénétré le chantier durant mon absence. Ils y ont mis plein d&rsquo;artéfacts foireux. On n&rsquo;est plus sûr que ce qu&rsquo;on trouve soit réellement du site.</p>
<p>Je vais devoir expliquer à l&rsquo;équipe comment s&rsquo;en assurer.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite/videos/lee-dit-episode-3-la-securite-des-sites-web-qu-on-visite.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>novembre 6, 2018 14:00:00</p>
</blockquote>
<p>Bon ce deuxième indice maintenant. Après les chats 🐈, les lapins 🐇. je vais aller dans la campagne de la Grande Pomme au village lapin de Mixo-mato.</p>
<p>Mais d&rsquo;abord, il faut que je dise à Bob d&rsquo;aller voir 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike">Mike</a></p>
<hr>
<blockquote>
<p>novembre 7, 2018 14:00:00</p>
</blockquote>
<p>De retour à la Grande Pomme dans le quartier des chats 🐈. Je vais les rassurer.</p>
<p>Oui, Bob est en déplacement vers la vallée de la silice qui est régulièrement attaquée&hellip;</p>
<p>Mais il sera protégé par 
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike">Mike</a>, un oiseau 🐦 de 50g.</p>
<p>Euh&hellip; Je pense les avoir rassurés.</p>
<hr>
<blockquote>
<p>novembre 8, 2018 14:00:00</p>
</blockquote>
<p>Je suis encore dans le quartier des chats 🐈. Certains d&rsquo;entre eux ont des comportements bizarres.</p>
<p>Je crains que les chats soient infiltrés par des fruits aplatis.</p>
<p>Faut que je me casse&hellip;</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/un-chat-avec-des-fruits-rouges.png" class="figure-img img-fluid rounded" alt="Un chat avec des fruits rouges">
  <figcaption class="figure-caption"><p>Un chat avec des fruits rouges</p>
    <small>Un chat avec des fruits rouges</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 9, 2018 14:00:00</p>
</blockquote>
<p>Je suis hébergé juste en dehors du quartier des chats 🐈. Ça commence à chauffer.</p>
<p>Les fruits rouges s&rsquo;approchent. Je dois prévenir Bob mais là je peux rien faire.</p>
<hr>
<blockquote>
<p>novembre 10, 2018 14:00:00</p>
</blockquote>
<p>Le pouvoir a basculé parmi les chats 🐈. Je me casse en campagne.</p>
<p>Il faut que je trouve ce lapin 🐇.</p>
<hr>
<blockquote>
<p>novembre 11, 2018 14:00:00</p>
</blockquote>
<p>J&rsquo;ai passé le mur de feu de la ville de la Grande Pomme. Je commence à m&rsquo;enfoncer dans la campagne.</p>
<p>Je vais longer le territoire des Épargnates 💪 et ses ruines.</p>
<hr>
<blockquote>
<p>novembre 12, 2018 10:00:00</p>
</blockquote>
<p>Un autre archéochantier de l&rsquo;ancien territoire Épargnate. Ça me rappelle ces variantes d&rsquo;algorithmes historiques.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques/videos/cryptotrucs-episode-2-bonus-d-autres-chiffrements-historiques.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>novembre 13, 2018 14:00:00</p>
</blockquote>
<p>En plein territoire Épargnate. Il y a de gros doutes sur leur allégeance aux baies rouges. Silence radio jusqu&rsquo;au territoire lapin🐇.</p>
<hr>
<blockquote>
<p>novembre 14, 2018 14:00:00</p>
</blockquote>
<p>&hellip;&mdash;&hellip;</p>
<hr>
<blockquote>
<p>novembre 15, 2018 14:00:00</p>
</blockquote>
<p>Arrivé dans la ville lapin de Mix-mato. Je vais voir leur chef Kaja 🐰.</p>
<p>Kaja 🐰 m&rsquo;a dit qu&rsquo;il y avait une scientifique qui pourrait m&rsquo;aider.</p>
<p>Elle s&rsquo;appelle Alice. Nom peu courant pour un lapin🐇.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/kaja-le-lapin.png" class="figure-img img-fluid rounded" alt="Kaja le chef des lapins">
  <figcaption class="figure-caption"><p>Kaja le chef des lapins</p>
    <small>Kaja le chef des lapins</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 16, 2018 14:00:00</p>
</blockquote>
<p>J&rsquo;ai des échos inquiétants provenant de l&rsquo;archéochantier. Ils se demandent où je suis passé et pourquoi je m&rsquo;absente si souvent.</p>
<p>J&rsquo;ai peur que le chantier ait aussi basculé. Est-ce que je dois y retourner ?</p>
<p>Rhaaaaa&hellip;</p>
<hr>
<blockquote>
<p>novembre 17, 2018 14:00:00</p>
</blockquote>
<p>Il y a de plus en plus de framboises partout sur le site.</p>
<p>J&rsquo;ai la confirmation que les Épargnates les ont rejoints.</p>
<p>Et ils portent très mal leur nom. Ils n&rsquo;épargnent personne.</p>
<p>Je fais quoi, je fais quoi ?&hellip; Calme, calme&hellip;</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/un-epargnate-casque.png" class="figure-img img-fluid rounded" alt="Un Épargnate casqué">
  <figcaption class="figure-caption"><p>Un Épargnate casqué</p>
    <small>Un Épargnate casqué</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 18, 2018 14:00:00</p>
</blockquote>
<p>Bon, je retourne pas sur le chantier, c’est mort. Je vais me cacher dans la ville de la Grande Pomme avec Alice.</p>
<p>Le temps que je termine mes préparatifs ⚗️ et après direction le multisite.</p>
<p>On servira à rien ici. Il faut mener le projet à terme. C&rsquo;est notre seul espoir !</p>
<hr>
<blockquote>
<p>novembre 19, 2018 10:00:00</p>
</blockquote>
<p>Bon allez au boulot, ça urge. Le labo ⚗️ faut que je l&rsquo;adapte. Il faut que je le rende plus facile encore à transporter, que je le modernise.</p>
<p>Mise à jour, quoi !</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/videos/lee-dit-episode-4-faut-il-mettre-a-jour.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/videos/lee-dit-episode-4-faut-il-mettre-a-jour.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-4-faut-il-mettre-a-jour/videos/lee-dit-episode-4-faut-il-mettre-a-jour.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>novembre 20, 2018 14:00:00</p>
</blockquote>
<p>Bob est rentré hier de la vallée de la silice.</p>
<p>J&rsquo;ai logé Alice et Bob séparément dans la cachette. Il semble qu&rsquo;il y ait des tensions entre le clan des macHat 🐈 et celui des macArotte 🐇.</p>
<p>Il semble que les macArotte soient tombés aussi sous la coupe de fruits.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/alice-le-lapin.png" class="figure-img img-fluid rounded" alt="Alice le lapin">
  <figcaption class="figure-caption"><p>Alice le lapin</p>
    <small>Alice le lapin</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 21, 2018 14:00:00</p>
</blockquote>
<p>Leur chef a établi son QG ici. Il organise, il ordonne d&rsquo;ici, la ville de la Grande Pomme. L&rsquo;atmosphère de la ville devient de plus en plus étouffante.</p>
<p>Dentbleue qui s&rsquo;occupait de gérer la ville, de relier les gens entre eux, a été détroné.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/dent-bleue.png" class="figure-img img-fluid rounded" alt="Dent bleue sur son trône">
  <figcaption class="figure-caption"><p>Dent bleue sur son trône</p>
    <small>Dent bleue sur son trône</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 22, 2018 14:00:00</p>
</blockquote>
<p>J&rsquo;ai entendu une rumeur comme quoi les chats 🐈 étaient maintenant forcés de ne fabriquer leurs vétements qu&rsquo;avec des fibres de framboises et les lapins 🐇 de ne cultiver que de la framboise.</p>
<p>Ça va trés mal. Bob et Alice sont inquiets.</p>
<hr>
<blockquote>
<p>novembre 23, 2018 14:00:00</p>
</blockquote>
<p>J&rsquo;ai aperçu un membre du clan macOs roder autour de la cachette. Ils ne nous a pas repéré. Ce clan de chiens 🐕 a été infiltré par les framboises mais ces technichiens cachent autre chose.</p>
<p>Je sais pas ce que c&rsquo;est.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/technichien-du-clan-macos.png" class="figure-img img-fluid rounded" alt="Technichien du clan macOS dans l&#39;ombre">
  <figcaption class="figure-caption"><p>Technichien du clan macOS dans l&#39;ombre</p>
    <small>Technichien du clan macOS dans l&#39;ombre</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>novembre 24, 2018 14:00:00</p>
</blockquote>
<p>&mdash;&hellip;&mdash;, oups, &hellip;&mdash;&hellip;</p>
<hr>
<blockquote>
<p>novembre 25, 2018 14:00:00</p>
</blockquote>
<p>Bon, il faut que je réflechisse comment dire à Bob et Alice ce que j&rsquo;attend d&rsquo;eux et toutes ces histoires d&rsquo;indices.</p>
<p>Leurs clans respectifs peuvent pas se sentir. C&rsquo;est pratique&hellip;</p>
<p>Allez, grande réunion demain.</p>
<hr>
<h2 id="troisième-mois">Troisième mois</h2>
<hr>
<blockquote>
<p>novembre 26, 2018 10:00:00</p>
</blockquote>
<p>La réunion commence. Bob et Alice sont là. Mes futurs DevSecOps. On va reprendre un peu les bases de la cryptographie.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/videos/cryptotrucs-episode-3-la-cryptographie-symetrique.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/videos/cryptotrucs-episode-3-la-cryptographie-symetrique.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-3-la-cryptographie-symetrique/videos/cryptotrucs-episode-3-la-cryptographie-symetrique.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>novembre 27, 2018 14:00:00</p>
</blockquote>
<p>La ville de la Grande Pomme est entièrement bloquée. C&rsquo;est la grande conférence des Épargnates. En plus, les « fruits écrasés » s&rsquo;en mêlent. Leur chef est là, plein de fakenews, très doué en ingénierie sociale.</p>
<hr>
<blockquote>
<p>novembre 28, 2018 14:00:00</p>
</blockquote>
<p>Je sais pas combien de temps la quarantaine de la ville va durer. On a une armée d’insectes bugs des «fruits rouges» qui patrouille dans les rues et entre dans les immeubles en brute force.</p>
<hr>
<blockquote>
<p>novembre 29, 2018 14:00:00</p>
</blockquote>
<p>On essaie d&rsquo;améliorer la portabilité du laboratoire 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a> Alice fait de l&rsquo;amélioration continue de nos systèmes.</p>
<hr>
<blockquote>
<p>novembre 30, 2018 14:00:00</p>
</blockquote>
<p>On coupe les réseaux actuels du labo pour diminuer nos traces.</p>
<p>Bob teste les systèmes proprement virtualisés du laboratoire. Ça augmente considérablement la portabilité.</p>
<hr>
<blockquote>
<p>décembre 1, 2018 14:00:00</p>
</blockquote>
<p>On va pouvoir sortir le labo de l&rsquo;immeuble en petits paquets. J&rsquo;explique à Alice et Bob comment mieux renforcer leurs phrases de passe, l&rsquo;environnement est moins sûr.</p>
<div class="col-md-4 offset-md-4">
<video controls title="Rareté des mots dans les phrases de passe" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-rarete-des-mots-dans-les-phrases-de-passe.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-rarete-des-mots-dans-les-phrases-de-passe.webm" type="video/webm">
</video>
<p class="text-center" >Rareté des mots dans les phrases de passe</p>
<p class="text-center" ><small>Une petite story expliquant ça !</small></p>
</div>
<hr>
<blockquote>
<p>décembre 2, 2018 14:00:00</p>
</blockquote>
<p>Oh oh !!!</p>
<p>Faut qu&rsquo;on se barre. J&rsquo;ai vu leur pentesteur qui essaie de pénétrer dans l&rsquo;immeuble. On est repéré.</p>
<hr>
<blockquote>
<p>décembre 3, 2018 10:00:00</p>
</blockquote>
<p>Pour les réseaux, on a 
<a href="https://mycrypnet.io/fr" target="_blank">MyCrypNet</a> pour sécuriser les accès au laboratoire sur les Wifi publics donc on gagne en adaptabilité.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool/videos/lee-dit-episode-5-le-wifi-gratuit-c-est-cool.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>décembre 4, 2018 14:00:00</p>
</blockquote>
<p>On a mis nos appareils dans du papier d’alu et dans le minibar de notre chambre. On diminue les risques d&rsquo;être détectés.</p>
<p>On a pris qu&rsquo;une seule chambre et payé en cryptocoins.</p>
<hr>
<blockquote>
<p>décembre 5, 2018 14:00:00</p>
</blockquote>
<p>Les pentesteurs et les redteams des « fruits écrasés » patrouillent partout dans la ville de la Grande Pomme. Ils cherchent le moindre drapeau à capturer CTF.</p>
<p>Pour passer le temps, flashback sur l&rsquo;histoire de la cryptographie dans mon labo : Le Carré de Polybe</p>
<div class="col-md-4 offset-md-4">
<video controls title="Carré de Polybe et signes supplémentaires" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-carre-de-polybe-et-signes-supplementaires.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-carre-de-polybe-et-signes-supplementaires.webm" type="video/webm">
</video>
<p class="text-center" >Carré de Polybe et signes supplémentaires</p>
<p class="text-center" ><small>Encore un vieux chiffrement !</small></p>
</div>
<hr>
<blockquote>
<p>décembre 6, 2018 14:00:00</p>
</blockquote>
<p>Deux tiers des Épargnates les ont officiellement rejoints. Il ne reste plus que la ville de 3 et leur chef Joule César qui résistent.</p>
<p>Quand je pense à un de leurs chiffrements ROT13, je rigole. Oh un flashback dans mon labo !!</p>
<div class="col-md-4 offset-md-4">
<video controls title="ROT13" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-rot13.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-rot13.webm" type="video/webm">
</video>
<p class="text-center" >ROT13</p>
<p class="text-center" ><small>Un chiffrement tout nul !</small></p>
</div>
<hr>
<blockquote>
<p>décembre 7, 2018 14:00:00</p>
</blockquote>
<p>Le bar clandestin dans lequel nous sommes est dans le quartier des macWindows, mon quartier d’origine.</p>
<p>Je n’ai aucune information sur les relations du clan avec les « fruits écrasés », on reste donc discret.</p>
<hr>
<blockquote>
<p>décembre 8, 2018 14:00:00</p>
</blockquote>
<p>Bob peut voir le quartier des chats, les macHats, depuis la chambre.</p>
<p>Les pentesteurs, les redteams, les insectes bugs et les zombies des fruits patrouillent en permanence. Il ne peut rien faire.</p>
<hr>
<blockquote>
<p>décembre 9, 2018 14:00:00</p>
</blockquote>
<p>J&rsquo;ai un contact dans le bar avec un surfeur. Il s&rsquo;appelle Renard de feu concentré 🦊 et est un cousin de Renard de feu.</p>
<hr>
<blockquote>
<p>décembre 10, 2018 10:00:00</p>
</blockquote>
<p>On embarque sur le surf de Renard de feu concentré🦊. Il a une palourde 
<a href="https://www.clamav.net/" target="_blank">clamav</a> avec lui. On est d’accord que ce n’est plus suffisant comme seule cybersécurité.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege/videos/lee-dit-episode-6-mon-super-mega-antivirus-me-protege.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>décembre 11, 2018 14:00:00</p>
</blockquote>
<p>Alice et Bob ont discuté un peu seuls. S&rsquo;éloigner de la Grande Pomme leur fait du bien.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/alice-et-bob-sur-le-surf.png" class="figure-img img-fluid rounded" alt="Alice et Bob sur le surf">
  <figcaption class="figure-caption"><p>Alice et Bob sur le surf</p>
    <small>Alice et Bob sur le surf</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>décembre 12, 2018 14:00:00</p>
</blockquote>
<p>Renard de feu concentré🦊 me fait visiter son surf. C&rsquo;est un bon navigateur, beaucoup plus mobile que son cousin.</p>
<p>Il me dit que son surf peut passer sous les radars grâce à des antitraqueurs.</p>
<p>Je le savais déjà. C&rsquo;est pour ça que j&rsquo;ai fait appel à lui.</p>
<hr>
<blockquote>
<p>décembre 13, 2018 14:00:00</p>
</blockquote>
<p>On est à mi-chemin de l&rsquo;archipel. On suit une gigantesque colonne vertébrale backbone au fond de la mer de la toile🕸️. C&rsquo;est flippant.</p>
<p>Qu&rsquo;est-ce qui se passe sous ces eaux, dans la toile profonde deepweb ? Et au fond, où la lumière ne passe plus, la toile sombre darkweb ?</p>
<hr>
<blockquote>
<p>décembre 14, 2018 14:00:00</p>
</blockquote>
<p>Renard de feu concentré🦊 m&rsquo;explique que de temps en temps il aide dans des safaris à ne pas se faire pister.</p>
<p>Je ne sais pas quoi en penser. Je m&rsquo;enferme dans ma chambre et rêve encore d&rsquo;histoire de la cryptographie.</p>
<p>Flashback dans mon labo : le chiffre de Beaufort.</p>
<div class="col-md-4 offset-md-4">
<video controls title="Le chiffre de Beaufort" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-chiffre-de-beaufort.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-chiffre-de-beaufort.webm" type="video/webm">
</video>
<p class="text-center" >Le chiffre de Beaufort</p>
<p class="text-center" ><small>Une variante du chiffre de Vigenère !</small></p>
</div>
<hr>
<blockquote>
<p>décembre 14, 2018 14:30:00</p>
</blockquote>
<p>Tiens, un deuxième flashback : la variante allemande du chiffre de Beaufort.</p>
<div class="col-md-4 offset-md-4">
<video controls title="Variante allemande du chiffre de Beaufort" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-variante-allemande-du-chiffre-de-beaufort.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-variante-allemande-du-chiffre-de-beaufort.webm" type="video/webm">
</video>
<p class="text-center" >Variante allemande du chiffre de Beaufort</p>
<p class="text-center" ><small>Une variante de la variante du chiffre de Vigenère ! Ça varie !</small></p>
</div>
<hr>
<blockquote>
<p>décembre 15, 2018 14:00:00</p>
</blockquote>
<p>Alice et Bob travaillent sur les indices. Il s&rsquo;échangent des messages chiffrés avec le masque jetable pour que Renard de feu concentré🦊 ne comprenne pas.</p>
<p>C&rsquo;est un peu stupide vu qu&rsquo;ils sont sur le même surf.</p>
<p>Enfin, c&rsquo;est mignon.</p>
<hr>
<blockquote>
<p>décembre 16, 2018 14:00:00</p>
</blockquote>
<p>On approche de l&rsquo;archipel dans la brume. Il faut que je trouve un moyen pour que Renard de feu concentré🦊 ne se souvienne pas nous avoir emmener là.</p>
<hr>
<blockquote>
<p>décembre 17, 2018 10:00:00</p>
</blockquote>
<p>L&rsquo;archipel, le multisite du Bouleau est devant nous.</p>
<p>Bon, comment effacer à coup sûr le trajet de la mémoire de Renard de feu concentré🦊. Jeter la carte du trajet à la poubelle ce n’est pas suffisant.</p>
<div class="col-md-12">
<video controls  preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/videos/lee-dit-episode-7-la-corbeille-et-la-suppression.png" playsinline
class="html-video ratio ratio-16x9"><source src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/videos/lee-dit-episode-7-la-corbeille-et-la-suppression.webm" type="video/webm">
    <track label="Français" kind="captions" srclang="fr-fr" src="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-7-la-corbeille-et-la-suppression/videos/lee-dit-episode-7-la-corbeille-et-la-suppression.vtt" default>
</video>
</div>
<hr>
<blockquote>
<p>décembre 18, 2018 14:00:00</p>
</blockquote>
<p>On descend l&rsquo;équipement du surf sur l&rsquo;île🏝️ principale, le site principal. Bob et Alice déploient le laboratoire et l&rsquo;intègrent à l&rsquo;environnement.</p>
<p>Je plante le drapeau de 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a> 🏳️ J&rsquo;espère que les « fruits écrasés » ne le captureront pas CTF.</p>
<hr>
<blockquote>
<p>décembre 19, 2018 14:00:00</p>
</blockquote>
<p>J&rsquo;ai réduit en cendres, shred wipe les cartes du trajet sur le surf de Renard de feu concentré🦊</p>
<p>Je les ai réduits 50 fois pour être sûr.</p>
<p>Je lui ai fait un nettoyage de sa mémoire récente quand il dormait.</p>
<hr>
<blockquote>
<p>décembre 20, 2018 14:00:00</p>
</blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike">Mike</a> m&rsquo;a dit comment paramétrer un réseau 
<a href="https://mycrypnet.io/fr" target="_blank">MyCrypNet</a> pour de multiples sorties.</p>
<p>J&rsquo;envoie Renard de feu concentré🦊 encore dormant sur son surf par l&rsquo;une de ces sorties.</p>

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/images/renard-de-feu-concentre-endormi-sur-son-surf.png" class="figure-img img-fluid rounded" alt="Renard de feu concentré endormi sur son surf">
  <figcaption class="figure-caption"><p>Renard de feu concentré endormi sur son surf</p>
    <small>Renard de feu concentré endormi sur son surf</small>
  </figcaption>
</figure>

<hr>
<blockquote>
<p>décembre 21, 2018 14:00:00</p>
</blockquote>
<p>
<a href="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-mike">Mike</a> m&rsquo;a annoncé qu&rsquo;il commence à approcher de l&rsquo;archipel.
Il peut naviguer plus facilement sur la mer de la toile avec son accès 
<a href="https://mycrypnet.io/fr" target="_blank">MyCrypNet</a>.</p>
<p>Alice empile des boîtes virtuelles 
<a href="https://www.virtualbox.org/" target="_blank">Virtualbox</a> 📦 dans lesquelles elle mène ses expériences.</p>
<hr>
<blockquote>
<p>décembre 22, 2018 14:00:00</p>
</blockquote>
<p>Alice utilise une coquille🐚 pour ses expériences. Elle a renforcé sa shell🐚 avec un outil qui permet de la frapper bash.</p>
<p>Bob structure les outils du labo entre eux. Il supervise (voire même hypervise) les relations entre boîtes virtuelles et les machines virtuelles à noyau.</p>
<hr>
<blockquote>
<p>décembre 23, 2018 14:00:00</p>
</blockquote>
<p>Bon, il y a plusieurs environnements sur ce site. Alice s&rsquo;est installée dans l&rsquo;un deux et continue de rechercher. Bob est installé dans un autre et continue d&rsquo;intégrer.</p>
<p>J&rsquo;ai retrouvé ma scytale dans mes bagages et mon labo est de nouveau debout.</p>
<div class="col-md-4 offset-md-4">
<video controls title="La Scytale" preload="auto" width="100%" 
   poster="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-la-scytale.png" playsinline
class="html-video ratio ratio-9x16"><source src="https://blog.limawi.io/fr-fr/posts/carnet-de-bord-kookati-du-point-de-vue-de-lee/videos/story-la-scytale.webm" type="video/webm">
</video>
<p class="text-center" >La Scytale</p>
<p class="text-center" ><small>Un outil cryptographique antique !</small></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Cryptotrucs épisode 1 bonus : Retour sur le masque jetable</title>
      <link>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/</link>
      <pubDate>Tue, 23 Oct 2018 13:52:39 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/</guid>
      <description>Alors en déplacement, Lee se rend compte que les gens jettent des masques.</description>
      <media:title>Cryptotrucs épisode 1 bonus : Retour sur le masque jetable</media:title>
      <media:description>Alors en déplacement, Lee se rend compte que les gens jettent des masques.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Chiffrement, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-bonus-retour-sur-le-masque-jetable/images/cover.png" />
      <media:category>Cryptotrucs</media:category>
    </item>
    <item>
      <title>Lee dit... épisode 2 : La double authentification</title>
      <link>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/</link>
      <pubDate>Tue, 23 Oct 2018 13:19:21 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/</guid>
      <description>Lee, en continuant ses explorations, trouve un site bien protégé.</description>
      <media:title>Lee dit... épisode 2 : La double authentification</media:title>
      <media:description>Lee, en continuant ses explorations, trouve un site bien protégé.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/videos/lee-dit-episode-2-la-double-authentification.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infosec, kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-2-la-double-authentification/images/cover.png" />
      <media:category>Lee dit...</media:category>
    </item>
    <item>
      <title>Lee dit... épisode 1 : La phrase de passe</title>
      <link>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/</link>
      <pubDate>Fri, 12 Oct 2018 14:00:46 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/</guid>
      <description>Lee a découvert un tas de post-its contenant des mots de passe pourris.</description>
      <media:title>Lee dit... épisode 1 : La phrase de passe</media:title>
      <media:description>Lee a découvert un tas de post-its contenant des mots de passe pourris.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/videos/lee-dit-episode-1-la-phrase-de-passe.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Infosec, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/lee-dit-episode-1-la-phrase-de-passe/images/cover.png" />
      <media:category>Lee dit...</media:category>
    </item>
    <item>
      <title>Cryptotrucs épisode 1 : La perfection ou le masque jetable</title>
      <link>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/</link>
      <pubDate>Wed, 10 Oct 2018 15:12:56 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/</guid>
      <description>Lee a trouvé un artéfact et cherche à communiquer sa découverte à Mike.</description>
      <media:title>Cryptotrucs épisode 1 : La perfection ou le masque jetable</media:title>
      <media:description>Lee a trouvé un artéfact et cherche à communiquer sa découverte à Mike.</media:description>
      <media:content url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable.webm" type="video/webm" lang="fr-fr" />
      <media:keywords>Chiffrement, Kookati</media:keywords>
      <media:thumbnail url="https://blog.limawi.io/fr-fr/videos/cryptotrucs-episode-1-la-perfection-ou-le-masque-jetable/images/cover.png" />
      <media:category>Cryptotrucs</media:category>
    </item>
    <item>
      <title>Comment corriger la faille root de MacOS High Sierra</title>
      <link>https://blog.limawi.io/fr-fr/posts/comment-corriger-la-faille-root-de-macos-high-sierra/</link>
      <pubDate>Wed, 29 Nov 2017 11:46:22 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/comment-corriger-la-faille-root-de-macos-high-sierra/</guid>
      <description>Un chercheur turc a trouvé une faille permettant d&#39;accéder au compte root sans mot de passe sur MacOS High Sierra.</description>
      <content:encoded><![CDATA[<p>Cette faille est extrêmement critique car facilement exécutable.
Elle peut être utilisée localement ou à distance si l&rsquo;appareil a un protocole VNC actif (partage d&rsquo;écran activé).
De plus, cette faille donne accès à toutes les permissions de l&rsquo;appareil. L&rsquo;attaquant peut faire absolument ce qu&rsquo;il veut.</p>
<h2 id="surface-dattaque">Surface d&rsquo;attaque</h2>
<p>Il suffit d&rsquo;avoir accès au panneau d&rsquo;authentification qui permet de taper le mot de passe administrateur.
Ce panneau est accessible depuis n&rsquo;importe quel compte sur l&rsquo;appareil (en local ou à distance avec des protocoles de prise en charge comme VNC).</p>
<p>La faille provient de l&rsquo;activation par erreur du compte root sur la version MacOS High Sierra.
Ce compte root est un héritage du système UNIX sur lequel MacOS est développé.
Il est présent et utilisé dans le monde Linux mais est normalement désactivé (présent mais désactivé) sur Mac au profit de comptes administrateurs spécifiques qui ne peuvent pas changer les fichiers du système.</p>
<h2 id="comment-se-protéger">Comment se protéger</h2>
<p>Il suffit de donner un mot de passe à ce compte root. Ne perdez pas ce mot de passe.</p>
<h3 id="en-lignes-de-commandes-depuis-nimporte-quel-compte-administrateur-de-lappareil">En lignes de commandes depuis n&rsquo;importe quel compte administrateur de l&rsquo;appareil</h3>
<ul>
<li>Ouvrez votre terminal. L&rsquo;application est présente dans votre dossier <code>Applications &amp; Utilitaires</code>.</li>
<li>Tapez la ligne de commande suivante puis faites <code>Entrée</code>: <code>sudo passwd -u root</code></li>
<li>Un mot de passe vous sera demandé, tapez le mot de passe de votre compte root puis faites <code>Entrée</code>.</li>
<li>Tapez le même mot de passe pour le confirmer et faites <code>Entrée</code> à nouveau.</li>
<li>Votre compte root est configuré avec un mot de passe.</li>
</ul>
<h3 id="par-lrsquointerface-graphique">Par l’interface graphique</h3>
<ul>
<li>Allez au menu <code>&gt; Préférences système</code>.</li>
<li>Cliquez sur Utilisateurs et Groupes (ou Comptes).</li>
<li>Cliquez sur le cadenas, puis entrez un nom et son mot de passe administrateur.</li>
<li>Cliquez sur Options d&rsquo;ouverture de session.</li>
<li>Cliquez sur Rejoindre ou Modifier.</li>
<li>Cliquez sur Utilitaire d&rsquo;annuaire.</li>
<li>Cliquez sur le cadenas dans la fenêtre de l&rsquo;utilitaire, puis entrez un nom et mot de passe administrateur.</li>
<li>Dans la barre de menu de cet Utilitaire d&rsquo;annuaire, choisissez Édition &amp; Modifier le mot de passe root&hellip;</li>
<li>Entrez un mot de passe root quand demandé.</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Ce qu&#39;il faut savoir à propos de KRACK</title>
      <link>https://blog.limawi.io/fr-fr/posts/ce-quil-faut-savoir-a-propos-de-krack/</link>
      <pubDate>Tue, 17 Oct 2017 13:36:10 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/ce-quil-faut-savoir-a-propos-de-krack/</guid>
      <description>Cette semaine des chercheurs belges ont publié un moyen de percer la protection offerte par WPA2, le protocole d&#39;authentification et chiffrement des WI-FI. Comment se protéger ?</description>
      <content:encoded><![CDATA[<p>Cette semaine des chercheurs belges ont publié un moyen de percer la protection offerte par 
<a href="https://fr.wikipedia.org/wiki/Wi-Fi_Protected_Access" target="_blank">WPA2</a>, le protocole d&rsquo;authentification et chiffrement des WI-FI.
Quelle est cette attaque et comment s&rsquo;en protéger ?</p>
<p>Le WPA2 est le protocole d&rsquo;authentification des réseaux WI-FI qui était considéré comme sûr jusqu&rsquo;à présent et qui remplaçait, depuis 2004, le protocole 
<a href="https://fr.wikipedia.org/wiki/Wired_Equivalent_Privacy" target="_blank">WEP</a> (percé en 2001).
Il est le standard de sécurité des réseaux WI-FI protégés du monde entier.</p>
<h2 id="surface-dattaque">Surface d&rsquo;attaque</h2>
<p>La surface d&rsquo;attaque de ce moyen est limitée et peut être réduite. Tout d&rsquo;abord, l&rsquo;attaquant doit se trouver à portée du signal du WI-FI pour effectuer l&rsquo;attaque.</p>
<p>Ensuite, l&rsquo;attaque concerne le mécanisme d&rsquo;authentification du WI-FI.
Elle ne remet pas en cause la sécurité des données stockées sur les appareils.
Les données potentiellement vulnérables sont celles qui circulent sur le réseau WI-FI entre les appareils et la borne.</p>
<p>Cette attaque se sert de l&rsquo;authentification WPA2 comme porte d&rsquo;entrée mais elle repose sur une faille du système WI-FI lui-même. WPA2, même parfaitement implémenté, ne peut rien contre cette faille.
C&rsquo;est le système WI-FI qu&rsquo;il faut patcher.</p>
<p>Simplement expliqué, le WI-FI permet de renvoyer des paquets de données parfaitement identiques à la borne qui les traitent sans discernement.</p>
<p>L&rsquo;attaquant s&rsquo;appuie là-dessus pour renvoyer les clés d&rsquo;authentification à la borne depuis son appareil à la place de la victime.</p>
<p>La borne, ne distinguant pas l&rsquo;envoi du réenvoi, valide l&rsquo;authentification avec les mêmes clés dans les deux cas.
L&rsquo;attaquant possède donc les mêmes clés de déchiffrement que la victime lui permettant de déchiffrer les échanges entre la victime et la borne.</p>
<h2 id="comment-se-protéger">Comment se protéger</h2>
<p>Il y a plusieurs façons de se protéger.</p>
<h3 id="les-mises-à-jours">Les mises à jours</h3>
<p>Tout d&rsquo;abord, vérifiez si des mises à jours de sécurité sont disponibles pour vos appareils.
Voici la liste des systèmes bénéficiant d&rsquo;une mise à jour par 
<a href="https://www.zdnet.com/article/here-is-every-patch-for-krack-wi-fi-attack-available-right-now/" target="_blank">ZDNet (en anglais)</a>.
Une politique de mise à jour régulière de vos appareils est à envisager pour être paré contre des attaques futures.</p>
<h3 id="la-réduction-de-la-surface-dattaque">La réduction de la surface d&rsquo;attaque</h3>
<p>Ensuite, veillez à réduire la surface d&rsquo;attaque. Mettez sur câble ethernet le maximum d&rsquo;appareils possible et coupez leur WI-FI. Pas de WI-FI, pas d&rsquo;attaque possible.</p>
<h3 id="le-remplacement-du-chiffrement">Le remplacement du chiffrement</h3>
<p>Pour les appareils ne pouvant se connecter que par WI-FI, il faut palier aux failles du chiffrement du protocole WPA2 par un autre chiffrement.</p>
<p>Visitez vos sites web en https, le protocole de chiffrement associé (le &rsquo;s&rsquo; de https comme sécurité) remplace la défaillance de WPA2 pour les communications site par site.
Une extension de navigateur comme 
<a href="https://www.eff.org/fr/https-everywhere" target="_blank">HTTPS everywhere</a> peut vous aider.</p>
<p>Installez un 
<a href="https://fr.wikipedia.org/wiki/R%c3%a9seau_priv%c3%a9_virtuel" target="_blank">VPN</a> sur vos appareils.
Il chiffre la totalité du flux entre vos appareils et le WI-FI (et au delà sur Internet).
Je vous conseille bien sûr notre service, 
<a href="https://mycrypnet.io/fr" target="_blank">MyCrypNet</a>, qui a pour avantage supplémentaire de renforcer les fonctionnalités de votre réseau en l&rsquo;abstrayant des considérations géographiques.</p>]]></content:encoded>
    </item>
    <item>
      <title>SSL/TLS et HSTS, qu&#39;est ce que c&#39;est ?</title>
      <link>https://blog.limawi.io/fr-fr/posts/ssltls-et-hsts-quest-ce-que-cest/</link>
      <pubDate>Thu, 18 May 2017 13:07:01 +0000</pubDate>
      <guid>https://blog.limawi.io/fr-fr/posts/ssltls-et-hsts-quest-ce-que-cest/</guid>
      <description>Nos sites web sont sécurisés en https. C&#39;est à dire qu&#39;ils utilisent SSL/TLS. Mais qu&#39;est ce que c&#39;est ? Et quelle est cette extension HSTS ?</description>
      <content:encoded><![CDATA[<h2 id="le-fonctionnement-de-ssltls">Le fonctionnement de SSL/TLS</h2>
<p>SSL/TLS est un protocole qui permet de vérifier l’identité d’un serveur
(par exemple un serveur web comme 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a>, dans ce cas on parle d’https car le protocole d’accès à un serveur web s’appelle http).
Cette vérification d’identité fonctionne avec un envoi de certificat de la part du serveur.</p>
<p>Voici le protocole étape par étape (les termes techniques sont présents dans les infographies) :</p>
<ul>
<li>Le client demande au serveur son identité</li>
<li>Le serveur envoie au client son certificat signé par une autorité de confiance commune au client et au serveur</li>
<li>Le client vérifie que la signature appartient bien à une autorité de confiance qu’il reconnaît</li>
<li>Il envoie une demande à cette autorité de confiance pour déterminer si elle considère ce certificat encore valable</li>
<li>Le client et le serveur se mettent d’accord sur une clé de session qui chiffrera les informations
pendant un temps limité (ce temps révolu, une autre clé de session prend le relais, le détail pour 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a> est expliqué dans l’infographie sur la clé de session)</li>
<li>Le client et le serveur peuvent communiquer de façon sécurisée</li>
</ul>
<div class="row">
<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/ssltls-et-hsts-quest-ce-que-cest/images/protocole-identite-serveur-ssltls.png" class="figure-img img-fluid rounded" alt="Diagramme affichant le flux d&#39;identité SSL/TLS">
  <figcaption class="figure-caption"><p>Protocole identité serveur SSL/TLS avec Let’s Encrypt</p>
    <small>Diagramme affichant le flux d&#39;identité SSL/TLS</small>
  </figcaption>
</figure>

</div>

<div class="col-lg-6 col-md-6">

<figure class="figure text-center">
  <img src="https://blog.limawi.io/fr-fr/posts/ssltls-et-hsts-quest-ce-que-cest/images/protocole-de-session-serveur-ssltls.png" class="figure-img img-fluid rounded" alt="Diagramme affichant le flux de session SSL/TLS">
  <figcaption class="figure-caption"><p>Protocole de session serveur SSL/TLS avec Let’s Encrypt</p>
    <small>Diagramme affichant le flux de session SSL/TLS</small>
  </figcaption>
</figure>

</div>

</div>

<h2 id="lextension-hsts">L’extension HSTS</h2>
<p>L’extension HSTS est une extension du protocole http (le protocole qui charge des pages web) renforçant l’usage de SSL/TLS.</p>
<p>Cette extension force un navigateur à charger les versions sécurisées d’une page et de
toutes les ressources que cette page contient (c’est à dire les versions https) sur un domaine (l’adresse de base d’un site web) qui l’implémente.</p>
<p>Si la page recherchée n’a pas de version sécurisée, elle n’est pas chargée par le navigateur.</p>
<p>Une fois que le navigateur a accédé au site utilisant cette extension il garde en mémoire que les prochaines pages visitées sur ce site doivent être sécurisées.
Il peut ainsi le vérifier avant même d’envoyer la requête au site.</p>
<p>Une extension HSTS est valable pour une durée limitée et le navigateur doit vérifier
au bout de cette validité si le site l’utilise toujours pour déclencher une nouvelle période de validité.</p>
<p>Les domaines (l’adresse de base d’un site web) peuvent être préchargés dans une base de données disponible dans votre navigateur.
Ainsi le navigateur sait avant même d’envoyer la première requête de son historique à une page qu’elle doit être sécurisée sinon il ne la charge pas.</p>
<p>Cette base est disponible ici : 
<a href="https://hstspreload.org/" target="_blank">HSTS Preload</a>.</p>
<h2 id="chez-limawi">Chez Limawi</h2>
<p>Pour 
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a>,
l’autorité de certification est 
<a href="https://letsencrypt.org/" target="_blank">Let&rsquo;s Encrypt</a>.</p>
<p>L’échange de la clé de session entre le client et le serveur se fait grâce au protocole Diffie-Helman
qui permet de créer une clé symétrique de session sans échanger d&rsquo;éléments secrets.</p>
<p>
<a href="https://limawi.io/fr-fr" target="_blank">Limawi</a> utilise HSTS. La validité de l’HSTS est de 6 mois.</p>
<h2 id="références">Références</h2>
<ul>
<li>SSL/TLS : 
<a href="https://fr.wikipedia.org/wiki/Transport_Layer_Security" target="_blank">Wikipedia</a></li>
<li>HSTS : 
<a href="https://fr.wikipedia.org/wiki/HTTP_Strict_Transport_Security" target="_blank">Wikipedia</a></li>
<li>Diffie-Helman : 
<a href="https://fr.wikipedia.org/wiki/%c3%89change_de_cl%c3%a9s_Diffie-Hellman" target="_blank">Wikipedia</a></li>
<li>Préchargement pour Limawi : 
<a href="https://hstspreload.org/?domain=limawi.io" target="_blank">Préchargement HSTS</a></li>
</ul>]]></content:encoded>
    </item>
  </channel>
</rss>
