<?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>DEV Community: JetDev</title>
    <description>The latest articles on DEV Community by JetDev (@jetdev).</description>
    <link>https://dev.to/jetdev</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%2Forganization%2Fprofile_image%2F5984%2F50b699ff-8b80-49bc-8253-bfb1d26e0be2.png</url>
      <title>DEV Community: JetDev</title>
      <link>https://dev.to/jetdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jetdev"/>
    <language>en</language>
    <item>
      <title>Je veux des paillettes dans mes rétros ✨</title>
      <dc:creator>maximeBuguel</dc:creator>
      <pubDate>Mon, 20 Feb 2023 09:44:52 +0000</pubDate>
      <link>https://dev.to/jetdev/je-veux-des-paillettes-dans-mes-retros-25n4</link>
      <guid>https://dev.to/jetdev/je-veux-des-paillettes-dans-mes-retros-25n4</guid>
      <description>&lt;p&gt;Lorsqu’on anime une rétrospective toutes les 2 ou 3 semaines, c’est n'est pas toujours facile de faire preuve d’originalité et de réussir à se renouveler pour ne pas avoir l’impression de faire toujours la même chose… Alors comment sortir de la routine et &lt;strong&gt;mettre des paillettes dans vos rétros&lt;/strong&gt; ? Comment fait-on pour passer de “Encore un KDS” à “Alors, qu'est-ce que tu nous as préparé de beau aujourd'hui ?”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7tdx1fs34dmlsl94wmet.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7tdx1fs34dmlsl94wmet.jpeg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pour ce faire, je vous propose deux solutions : la première consiste à prendre un format de rétrospective "classique" et à faire appel à Xzibit pour la "pimper". Si vous n'avez pas la fibre artistique, on peut également faire appel à Bear Grylls pour sortir un peu des sentiers battus...&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Festwldjh06paud7e2z12.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Festwldjh06paud7e2z12.jpeg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Il existe déjà énormément de formats de rétrospectives différents sur internet. La plupart du temps, on conseille d'utiliser un tableau blanc ou un paperboard ainsi que des post-it. Mais ça, c'était avant. Maintenant, on a de plus en plus tendance à utiliser des outils tels que Miro, Metro Retro, etc.&lt;/p&gt;

&lt;p&gt;Alors rangez vos feutres velleda et autres marqueurs, et profitons-en pour "pimper" vos rétrospectives et leur ajouter des jantes 28" !&lt;/p&gt;

&lt;p&gt;L'objectif sera de réussir à faire quelque chose de sympa visuellement sans avoir un talent de dessinateur ou de graphiste. Et autre point important, sans y passer des heures. Avoir quelque chose de joli, c'est cool, mais le principal, ça reste quand même le contenu. Alors, je vais vous montrer comment je m'y prends. Je vais donc me concentrer sur la partie personnalisation et vous renvoyer vers d'autres articles si vous voulez plus de détails sur la rétrospective en elle-même. Pour commencer, voici deux exemples assez visuels : &lt;a href="https://blog.myagilepartner.fr/index.php/2018/06/11/retrospective-2-hot-air-balloon-montgolfiere/" rel="noopener noreferrer"&gt;Hot Air Balloon&lt;/a&gt; &amp;amp; &lt;a href="https://blog.myagilepartner.fr/index.php/2018/05/17/speed-boat/" rel="noopener noreferrer"&gt;Speed Boat&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;1/ Dans un premier temps, on va récupérer tous les éléments dont on va avoir besoin pour nos "créations". Et on peut trouver énormément de choses sur internet, mais si vous ne voulez pas vous ruiner et que vous ne voulez pas avoir de gros "shutterstock" sur vos visuels, je vous recommande d'aller faire un tour sur &lt;a href="http://www.flaticon.com/" rel="noopener noreferrer"&gt;Flat Icon&lt;/a&gt;. L'offre gratuite est plus que suffisante, il faut juste penser à citer les sources (plus d'informations sur les copyright &lt;a href="https://support.flaticon.com/s/article/Attribution-How-when-and-where-FI?language=en_US&amp;amp;_gl=1*1tpzhzw*test_ga*MTk4NDI5MjY4NS4xNjcyMjQ0NjM5*test_ga_523JXC6VL7*MTY3NjM2ODgwNi45LjEuMTY3NjM2ODk0OC42MC4wLjA.*fp_ga*MTk4NDI5MjY4NS4xNjcyMjQ0NjM5*fp_ga_1ZY8468CQB*MTY3NjM2ODgwNi45LjEuMTY3NjM2ODk0OC42MC4wLjA.&amp;amp;_ga=2.241739649.2063303393.1676282461-1984292685.1672244639" rel="noopener noreferrer"&gt;copyright flaticon&lt;/a&gt;).&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
   &lt;td&gt;Hot Air Balloon
   &lt;/td&gt;
   &lt;td&gt; Speed Boat
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;
&lt;ul&gt;

&lt;li&gt;Une montgolfière : &lt;a href="https://www.flaticon.com/free-icon/air-hot-balloon_1514294" rel="noopener noreferrer"&gt;Balloon icons created by Freepik - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;Un soleil : &lt;a href="https://www.flaticon.com/free-icons/sun" rel="noopener noreferrer"&gt;Sun icons created by DinosoftLabs - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;Un nuage : &lt;a href="https://www.flaticon.com/free-icons/cloud-computing" rel="noopener noreferrer"&gt;Cloud computing icons created by Freepik - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;Du vent : &lt;a href="https://www.flaticon.com/free-icons/wind" rel="noopener noreferrer"&gt;Wind icons created by Freepik - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;Des poids : &lt;a href="https://www.flaticon.com/free-icons/weight" rel="noopener noreferrer"&gt;Weight icons created by Freepik - Flaticon&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
   &lt;/td&gt;
   &lt;td&gt;
&lt;ul&gt;

&lt;li&gt;Un soleil : &lt;a href="https://www.flaticon.com/free-icons/sun" rel="noopener noreferrer"&gt;Sun icons created by DinosoftLabs - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;Du vent : &lt;a href="https://www.flaticon.com/free-icons/wind" rel="noopener noreferrer"&gt;Wind icons created by Freepik - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;Le bateau : &lt;a href="https://www.flaticon.com/free-icons/sailing" rel="noopener noreferrer"&gt;Sailing icons created by Umeicon - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;Les rochers : &lt;a href="https://www.flaticon.com/free-icons/rock" rel="noopener noreferrer"&gt;Rock icons created by Freepik - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;L’île : &lt;a href="https://www.flaticon.com/free-icons/island" rel="noopener noreferrer"&gt;Island icons created by Freepik - Flaticon&lt;/a&gt;

&lt;/li&gt;
&lt;li&gt;L’ancre : &lt;a href="https://www.flaticon.com/free-icons/anchor" rel="noopener noreferrer"&gt;Anchor icons created by Freepik - Flaticon&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Optionnel : et si on veut ajouter un peu de déco on peut ajouter des petits éléments en plus comme par exemple : un petit géranium (Bon ça ne marchait pas dans ce contexte alors j’ai pris des petits oiseaux : &lt;a href="https://www.flaticon.com/free-icons/bird" rel="noopener noreferrer"&gt;Bird icons created by Freepik - Flaticon&lt;/a&gt; et un petit avion &lt;a href="https://www.flaticon.com/free-icons/advert" rel="noopener noreferrer"&gt;Advert icons created by kerismaker - Flaticon&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;2/ Et dans un deuxième temps, il s'agit de réaliser un simple puzzle pour assembler tous nos éléments. Pour cela, je vous propose trois options :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Utiliser un logiciel de DAO (Photoshop, Gimp, etc.). C'est une solution efficace qui nous permet de revenir plus facilement sur notre modèle si nous avons besoin de le réutiliser à l'avenir, mais qui peut sembler un peu trop complexe si nous n'avons pas l'habitude d'utiliser ce genre d'outils. Voici le résultat après quelques minutes sur Gimp :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvgw0ip1wc0uecluc52q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvgw0ip1wc0uecluc52q.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hot Air Balloon&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxsnjb163khapsi9xihh0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxsnjb163khapsi9xihh0.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Speed Boat&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Une autre option consiste à utiliser un outil de présentation tel que Powerpoint ou Google Docs. Rien de plus simple, on dépose nos éléments, on les réorganise un peu et le tour est joué (&lt;a href="https://docs.google.com/presentation/d/1BKtOuGkPuQwa4sEcj-XM5LfuC8ePglKEPBQBz-yY_fA/edit?usp=sharing" rel="noopener noreferrer"&gt;voir le résultat dans G-suite&lt;/a&gt;)... La seule question qui reste est de savoir comment l'utiliser avec notre équipe. Il n'est pas sûr qu'un PPT soit l'outil le plus adapté pour animer une rétrospective, mais avec un peu d'imagination, je suis certain que c'est faisable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ou encore, utiliser directement notre outil de tableau blanc virtuel, dans mon cas Miro. Cela fonctionne bien, c'est facile et tout aussi rapide à mettre en place. Le seul inconvénient que je pourrais y voir serait de devoir garder un template vide pour pouvoir le réutiliser à l'avenir (ce qui est probablement faisable avec les templates Miro, mais il faudrait que j'approfondisse le sujet).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On se rend compte que le résultat est sensiblement le même, donc il s’agit avant tout d’une question de préférence et d’efficacité. Le but n'est pas de passer des heures avec un outil qu'on ne maîtrise pas bien. Mais avec l'habitude, l'assemblage prend moins de 10 minutes, et c'est quand même plus sympa que les schémas déjà tout faits qu'on trouve sur internet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5rg0gtmdc2yt1o1vt0i1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5rg0gtmdc2yt1o1vt0i1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Il est également possible de partir sur un format de rétrospective plus "simple" comme un KDS, 4L, Glad/Sad/Mad, etc. et de le personnaliser un peu. Pour cela, je choisis un thème, qu'il soit d'actualité ou non, puis nous commençons par un petit jeu rapide en "IceBreaker". Enfin, nous personnalisons notre KDS en fonction de notre thème avec des petites icônes &lt;a href="http://www.flaticon.com/" rel="noopener noreferrer"&gt;Flat Icon&lt;/a&gt; (on ne change pas une équipe qui gagne).&lt;/p&gt;

&lt;p&gt;Exemple :&lt;br&gt;
Pendant la Coupe du Monde de football (Euro, Ligue des champions, etc., l'avantage avec le foot étant que cela se recycle assez bien 😇).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;On commence avec une petite partie de &lt;a href="https://www.haxball.com/" rel="noopener noreferrer"&gt;HaxBall&lt;/a&gt; (jeu d'arcade de foot en ligne très facile à prendre en main, avec des parties rapides de 3 minutes) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On récupère trois icônes dans notre thème et le tour est joué : &lt;a href="https://www.flaticon.com/free-icons/goalkeeper" title="goalkeeper icons" rel="noopener noreferrer"&gt;Goalkeeper icons created by Freepik - Flaticon&lt;/a&gt; - &lt;a href="https://www.flaticon.com/free-icons/red-card" title="red card icons" rel="noopener noreferrer"&gt;Red card icons created by Freepik - Flaticon&lt;/a&gt; - &lt;a href="https://www.flaticon.com/free-icons/wistle" title="wistle icons" rel="noopener noreferrer"&gt;Wistle icons created by Freepik - Flaticon&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk599urr2woigqanqslrm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk599urr2woigqanqslrm.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On peut adapter ce format avec plein de mini-jeux en ligne, il faut juste faire attention à ce que le jeu ne soit pas trop long. Voici quelques idées (n'hésitez pas à en partager d'autres en commentaire) :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://skribbl.io/" rel="noopener noreferrer"&gt;skribbl.io&lt;/a&gt; : "Dessinez c'est gagné" en ligne&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.tusmo.xyz/" rel="noopener noreferrer"&gt;Tusmo&lt;/a&gt; : "Motus" en ligne &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.geoguessr.com/" rel="noopener noreferrer"&gt;GeoGuessr&lt;/a&gt; : On vous donne une position aléatoire sur Google Maps, vous devez retrouver votre position.&lt;/li&gt;
&lt;li&gt;Moodboard, Météo des humeurs, etc. : un peu moins ludique, mais ça reste un ice breaker qui fonctionne bien... Et si vous voulez renouveler votre stock, je vous recommande &lt;a href="https://www.linkedin.com/in/jeannehaltz/" rel="noopener noreferrer"&gt;les posts LinkedIn “Tu vas kiffer ton lundi” de Jeanne Hatlz&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://cemantix.certitudes.org/" rel="noopener noreferrer"&gt;Cémentix&lt;/a&gt; : difficile à décrire, il faut le tester pour comprendre, mais voici comment il est présenté sur leur site :&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Le but du jeu est de trouver le mot secret en essayant de s’en approcher le plus possible contextuellement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F08rzoy5kxhyws7nlf6fk.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F08rzoy5kxhyws7nlf6fk.jpeg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Je vais essayer de vous lister quelques idées de rétrospectives originales sans forcément rentrer dans les détails, mais plutôt pour vous donner des pistes à explorer :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://imgflip.com/memegenerator" rel="noopener noreferrer"&gt;Meme Generator&lt;/a&gt; : l'idée ici est de commencer par prendre du temps individuellement pour générer des "meme" (en lien avec le sprint passé, bien entendu). Ensuite, on les partage en équipe. Derrière les blagues, il y a souvent des vrais sujets qu'il faut aborder, et cela peut conduire à des actions à prendre pour le ou les prochains sprints.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.birdsdessines.fr/" rel="noopener noreferrer"&gt;Birds Dessinés&lt;/a&gt; : même principe qu’avec les “meme” mais cette fois-ci on réalise des mini BD &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://agile.les-ombres.net/retrospectives/dixit" rel="noopener noreferrer"&gt;Dixit&lt;/a&gt; : Je ne rentre pas dans les détails, je vous laisse lire l’article plus complet à ce sujet… Petite précision : si besoin vous pouvez récupérer les cartes directement sur &lt;a href="https://print-and-play.asmodee.fun/" rel="noopener noreferrer"&gt;le site de l’éditeur du jeu en pdf&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Si vous êtes arrivé jusqu'ici, merci de m'avoir lu, et n'hésitez pas à me faire des retours en commentaire ou à partager vos astuces et conseils pour les rétrospectives. 😉&lt;/p&gt;

</description>
      <category>agile</category>
      <category>scrum</category>
      <category>retro</category>
      <category>rétrospective</category>
    </item>
    <item>
      <title>Dans les mystères du code d'Android</title>
      <dc:creator>FOLMER Thomas</dc:creator>
      <pubDate>Mon, 23 Jan 2023 07:18:28 +0000</pubDate>
      <link>https://dev.to/jetdev/dans-les-mysteres-du-code-dandroid-4d00</link>
      <guid>https://dev.to/jetdev/dans-les-mysteres-du-code-dandroid-4d00</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;(Crédit image: Olloweb agency _ Unsplash)&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Récemment, alors que je regardais un &lt;a href="https://www.youtube.com/@DevCafe" rel="noopener noreferrer"&gt;DevCafé&lt;/a&gt;, il a été sujet de la propriété DISALLOW_FUN dans le UserManager. &lt;br&gt;
Ni une, ni 2, ça m'a rappelé d'autres easter eggs dans Android et voilà ce que j'ai trouvé !&lt;/p&gt;

&lt;h3&gt;
  
  
  Oeufs de Pâques d'Android
&lt;/h3&gt;

&lt;p&gt;Tout d'abord il y a les oeufs de pâques Android, disponible dans chaque version d'Android depuis la 2.3 &lt;br&gt;
Facilement accessible même aux non-développeurs, il suffit d'aller dans &lt;code&gt;Paramètres&lt;/code&gt; -&amp;gt; &lt;code&gt;A propos du téléphone&lt;/code&gt; -&amp;gt; Taper plusieurs fois sur la version d'Android. &lt;br&gt;
&lt;a href="https://www.androidauthority.com/android-easter-eggs-818694/" rel="noopener noreferrer"&gt;Retrouvez tous les œufs de version ici&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  UserManager
&lt;/h3&gt;

&lt;p&gt;Le UserManager est un endroit privilégié pour cacher des curiosités. &lt;/p&gt;

&lt;p&gt;Selon le code, il est possible de résoudre des petits soucis de téléportations incontrôlées avec :  &lt;a href="https://developer.android.com/reference/android/os/UserManager#isUserAGoat()" rel="noopener noreferrer"&gt;&lt;code&gt;isUserAGoat()&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxdgswcyd92xhleh81kqh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxdgswcyd92xhleh81kqh.png" alt="isUserAGoat()"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Libérez la puissance de votre code avec la technologie avancée de reconnaissance des chèvres d'Android, mais gardez à l'esprit qu'il est demandé de respecter la vie privée de la chèvre..&lt;/p&gt;

&lt;p&gt;Si vous ne trouvez pas ça si drôle, on a prévu autre chose. &lt;/p&gt;

&lt;p&gt;Vous pourrez contrôler le plaisir de votre utilisateur avec &lt;a href="https://developer.android.com/reference/android/os/UserManager#DISALLOW_FUN." rel="noopener noreferrer"&gt;&lt;code&gt;DISALLOW_FUN&lt;/code&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1tirt9bet4wz8n5rbp82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1tirt9bet4wz8n5rbp82.png" alt="Capture d'écran de la base de code android pour DISALLOW_FUN"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comme nous pouvons le voir, le fun est désactivé par défaut pour nos utilisateurs. J'invite les développeurs Android à réparer ce méfait et à activer le fun pour tous vos utilisateurs. &lt;br&gt;
Il est de notre responsabilité de faire du monde un endroit meilleur. &lt;/p&gt;

&lt;h3&gt;
  
  
  Prêt pour l'espace
&lt;/h3&gt;

&lt;p&gt;Si DISALLOW_FUN n'est pas suffisant pour rendre le monde meilleur, il est temps de construire une étoile de la mort ! &lt;br&gt;
Heureusement, Android peut nous aider en fournissant la gravité de l'Étoile de la Mort. &lt;br&gt;
Dans le Sensor Manager on a &lt;a href="https://developer.android.com/reference/android/hardware/SensorManager#GRAVITY_DEATH_STAR_I" rel="noopener noreferrer"&gt;&lt;code&gt;GRAVITY_DEATH_STAR_I&lt;/code&gt;&lt;/a&gt;&lt;br&gt;
Ca doit être important si ils l'ont ajouté dans la toute première API...&lt;/p&gt;

&lt;h3&gt;
  
  
  WTF
&lt;/h3&gt;

&lt;p&gt;Vous avez eu une longue journée ? Vous vous grattez la tête depuis trop longtemps à cause de comportements bizarres ? &lt;br&gt;
Balancez donc du WTF : &lt;br&gt;
&lt;a href="https://developer.android.com/reference/android/util/Log#wtf(java.lang.String,%20java.lang.String)" rel="noopener noreferrer"&gt;&lt;code&gt;Log.wtf()&lt;/code&gt;&lt;/a&gt;&lt;br&gt;
WTF -&amp;gt; " What (a) Terrible Failure ".&lt;/p&gt;

&lt;h3&gt;
  
  
  Le jazzman
&lt;/h3&gt;

&lt;p&gt;Si votre application est utilisée par des utilisateurs très agiles et que vous avez besoin de gérer plusieurs clics en même temps, &lt;a href="https://developer.android.com/reference/android/content/pm/PackageManager#FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND" rel="noopener noreferrer"&gt;&lt;code&gt;FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND&lt;/code&gt;&lt;/a&gt; est pour vous ! &lt;br&gt;
Bien joué, Android ;) &lt;/p&gt;

&lt;h3&gt;
  
  
  Chats et développeurs
&lt;/h3&gt;

&lt;p&gt;Que serait l'internet et par extension les développeurs sans les chats ! &lt;br&gt;
J'ai trouvé &amp;gt; 200 fichiers contenant meow dans les sources d'android. -&amp;gt; &lt;a href="https://cs.android.com/search?q=Meow" rel="noopener noreferrer"&gt;https://cs.android.com/search?q=Meow&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Le Final Countdown
&lt;/h3&gt;

&lt;p&gt;Quelle meilleure façon de clore cet article qu'avec un Final Countdown ! &lt;br&gt;
L'utilisation de &lt;a href="https://developer.android.com/reference/android/widget/Chronometer#isTheFinalCountDown()" rel="noopener noreferrer"&gt;&lt;code&gt;Chronometer(context).isTheFinalCountDown()&lt;/code&gt;&lt;/a&gt; va lancer youtube et jouer... Le Final Countdown !&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F532t9ejo0347chj6m4nf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F532t9ejo0347chj6m4nf.png" alt="Codebase du compte à rebours final"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tadada da tadadadada tadada da tadadadadadada...&lt;/p&gt;

&lt;p&gt;Sources :&lt;br&gt;
Explorateur de code source Android &lt;br&gt;
&lt;a href="https://cs.android.com" rel="noopener noreferrer"&gt;https://cs.android.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Le compte à rebours final&lt;/code&gt;&lt;br&gt;
&lt;a href="https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/widget/Chronometer.java;l=163;bpv=1;bpt=1?q=finalcountdown" rel="noopener noreferrer"&gt;https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/widget/Chronometer.java;l=163;bpv=1;bpt=1?q=finalcountdown&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La plupart de l'inspiration vient de cet article &lt;br&gt;
&lt;a href="https://blog.danlew.net/2015/04/18/is-your-user-a-goat/" rel="noopener noreferrer"&gt;https://blog.danlew.net/2015/04/18/is-your-user-a-goat/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>mobile</category>
      <category>resume</category>
      <category>french</category>
    </item>
    <item>
      <title>Android codebase easter eggs</title>
      <dc:creator>FOLMER Thomas</dc:creator>
      <pubDate>Mon, 16 Jan 2023 07:17:44 +0000</pubDate>
      <link>https://dev.to/jetdev/android-codebase-easter-eggs-and-pranks-5h4i</link>
      <guid>https://dev.to/jetdev/android-codebase-easter-eggs-and-pranks-5h4i</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;(Image by the Olloweb agency on Unsplash)&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Android codebase is full of surprises that we have yet to discover. &lt;br&gt;
Recently, I came across a presentation of the weird property &lt;a href="https://developer.android.com/reference/android/os/UserManager#DISALLOW_FUN."&gt;&lt;code&gt;DISALLOW_FUN&lt;/code&gt;&lt;/a&gt; in the UserManager, and it made me want to look for the other easter eggs, pranks and small jokes hidden in the Android codebase.&lt;br&gt;
Without further ado ! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/SGujC3SmOI5Vu/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/SGujC3SmOI5Vu/giphy.gif" alt="Interrogation Gif" width="240" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Android easter eggs
&lt;/h3&gt;

&lt;p&gt;The first thing that should come to mind when speaking of easter eggs in Android, is the one that can be found for every Android Version since 2.3 &lt;br&gt;
Easily accessible to even non-developers, just go to &lt;code&gt;Settings&lt;/code&gt; -&amp;gt; &lt;code&gt;About Phone&lt;/code&gt; -&amp;gt; Repeatedly tap on the Android version &lt;br&gt;
&lt;a href="https://www.androidauthority.com/android-easter-eggs-818694/"&gt;Find all the version easters eggs here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  UserManager
&lt;/h3&gt;

&lt;p&gt;In the code, the UserManager is probably the go-to place to hide curiosities. &lt;/p&gt;

&lt;p&gt;Might your users be subject to teleportation ? I have something for you !  &lt;a href="https://developer.android.com/reference/android/os/UserManager#isUserAGoat()"&gt;&lt;code&gt;isUserAGoat()&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iMx51dK7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xdgswcyd92xhleh81kqh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iMx51dK7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xdgswcyd92xhleh81kqh.png" alt="isUserAGoat()" width="880" height="273"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unleash the power of your code with Android's advanced goat recognition technology and please, respect the goat's privacy.&lt;/p&gt;

&lt;p&gt;And who says that the goats cannot have fun?&lt;/p&gt;

&lt;p&gt;You'll be able to control the fun of your user with &lt;a href="https://developer.android.com/reference/android/os/UserManager#DISALLOW_FUN."&gt;&lt;code&gt;DISALLOW_FUN&lt;/code&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PxEe26KD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1tirt9bet4wz8n5rbp82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PxEe26KD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1tirt9bet4wz8n5rbp82.png" alt="Screenshot of the android codebase for DISALLOW_FUN" width="880" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As we can see, the fun is disabled for our users by default. I invite Android Developers to repair this mischief and turn on the fun for all your users. &lt;br&gt;
It is our responsibility to make the world a better place. &lt;/p&gt;

&lt;h3&gt;
  
  
  Ready for space
&lt;/h3&gt;

&lt;p&gt;If you could not make the world a better place with DISALLOW_FUN, time to build a Death Star ! &lt;br&gt;
Luckily Android can help us by providing the expected gravity of the Death Star. &lt;br&gt;
Use the Sensor Manager and use the &lt;a href="https://developer.android.com/reference/android/hardware/SensorManager#GRAVITY_DEATH_STAR_I"&gt;&lt;code&gt;GRAVITY_DEATH_STAR_I&lt;/code&gt;&lt;/a&gt;&lt;br&gt;
Seems important as they added it in the very first API...&lt;/p&gt;

&lt;h3&gt;
  
  
  WTF
&lt;/h3&gt;

&lt;p&gt;Are you having a long day ? Have you been scratching your head for too long about weird behaviors ? &lt;br&gt;
Just release pressure and place some WTF on your code : &lt;br&gt;
&lt;a href="https://developer.android.com/reference/android/util/Log#wtf(java.lang.String,%20java.lang.String)"&gt;&lt;code&gt;Log.wtf()&lt;/code&gt;&lt;/a&gt;&lt;br&gt;
WTF -&amp;gt; "What a terrible Failure"&lt;/p&gt;

&lt;h3&gt;
  
  
  The jazzman
&lt;/h3&gt;

&lt;p&gt;You app will be used by very agile users and you need to handle multiple clicks at the same time, &lt;a href="https://developer.android.com/reference/android/content/pm/PackageManager#FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND"&gt;&lt;code&gt;FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND&lt;/code&gt;&lt;/a&gt; is for you ! &lt;br&gt;
Nice touch, Android ;) &lt;/p&gt;

&lt;h3&gt;
  
  
  Cats and developers
&lt;/h3&gt;

&lt;p&gt;What would be the internet and by extension the developers without cats?! &lt;br&gt;
I found &amp;gt;200 files containing meow in the source of android. -&amp;gt; &lt;a href="https://cs.android.com/search?q=Meow"&gt;https://cs.android.com/search?q=Meow&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  The final countdown
&lt;/h3&gt;

&lt;p&gt;What better way to close this article than the final countdown?! &lt;br&gt;
Using &lt;a href="https://developer.android.com/reference/android/widget/Chronometer#isTheFinalCountDown()"&gt;&lt;code&gt;Chronometer(context).isTheFinalCountDown()&lt;/code&gt;&lt;/a&gt; will launch youtube and play... The final countdown !&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PVmzcWtp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/532t9ejo0347chj6m4nf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PVmzcWtp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/532t9ejo0347chj6m4nf.png" alt="Final countdown codebase" width="880" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sources :&lt;br&gt;
Android source code explorer &lt;br&gt;
&lt;a href="https://cs.android.com"&gt;https://cs.android.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;The final countdown&lt;/code&gt;&lt;br&gt;
&lt;a href="https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/widget/Chronometer.java;l=163;bpv=1;bpt=1?q=finalcountdown"&gt;https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/widget/Chronometer.java;l=163;bpv=1;bpt=1?q=finalcountdown&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most of the inspiration come from this article &lt;br&gt;
&lt;a href="https://blog.danlew.net/2015/04/18/is-your-user-a-goat/"&gt;https://blog.danlew.net/2015/04/18/is-your-user-a-goat/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>mobile</category>
      <category>resume</category>
    </item>
    <item>
      <title>What is a smart contract ?</title>
      <dc:creator>Rodolphe Vanderaspoilden</dc:creator>
      <pubDate>Wed, 11 Jan 2023 08:55:41 +0000</pubDate>
      <link>https://dev.to/jetdev/what-is-a-smart-contract--3a18</link>
      <guid>https://dev.to/jetdev/what-is-a-smart-contract--3a18</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v5ohXMH1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/brzhnpgey6ggntldnoi3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v5ohXMH1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/brzhnpgey6ggntldnoi3.jpg" alt="Image description" width="880" height="503"&gt;&lt;/a&gt;&lt;br&gt;
Image by pch.vector on Freepik&lt;/p&gt;

&lt;h2&gt;
  
  
  Origin of the Smart contract
&lt;/h2&gt;

&lt;p&gt;Nick Szabo, an expert in cryptography, is the creator of the concept of "smart contracts," more commonly known as "smart contracts." In 1998, he designed the first decentralized digital mechanism, "Bit gold," recognized as the precursor to "Bitcoin." However, it was never implemented due to lack of funding.&lt;/p&gt;

&lt;p&gt;Nick Szabo defines a smart contract as a computer program inscribed in the blockchain consisting of predefined conditions designed to execute specific code when these are met.&lt;/p&gt;

&lt;p&gt;The main goal is to simplify the contractual conditions of everyday life such as payment issues but not only. It also allows the need for a third party of trust to verify transactions between peers to be reduced.&lt;/p&gt;

&lt;h2&gt;
  
  
  Its specificities
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Immutable&lt;/strong&gt; : The conditions having been predefined in the contract ensure operation governed by code without human intervention being possible. Be careful, since the smart contract is written in the blockchain, it cannot be modified or deleted. This has many advantages but in the event of human error in the code, it will be irreversible. We have already witnessed stories of funds blocked on a smart contract that cannot be withdrawn due to code errors. I'll let you take a look at this &lt;a href="https://cryptoactu.com/fiasco-nft-34-millions-dollars-bloques-smart-contract/"&gt;article&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integral&lt;/strong&gt; : The smart contract being inscribed in the blockchain allows everyone to read the contract conditions, but also to see each transaction that has been made since the deployment of the smart contract (in the case of a public blockchain).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Secure&lt;/strong&gt; : Each transaction involves digital and encrypted signatures to verify the identity of the actors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Transparent&lt;/strong&gt; : A smart contract is transparent, every transaction is visible to all in the case of a public blockchain. We can therefore deduce the confidentiality problems in the case where we want to store &lt;em&gt;"sensitive/private"&lt;/em&gt; data. There are always solutions to this, of course (through protocols of the &lt;a href="https://z.cash/technology/zksnarks/"&gt;zk-SNARKs&lt;/a&gt; type like the Z-Cash blockchain, for example).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Transaction cost&lt;/strong&gt; : Writing to the blockchain has a cost, we call it &lt;strong&gt;gas fees&lt;/strong&gt;. When the smart contract executes a transaction, the applied gas fees will be used to compensate the actors who secure the blockchain. These fees vary depending on the activity of the blockchain but also on its architecture and the optimization of the smart contract. We have seen fees exceeding hundred of dollars on &lt;strong&gt;Ethereum&lt;/strong&gt; during periods of high activity, against a few cents of dollars on &lt;strong&gt;Polygon&lt;/strong&gt;. It is therefore important to keep this in mind when choosing your blockchain as it may be an issue to your project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some examples of use
&lt;/h2&gt;

&lt;p&gt;Smart contracts have an interesting added value, we can think of many use cases such as insurance, real estate, voting systems, supply chain, etc. Here are a few examples:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insurance&lt;/strong&gt; : The smart contract can be used to define the terms and conditions of an insurance policy. For example, in the event of a natural disaster, the smart contract can automatically trigger the payment of insurance to policyholders affected by the disaster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real estate&lt;/strong&gt; : The problem in this sector is the need for a third party of trust (the notary) to carry out the contract and payments between sellers and buyers. With a smart contract on the blockchain, we could do without this third party of trust because it guarantees the transaction. The signature of the smart contract would be equivalent to that of the notary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voting systems&lt;/strong&gt; : The smart contract can be used to ensure the integrity and transparency of voting systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Artistic sector&lt;/strong&gt; : The authenticity of a digital work can be verified by its smart contract as in the case of NFT (Non-Fungible Token). It is composed of certain predefined conditions that allow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;To manage the transfer of rights between its owner and its future purchaser&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To verify the funds of the purchaser before buying the work&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To retrieve the link to the image of the NFT. This is a vast subject that deserves an article of its own.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Due to its specificities, the smart contract could revolutionize the world of tomorrow. Its adoption curve is strongly progressing. &lt;/p&gt;

&lt;p&gt;As for me, I am convinced that there are great things to be done to solve problems of our daily lives and thus improve the comfort of society. &lt;/p&gt;

&lt;h2&gt;
  
  
  More informations
&lt;/h2&gt;

&lt;p&gt;(Paper of Nick Szabo about smart contracts)&lt;br&gt;
&lt;a href="https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html"&gt;https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(Introduction to smart contracts)&lt;br&gt;
&lt;a href="https://ethereum.org/fr/developers/docs/smart-contracts/"&gt;https://ethereum.org/fr/developers/docs/smart-contracts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(What is blockchain ?)&lt;br&gt;
&lt;a href="https://www.ibm.com/fr-fr/topics/what-is-blockchain"&gt;https://www.ibm.com/fr-fr/topics/what-is-blockchain&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(Analysis of smart contract's market)&lt;br&gt;
&lt;a href="https://reports.valuates.com/market-reports/QYRE-Auto-31L1599/global-smart-contracts"&gt;https://reports.valuates.com/market-reports/QYRE-Auto-31L1599/global-smart-contracts&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>smartcontract</category>
      <category>crypto</category>
    </item>
    <item>
      <title>Qu'est ce qu'un smart contract ?</title>
      <dc:creator>Rodolphe Vanderaspoilden</dc:creator>
      <pubDate>Wed, 11 Jan 2023 08:55:30 +0000</pubDate>
      <link>https://dev.to/jetdev/quest-ce-quun-smart-contract--4d3l</link>
      <guid>https://dev.to/jetdev/quest-ce-quun-smart-contract--4d3l</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8f6850xqnjbj6eu4zjxi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8f6850xqnjbj6eu4zjxi.jpg" alt="Image description" width="800" height="457"&gt;&lt;/a&gt;&lt;br&gt;
Image by pch.vector on Freepik&lt;/p&gt;

&lt;h2&gt;
  
  
  Origine du Smart contract
&lt;/h2&gt;

&lt;p&gt;Nick Szabo expert en cryptographie est le créateur du concept de “contrats intelligents” plus connus sous le nom de “smart contract”. En 1998 il conçoit le premier mécanisme numérique décentralisé le “Bit gold”, reconnu comme étant le précurseur du “Bitcoin”. Cependant il n’a jamais été implémenté par manque de financements. &lt;/p&gt;

&lt;p&gt;Nick Szabo définit un smart contract comme étant un programme informatique inscrit dans la blockchain composé de conditions prédéfinies ayant pour but d'exécuter un code particulier quand celles-ci sont remplies. &lt;/p&gt;

&lt;p&gt;L’objectif principal étant de simplifier les conditions contractuelles de la vie courante telles que les problématiques de paiement mais pas que. Il permet aussi de réduire le besoin d’avoir un tiers de confiance pour vérifier les transactions entre pairs. &lt;/p&gt;

&lt;h2&gt;
  
  
  Ses spécificités
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Immuable&lt;/strong&gt; : Les conditions ayant été prédéfinies dans le contrat assurent un fonctionnement régi par le code sans intervention humaine possible. Attention, étant donné que le smart contract est écrit dans la blockchain: il ne peut être modifié ni supprimé. Cela a beaucoup d’avantage mais en cas d’erreur humaine dans le code, ce sera irréversible. Nous avons déjà pu assister à des histoires de fonds bloqués sur un smart contract ne pouvant être retirés par faute de code. Je vous laisse jeter un oeil à cet &lt;a href="https://cryptoactu.com/fiasco-nft-34-millions-dollars-bloques-smart-contract/" rel="noopener noreferrer"&gt;article&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Intègre&lt;/strong&gt; : Le smart contract étant inscrit dans la blockchain permet à tous de lire les conditions du contrat, mais aussi de voir chaque transaction qui a été effectuée depuis le déploiement du smart contract (dans le cas d'une blockchain publique).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sécurisé&lt;/strong&gt; : Chaque transaction implique des signatures numériques et cryptées afin de vérifier l’identité des acteurs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Transparent&lt;/strong&gt; : Un smart contract est transparent, toute transaction est visible par tous dans le cas d'une blockchain publique. On en déduit donc les problématiques de confidentialité dans le cas où nous souhaitons stocker de la donnée &lt;em&gt;“sensible/privée”&lt;/em&gt;. Il existe toujours des solutions pour palier à cela bien sûr (par le biais de protocoles de type &lt;a href="https://z.cash/technology/zksnarks/" rel="noopener noreferrer"&gt;zk-SNARKs&lt;/a&gt; comme la blockchain Z-Cash par exemple).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Coût de transaction&lt;/strong&gt; : Écrire sur la blockchain a un coût, on appelle ça les frais de gas (gas fees). Lorsque le smart contract exécute une transaction, les gas fees appliqués vont servir à rémunérer les acteurs qui sécurisent la blockchain. Ces frais sont variables en fonction de l’activité de la blockchain mais aussi de l’architecture de celle-ci et de l'optimisation du smart contract. On a pu assister à des frais dépassant une centaine de dollars sur la blockchain &lt;strong&gt;Ethereum&lt;/strong&gt; pendant les périodes de forte activité, contre quelques centimes de dollars sur la blockchain &lt;strong&gt;Polygon&lt;/strong&gt;. Il faut donc garder à l’esprit ce point là lors de votre choix de blockchain car il peut être un frein à votre projet.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quelques exemples d'utilisation
&lt;/h2&gt;

&lt;p&gt;Les smart contracts ont une plus-value intéressante, on peut naturellement penser à des secteurs d’activité auxquels ils pourraient servir : le bancaire, l'immobilier, les assurances...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;L’immobilier&lt;/strong&gt; est un bon exemple; la problématique de ce secteur est la nécessité d'avoir un tiers de confiance (le notaire) pour effectuer le contrat et les paiements entre les vendeurs et acquéreurs. Avec un smart contract sur la blockchain on pourrait se passer de ce tiers de confiance car ce dernier garantit la transaction. La signature du smart contract serait équivalente à celle du notaire.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dans le cas des assurances&lt;/strong&gt;, on se rend compte que son fonctionnement peut être régi par un smart contract :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Si le véhicule A percute le véhicule B alors le véhicule A est en tort et doit indemniser le véhicule B.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Cette condition exécuterait une transaction dans le cas où elle est vérifiée. Tiens tiens, ne serait-ce pas la définition d’un smart contract ? 😉&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dans le secteur artistiques&lt;/strong&gt;, l'authenticité d'une oeuvre numérique peut être vérifiée par son smart contract comme dans le cas des &lt;strong&gt;NFT&lt;/strong&gt; (Not Fongible Token). Il est composé de certaines conditions prédéfinies qui permettent : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;De gérer le transfert de droit entre son propriétaire et son futur acquéreur&lt;/li&gt;
&lt;li&gt;De vérifier les fonds de l'acquéreur avant d’acheter l'œuvre&lt;/li&gt;
&lt;li&gt;De récupérer le lien vers l’image du NFT. Il s’agit d’un vaste sujet qui mérite un article à lui tout seul.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Le mot de la fin
&lt;/h2&gt;

&lt;p&gt;De par ses spécificités, le smart contract pourrait révolutionner le monde de demain. Il n’en est qu’à ses débuts  mais sa courbe d'adoption est en forte progression. &lt;/p&gt;

&lt;p&gt;Quant à moi je suis convaincu qu’il y a de grandes choses à faire pour résoudre des problématiques de notre quotidien et ainsi améliorer le confort de la société. &lt;/p&gt;

&lt;h2&gt;
  
  
  En savoir plus
&lt;/h2&gt;

&lt;p&gt;(Explications de  Nick Szabo à propos des smart contracts)&lt;br&gt;
&lt;a href="https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html" rel="noopener noreferrer"&gt;https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(Introduction aux smart contracts)&lt;br&gt;
&lt;a href="https://ethereum.org/fr/developers/docs/smart-contracts/" rel="noopener noreferrer"&gt;https://ethereum.org/fr/developers/docs/smart-contracts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(Qu’est ce que la blockchain ?)&lt;br&gt;
&lt;a href="https://www.ibm.com/fr-fr/topics/what-is-blockchain" rel="noopener noreferrer"&gt;https://www.ibm.com/fr-fr/topics/what-is-blockchain&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(Rapport d'analyse du marché des smart contracts)&lt;br&gt;
&lt;a href="https://reports.valuates.com/market-reports/QYRE-Auto-31L1599/global-smart-contracts" rel="noopener noreferrer"&gt;https://reports.valuates.com/market-reports/QYRE-Auto-31L1599/global-smart-contracts&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>cybersecurity</category>
      <category>networking</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Level up your macOS terminal - Part One</title>
      <dc:creator>William Leemans</dc:creator>
      <pubDate>Tue, 08 Sep 2020 16:49:00 +0000</pubDate>
      <link>https://dev.to/jetdev/level-up-your-macos-terminal-part-one-2lg7</link>
      <guid>https://dev.to/jetdev/level-up-your-macos-terminal-part-one-2lg7</guid>
      <description>&lt;p&gt;About a year ago I changed my development computer from Windows to macOS. I always loved to customize, optimize and find the best tooling available to help me develop.&lt;/p&gt;

&lt;p&gt;In Part One of this guide, we'll go through all the setup related to the terminal itself.&lt;/p&gt;

&lt;p&gt;Part Two is a collection of the complementary tools I like.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;a href="https://brew.sh" rel="noopener noreferrer"&gt;Homebrew&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;In this guide, I'll use Homebrew to easily install everything on my computer. &lt;/p&gt;

&lt;p&gt;It's a well-known packet manager for macOS, even though it's not always the best way to install everything, it's many times the easiest way.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;simply paste the following in your terminal :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/bin/bash &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/Homebrew/install/master/install.sh&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Terminal Setup
&lt;/h1&gt;

&lt;p&gt;I would recommend you to choose between these two terminal emulator : &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://sw.kovidgoyal.net/kitty/" rel="noopener noreferrer"&gt;Option 1 : Kitty&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;With the offloading of the rendering to the GPU Kitty offers greater performances. &lt;/p&gt;

&lt;p&gt;To install simply follow the &lt;a href="https://sw.kovidgoyal.net/kitty/binary/" rel="noopener noreferrer"&gt;Quick start guide&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.iterm2.com/" rel="noopener noreferrer"&gt;Option 2 : Iterm 2&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Firstly we'll replace the default Terminal by Iterm2, it has many great &lt;a href="https://iterm2.com/features.html" rel="noopener noreferrer"&gt;features&lt;/a&gt;, can display icons and has better support of Unicode.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; brew &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--cask&lt;/span&gt; iterm2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Customization
&lt;/h3&gt;

&lt;p&gt;One of the most important customization steps is to choose a colour scheme that suits you.&lt;/p&gt;

&lt;p&gt;You can find a list of the official iTerm2 themes here :  &lt;a href="https://iterm2colorschemes.com/" rel="noopener noreferrer"&gt;https://iterm2colorschemes.com/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can also browse and create your own on &lt;a href="http://terminal.sexy/" rel="noopener noreferrer"&gt;http://terminal.sexy/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ZSH
&lt;/h2&gt;

&lt;p&gt;Since macOS 10.15 Catalina, zsh is the default shell it is a highly customizable shell, designed to be interactive.&lt;/p&gt;

&lt;p&gt;It has amazing completion capabilities, a smarter shared history and anything you know in bash still works!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://ohmyz.sh/" rel="noopener noreferrer"&gt;Oh My Zsh&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Zsh comes with a huge list of plugins, to help with managing them we'll use the best ZSH configuration manager: Oh My Zsh.&lt;/p&gt;

&lt;h4&gt;
  
  
  Installation
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sh &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  usage
&lt;/h4&gt;

&lt;p&gt;To enable a plugin you just have to edit plugin list in the .zshrc located in your &lt;code&gt;$HOME&lt;/code&gt; directory &lt;code&gt;vi ~/.zshrc&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For example, here is mine :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;plugins=(git
         z                                                                         
         zsh-interactive-cd
         git-auto-fetch
         kubectl
         zsh-autosuggestions
         zsh-syntax-highlighting)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Plugins
&lt;/h5&gt;

&lt;p&gt;A collection of my favourites plugins for zsh :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md#oh-my-zsh" rel="noopener noreferrer"&gt;Syntax Highlighting&lt;/a&gt;: Add some syntax highlighting when you type in your terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fse1bjabrg2jzgssqusnk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fse1bjabrg2jzgssqusnk.png" alt="an example of syntax highlight"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md#oh-my-zsh" rel="noopener noreferrer"&gt;Auto Suggestion&lt;/a&gt;: Provide suggestions based on either tab completion or your history.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhi6nz3gwvopu9gd4xiep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhi6nz3gwvopu9gd4xiep.png" alt="an exemple of auto suggestion"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/junegunn/fzf" rel="noopener noreferrer"&gt;FZF - Fuzzy finder&lt;/a&gt;: Provide a fuzzy finder for looking through anything, I use it mostly to search files or commands in my history. It is required by zsh-interactive-cd&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fouumgqy51t4x3n5aq7d4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fouumgqy51t4x3n5aq7d4.png" alt="Fzf with preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See Part Two of this guide to know how you can plug it to bat and ripgrep to enable syntax colouring in preview and lightning-fast performances!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/z" rel="noopener noreferrer"&gt;Z&lt;/a&gt;: Provide you access to Z which tracks your most visited directories and allows you to access them very quickly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffkqy8dp7cxc5rvodfboj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffkqy8dp7cxc5rvodfboj.png" alt="z example"&gt;&lt;/a&gt;&lt;br&gt;
Here I just typed 'z mac' and got moved to my macOS-setup repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  Theming
&lt;/h2&gt;

&lt;p&gt;There are a lot of available themes listed on the &lt;a href="https://github.com/ohmyzsh/ohmyzsh/wiki/Themes" rel="noopener noreferrer"&gt;official page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;They can be enabled by setting the ZSH_THEME value to the name of the theme in your &lt;code&gt;~/.zshrc&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;More themes can be found on the internet, I use the &lt;a href="https://github.com/romkatv/powerlevel10k#oh-my-zsh" rel="noopener noreferrer"&gt;PowerLevel 10K Theme&lt;/a&gt; which I love for its look and the ease of customization through an interactive prompt. &lt;/p&gt;

&lt;p&gt;Stay tuned for part 2 where we'll go into more tools to improve your daily terminal usage!&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
  </channel>
</rss>
