<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Maxime BEUIL</title>
    <description>The latest articles on Forem by Maxime BEUIL (@mbeuil).</description>
    <link>https://forem.com/mbeuil</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F203282%2Ff304f16a-edd9-43dd-88f3-036819613a4c.jpg</url>
      <title>Forem: Maxime BEUIL</title>
      <link>https://forem.com/mbeuil</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mbeuil"/>
    <language>en</language>
    <item>
      <title>Open source et Hacktoberfest</title>
      <dc:creator>Maxime BEUIL</dc:creator>
      <pubDate>Thu, 29 Oct 2020 15:59:29 +0000</pubDate>
      <link>https://forem.com/mbeuil/open-source-et-hacktoberfest-42h2</link>
      <guid>https://forem.com/mbeuil/open-source-et-hacktoberfest-42h2</guid>
      <description>&lt;p&gt;Qui dit: mois d'Octobre, dit: &lt;a href="https://hacktoberfest.digitalocean.com/"&gt;Hacktoberfest&lt;/a&gt; et donc Open Source . Organisé chaque année par DigitalOcean, cet événement d'une durée d'1 mois à pour but de mettre en avant le monde de l'open source car c'est bien d'open source dont je veux parler dans ce billet.&lt;/p&gt;

&lt;p&gt;Personnellement, j'avais déjà entendu parler d'open source avant mon arrivée dans le monde de l'informatique. Via la pop culture, les films et séries mais aussi mon entourage, nous avons tous quelqu'un, un ami, un proche ou un prof, qui utilise un logiciel open source plutôt qu'un autre.&lt;/p&gt;

&lt;p&gt;Un logiciel en open source est un software dont le code source est public (sur Github par exemple) et est sous licence. Et parce que le code est public, tout le monde peut donc travailler dessus et essayer d'y apporter ses modifications.&lt;/p&gt;

&lt;p&gt;Ces modifications peuvent aller de la plus petite correction à la restructuration de l'application en passant par l'ajout de fonctionnalités. L'objectif étant de venir résoudre une problématique. Vous pouvez soit prendre l'initiative d'une modification soit répondre à une &lt;a href="https://github.com/search?l=JavaScript&amp;amp;p=74&amp;amp;q=label%3Ahacktoberfest+state%3Aopen+no%3Aassignee+is%3Aissue&amp;amp;type=Issues"&gt;open issue&lt;/a&gt; indiquant un problème.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Os4U4qN4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/arqssrfoe6s8qe4pda0y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Os4U4qN4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/arqssrfoe6s8qe4pda0y.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Comment participer ?
&lt;/h2&gt;

&lt;p&gt;Il faut commencer par trouver un projet auquel vous voulez participer.&lt;br&gt;
Créer une copie du repo d'origine sur votre propre espace perso, faire un "fork".&lt;br&gt;
Coder les changements que vous jugez nécessaires.&lt;br&gt;
Commit et push ces modifications sur votre copie du repo, faites en sorte que le commit résume l'objectif des modifications apportées. Vous pouvez suivre, ou non, quelques &lt;a href="https://www.conventionalcommits.org/fr/v1.0.0/"&gt;conventions&lt;/a&gt;.&lt;br&gt;
Et après seulement, vous pourrez faire une "Pull Request", &lt;strong&gt;PR&lt;/strong&gt;, et demander à ce que vos modifications soient "merge" sur le repo d'origine. Pensez à détailler les changements apportés en commentaire de votre PR. Et, si vous répondez à une issue, pensez à ajouter au commentaire le numéro de l'issue en question.&lt;/p&gt;

&lt;p&gt;Ce merge n'est pas automatique. Il doit passer par une étape de validation. C'est aux "maintainers" du projet de juger si ce que vous proposez est intéressant.&lt;/p&gt;

&lt;h2&gt;
  
  
  L'intérêt de participer à un projet en Open Source ?
&lt;/h2&gt;

&lt;p&gt;Plus que pour appliquer un savoir faire, surtout pour les jeunes développeurs, accéder à un code sur lequel a collaboré une équipe de développeurs, c'est une occasion en or pour s'entraîner à lire le code d'autrui. C'est aussi un excellent moyen d'assimiler un maximum de bonnes pratiques, surtout auprès de projets populaires et ayant un fort trafic.&lt;/p&gt;

&lt;p&gt;Je vous conseille de faire un tour sur le repo de &lt;a href="https://github.com/DestinyItemManager/DIM"&gt;DIM&lt;/a&gt; si le ReactJs vous intéresse.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J49tlMMA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1hnizfrwvg15llt0s8by.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J49tlMMA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1hnizfrwvg15llt0s8by.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Après 4 PRs et selon un standard à respecter, nous avons la possibilité de recevoir un t-shirt ou de planter un arbre ! Rien de mieux pour donner envie de participer que d'avoir à la clef un goodie ou de faire une bonne action, win-win !&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Quelques idées
&lt;/h4&gt;

&lt;p&gt;Pour ceux qui angoissent un peu avant de se lancer il existe des &lt;a href="https://goodfirstissues.com/"&gt;plateformes&lt;/a&gt; qui regroupent les issues avec le tag &lt;em&gt;good first issue&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Enfin, merci à l'&lt;strong&gt;Hactoberfest&lt;/strong&gt; de mettre sur le devant de la scène l'Open Source. C'est parfois juste ce qu'il faut à un jeune dev tel que moi pour enfin s'y intéresser ainsi que de faire parler de projets &lt;a href="https://github.com/topics/climate-change"&gt;autour du climat et du COVID-19&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>french</category>
    </item>
    <item>
      <title>Comment signer ses commits sur Github</title>
      <dc:creator>Maxime BEUIL</dc:creator>
      <pubDate>Mon, 21 Sep 2020 08:07:07 +0000</pubDate>
      <link>https://forem.com/mbeuil/signer-ses-commits-4dn6</link>
      <guid>https://forem.com/mbeuil/signer-ses-commits-4dn6</guid>
      <description>&lt;p&gt;Qui se souvient de son époque au collège, au lycée ou à la fac, l'époque des contrôles continus et des exams? De ces tas de copies rendues sur lesquelles seul le nom en tête de page pouvait vous identifier?&lt;/p&gt;

&lt;p&gt;Eh bien, lorsqu'on "commit" c'est la même chose!&lt;br&gt;
On peut commit avec notre propre compte Github mais aussi en utilisant les infos d'un autre utilisateur.&lt;/p&gt;

&lt;p&gt;Pour cela il suffit de récupérer les infos d'un autre compte, par exemple, en clonant un des "repos" du compte en question et de faire un simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git log&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Puis de modifier vos infos, avant le commit, avec celles récupérées ainsi:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git config user.name 'xxx'&lt;br&gt;
git config user.email '&lt;a href="mailto:xxx.yyy@mail.com"&gt;xxx.yyy@mail.com&lt;/a&gt;'&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Et voila, vous pouvez maintenant commit une modification sous le nom d'un tiers.&lt;/p&gt;

&lt;p&gt;Les détails liés à la personne d'origine du commit n'a pas pour but de servir de moyen d'authentification.&lt;/p&gt;

&lt;p&gt;En usurpant le nom d'un compte pour commit, il n'y a pas de faille de sécurité. Ce changement ne permet pas de commit sur les repos du dit compte. Github demanderait alors de s'authentifier avec ses logs avant de pouvoir faire le moindre "push".&lt;/p&gt;

&lt;p&gt;Il vous est donné la possibilité de rajouter un niveau supérieur de certification, pour cela apprenons à signer nos commits !&lt;/p&gt;
&lt;h2&gt;
  
  
  1 - Préparer le terrain
&lt;/h2&gt;

&lt;p&gt;Avant tout, vous aurez besoin, dans un premier temps et si ce n'est pas déjà fait, d'installer GPG :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pour mac :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lancez la commande :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;brew install gpg&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Créez ou ajoutez à votre fichier ~/.gnupg/gpg.conf :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Enable gpg to use the gpg-agent
use-agent
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Pour vous éviter de réécrire votre phrase secrète trop souvent (cette phrase arrive dans la partie "les clefs GPG") installez pinentry-mac :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;brew install pinentry-mac&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Et, créez ou ajoutez à votre fichier ~/.gnupg/gpg-agent.conf :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# cache your passphrase in your mac keychain
pinentry-program /usr/local/bin/pinentry-mac
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Modifiez votre ~/.bashrc, ~/.zprofile... en y ajoutant les lignes suivantes :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export GPG_TTY=$(tty)
gpgconf --launch gpg-agent
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Il sera parfois nécessaire de redémarrer votre agent GPG :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;gpgconf --kill gpg-agent&lt;/p&gt;

&lt;p&gt;gpgconf --launch gpg-agent&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Vous pouvez vérifier si tout marche bien :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;echo "test" | gpg --clearsign&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Vous devrez alors voir apparaitre le prompt suivant, n'oubliez de cocher la case &lt;em&gt;save in&lt;/em&gt; keychain.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7VfQjslQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tekrvq5uxeje2aocq9ua.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7VfQjslQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tekrvq5uxeje2aocq9ua.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pour les pc sous windows :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Allez directement sur &lt;a href="https://gnupg.org/download/"&gt;le site de GnuPG&lt;/a&gt; et téléchargez la dernière version de GnuPG.&lt;/p&gt;

&lt;h2&gt;
  
  
  2 - Les clefs GPG
&lt;/h2&gt;

&lt;p&gt;Maintenant que les préparatifs sont finis, la 2ième étape consiste à créer la paire de clefs GPG, une publique et une privée, qui vous serviront à vous identifier à l'avenir. Pour les générer, commencez avec la commande :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;gpg --full-gen-key&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Une fois lancée, plusieurs questions vous serons posées :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Le type de clef désiré, j'ai personnellement opté pour une clef RSA.&lt;/li&gt;
&lt;li&gt;La taille des clefs.&lt;/li&gt;
&lt;li&gt;La duré de validité.&lt;/li&gt;
&lt;li&gt;Vos informations.&lt;/li&gt;
&lt;li&gt;La phrase pour chiffrer la clef secrète sur votre disque dur. &lt;strong&gt;Attention&lt;/strong&gt; ne perdez pas cette phrase !&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vous pouvez ainsi générer autant de paires que nécessaire. Il vous faut maintenant déterminer laquelle de ces paires vous utiliserez. Pour lister vos clefs :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;gpg --list-secret-keys --keyid-format LONG&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/Users/max/.gnupg/pubring.kbx
-----------------------------
sec   rsa4096/XXXXXXXXXXXXXXX 2020-09-17 [SC] [expire : 2021-09-17]
      YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
uid        [  ultime ] user (commentaire) &amp;lt;user@mail.com&amp;gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Dans l'exemple ci-dessus la série de chiffre &lt;strong&gt;XXXXXXXXXXXXXXX&lt;/strong&gt; représente l'identification d'une clef privée, son ID.&lt;/p&gt;

&lt;h2&gt;
  
  
  3 - Configurer le compte Github
&lt;/h2&gt;

&lt;p&gt;Après avoir généré une paire de clef GPG passez à la configuration de Github. Il vous faut, pour cela, votre clef GPG publique trouvable grâce à l'ID vu précédemment :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;gpg --armor --export XXXXXXXXXXXXXXX&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-----BEGIN PGP PUBLIC KEY BLOCK-----

.
.
.

-----END PGP PUBLIC KEY BLOCK-----
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Il ne vous reste plus qu'à &lt;a href="https://github.com/settings/keys"&gt;ajouter votre clef publique&lt;/a&gt; dans les paramètres de votre compte Github.&lt;/p&gt;

&lt;h2&gt;
  
  
  4 - Se simplifier la tâche
&lt;/h2&gt;

&lt;p&gt;Et c'est à peu près fini. A partir de maintenant vous allez pouvoir signer l'ensemble de vos commit en rajoutant l'option -S suivie de l'ID de votre clef secrète. Cela marche aussi pour les tag. Pas bien compliqué non ?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git commit -S XXXXXXXXXXXXXXX&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Bon, rien que de penser à tapper ces nouvelles infos à chaque commit j'en ai des vertiges. Heureusement, on peut aller plus loin dans notre démarche.&lt;/p&gt;

&lt;p&gt;Pour ce faire, il faut &lt;strong&gt;éditer le ~/.gitdonfig&lt;/strong&gt; :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git config --global user.signingkey XXXXXXXXXXXXXXX&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Voila ! Plus besoin d'inscrire l'ID a chaque commit. Un simple git commit -S suffira.&lt;/p&gt;

&lt;p&gt;Si vous avez dans l'idée de signer l'intégralité de vos commits et d'en finir avec le -S il suffit de le spécifier sur votre gitconfig :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git config --global commit.gpgSign true&lt;/p&gt;

&lt;p&gt;git config --global tag.gpgSign true&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Votre fichier ~/.gitconfig devrait ressembler à ça maintenant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user]
  name = user
  email = mail
  signingkey = XXXXXXXXXXXXXXX
[commit]
  gpgsign = true
[tag]
  gpgsign = true
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Dorénavant, sur Github, vos commits seront marqués d'un petit encart vert "verified". De même sur votre terminal pour pouvez vérifier dans les logs les commits signés :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git log --show-signature -5&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;commit 67ff2326d2ea9f6d86c582f6c842bee7a95de9d1 (HEAD -&amp;gt; master, origin/master)
gpg: Signature faite le Jeu 17 sep 16:15:16 2020 CEST
gpg:                avec la clef RSA XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
gpg: Bonne signature de « user &amp;lt;user@mail.com&amp;gt; » [ultime]
Author: user &amp;lt;user@mail.com&amp;gt;
Date:   Thu Sep 17 16:15:16 2020 +0200

    signed commit
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Personnellement, j'ai ajouté à mon .zshrc ce petit alias &lt;em&gt;glog='git log --pretty="format:%h %G? %aN %d %s"'&lt;/em&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git log --pretty="format:%h %G? %aN %d %s
12ddb92 G user   signed commit
5855463 G user   signed commit
0b867fc N user   non signed commit
887a067 N user   non signed commit
d45be7b N user   non signed commit
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Si le commit est signé il sera alors accompagné de l'option G sinon l'option sera N.&lt;/p&gt;

&lt;h2&gt;
  
  
  5 - Plus de sécurité
&lt;/h2&gt;

&lt;p&gt;Il est important de créer un certificat de révocation de votre clef secrète. Car si celle-ci est compromise ou perdue ce certificat est alors le seul moyen de dire aux autres d'ignorer la clef volée.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;gpg --output &amp;lt;&lt;a href="mailto:user@mail.com"&gt;user@mail.com&lt;/a&gt;&amp;gt;.gpg-revocation-certificate --gen-revoke XXXXXXXXXXXXXXX&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On peut aussi faire une sauvegarde des paires de clefs en les exportant :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;gpg --export-secret-keys --armor XXXXXXXXXXXXXXX &amp;gt; &amp;lt;&lt;a href="mailto:user@mail.com"&gt;user@mail.com&lt;/a&gt;&amp;gt;.private.gpg-key&lt;/p&gt;

&lt;p&gt;gpg --export --armor XXXXXXXXXXXXXXX &amp;gt; &amp;lt;&lt;a href="mailto:user@mail.com"&gt;user@mail.com&lt;/a&gt;&amp;gt;.public.gpg-key&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Surtout ne stockez pas le certificat et la clef secrète au même endroit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bonus de fin&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On va finir par une petite astuce. Les commandes git merge et git pull peuvent vérifier et rejeter si nécessaire les commits non signés avec l'option --verify-signatures.&lt;/p&gt;

&lt;p&gt;Par exemple, la fusion ne s'effectuera que si tous les commits sont signés&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git merge --verify-signatures -S non-verify&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fatal: Commit e9c079b does not have a GPG signature.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



</description>
      <category>github</category>
      <category>french</category>
    </item>
    <item>
      <title>Ajouter une bannière a votre profil Github</title>
      <dc:creator>Maxime BEUIL</dc:creator>
      <pubDate>Sat, 29 Aug 2020 17:12:22 +0000</pubDate>
      <link>https://forem.com/mbeuil/ajouter-une-banniere-a-votre-profil-github-3d3f</link>
      <guid>https://forem.com/mbeuil/ajouter-une-banniere-a-votre-profil-github-3d3f</guid>
      <description>&lt;p&gt;Depuis l'arrivée de Microsoft, Github a connu quelques changements. En vrac, on peut citer une application mobile ou encore, dernièrement, l’ajout du pseudo twitter à votre profil. Mais ce qui nous intéresse ici est une autre de ces nouveautés: la possibilité d’épingler un README.md, une bannière, à votre page d'accueil sur Github.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comment faire?
&lt;/h2&gt;

&lt;p&gt;Rien de plus simple. &lt;br&gt;
Commencez par &lt;a href="https://github.com/new"&gt;créer un nouveau dossier&lt;/a&gt;, un “repo”. 3 petites choses sont à faire pour que la magie opère :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Le repo doit avoir pour nom votre pseudo Github. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rendez ce repo public.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Initialisez le repo avec un README.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Et voilà, votre profil vient juste de gagner un petit entête avec pour contenu le readme du repo fraîchement ajouté.&lt;br&gt;
Attention, un repo vide fera que rien ne s’affichera.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3Rpe_GwH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yekdoyfz5llmj0bkucid.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3Rpe_GwH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yekdoyfz5llmj0bkucid.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Personnalisable?
&lt;/h2&gt;

&lt;p&gt;Plutôt deux fois qu’une.&lt;br&gt;
C’est maintenant que vous allez pouvoir faire parler votre créativité, sortir de la masse et vous mettre en avant. Comme tout README classic,  vous pouvez y ajouter emojis, images, gifs … laissez parler votre imagination ! &lt;/p&gt;

&lt;p&gt;Personnellement, j'ai opté pour une simple petite image faite sur &lt;a href="https://www.sketch.com/"&gt;Sketch&lt;/a&gt;. Pour utiliser une image dans un README, vous pouvez soit héberger votre image sur un site tiers, ou directement utiliser une image stockée sur votre repo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;![from_url](https://i.imgur.com/your-profile-picture.png)

![from_assets](https://github.com/username/username/xxx/master/assets/your-profile-picture.png)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/mbeuil/mbeuil"&gt;https://github.com/mbeuil/mbeuil&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Votre bannière peut faire dans le simple ou le descriptif:&lt;br&gt;
&lt;a href="https://github.com/jh3y/jh3y"&gt;https://github.com/jh3y/jh3y&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/stephenajulu/stephenajulu"&gt;https://github.com/stephenajulu/stephenajulu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Et si vous en voulez toujours plus:&lt;br&gt;
&lt;a href="https://github.com/abhisheknaiidu/awesome-github-profile-readme"&gt;https://github.com/abhisheknaiidu/awesome-github-profile-readme&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ressources utiles:
&lt;/h2&gt;

&lt;p&gt;Si vous voulez toujours plus d'exemple de README:&lt;br&gt;
&lt;a href="https://github.com/abhisheknaiidu/awesome-github-profile-readme"&gt;https://github.com/abhisheknaiidu/awesome-github-profile-readme&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pour ceux, un peu perdu, qui veulent en apprendre plus sur le système de markdown, GFM, utilisé par Github : &lt;a href="https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github"&gt;https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ou si vous voulez égayer votre texte d’emojis en tout genre:&lt;br&gt;
&lt;a href="https://gist.github.com/rxaviers/7360908"&gt;https://gist.github.com/rxaviers/7360908&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>french</category>
    </item>
  </channel>
</rss>
