<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[MvLabs]]></title><description><![CDATA[News, réflexions, veille sur les évolutions tech.
CTO as a service]]></description><link>https://www.mvlabs.fr</link><image><url>https://substackcdn.com/image/fetch/$s_!Z0fJ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b792457-ec74-4a0b-806c-5bea7203883c_500x500.png</url><title>MvLabs</title><link>https://www.mvlabs.fr</link></image><generator>Substack</generator><lastBuildDate>Wed, 06 May 2026 11:25:28 GMT</lastBuildDate><atom:link href="https://www.mvlabs.fr/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Maël Vincent]]></copyright><language><![CDATA[fr]]></language><webMaster><![CDATA[mvlabs@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[mvlabs@substack.com]]></itunes:email><itunes:name><![CDATA[Maël Vincent]]></itunes:name></itunes:owner><itunes:author><![CDATA[Maël Vincent]]></itunes:author><googleplay:owner><![CDATA[mvlabs@substack.com]]></googleplay:owner><googleplay:email><![CDATA[mvlabs@substack.com]]></googleplay:email><googleplay:author><![CDATA[Maël Vincent]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Long time no see]]></title><description><![CDATA[ChatGPT...... again]]></description><link>https://www.mvlabs.fr/p/long-time-no-see</link><guid isPermaLink="false">https://www.mvlabs.fr/p/long-time-no-see</guid><dc:creator><![CDATA[Maël Vincent]]></dc:creator><pubDate>Sat, 21 Jan 2023 20:19:40 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>2 ans : c&#8217;est l&#8217;&#226;ge de ma fille</h1><p>Cette derni&#232;re ne conna&#238;tra certainement pas les moteurs de recherche. Elle ne se demandera pas quels sont les mots cl&#233;s les plus ad&#233;quats pour sa recherche. Elle &#233;noncera, parfois pr&#233;cis&#233;ment, parfois en racontant une partie de sa journ&#233;e. Ca ne sera pas &#224; moi mais &#224; la TV, sa montre, son t&#233;l&#233;phone ou bien m&#234;me &#224; son implant (dans ce cas l&#224;, m&#234;me plus besoin de parler). La r&#233;ponse sera construite, pr&#233;cise sans nul besoin d&#8217;explications suppl&#233;mentaires. Puis elle me dira : &#8220;Demande directement &#224; <a href="https://evangelion.fandom.com/fr/wiki/Magi">Magi</a> au lieu de passer par moi !&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="390" height="260" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1080,&quot;resizeWidth&quot;:390,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;selective focus photo of brown and blue hourglass on stones&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="selective focus photo of brown and blue hourglass on stones" title="selective focus photo of brown and blue hourglass on stones" srcset="https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1501139083538-0139583c060f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw1fHx0aW1lJTIwcGFzc3xlbnwwfHx8fDE2NzQzMzE1OTc&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@aronvisuals">Aron Visuals</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><h2>Les temps changent</h2><p>Quand je code, je pars syst&#233;matiquement d&#8217;un besoin que je d&#233;compose en une multitude de t&#226;ches. La r&#233;alisation de ces t&#226;ches implique de taper du code. Je me pose alors ces questions :</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mvlabs.fr/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading MvLabs! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ul><li><p>Quelle est la responsabilit&#233; du code que je suis en train de taper ? Savoir si je le mets au bon endroit, c&#8217;est &#224; dire dans la bonne couche du syst&#232;me.</p></li><li><p>Quelle est la maintenabilit&#233; de ce code ? Si quelqu&#8217;un d&#8217;autres passe par l&#224; et c&#8217;est in&#233;vitable, est-ce qu&#8217;il le comprendra. Aussi fier que je puisse &#234;tre de mon code, si je suis le seul &#224; le comprendre, c&#8217;est que c&#8217;est de la merde.</p></li><li><p>Est-ce p&#233;renne ? Anticiper la mont&#233;e en charge pour ne pas avoir &#224; trouver une nouvelle solution dans quelques mois.</p></li><li><p>Et enfin, est-ce utile ? Il faut parfois savoir faire l&#8217;impasse sur certains points qui semblent important de prime abord mais n&#8217;ont aucune valeur ajout&#233;e.</p></li></ul><p>On peut poser ces m&#234;mes questions pour toutes nouveaut&#233;s :</p><ul><li><p>Quel va &#234;tre l&#8217;impact ?</p></li><li><p>Est-ce que &#231;a va &#234;tre g&#233;rable ?</p></li><li><p>Est-ce que &#231;a va s&#8217;inscrire dans la dur&#233;e ?</p></li><li><p>Est-ce vraiment utile ?</p></li></ul><p>Quand j&#8217;ai vu ChatGPT, je l&#8217;ai ignor&#233;.<br>Puis impossible de l&#8217;ignorer car il &#233;tait partout alors j&#8217;ai souri.<br>Puis je me suis &#233;merveill&#233;, c&#8217;est quand m&#234;me impressionnant.<br>Puis je l&#8217;ai utilis&#233;.<br>Puis j&#8217;ai commenc&#233; &#224; flipper.</p><h2>Economie</h2><h4>Microsoft</h4><p>Microsoft souhaite investir dans OpenAI. <a href="https://www.forbes.com/sites/qai/2023/01/19/microsoft-considers-investing-10-billion-in-openai-maker-of-chatgpt-heres-what-it-means-for-investors/?sh=6fed270d154a">10 Milliards de dollars</a> pour 49% des parts. Ce n&#8217;est pas rien. Si la firme int&#232;gre ChatGPT directement dans Bing, cela pourrait leur donner un net avantage par rapport &#224; Google. Ils partent de loin donc la route sera longue. Je ne pr&#244;nerai pas un retournement de situation car j&#8217;ai beaucoup trop de respect pour les ing&#233;nieurs de Google qui seraient impact&#233;s. Cependant, si Bing venait &#224; reprendre des parts significatives de march&#233; sur Google dans le domaine de la recherche, cela ferait tr&#232;s mal. A mon sens, Google se repose depuis trop longtemps sur ces lauriers.</p><p>A noter &#233;galement que Microsoft va proposer sous peu l&#8217;int&#233;gration des mod&#232;les <a href="https://azure.microsoft.com/fr-fr/products/cognitive-services/openai-service/">OpenAPI</a> dans son <a href="https://www.lesnumeriques.com/pro/chatgpt-sera-bientot-disponible-pour-les-clients-de-microsoft-azure-n204097.html">cloud Azure</a>.</p><p>Une chose est s&#251;re, depuis quelques ann&#233;es, Microsoft est tr&#232;s agressif et cela paie.</p><h4>R&#233;daction de contenus</h4><p>Je suis actuellement inond&#233; de vid&#233;os Youtube narrant la puissance de g&#233;n&#233;ration de contenus de ChatGPT. Les &#233;tudiants l&#8217;utilisent m&#234;me pour leurs devoirs. Je salue l&#8217;effort mais je d&#233;plore les cons&#233;quences.</p><p>Mon ressenti est que ChatGPT fait du ChatGPT. Il a un ton qui lui est propre et on arrive &#224; deviner au bout d&#8217;un moment qui est derri&#232;re. Certainement une question de temps me direz-vous.</p><p>Je reconnais que ce bot est une mine d&#8217;or pour toute personne qui aimerait d&#233;ployer une tonne de sites et int&#233;grer du contenu rapidement. Tr&#232;s bien pour ces personnes. Moins bien pour les personnes dont c&#8217;est le m&#233;tier. Il va y avoir du mouvement chez les freelances. L&#8217;espoir est tout de m&#234;me sauf, une personne m&#8217;a dit qu&#8217;elle avait essay&#233; ChatGPT mais qu&#8217;au final elle avait reprit son ancienne r&#233;dactrice car elle pr&#233;f&#233;rait sa plume.</p><p>Je pr&#233;dis l&#8217;arriv&#233;e prochaine d&#8217;un label &#8220;Garanti sans IA&#8221;.</p><h4>Si c&#8217;est gratuit&#8230;. c&#8217;est toi le produit</h4><p>ChatGPT n&#8217;est pas une IA qui demain r&#233;solvera toute seule les lois de l&#8217;univers. C&#8217;est un mod&#232;le de reconnaissance qui est capable de comprendre une requ&#234;te et de la restituer d&#8217;une mani&#232;re compr&#233;hensible. Le moteur derri&#232;re est un regroupement d&#8217;une multitude de mod&#232;les pour former une base de connaissances. En soi, ChatGPT, c&#8217;est juste une interface de communication avec nous.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="522" height="348" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1080,&quot;resizeWidth&quot;:522,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;green plant in clear glass cup&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="green plant in clear glass cup" title="green plant in clear glass cup" srcset="https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwzMDAzMzh8MHwxfHNlYXJjaHw3fHxtb25leXxlbnwwfHx8fDE2NzQzMjQ3NDU&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@micheile">micheile dot com</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Pour le moment il est gratuit car il a besoin d&#8217;apprendre de ses erreurs. C&#8217;est un programme informatique, parfois il se trompe. Sa force est de pouvoir rectifier le tir pour la fois suivante.</p><p>Le bot devrait devenir payant courant 2023 et OpenAI est tr&#232;s optimiste en ce qui concerne la rentabilit&#233; de ChatGPT en 2024. Je n&#8217;ai aucun doute que les professionnels paieront sans probl&#232;me un abonnement en voyant le temps gagn&#233;. Moi le 1er.</p><h2>Informations</h2><p>J&#8217;ai un probl&#232;me avec les informations donn&#233;es par le bot. Quelles sont les sources ? Sur un moteur de recherche on ne trouve pas une informations, on trouve une liste de liens vers les sites qui contiennent probablement les informations que l&#8217;on recherche. G&#233;n&#233;ralement, on navigue sur plusieurs sites afin de se faire notre propre opinion l&#224; o&#249; ChatGPT nous livre des informations d&#233;j&#224; compil&#233;es sans citer ses sources et sans m&#234;me pouvoir recouper.</p><p>Depuis la nuit des temps, l&#8217;information, c&#8217;est le pouvoir. Facile de la manipuler avec GPT et je ne suis pas persuad&#233; que la jeune g&#233;n&#233;ration soit tr&#232;s au fait du recoupage d&#8217;informations mais je la sous-estime peut &#234;tre. Une utilisation intensive du bot pourrait avoir des effets d&#233;vastateurs pour de prochaines &#233;lections par exemple &#224; partir du moment o&#249; l&#8217;on veut simplement une r&#233;ponse et non plus les endroits pour la trouver par nous-m&#234;me.</p><h2>Ecologie</h2><p>Saviez-vous que nos emails sont un d&#233;sastre &#233;cologique ? Surtout &#224; cause des spams.</p><p>Qu&#8217;en est-il de ChatGPT et de l&#8217;intelligence artificielle plus g&#233;n&#233;ralement ? Je n&#8217;en sais rien. J&#8217;ai cherch&#233;. Je lui ai m&#234;me directement demand&#233; mais il n&#8217;a pas voulu coop&#233;rer.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wQ92!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wQ92!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png 424w, https://substackcdn.com/image/fetch/$s_!wQ92!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png 848w, https://substackcdn.com/image/fetch/$s_!wQ92!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png 1272w, https://substackcdn.com/image/fetch/$s_!wQ92!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wQ92!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png" width="1456" height="308" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:308,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56743,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wQ92!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png 424w, https://substackcdn.com/image/fetch/$s_!wQ92!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png 848w, https://substackcdn.com/image/fetch/$s_!wQ92!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png 1272w, https://substackcdn.com/image/fetch/$s_!wQ92!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3e3addf-595c-4081-a26c-7af09ba8f03d_1626x344.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Je peux me tromper mais je dirais qu&#8217;&#224; peu de choses pr&#232;s, indexer le monde entier ou entra&#238;ner une IA doit avoir un co&#251;t de fonctionnement similaire. Je suis quand m&#234;me curieux, alors je vous pr&#233;pare un sujet plus large.</p><h2>La suite ?</h2><p>Dans 2 ans ? Stay tune !</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mvlabs.fr/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading MvLabs! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[#Janvier - Actualités]]></title><description><![CDATA[Savez vous qu&#8217;en France on souhaite la bonne ann&#233;e jusqu&#8217;&#224; fin F&#233;vrier ?]]></description><link>https://www.mvlabs.fr/p/janvier-actualits</link><guid isPermaLink="false">https://www.mvlabs.fr/p/janvier-actualits</guid><dc:creator><![CDATA[Maël Vincent]]></dc:creator><pubDate>Mon, 25 Jan 2021 12:00:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z0fJ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b792457-ec74-4a0b-806c-5bea7203883c_500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Savez vous qu&#8217;en France on souhaite la bonne ann&#233;e jusqu&#8217;&#224; fin F&#233;vrier ? C&#8217;est donc avec un peu de retard mais n&#233;anmoins dans les temps que je vous souhaite &#224; toutes et tous, mes meilleurs voeux pour cette nouvelle ann&#233;e.</p><p>Je ne serai pas des plus optimistes pour 2021. Cette ann&#233;e pass&#233;e a &#233;t&#233; rude, remplie d&#8217;incertitude, pleine de remise en question. Nous pensions que cette pand&#233;mie, le t&#233;l&#233;travail, les restrictions n&#8217;&#233;taient qu&#8217;une question de mois. Tout ceci est bien parti pour s&#8217;installer et devenir la nouvelle norme. Porter un masque pour sortir est maintenant devenu une habitude.</p><p>De mon c&#244;t&#233;, j&#8217;ai &#233;t&#233; confront&#233; &#224; des situations auxquelles je n&#8217;&#233;tais pas pr&#233;par&#233;. J&#8217;ai pris des d&#233;cisions, des bonnes mais pas que. Nous avons du nous r&#233;inventer, changer nos mani&#232;res de travailler et de communiquer. Nous sommes tous dans le m&#234;me bateau et c&#8217;est parti pour durer. J&#8217;ai eu des &#233;chos de vos exp&#233;riences, de vos difficult&#233;s mais aussi heureusement, de vos r&#233;ussites. Encore f&#233;licitations &#224; tout ceux qui ont pass&#233; leur titre avec succ&#232;s et courage pour les autres, vous pouvez me contacter si vous avez besoin de conseils.</p><p>Ces derni&#232;res semaines, nous avons post&#233; une offre d&#8217;emploi &#224; laquelle nous avons eu de nombreuses candidatures. J&#8217;ai pass&#233; du temps &#224; les &#233;plucher et &#224; r&#233;pondre &#224; presque tout le monde. Nous recherchons un personne avec des comp&#233;tences techniques tr&#232;s solides. En toute transparence, j&#8217;ai refus&#233; beaucoup de candidats &#224; cause des connaissances. Pour ce poste, je n&#8217;aurai pas le temps de transmettre ce que je sais. Il nous faut donc quelqu&#8217;un qui en sait plus que moi. C&#8217;est &#224; ce moment l&#224; que j&#8217;ai r&#233;alis&#233; que vos comp&#233;tences techniques ne p&#232;sent pas autant dans la balance que vous le voudriez. C&#8217;est dommage ? Non, vos connaissances sont, de mon point de vue, plus importantes.</p><p>Pour ma part, je pense que que le d&#233;coupage de vos connaissances s&#8217;effectue ainsi :</p><ul><li><p>L&#8217;&#233;cole vous apprend 1/3 de ce que vous devez savoir</p></li><li><p>L&#8217;entreprise (stage, 1&#232;re exp&#233;rience) vous apporte &#233;galement 1/3 m&#234;lant comp&#233;tences et connaissances</p></li><li><p>Vous &#234;tes ma&#238;tre du dernier tiers</p></li></ul><p>La diff&#233;rence entre comp&#233;tences et connaissances ? La comp&#233;tence c&#8217;est ce que vous savez faire. La connaissance c&#8217;est savoir pourquoi vous le faites. Vous savez certainement pourquoi vous faites ce que vous faites ; mais connaissez vous ce qu&#8217;il y a autour ?</p><p>Quelques exemples d'actualit&#233; ou pas, de connaissances transverses, que je trouve int&#233;ressants pour notre m&#233;tier de d&#233;veloppeur. Je vous laisse le soin de chercher par vous m&#234;me les r&#233;ponses.</p><h2>Mod&#232;le OSI</h2><p>Vous utilisez des API Rest, c&#8217;est tr&#232;s bien. Savez-vous comment fonctionne le protocole HTTP ? Sur quoi repose-t-il ? On rentre dans les couches de r&#233;seaux OSI, sujet pour le moins complexe mais tellement int&#233;ressant.</p><p>Le mod&#232;le OSI est largement enseign&#233; en BAC+5 mais tr&#232;s survol&#233; dans les formations courtes. Effectivement, il n'est pas indispensable de le conna&#238;tre pour savoir d&#233;velopper. Youtube est votre ami, les 1&#232;res vid&#233;os explicatives sont de qualit&#233;. Pour ma part, je d&#233;teste apprendre avec des vid&#233;os, je vous conseilles d'augmenter la vitesse de lecture.</p><h2>Blockchain</h2><p>La blockchain est en plein boom. La valeur du bitcoin est en train d'exploser mais pourquoi ? A quel besoin vient r&#233;pondre la blockchain ?</p><p>Une petite explication rapide. La blockchain est une base de donn&#233;es synchronis&#233;e entre une multitude d'ordinateurs. On rentre un peu plus dans le d&#233;tail : la base de donn&#233;es est repr&#233;sent&#233;e par une cha&#238;ne de blocks. Un block est une liste de transactions avec un pointeur vers le block pr&#233;c&#233;dent. La synchronisation est en r&#233;alit&#233; la construction et la validation d'un block. Chaque ordinateur h&#233;bergeant la blockchain et validant les transactions est appel&#233; un mineur. Chaque mineur essaie de construire le nouveau block. Une fois construit, il est ajout&#233; &#224; la blockchain et les autres mineurs v&#233;rifient que le nouveau block est correct. On dit qu'ils confirment le block. </p><p>C'est ce qu'on appelle le consensus. Il en existe diff&#233;rents types.</p><p>En quoi est-ce r&#233;volutionnaire ? Il est tr&#232;s compliqu&#233; de falsifier une transaction. Pour cela, il faudrait que 51% des mineurs falsifient la transaction et valident le block frauduleux. Cela fonctionne bien dans une blockchain publique o&#249; les mineurs peuvent &#234;tre n'importe qui. Pas besoin d'organisme de confiance comme une banque pour dire si votre transaction peut se faire. Vous connaissez les frais &#224; l'avance. La dur&#233;e de la transaction est cependant li&#233;e au temps de cr&#233;ation d'un block ainsi que de sa validation.</p><p>Le bitcoin est l'exemple le plus basique et facile &#224; comprendre. Ce qu'il faut retenir : une blockchain est une technologie bas&#233;e sur une cha&#238;ne difficilement falsifiable et surtout, ce n'est pas toujours une monnaie. Je vous sugg&#232;re de faire quelques recherches sur Ethereum et ses "smart contracts" qui pourraient r&#233;volutionner le monde des assurances, mutuelles, notaires....</p><h2>Whatsapp et donn&#233;es personnelles</h2><p>En ce moment, il y a une pol&#233;mique sur la modification des conditions g&#233;n&#233;rales d'utilisation de Whatsapp. J'ai vu passer plusieurs informations, certaines justes, d'autres fausses.</p><p>En quoi Whatsapp est bien ? D'un point de vue technique. Les messages &#233;chang&#233;s sont crypt&#233;s. Mais savez-vous ce que cela veut dire ? C'est le m&#234;me principe qu'une connexion SSH. Par exemple, si vous souhaitez utiliser SSH avec Github, vous devez g&#233;n&#233;rer une cl&#233; SSH sur votre ordinateur. </p><p>Cette cl&#233; est en r&#233;alit&#233; divis&#233;e en 2 cl&#233;s :</p><ul><li><p>Une cl&#233; priv&#233;e que vous gardez sur votre ordinateur</p></li><li><p>Une cl&#233; publique que vous copiez dans votre profil github</p></li></ul><p>Ainsi quand vous poussez du code sur Github, vous cryptez vos donn&#233;es avec votre cl&#233; priv&#233;e et Github les d&#233;crypte avec la cl&#233; publique que vous avez copi&#233; pr&#233;c&#233;demment.<br>Dans le cas de Whatsapp c'est la m&#234;me chose... ou presque. Whatsapp garde une copie de votre cl&#233; priv&#233;e sur leurs serveurs. Ce qui veut dire que techniquement, ils peuvent lire vos messages qu'ils soient crypt&#233;s ou non. Pour eux, c'est comme si vos messages passaient en clair. Ce syst&#232;me de cryptage est davantage pour vous prot&#233;ger des m&#233;chants hackers qui pourraient &#233;couter que de les prot&#233;ger eux.</p><p>Ils peuvent lire vos messages, mais en ont-ils le droit ? Selon leur CGU, non. D'ailleurs la pol&#233;mique actuelle ne concerne pas l'acc&#232;s &#224; cette cl&#233; priv&#233;e. Elle concerne le partage d'informations existantes avec Facebook. <a href="https://www.lemonde.fr/pixels/article/2021/01/15/whatsapp-quelles-sont-les-donnees-personnelles-stockees-par-l-application_6066445_4408996.html">Un article explicatif</a>. Est-ce que Whatsapp lit toutefois vos messages ? Techniquement, ils peuvent.</p><p>C'est l'actualit&#233; r&#234;v&#233;e pour vous mettre &#224; jour sur les m&#233;thodes de cryptage, la diff&#233;rence avec le hashage et les diff&#233;rentes m&#233;thodes d'authentification. D'ailleurs, l'application concurrente Signal rencontre des probl&#232;mes de charge serveurs &#224; cause de la migration importante d'utilisateurs de Whatsapp. Encore une occasion int&#233;ressante de regarder comment Signal g&#232;re leur scalabilit&#233; et o&#249; ils h&#233;bergent leurs serveurs.</p><p>Vous l&#8217;aurez compris, l&#8217;id&#233;e ici n&#8217;est pas de tout vous apporter mais plut&#244;t de vous donner les billes afin de parfaire vos connaissances.</p><p>See you soon !</p>]]></content:encoded></item><item><title><![CDATA[#Décembre 2/2 - Les moteurs de jeux]]></title><description><![CDATA[Je vous souhaite &#224; tous un tr&#232;s joyeux No&#235;l. Vous &#234;tes plus nombreux chaque jour. Merci pour vos petits mots, vos encouragements et vos questions. Un jeu vid&#233;o tr&#232;s attendu est sorti il y a quelques semaines : Cyberpunk 2077. Comme souvent dans ces &#233;normes productions, sa sortie est ent&#226;ch&#233;e de nombreux bugs. Ce sont le genre de bugs qui me font r&#233;fl&#233;chir &#224; la construction m&#234;me d'un jeu vid&#233;o. Cela reste de la programmation, des lignes de codes. &#199;a va forc&#233;ment planter &#224; un moment. Pourquoi ce genre de ph&#233;nom&#232;ne devrait-il &#234;tre exclusif au seul d&#233;veloppement web ?]]></description><link>https://www.mvlabs.fr/p/dcembre-22-les-moteurs-de-jeux</link><guid isPermaLink="false">https://www.mvlabs.fr/p/dcembre-22-les-moteurs-de-jeux</guid><dc:creator><![CDATA[Maël Vincent]]></dc:creator><pubDate>Tue, 29 Dec 2020 12:58:19 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e95d5df2-8531-446a-b860-38e14fd5b5a7_6000x4000.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Je vous souhaite &#224; tous un tr&#232;s joyeux No&#235;l. Vous &#234;tes plus nombreux chaque jour. Merci pour vos petits mots, vos encouragements et vos questions.</p><p>Un jeu vid&#233;o tr&#232;s attendu est sorti il y a quelques semaines : Cyberpunk 2077. Comme souvent dans ces &#233;normes productions, sa sortie est ent&#226;ch&#233;e de nombreux bugs. Ce sont le genre de bugs qui me font r&#233;fl&#233;chir &#224; la construction m&#234;me d'un jeu vid&#233;o. Cela reste de la programmation, des lignes de codes. &#199;a va forc&#233;ment planter &#224; un moment. Pourquoi ce genre de ph&#233;nom&#232;ne devrait-il &#234;tre exclusif au seul d&#233;veloppement web ?</p><p>Discutons de quelques ponts avec le d&#233;veloppement web.</p><h1>Les moteurs de jeux</h1><h2>Qu'est-ce qu'un moteur de jeu ?</h2><p>Un moteur de jeu est un groupement de composants :</p><ul><li><p>Graphismes</p></li><li><p>Physique</p></li><li><p>Sons</p></li><li><p>Interface utilisateurs (clavier, souris, manette, webcam...)</p></li><li><p>Intelligence artificielle</p></li><li><p>Editeur de niveau</p></li><li><p>...</p></li></ul><p>Il faut noter qu'un moteur de jeu n'est pas obligatoire pour cr&#233;er un jeu vid&#233;o. Il est possible de tout r&#233;&#233;crire ou bien d'utiliser des frameworks. Ces derniers viennent avec une documentation et sont plus permissifs, plus personnalisables alors qu'un moteur de jeu complet vient avec toute une suite logicielle afin d'acc&#233;l&#233;rer les d&#233;veloppements. Pas besoin de r&#233;inventer la roue &#224; chaque fois.</p><p>Que ce soit framework ou moteurs de jeux, ils se reposent g&#233;n&#233;ralement sur une ou des librairies graphiques comme DirectX, OpenGL, WebGL ou encore Vulkan.</p><p>Si je devais faire un pont avec le web je dirais :</p><ul><li><p>Moteurs de jeux =&gt; ~Suite IntelliJ + ~Suite Adobe</p></li><li><p>Framework =&gt; Symfony/Angular, tout d&#233;pend de ce que g&#232;re le framework</p></li><li><p>Librairie =&gt; MomentJS, Material Design, Redux...</p></li></ul><h2>Graphismes</h2><p>On s'aper&#231;oit qu'un moteur de jeu, ce n'est pas que du graphisme. Mais comme pour le d&#233;veloppement web, m&#234;me si &#231;a brille sous le capot, si le design est moche les utilisateurs seront m&#233;contents. Dans le cas de Cyberpunk, le jeu est tr&#232;s joli. Cependant pour profiter pleinement de ce lustrage, il faut un PC avec une carte graphique &#224; 600&#8364;. </p><p>Le jeu a &#233;t&#233; commercialis&#233; sur les Playstation et les Xbox initialement sorties en 2013. Pensez-vous que le r&#233;sultat est le m&#234;me sur ces consoles que sur notre fameux PC surpuissant ? Les d&#233;veloppeurs le savaient-ils ? L&#224; n'est pas la question. Nous d&#233;veloppons sur du mat&#233;riel g&#233;n&#233;ralement haut de gamme et nous avons tendance &#224; oublier que tout le monde n'est pas &#233;quip&#233; comme nous. Quelques points de vigilance concernant nos utilisateurs :</p><ul><li><p>Leur t&#233;l&#233;phone peut avoir plus de 2 ans</p></li><li><p>Leur &#233;cran d'ordinateur n'est pas forc&#233;ment Full HD</p></li><li><p>Leur navigateur n'est pas obligatoirement Google Chrome</p></li><li><p>Ils n'ont pas tous la fibre optique</p></li></ul><h2>Modularit&#233;</h2><p>Un autre point que je trouve int&#233;ressant sur la partie graphique concerne la gestion de plusieurs librairies. J'ai constat&#233; sur plusieurs jeux qu'il &#233;tait possible de choisir la librairie graphique. Cela m'a rappel&#233; &#224; quel point nous mettons l'accent sur la s&#233;paration des couches dans nos d&#233;veloppements.</p><p>G&#233;n&#233;ralement, nous s&#233;parons nos applications comme suit :</p><ul><li><p>Vue - Affichage : React, Javascript pure, Application mobile</p></li><li><p>Contr&#244;leur - M&#233;tier : API Rest ou GraphQL, Managers</p></li><li><p>Mod&#232;le - Donn&#233;es : Entit&#233;s, Doctrine, Repositories</p></li><li><p>Stockage : MySQL, MongoDB</p></li></ul><p>Si nos couches sont bien s&#233;par&#233;es, il est possible d'en changer une sans impacter les autres. Je trouve que le choix de la s&#233;lection de la librairie graphique &#224; utiliser dans un jeu est un tr&#232;s bon exemple.</p><p>Cette modularit&#233; permet &#233;galement de s&#233;parer les &#233;quipes d&#233;veloppement. Pendant que l'une travaille sur l'interface utilisateur, une autre peut g&#233;rer l'intelligence artificielle des ennemis par exemple. Cela vous para&#238;t couler de source ? Alors pourquoi vos commits de design contiennent-ils des modifications sur des managers ? </p><p>Avoir acc&#232;s &#224; l'int&#233;gralit&#233; du code ne doit pas nous autoriser &#224; tout modifier. Quelles en seraient les cons&#233;quences ? Imaginez la situation suivante : vous d&#233;tectez un bug en production. Il a &#233;t&#233; introduit par la modification d'une fonctionnalit&#233; que vous aimeriez revert. Cependant, ce commit embarque beaucoup trop de modifications sur trop de fonctionnalit&#233;s diff&#233;rentes. Vous ne pouvez pas revert, vous devez obligatoirement d&#233;ployer un hotfix.</p><p>Souvenez vous :</p><ul><li><p>Une branche = Une fonctionnalit&#233;</p></li><li><p>Commits atomiques : Commit de design s&#233;par&#233;s des commits m&#233;tiers...</p></li></ul><h2>Ev&#232;nements</h2><p>Les moteurs de jeux sont &#233;galement utilis&#233;s dans l'audio visuel pour la cr&#233;ation de films. L'ensemble des sc&#232;nes est alors pr&#233;calcul&#233; et la disposition de la cam&#233;ra est choisie &#224; l'avance. Il n'y a pas de place pour l'al&#233;atoire.</p><p>Dans le cas des jeux vid&#233;os, la cam&#233;ra bouge. le sujet interagit avec son environnement qui est peupl&#233; de centaines d'&#233;v&#232;nements. Ex : si une explosion survient dans le dos du joueur, il doit l'entendre avec plus ou moins d'intensit&#233; suivant la distance. Comment g&#233;rer autant d'&#233;v&#232;nements en m&#234;me temps ? Comment g&#233;rer l'interaction entre les objets ? La programmation orient&#233;e objet est une des solutions utilis&#233;es. Elle permet de s&#233;parer encore plus les responsabilit&#233;s, mais aussi de d&#233;finir des interfaces de communication.</p><p>J'aime arpenter les jeux vid&#233;os en pensant &#224; la mani&#232;re dont ils sont cod&#233;s. Comment faire g&#233;rer les d&#233;g&#226;ts d'une voiture qui heurte un poteau plut&#244;t qu'un mur ? Et m&#234;me des fois dans l'autre sens. Qu'est-ce qui fait que je peux faire cela avec un protagoniste plut&#244;t qu'avec un autre ? Qu'est-ce qui les s&#233;pare au niveau de leur code ? Ils se ressemblent, ils ont la m&#234;me d&#233;marche mais leurs interactions sont diff&#233;rentes.</p><p>Nous pouvons pousser la r&#233;flexion encore plus loin et faire de m&#234;me avec le monde qui nous entoure. Je me souviens d'une semaine tr&#232;s intensive de partiels de programmation orient&#233;e objet qui suivait plusieurs semaines de r&#233;flexions, exp&#233;rimentations et r&#233;visions. La d&#233;compression du Vendredi soir avait &#233;t&#233; quelque peu inattendue. J'appliquais ce que j'avais appris &#224; tout. Mon cerveau ne raisonnait qu'en objets, m&#233;thodes et interfaces. Quand je parlais &#224; quelqu'un, j'imaginais que sa m&#233;thode getName() &#233;tait bien impl&#233;ment&#233;e pour qu'il me dise son nom...</p><h1>Quelques articles</h1><h2>Bases et utilisations avanc&#233;es du Javascript</h2><p>Il y a certaines bases que nous connaissons sur le bout des doigts, d'autres que nous utilisons sans trop savoir et il y a celles que nous ignorons. Le Javascript &#233;volue extr&#234;mement vite.&nbsp; Afin de mettre tout le monde d'accord, je vous partage cette ressource qui vous aidera &#224; &#233;lever votre niveau : Map, Set, this, coding style, promise...</p><p><a href="https://javascript.info">Javascript.info</a></p><h2>Code Review</h2><p>Vous voulez qu'on travaille ensemble ?</p><p><a href="https://mtlynch.io/code-review-love">Code Review Love</a></p><h2>Un peu d'inspiration</h2><p>Le moment des bonnes r&#233;solutions que nous ne tiendrons pas arrive. Une petite lecture qui ne peut pas faire de mal avec du &#224; prendre et &#224; laisser.</p><p><a href="https://ideopunk.com/2020/12/22/100-tips-for-a-better-life">100 tips for a better life</a>/</p>]]></content:encoded></item><item><title><![CDATA[#Décembre 1/2 - L'art du débogage]]></title><description><![CDATA[J'ai r&#233;-&#233;crit cette newsletter plusieurs fois. Ma 1&#232;re id&#233;e &#233;tait de vous faire un tutoriel complet sur le d&#233;bogage. Je pense que je ne vous aurais pas appris grand chose. J&#8217;ai alors orient&#233; mon propos autour de ce qui me semble important de savoir plut&#244;t que la ma&#238;trise d&#8217;un outil. Pour moi, c&#8217;est du bon sens. Est-ce que &#231;a l&#8217;est pour vous ?]]></description><link>https://www.mvlabs.fr/p/dcembre-12-lart-du-dbogage</link><guid isPermaLink="false">https://www.mvlabs.fr/p/dcembre-12-lart-du-dbogage</guid><dc:creator><![CDATA[Maël Vincent]]></dc:creator><pubDate>Mon, 07 Dec 2020 12:05:39 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4b822bca-dc6c-4efd-b6fd-0f36f763403a_4288x2848.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>J'ai r&#233;-&#233;crit cette newsletter plusieurs fois. Ma 1&#232;re id&#233;e &#233;tait de vous faire un tutoriel complet sur le d&#233;bogage. Je pense que je ne vous aurais pas appris grand chose. J&#8217;ai alors orient&#233; mon propos autour de ce qui me semble important de savoir plut&#244;t que la ma&#238;trise d&#8217;un outil. Pour moi, c&#8217;est du bon sens. Est-ce que &#231;a l&#8217;est pour vous ?</p><h2>Le d&#233;bogage</h2><h4>La situation</h4><p>Vous avez un bug en production. Comment vous est-il remont&#233; ? Email ? A la machine &#224; caf&#233; ? Oralement ? Ticket ?</p><p>L'id&#233;al est d'avoir un processus de remont&#233;e de bug avec un syst&#232;me de priorisation ainsi qu'une bonne fa&#231;on de cr&#233;er un ticket. Cela demande un bon outil et surtout une formation des personnes qui font cette remont&#233;e. La confiance doit r&#233;gner. C'est toujours plus agr&#233;able et plus facile d'avoir une remont&#233;e avec une description et une vid&#233;o attach&#233;e plut&#244;t qu&#8217;un "&#231;a ne marche pas".</p><h4>Contexte</h4><p>Avant d'essayer de reproduire, on se pose quelques minutes et on r&#233;fl&#233;chit &#224; ce qui a &#233;t&#233; d&#233;ploy&#233; ces derniers jours. Vous devez conna&#238;tre le contexte de l'application sur laquelle vous travaillez. La connaissance g&#233;n&#233;rale est primordiale. Vous l'engrangerez lors des dailys. Vous devez maintenant relier les points.</p><h4>Reproduction</h4><p>Ne tombez pas dans le panneau du service informatique VS les utilisateurs. Si vous n'arrivez pas &#224; reproduire le bug, cela ne veut pas dire qu'il n'existe pas. Dans ce cas l&#224;, je pense que c'est indispensable de discuter pour r&#233;cup&#233;rer des informations suppl&#233;mentaires.</p><p>C&#8217;est ensuite que la v&#233;ritable investigation commence.</p><h4>Comprenez-vous le code de vos coll&#232;gues ?</h4><p>Ne partez pas t&#234;te baiss&#233;e avec des console.log("coucou") ou autres print("efjzaesknjzel"). Cela ressemble plus &#224; un appel &#224; l&#8217;aide qu&#8217;&#224; du d&#233;bogage. Lisez le code. Vous &#234;tes d&#233;veloppeurs. Je ne vois pas comment vous pourrez r&#233;soudre le probl&#232;me si vous ne comprenez pas le code. Si ce n&#8217;est pas votre code, c&#8217;est alors d&#8217;autant plus important de lire, relire et re-relire.</p><p>Refaites le parcours entier du code, du d&#233;but de l'action utilisateur jusqu'&#224; la fin. C'est en lisant et en d&#233;bogant le code des autres que vous vous am&#233;liorerez et pour plusieurs raisons :</p><ul><li><p><strong>Connaissance fonctionnelle</strong> : vous allez apprendre exactement ce que fait l'application</p></li><li><p><strong>Connaissance technique</strong> : l'architecture de votre application n'aura plus de secret pour vous</p></li><li><p><strong>Bonnes pratiques </strong>: vos coll&#232;gues codent peut &#234;tre d'une mani&#232;re diff&#233;rente de la v&#244;tre en bien ou en mal, nous ne sommes pas l&#224; pour juger. Vous allez d&#233;couvrir des fa&#231;ons de faire ing&#233;nieuses que vous ignoriez. Et inversement... vous allez apprendre ce qu'il ne faut pas faire car trop compliqu&#233; &#224; comprendre. Vous vous en inspirerez et vous deviendrez meilleurs.</p></li></ul><h4>Lire du code</h4><p>Je ne vous ferais pas de formation &#224; l'utilisation des d&#233;bogueurs. Vous devez savoir les utiliser cependant, ce ne sont que des outils qui vous permettront de conna&#238;tre la valeur de vos variables &#224; un instant T. Ils vous permettront de tracer l'ex&#233;cution de votre code une fois que vous l'aurez compris.</p><p>Je pense que la meilleure fa&#231;on de monter en comp&#233;tence dans une entreprise est de lire et comprendre le code des autres.</p><p>Quand j'entre dans un nouveau job ou que j'ai un nouveau client, le challenge n'est pas la technologie mais la compr&#233;hension du fonctionnel, de l'architecture et surtout du code.</p><h4>Et maintenant ?</h4><p>Rien du tout. J&#8217;utilise rarement le d&#233;bogueur et encore moins des prints que j&#8217;oublierais de supprimer avant mon commit. J&#8217;applique toujours les m&#234;mes r&#232;gles :</p><ul><li><p>Contexte : r&#233;cup&#233;ration d&#8217;un maximum d&#8217;informations</p></li><li><p>Liaison des points : d&#8217;o&#249; pourrait venir le probl&#232;me, connaissance fonctionnelle obligatoire</p></li><li><p>Reproduction</p></li><li><p>Reverse engineering : est-ce que selon moi, le code que je lis fait ce qu&#8217;il devrait faire ?</p></li><li><p>Le probl&#232;me est normalement cibl&#233;, trouv&#233; et r&#233;gl&#233; dans la foul&#233;e</p></li><li><p>Si non, je fais appel &#224; un ami pour jouer le canard en plastique et je recommence</p></li><li><p>Easy ? Pas tant que &#231;a&#8230;</p></li></ul><h1>Quelques articles</h1><h4>How Google Work ?</h4><p>Je me suis souvent demand&#233; comment travaillaient les &#233;quipes de Google. Quels outils utilisent-ils ? Comment se passent les reviews de code ? Les remont&#233;es de bugs ? J'ai maintenant ma r&#233;ponse.</p><p><a href="https://about.sourcegraph.com/blog/ex-googler-guide-dev-tools/">Ex-googler guide dev tools</a></p><h4>Apple et processeur</h4><p>Apple a sorti il y a quelques semaines de nouvelles versions de ses ordinateurs avec un processeur tout nouveau. Cette nouvelle architecture s'appelle Apple Silicon et son "processeur" le M1. Savez-vous seulement pourquoi ce virage de la part d'Apple fait autant parler ? C'est le moment r&#234;v&#233; pour vous int&#233;resser au fonctionnement de votre ordinateur :</p><p><a href="https://debugger.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2">Why is apple's M1 chip so fast ?</a></p><p>Notes aux fanboys de la pomme : l'architecture change donc toutes les applications doivent &#234;tre recompil&#233;es pour fonctionner. C'est comme si on avait chang&#233; de langage pour discuter avec la machine. A l'heure o&#249; j'&#233;cris ces lignes, Docker n'est pas compatible avec le Apple M1.</p><h4>L'avis de Stackoverflow sur la construction d'un CV</h4><p>De bons tuyaux &#224; prendre avec un peu de recul pour ceux qui sont encore &#224; la recherche d'un poste :</p><p><a href="https://stackoverflow.blog/2020/11/25/how-to-write-an-effective-developer-resume-advice-from-a-hiring-manager/">How to write an effective developer resume, advice from a hiring manager</a></p>]]></content:encoded></item><item><title><![CDATA[La première]]></title><description><![CDATA[Merci d'&#234;tre si nombreux]]></description><link>https://www.mvlabs.fr/p/la-premire</link><guid isPermaLink="false">https://www.mvlabs.fr/p/la-premire</guid><dc:creator><![CDATA[Maël Vincent]]></dc:creator><pubDate>Fri, 20 Nov 2020 13:17:29 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ed3f1a12-6341-48c3-af48-5b4908718625_1202x732.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Edito</h2><p>Merci &#224; tous de m&#8217;avoir rejoins. Je n'imaginais pas que cette id&#233;e de newsletter aurait autant de succ&#232;s. J'ai une sacr&#233;e pression maintenant d'autant plus que je ne connais pas tout le monde. Bienvenue &#224; tous.</p><p>Je ne vais pas vous mentir, je suis inquiet par la tournure que prend notre march&#233; du travail avec les &#233;v&#232;nements mondiaux actuels. Nous vivons une p&#233;riode sans pr&#233;c&#233;dent et cela nous impacte tous &#224; diff&#233;rents degr&#233;s. Je ne pourrais que vous conseiller de vous accrocher. </p><p>Notre secteur est autant perdu que les autres, les p&#233;riodes d'essais ne sont pas renouvel&#233;es, on prend peu voire pas de stagiaire et les recrutements sont gel&#233;s. Nous sommes dans l'attente que &#231;a passe. Cependant, notre secteur a un avantage non n&#233;gligeable : l'adaptation. La pand&#233;mie actuelle a d&#233;j&#224; fait &#233;voluer les mentalit&#233;s. Premi&#232;re chose : l&#224; o&#249; le t&#233;l&#233;travail &#233;tait avant mal vu, il est maintenant le bienvenu. Deuxi&#232;me chose : les technologies que nous utilisons et nos m&#233;thodes de travail &#233;voluent constamment et nous savons en changer rapidement. A mon sens, notre secteur est d&#233;j&#224; en cours de mutation et notre r&#244;le est d'accompagner les autres secteurs dans cette mutation.</p><p>Des exemples ? La plupart des commerces sont ferm&#233;s, les march&#233;s de No&#235;l annul&#233;s... et Amazon carbure comme jamais. Comment pouvons-nous aider ces commer&#231;ants ? En faisant ce que nous savons faire le mieux. D&#233;velopper !</p><div><hr></div><h2>Un &#233;v&#232;nement</h2><p>Slack organise r&#233;guli&#232;rement des sessions virtuelles sous la forme de webinars, conf&#233;rences ou Q&amp;A. C'est un bon moyen de prendre de l'information et d'&#233;couter des t&#233;moignages d'entreprises.</p><p>Slack France organise le Mardi 24 Novembre prochain (la semaine prochaine) une matin&#233;e de conf&#233;rence en fran&#231;ais et anglais (avec sous-titre).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://slacksessionsfrancefrontiers.splashthat.com/Banner&quot;,&quot;text&quot;:&quot;Slack Sessions France&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://slacksessionsfrancefrontiers.splashthat.com/Banner"><span>Slack Sessions France</span></a></p><p>Si on enl&#232;ve les cr&#233;neaux self-promotion des produits slack (on ne va pas les bl&#226;mer), j'ai not&#233; au moins 2 sessions int&#233;ressantes :</p><ul><li><p><strong>11h45 - 12h15</strong> : <em>Netflix t&#233;moigne : Slack pour une gestion rapide et efficace des incidents techniques</em></p></li><li><p><strong>12h15 - 12h45</strong> : <em>HSBC : innover vite et bien, avec des releases en 30 minutes vs. 3 mois</em></p></li></ul><div><hr></div><h2>Quelques articles</h2><p><a href="https://changelog.com/posts/git-is-simply-too-hard">Git is simply too hard</a></p><p><a href="https://tinyprojects.dev/posts/six_months_of_tiny_projects">Six months of tiny projects</a></p><p>Et vous ? Qu'avez-vous fait ces 6 derniers mois ? Et si ces fameux 6 derniers mois commen&#231;aient aujourd'hui pour vous ?</p><div><hr></div><h2>Une librairie</h2><p><a href="https://tailwindcss.com">Tailwindcss</a></p><p>J'utilise beaucoup cette librairie sur mes projets personnels afin de gagner le maximum de temps sur la partie visuelle et &#233;crire en css uniquement ce qui est vraiment sp&#233;cifique. Sur ces projets, ma probl&#233;matique est toujours la m&#234;me : d&#233;velopper rapidement et proprement (un peu paradoxal). Je viens de l'univers backend, le css fait maintenant pleinement partie de mon m&#233;tier et je sais &#224; quel point les fichiers de styles peuvent devenir le bazar. A mon sens, ce sont les fichiers qui demandent le plus de rigueur.</p><p>Tailwindcss fonctionne &#224; base de helpers et vous permettra de vous focus sur le fonctionnel de votre projet. Elle g&#232;re flexbox, les marges, container, transition...<br>A bon entendeur, cette librairie pourrait vous &#234;tre tr&#232;s utile pour vos portfolios.</p><div><hr></div><h2>La suite ?</h2><p>Cette premi&#232;re newsletter fait objet de pr&#233;ambule, je vous pr&#233;pare pour les prochaines :</p><ul><li><p>Un guide sur la micro entreprise. Je mets les petits plats dans les grands pour cette partie.</p></li><li><p>Mes secrets de debug</p></li><li><p>Le switch de technos</p></li><li><p>Amazon Web Services et Google Cloud Platform</p></li><li><p>Architecture micro-services</p></li><li><p>...</p></li></ul><p>Vous pouvez toujours proposer des sujets ou me poser vos questions en r&#233;pondant directement &#224; cet email ou &#224; l&#8217;adresse : mvlabs@substack.com</p><p>En attentant, portez-vous bien.</p><p>Ma&#235;l</p>]]></content:encoded></item><item><title><![CDATA[MvLabs Newsletter]]></title><description><![CDATA[Conseils, quickies, partage d'exp&#233;rience...]]></description><link>https://www.mvlabs.fr/p/coming-soon</link><guid isPermaLink="false">https://www.mvlabs.fr/p/coming-soon</guid><dc:creator><![CDATA[Maël Vincent]]></dc:creator><pubDate>Thu, 12 Nov 2020 09:59:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z0fJ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b792457-ec74-4a0b-806c-5bea7203883c_500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Qui suis-je ?</h2><p>J&#8217;&#233;volue dans l&#8217;informatique depuis tr&#232;s longtemps. J&#8217;ai de la chance, mon m&#233;tier est ma passion.</p><p>J&#8217;ai occup&#233; &#224; peu pr&#232;s tous les postes. Mon parcours : stagiaire, alternant (3 ans), d&#233;veloppeur, chef de projet, ind&#233;pendant, formateur, mentor, CTO&#8230;</p><p>J&#8217;aime me retrouver seul avec mes lignes de code, r&#233;fl&#233;chir &#224; la meilleure architecture pour ensuite changer d&#8217;avis 6 mois plus tard parce que j&#8217;ai appris.</p><h2>Pourquoi ?</h2><p>A d&#233;faut de pouvoir vous dire quoi faire ou quel choix faire, je peux vous partager mon exp&#233;rience.</p><p>J&#8217;ai form&#233; plusieurs dizaines de personnes. Ce fut l&#8217;exp&#233;rience la plus dure, la plus enrichissante/intense et la plus formatrice que j&#8217;ai eu jusqu&#8217;ici. Mes &#233;l&#232;ves m&#8217;ont apport&#233; au moins autant que j&#8217;ai pu leur apporter.</p><p>Le monde change, et pas forc&#233;ment pour le meilleur. Si je peux encore vous accompagner et vous &#233;clairer, je le ferais.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.mvlabs.fr/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.mvlabs.fr/subscribe?"><span>Subscribe now</span></a></p><h2>Qu&#8217;attendre ?</h2><p>Vous &#234;tes beaucoup &#224; m&#8217;avoir recontact&#233; ces derniers mois. </p><p>Les questions ont &#233;t&#233; vari&#233;es :</p><ul><li><p>types d&#8217;entreprises qui recrutent</p></li><li><p>vos CV et lettres de motivation</p></li><li><p>le dipl&#244;me</p></li><li><p>les technologies</p></li><li><p>la veille</p></li><li><p>le statut de freelance</p></li><li><p>vos doutes&#8230;</p></li></ul><p>L&#8217;objet de cette newsletter et de vous partager des r&#233;ponses &#224; ces questions.</p><p>Je ne suis que l&#8217;auteur, <strong>vous &#234;tes les contributeurs</strong>. </p><p>Vous pouvez &#233;galement<a href="https://www.mvlabs.fr/p/coming-soon?utm_source=substack&utm_medium=email&utm_content=share&action=share"> partager cette newsletter</a>.</p>]]></content:encoded></item></channel></rss>