<?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:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[DEV Design CH-FR - Medium]]></title>
        <description><![CDATA[Faire un Mockup et réaliser le Design d&#39;une innovation numérique, état de l&#39;art, outils et pratiques, à explorer, et compléter (Et en Frenglish). Ce blog est celui des co-acteurs de http://Do-camp.org le programme de www.LIN.mx, des Hackatons de digital design http://tech4good.ch - Medium]]></description>
        <link>https://medium.com/dev-design-ch-fr?source=rss----9538d87011d1---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>DEV Design CH-FR - Medium</title>
            <link>https://medium.com/dev-design-ch-fr?source=rss----9538d87011d1---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 13 Nov 2026 17:35:48 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/dev-design-ch-fr" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[WebRTC et PWA kezako ?]]></title>
            <link>https://medium.com/dev-design-ch-fr/webrtc-et-pwa-kezako-3eb93926506c?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/3eb93926506c</guid>
            <category><![CDATA[webrtc]]></category>
            <category><![CDATA[pwa]]></category>
            <category><![CDATA[free-solution]]></category>
            <category><![CDATA[group-work]]></category>
            <category><![CDATA[solutions-libres]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Sun, 09 Jun 2019 17:10:09 GMT</pubDate>
            <atom:updated>2019-06-10T16:40:44.735Z</atom:updated>
            <cc:license>http://creativecommons.org/licenses/by/4.0/</cc:license>
            <content:encoded><![CDATA[<h3>WebRTC et PWA kezako ?</h3><h4>Et pourquoi Claude Stabile annonce une révolution</h4><blockquote>Appel à Béta-testeurs !</blockquote><p>Parmi les premiers à utiliser ces nouvelles technologies, nous avons <a href="http://www.appear.in/">www.appear.in</a> et <a href="https://free-solutions.org/">https://free-solutions.org</a> (en Suisse).</p><p>Et nous avons présenté (et utilisé) les services de <strong><em>Claude Stabile</em></strong>, montés et hébergés en Suisse chez <strong><em>Free-Solutions</em></strong>, lors de nos AG 2019 du 4 Mai.(<a href="http://www.fairsocialnet.ch/"><em>www.FairSocialNet.ch</em></a><em>, </em><a href="http://ict-a.ch/"><em>ICT-a.ch</em></a><em>, et </em><a href="http://cloudready.ch/"><em>CloudReady.ch</em></a><em> — on a fait groupé</em>)</p><blockquote>Essaye toi-même, <a href="https://swisschat.free-solutions.org/apps/">https://swisschat.free-solutions.org/apps/</a> détail ci-après</blockquote><p>La combinaison de ces 2 technos pour des nouvelles applications APP-less: avec les extensions <a href="https://fr.wikipedia.org/wiki/WebRTC"><strong>WebRTC</strong></a><strong> </strong>et les “<a href="https://fr.wikipedia.org/wiki/Progressive_web_app"><strong>Progressive web app</strong></a><strong>” (PWA) </strong>vont rendre les multiples App-store ‘obsolètes’ ou du moins, elle seront de moins en moins “OS dépendantes”.</p><p><a href="https://fr.wikipedia.org/wiki/Progressive_web_app">Progressive web app - Wikipédia</a></p><p>Le tout web, ou web-only n’est pas nouveau. Mais les capacités limitées des navigateurs réduisaient les possibilités et les utilisations.</p><p>Les capacités des derniers navigateurs, et dont Chrome avec Google est le fer de lance, avec une large communauté de libristes, via Chromium, sont en train de préparer la nouvelle révolution du net. Des applications qui ne nécessitent même plus une extension dans le navigateur (browser)…</p><p><a href="https://fr.wikipedia.org/wiki/WebRTC">WebRTC</a></p><p>Ces nouveaux standards de l’<strong>IETF</strong> et <strong>W3C </strong>permettent de faire de la voix sur IP et de la webconf, de pair à pair (poste à poste, sans passer par un serveur), ou du partage de données distribuées (torrent), entre autres…</p><p>Ceci facilite des solutions décentralisées, distribuées, comme avec <a href="https://fr.wikipedia.org/wiki/PeerTube">PeerTube</a> dont nous avons lancé une instance ce 4 mai en Suisse (<a href="http://www.peertube.ch/">www.Peertube.ch</a>).</p><p>Mais ce qui est fort chez Free-Solutions, c’est la vente et mise à disposition de son propre serveur, uniquement avec des solutions “libres”, avec de meilleures performances que Skype, et largement moins abusif que <a href="http://whatsapp.kotte.net/">WhatsApp</a>, et au choix, interconnectable avec des externes en XMPP, ou fermés et limités en Interne, ou avec ses partenaires ciblés. <strong><em>Du Skype PRO libre, mais mieux…</em></strong></p><blockquote>Voir aussi (EN)</blockquote><p><a href="https://webrtchacks.com/pwa-webrtc/">Progressive Web Apps (PWA) for WebRTC (Trond Kjetil Bremnes) - webrtcHacks</a></p><p>Car le GRAAL dans le monde du développement, est de pouvoir coder une application sans se soucier de la plate-forme OS, ni même du matériel (mobile, tablette, laptop…). <strong>Apple et Microsoft , doivent affronter Google !</strong></p><p>Voir aussi: <a href="https://onezero.medium.com/to-revive-the-mac-apple-wants-to-kill-electron-154873336e78">https://onezero.medium.com/to-revive-the-mac-apple-wants-to-kill-electron-154873336e78</a></p><p><a href="https://en.wikipedia.org/wiki/Electron_(software_framework)">Electron (software framework)</a></p><p>Electron est la plateforme utilisée pour faire Whatsapp, Yammer, #Slack… Et vous savez quoi, c’est aussi du Libre: <a href="https://github.com/electron/electron">github.com/electron/electron</a></p><p><a href="https://en.wikipedia.org/wiki/Web_application">Web application - Wikipedia</a></p><h3>Essaye-donc toi-même !</h3><p><a href="https://swisschat.free-solutions.org/apps/">https://swisschat.free-solutions.org/apps/</a> est ouvert pour faire des tests en réel, avec feedbacks à transmettre à Claude :</p><p><a href="https://swisschat.free-solutions.org/apps/">Converse</a></p><h4>Requis</h4><p>Chrome, ou Chromium 74 requis, ou Microsoft EGDE avec le dernier Chromium. Android, Windows ou Linux.</p><p>Firefox marche pas (encore): Uniquement le chat est OK, webconf pas possible…</p><p>Sous IOS, Safari (last version) à tester ! Car la partie WebRTC est bloquée avec Chrome par Apple. (<em>quand je dis qu’il faut les bannir ces gens! Amazon, Facebook+Apple, sont en liste noire. Google et Microsoft sont en liste grise…</em>)</p><p>Sous MacOS ? Oui je suppose, avec Chrome. Safari ? A voir… merci de tester et nous dire…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RHg8GvtbIF5mWd2bYBccdw.png" /><figcaption><a href="https://www.google.com/intl/fr/chrome/">https://www.google.com/intl/fr/chrome/</a></figcaption></figure><h4>Mode opératoire</h4><ul><li>Ouvrir une page sur: <a href="https://swisschat.free-solutions.org/apps/">https://swisschat.free-solutions.org/apps/</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*U5KBV91xJrdWNqoEQoVjYA.png" /><figcaption>Pour la première fois, il faut faire ‘Create an account’</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zJj50kFRk1MUPlU7q3xLkg.png" /><figcaption>Clic [Fetch registration form]</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tWX-ClIEL4dx9Oo4De0sbg.png" /><figcaption>Tu n’es pas obligé de mettre un Full name ni un email (en fait, cela peut même bugger sur la beta?)</figcaption></figure><p>Tu obtiens ton JID ou XMPP address: <em>monid</em>@swisschat.free-solutions.org</p><blockquote>NB. Ce serveur n’est pas “ouvert”, et donc tu ne peux pas connecter un JID avec d’autres serveurs, mais si c’est cela que tu as besoin, tu nous contactes <a href="http://callme.kotte.net/">http://callme.kotte.net</a>. On peut faire :) XMPP c’est IETF/W3C standard ! Contrairement à ces saletés de WhatsApp, Skype et compagnies…</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XcAWUK2IixtLHQJFX0yq2g.png" /><figcaption>Welcome connected live ! En français, GROUPCHATS sera SALONS !</figcaption></figure><p>Tu peux faire “coucou” au gens que tu connais ! (s’il sont connectés…). Aux gens que tu ne connais pas aussi…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QK1k0kbkuT3cbxInIYIFJQ.png" /></figure><p>Avec la notification autorisée sur la page web, le destinataire verra ceci:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/831/1*wIBYLWrstIA3ifHcBuONIg.png" /></figure><p>Mais évidemment, ce qui est intéressant, c’est de constituer un groupe d’échanges (de travail):</p><h4>Tu peux créer ton propre GroupChat, ou ‘Salon’ :</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BzRAxQILEzpieXnZv73Ckg.png" /></figure><p>Et tu choisis la confidentialité désirée, et sa persistance (que tu actives si tu veux conserver les historiques des messages)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2UPtWLAuta6rJZLWCPCTAQ.png" /></figure><h4>Ou tu peux rejoindre un groupe existant, s’il est listé !</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*X1-twmuQsjNQR6fzQEWeqA.png" /></figure><blockquote>NB. Ceci est une version Beta, les choses importantes, tu les copies en local ou tu fais des screenshot ! Mais on ne peux pas garantir la restauration des data. Si tu veux un truc PRO avec backup, il faut le financer, même si c’est avec du libre…</blockquote><p>Tu trouves les infos de sécurité sur le <strong>(i)</strong> à droite, une fois dans le <strong><em>groupchat</em></strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CcPpfpia2lwpZHLwk9MKlQ.png" /></figure><h3>Les fonctions</h3><h4>Chater, c’est pas le plus difficile</h4><p>Oui, on peut le faire avec vos Smileys chéries… (berk)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PnpIG-K7reQ3PVP_Z3obuw.png" /></figure><p>Tu peux citer qq’un avec le @ comme partout maintenant…</p><p>Tu peux <em>scroller </em>en bas du mur de <em>chats</em>… (<em>c’est la double flèche vers le bas</em>)</p><p>Tu peux “<em>trasher</em>” ta copie locale des bêtises accumulées sur le mur, mais cela n’effaces pas celles présentes sur les autres participants… (<em>Je rêve du bouton, supprimer les c o— ries… Mais bon, ce ne serait pas conforme à mon éthique…</em>)</p><p>Tu devrais pas avoir besoin de faire “<em>refresh</em>”, mais on sait jamais…</p><p>Tu peux partager un PAD (<em>bon moi, il disparaît… Je fais un Framapad, +sûr</em>)</p><p>Tu peux partager ton écran (<em>si tu en as plusieurs, il te faudra choisir lequel</em>)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*P3mKajiUXcP69quZw4EIhA.png" /><figcaption>Si l’écran n’est pas disponible, essaye en video (caméra) + partage écran</figcaption></figure><p>Tu peux initier une session webcam (avec ou sans webcam, micro requis)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CsxrGgZCir9FVUCsxbS__w.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/565/1*_2CJj_xKr9acDEeZNNb4sA.png" /></figure><p>Tu peux copier le lien d’invitation pour cette session, via le (i), pour le partager en mode libre accès, y compris des externes absent du “Salon”, avec ou sans y ajouter un <em>password</em>.</p><p>Tu peux cliquer sur ton nom le changer, lever la main, ouvrir le chat spécifique de cette session (non persistent), activer/désactiver micro/vidéo, regarder qui est là (activer mosaïque), et avec le (i) récupérer l’URL et mot de passe de cette session web-video-call. Pour accéder aux paramètres et autre fonctions via les 3 points verticaux: Changer ton nom affiché, basculer plein écran, partager une vidéo (<em>Youtube only </em>😠) , et encore d’autres paramètres…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*isun-rZRVdcI7BOVz3IcUA.png" /><figcaption>Sélection des entrées audio/vidéo, sortie audio, profil et mode ouverture session par défaut (me suivre pour partager un écran par exemple…) La langue aussi…</figcaption></figure><blockquote>Et le 📞rouge, c’est pour raccrocher !</blockquote><p>De retour dans le salon (chatroom): Tu peux enregistrer un message audio.</p><p>Ou rechercher une personne, surtout si tu ne la trouves pas via le @ (<em>car elle pris un pseudo à la c.. comme d’habitude…</em>): clic 👫 puis qq lettres et [<strong>Enter</strong>]</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qvhjMA6fgyYiv7w5EJXYkQ.png" /></figure><p>Un mur de <em>(t)</em>c<em>hats </em>😼, sans fonction de recherche cela craindrait (<em>surtout si le salon est “persistent”</em>)… Ouf, la <strong>loupe </strong>est présente !</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*A3cgpjD8qGTMUESITJ1tZw.png" /></figure><p>Et on pourra aussi y partager images et fichiers…</p><p>Bonus, pour ceux qui ont lu jusqu’au bout, tu peux aussi initier directement une session <em>web-call-video-sharing</em> via une URL de ton choix, derrière celle de Swisschat, exemple ici ‘ReseauTransition’ : <a href="https://swisschat.free-solutions.org/ReseauTransition">https://swisschat.free-solutions.org/ReseauTransition</a>, où tu peux maintenir un “bureau virtuel” (<em>fonction similaire au service </em><a href="http://appear.in/"><em>http://appear.in</em></a>).</p><blockquote>Même pas besoin de passer par un “Salon”… (ici je partage un écran)</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1VVcELGbfFnAG_OI9ArChw.png" /><figcaption>C’est simple et magique ! (Avec ta version à toi, chez toi, tu auras pas le logo ‘Free-solutions’, c’est gratuit donc sponsorisé, mais au moins, t’es pas le produit !</figcaption></figure><blockquote>Fais gaffe, par défaut cela active la caméra au lancement… Mais tu peux la désactiver de suite. Le modérateur de la ‘<em>Salle de réunion virtuelle</em>’ peut configurer pour activer tout le monde muet en arrivant, et caméra ‘off’ au démarrage. Il peut aussi faire “<em>mute</em>” (rendre silencieux) les usagers qui font pas attention au bruit ambiant gênant, ou aux échos et <a href="https://fr.wikipedia.org/wiki/Effet_Larsen"><em>Larsen</em></a><em> </em>désagréables…</blockquote><p>Enjoy virtual life ;-) Merci de Beta-tester tout cela et faire vos feedbacks sur</p><p><strong>Name</strong>: free-solutions.ch (Claude Stabile)</p><p><strong>Groupchat address (JID)</strong>: free-solutions.ch@conference.www.free-solutions.org</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3eb93926506c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/webrtc-et-pwa-kezako-3eb93926506c">WebRTC et PWA kezako ?</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Hackathon RTS: Hackdays 2019]]></title>
            <link>https://medium.com/dev-design-ch-fr/hackathon-rts-hackdays-2019-1209cbba2938?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/1209cbba2938</guid>
            <category><![CDATA[docamp-event]]></category>
            <category><![CDATA[journalisme]]></category>
            <category><![CDATA[en-français]]></category>
            <category><![CDATA[hackathons]]></category>
            <category><![CDATA[suisse-romande]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Tue, 12 Mar 2019 14:37:14 GMT</pubDate>
            <atom:updated>2019-06-10T16:24:20.421Z</atom:updated>
            <content:encoded><![CDATA[<h4>2019–03–22 Vendredi + Samedi 23 Genève, à la tour TSR heu RTS</h4><blockquote>A l’occasion du OpenGeneva: <a href="https://opengeneva.org/participer/#participate-program">https://opengeneva.org/participer/#participate-program</a></blockquote><p><a href="https://opengeneva.org/participer/#participate-program">Participer - Open Geneva</a></p><h4>SRG SSR organise les hackdays annuels</h4><blockquote>Je croyais que c’était RTS ? Déjà que je continue de taper sur le Net TSR et non RTS, heureusement qu’ils ont gardé le vieux nom de domaine.</blockquote><p><a href="http://blog.hackdays.ch/?p=520">SRG SSR 2019 : Les inscriptions sont ouvertes</a></p><p>Ils exploitent le nouveau service de <strong>sparkboard </strong>(<em>qui cause plutôt en English, d’où le</em> <em>Frenglish, désolé pour </em><a href="http://www.francophonie.ch/"><em>Francophonie.ch</em></a><em>, j’espère qu’on vous verra…</em>)</p><p><a href="https://hackdays.sparkboard.com/">SRG SSR Sparkboard</a></p><p>Le big boss de cet event, c’est lui : <strong>Cyril Jaquet</strong></p><ul><li><a href="https://hackdays.sparkboard.com/user/5be28d5c090b380023a18ce8">SRG SSR Sparkboard</a></li><li><a href="https://www.linkedin.com/in/cyriljaquet/">Cyril Jaquet - Innovative Product Owner - RTS - Radio Télévision Suisse | LinkedIn</a></li></ul><blockquote>Il a du mérite, si tu fais : <a href="https://www.rts.ch/services/recherche/?q=hackdays">https://www.rts.ch/services/recherche/?q=hackdays</a></blockquote><p><a href="https://www.rts.ch/services/recherche/?q=hackdays">Recherche</a></p><blockquote>Tu constates que la RTS n’en fait pas vraiment un battage médiatique ! Même pas une annonce ou un article sur le site web ?</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/785/1*k7zxkh36_szny_INLsMXVQ.jpeg" /></figure><p>Du coup, avec CloudReady + Tech4good + LiN, et les #Datagueule suisses, ont a décidé de faire un projet dedans : <strong>Qu’en penses-tu ?</strong></p><p><a href="https://hackdays.sparkboard.com/project/5c67f56d237ba900244a74c1">Information et désinformation, est-ce que la confiance publique dérape vers les vidéastes et blogueurs et s</a></p><h3>Information et désinformation, est-ce que la confiance publique dérape vers les vidéastes et blogueurs et s’éloigne des journalistes ?</h3><blockquote>Médias et chaînes publiques à la solde de l’état ? Médias privés à la solde des ploutocrates ? Comment restaurer de la confiance à l’ère des dérapages numériques ?</blockquote><h4>Avec cette vidéo en introduction</h4><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FyX6fTSa1wsE%3Ffeature%3Doembed&amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DyX6fTSa1wsE&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FyX6fTSa1wsE%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/4211b51fab0cf381003eca0004a188f4/href">https://medium.com/media/4211b51fab0cf381003eca0004a188f4/href</a></iframe><blockquote>Comment rétablir la confiance publique, dans l’information ?</blockquote><p>Que ce soit dans une approche de solutions techniques, comme <a href="https://captainfact.io/videos"><strong>CapitainFact</strong></a><strong> </strong>que nous soutenons, ou moins technique. Les solutions passent par une compréhension lucide des transformations induites par les nouvelles technologies, les nouveaux accès aux informations, et nos évolutions culturelles. En association avec <a href="https://medium.com/cloudready-ch/cloudready-ch-cest-quoi-b1f14327143a"><strong>CloudReady</strong>.ch</a>, Observatoire depuis 2013 sur les outils numériques et leurs usages, à impacts positifs et négatifs:</p><p><strong>Nous proposons d’éclairer nos regards sur la situation de la confiance dans l’information, et se questionner sur nos sources, et nos outils/méthodes pour une analyse critique</strong>. Les <em>Youtubeurs </em>et nouveaux consommateurs sont vivement souhaités à nous rejoindre.</p><p>Et comme on a envie d’un max de cerveaux lucides, on est prêt à te laisser nous rejoindre le vendredi soir, si tu ne peux pas libérer ta journée, voir uniquement le samedi si tu viens de loin <em>(mais bon, un sac de couchage, un matelas gonflable, et on peut dormir sur place, peut-être ??? Aucune idée… Première fois que j’y vais, si tu as déjà fait, merci de nous faire 1 commentaire)</em></p><h4>Bref, soyez pas timides, venez !</h4><p>Inscription ici, <a href="https://hackdays.sparkboard.com/project/5c67f56d237ba900244a74c1">https://hackdays.sparkboard.com/project/5c67f56d237ba900244a74c1</a></p><p>Et si tu es dans le Meetup Tech4good de LiN: c’est ici: <a href="https://www.meetup.com/fr-FR/tech4goodLIN/events/259299256/">https://www.meetup.com/fr-FR/tech4goodLIN/events/259299256/</a></p><p><a href="https://www.meetup.com/fr-FR/tech4goodLIN/events/259299256/">Hackdays 2019: TSR Information et désinformation, rétablir la confiance</a></p><blockquote>Et si tu y es pas dans ce meetup, ben il faut t’y inscrire, c’est comme Facebook event, mais sans abuser de tes données ! Pour une fois…</blockquote><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FaQaqUlZsxJk%3Ffeature%3Doembed&amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DaQaqUlZsxJk&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FaQaqUlZsxJk%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/832c2a67fe20c7801a1192c32ebc9136/href">https://medium.com/media/832c2a67fe20c7801a1192c32ebc9136/href</a></iframe><p>Et finalement, on a trouvé des idées !</p><p><a href="https://www.linkedin.com/feed/update/urn:li:activity:6515666629056098304">Sign Up</a></p><p>Cf. <a href="https://lnkd.in/eqGvAyu">https://lnkd.in/eqGvAyu</a></p><p><a href="https://lnkd.in/eqGvAyu">Replum2.pptx</a></p><p>C’est encore une proposition de type ‘data-coopérative’ !</p><p>Cf. <a href="http://ethique.cloudready.ch/">http://ethique.cloudready.ch</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1209cbba2938" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/hackathon-rts-hackdays-2019-1209cbba2938">Hackathon RTS: Hackdays 2019</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Comment le Cloud vous enferme]]></title>
            <link>https://medium.com/dev-design-ch-fr/comment-le-cloud-vous-enferme-cb8c705b2af6?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/cb8c705b2af6</guid>
            <category><![CDATA[linkedin]]></category>
            <category><![CDATA[libriste]]></category>
            <category><![CDATA[en-français]]></category>
            <category><![CDATA[microsoft]]></category>
            <category><![CDATA[abus-numeriques]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Mon, 25 Feb 2019 13:18:08 GMT</pubDate>
            <atom:updated>2020-06-04T16:23:01.501Z</atom:updated>
            <cc:license>http://creativecommons.org/licenses/by/4.0/</cc:license>
            <content:encoded><![CDATA[<h3>Comment le Cloud nous enferme</h3><h4>GAFAM: Microsoft rejoint Facebook dans la capture et l’enfermement !</h4><blockquote>J’accuse Microsoft, de pirater nos données, en les enfermant. Ils deviennent aussi condamnables que les voyous du GAFA, et méritent donc bien de rejoindre les GAFAM, avec une étiquette publique de tricheurs, comme les autres…</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UE8Q8vwOLuMy_MHp-ZFEtw.png" /><figcaption>source image: <a href="https://dazeinfo.com/2016/12/09/microsoft-seals-the-deal-with-linkedin-at-26-2-billion/">https://dazeinfo.com/2016/12/09/microsoft-seals-the-deal-with-linkedin-at-26-2-billion/</a> recustomisée !</figcaption></figure><p>Comprenez bien qu’en privatisant leurs API, pour le seul usage de leurs plateformes Office 365, Flow et autres services souvent complexes et déficients, en améliorations notables, mais insuffisantes. Microsoft impose ainsi son Cloud, en le rendant incontournable…</p><p>J’ai eu l’occasion de grogner à plusieurs reprises sur Microsoft</p><ul><li><a href="https://medium.com/responsibility-digital/esclaves-du-cloud-133911b77a58">Esclaves du Cloud ?</a></li><li><a href="https://medium.com/search?q=kott%C3%A9%20microsoft">Search and find - Medium</a></li></ul><p>Mais je m’étais un peu moqué des libristes lors de l’acquisition de Github (gentiment). Je leur prie de m’en excuser.</p><p><a href="https://medium.com/dev-design-ch-fr/github-acquis-par-microsoft-aa78da54b594">Github acquis par Microsoft</a></p><p>En tant que formateur et expert Microsoft, j’avais tendance à leur faire plus confiance qu’en Facebook, voir même Google…</p><p>Bon, OK, c’est une multinationale, sous gouvernance spéculative. Donc par définition, tu ne peux pas leur faire confiance. Leur déontologie s’arrête à la frontière de la légalité qu’ils tendent à remodeler à coup de Lobbying… Quand un service en ligne devient incontournable, comme Linkedin, devenu imposé et obligatoire pour tout chercheur d’emploi (<em>au moins dans le numérique</em>), alors on peut gentiment glisser vers le contrôle, la fermeture des accès… (<em>C’est le même problème avec </em><a href="http://whatsapp.kotte.net/"><em>Whatsapp</em></a><em> et Facebook</em>)</p><h4>Et désormais, les murs se referment !</h4><p>Voici le témoignage de FullContact, un service que j’utilise pour sauvegarder et synchroniser mes contacts, désormais, <strong>sans ceux de Linkedin…</strong></p><blockquote>We have also halted support for contact upload from LinkedIn. <strong>LinkedIn has silently introduced a new privacy setting </strong>that by default <strong>disables email address from being exported from LinkedIn</strong>. This means that when you do an export, the file will largely be void of email addresses for your connections.</blockquote><blockquote>We fundamentally believe that you should own your relationships and the data in your address book. Unfortunately, it appears that <strong>LinkedIn has taken further steps to lock data into their own platform</strong>. <a href="https://techcrunch.com/2018/11/21/linkedin-email-privacy/">Read more.</a> Because we rely heavily on email addresses to de-duplicate contacts in your address book, we’ve opted for not uploading LinkedIn data at this point.</blockquote><blockquote>We will continue monitoring the status of this change by LinkedIn and update our apps accordingly should anything change. (<a href="https://support.fullcontact.com/hc/en-us/articles/115003053468-Social-networks-LinkedIn-Twitter-Foursquare-and-Facebook">https://support.fullcontact.com/hc/en-us/articles/115003053468-Social-networks-LinkedIn-Twitter-Foursquare-and-Facebook</a>)</blockquote><p>— Version FR <em>(merci Google translator, un des GAFAM, ben oui, je les rejette pas, je veux juste qu’ils deviennent éthiques !)</em></p><blockquote>LinkedIn a silencieusement introduit un nouveau paramètre de confidentialité qui empêche par défaut d’exporter l’adresse électronique de LinkedIn. Cela signifie que lorsque vous effectuez une exportation, le fichier sera en grande partie vide d’adresses e-mail pour vos connexions.<br>Nous croyons fondamentalement que vous devez posséder vos relations et les données de votre carnet d’adresses. Malheureusement, il semble que LinkedIn ait pris des mesures supplémentaires pour verrouiller les données sur sa propre plate-forme.</blockquote><p><a href="https://techcrunch.com/2018/11/21/linkedin-email-privacy/">LinkedIn cuts off email address exports with new privacy setting</a></p><h4>Je vous le fais court.</h4><blockquote>Clôture des API (accès par programmes), Open data et échanges électroniques impossibles…</blockquote><p>J’ai déjà averti dans plusieurs causeries, que la mise en place des GDPR et renforcements de la vie privée, sont une bonne chose, mais avec un danger de fermeture et de justification d’enfermement, par le blocage de toutes les API qui permettraient de l’<a href="https://fr.wikipedia.org/wiki/Open_data">Open Data</a>, du <a href="https://medium.com/p/c553cac18cb3">web sémantique</a>…</p><p>J’ai poussé à ce que nous exigions des <a href="https://fr.wikipedia.org/wiki/Representational_state_transfer">API REST</a> ou similaires, sécurisées, pour nous permettre un accès libre sur nos propres données, par programmation.</p><blockquote>Mais nos élus comprennent rien au digital ! Décideurs incompétents et qui n’écoutent que les grands pontes de maitresse économie.</blockquote><blockquote>Et bien maintenant, c’est mort !</blockquote><p><strong><em>Vas-y, va menacer Linkedin de te barrer de chez eux ?</em></strong></p><p>Microsoft se comporte comme le voyou Zuckerberg, avec nos propres données. Ils disent: “Mais c’est pour mieux te protéger mon petit”, “c’est vos lois GDPR qui nous l’impose”. Ce qui est totalement faux !</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*qy0LdKGbzCFokFY1wEUs7A.png" /></figure><p>Au moins, Facebook, c’est jouable… De s’en barrer ! <a href="http://www.fairsocialnet.ch/">www.FairSocialNet.ch</a></p><p>Du coup, cela va relancer la réflexion autour du concept <a href="http://openlocal.cloud/">http://OpenLocal.cloud</a></p><blockquote>Vous voulez quoi Microsoft, nous aider à faire progresser l’humanité vers mieux, ou simplement augmenter les revenus de vos actionnaires, déjà ultra-millionnaires ?</blockquote><blockquote>Je crois que la réponse est claire, le marketing est là pour masquer les véritables intentions. Comment définissez-vous le terme de “Mensonges” ?</blockquote><p>Dommage, j’ai pas les moyens pour une action juridique collective (Class -actions), ceux qui seraient partant, me rejoindre: <a href="http://join.cloudready.ch/">http://join.Cloudready.ch</a> (me mettre commentaire, “class action Microsoft/Linkedin open API”) Dans tous les cas j’ai rejoint l’action de La Quadrature du Net, même si le sujet est différent. Le sujet, c’est que même en faisant croire que c’est à cause de la GDPR, qu’ils enferment nos données, et bien, ils ne sont pas respectueux de la GDPR.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/759/1*F2ZHlgx8vnCUH7uMBKQbGA.png" /></figure><p><a href="https://gafam.laquadrature.net/">Action de groupe contre les GAFAM - La Quadrature du Net</a></p><p>Pour la Suisse, je recommande de rejoindre le mouvement de <a href="http://vienumerique.ch/">VieNumerique.ch</a>, qui souhaite étendre la constitution avec article sur le droit à l’intégrité physique et morale, en y ajoutant nos données numériques personnelles.</p><p><a href="http://vienumerique.ch/">VIE NUMÉRIQUE</a></p><p>Des questions/suggestions, commentaire ici-même, ou <a href="http://callme.kotte.net/">http://callme.kotte.net</a></p><h4>— Voir aussi</h4><ul><li><a href="https://www.linkedin.com/pulse/microsoft-supprim%C3%A9-les-emails-des-exports-linkedin-pascal-kott%C3%A9">Microsoft a supprimé les emails des exports Linkedin, discrètement...</a></li><li><a href="https://marketingland.com/linkedins-new-privacy-setting-prohibits-marketers-from-exporting-emails-252728">LinkedIn&#39;s new privacy setting prohibits marketers from exporting emails - Marketing Land</a></li></ul><p>— FAQ: 2019–02–26</p><h4>Linkedin devait bloquer ces emails, par décision de justice US !</h4><p><a href="https://ppc.land/linkedins-new-privacy-setting-prevents-users-to-export-email-addresses/">LinkedIn&#39;s new privacy setting prevents users to export email addresses</a></p><p>cf. <a href="https://www.informationweek.com/software/social/linkedin-faces-lawsuit-over-privacy-violation/d/d-id/1278588">https://www.informationweek.com/software/social/linkedin-faces-lawsuit-over-privacy-violation/d/d-id/1278588</a></p><p>C’était en 2014: voici la traduction</p><blockquote>LinkedIn était l’une des sociétés utilisant des adresses électroniques pour développer leur base d’utilisateurs. LinkedIn avait accès à une base de données de courriels ne se trouvant pas sur sa plate-forme. LinkedIn invite les utilisateurs à télécharger leurs contacts sur la plate-forme, mais la source des courriels n’a jamais été clarifiée. LinkedIn ciblait ces non-utilisateurs avec des publicités facebook. 18 millions d’adresses e-mail ciblées sur Facebook.</blockquote><blockquote>En 2014, LinkedIn a été poursuivi en justice aux États-Unis pour avoir envoyé des courriels indésirables. Les e-mails indésirables provenaient de la fonction Ajouter des connexions de LinkedIn, qui envoyait des demandes de connexion aux personnes figurant dans la liste de contacts d’un utilisateur qui ne possédaient pas déjà de compte LinkedIn. L’affaire a été réglée par LinkedIn, qui a versé 13 millions de dollars et a permis aux utilisateurs d’annuler les rappels.</blockquote><p>Comme quoi, la justice existe aussi et fait aussi son travail ! Mais cette décision ne justifie en rien la fermeture et l’arrêt des exports des emails, fin 2018. En effet, la condamnation concerne les emails que vous <em>uploadez </em>tous les jours vers Microsoft/Linkedin, en installant l’App Linkedin sur votre mobile (idem avec <a href="http://whatsapp.kotte.net/">Whatsapp</a>), à partir de vos propres contacts. Ceux-là, ils ont jamais demandé à être partagés par la suite, et d’avoir été utilisés par Linkedin pour du démarchage non sollicité, leur a coûté cher, pour finalement, se faire manger par plus gros, MiGroSoft…</p><p>J’avais fait une <a href="https://medium.com/responsibility-digital/linkedin-des-relations-difficiles-3a1b6a81cece">dénonciation similaire</a>, perdue dans les Forums Linkedin (<em>c’était avant mes lettres ouvertes via Medium</em>), car avant GDPR, ils n’étaient déjà pas compatibles avec les lois existantes sur les données privées. Ils piquaient nos contacts de nos smartphones, et prétendaient nous donner accès à toutes nos données, et de pouvoir les “nettoyer” (supprimer). Mais c’était faux (à l’époque), car ils vous proposaient de connecter (d’inviter) vos propres contacts (discrètement, <a href="https://medium.com/responsibility-digital/linkedin-des-relations-difficiles-3a1b6a81cece">au milieu des autres</a>, mais avec un bouton d’action différent), qu’ils conservaient donc, sans pour autant vous y donner accès. Ceci a été corrigé, et j’ai pu nettoyer les contacts qu’ils m’avaient subtilisé (mais avec mon agrément: “<strong><em>I accept</em></strong>…”)</p><p>Nous rejoindre sur <a href="http://responsibility.digital/">http://Responsibility.digital</a> et sur <a href="http://www.datacooperative.ch/">DataCooperative.ch</a></p><blockquote>Prenez soin de vos data, et à+ — Besoin d’aide, questions ? <a href="http://callme.kotte.net/">http://callme.kotte.net</a></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cb8c705b2af6" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/comment-le-cloud-vous-enferme-cb8c705b2af6">Comment le Cloud vous enferme</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Rencontres Hivernales du Libre 2019]]></title>
            <link>https://medium.com/dev-design-ch-fr/rencontres-hivernales-du-libre-2019-477d14221eb0?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/477d14221eb0</guid>
            <category><![CDATA[docamp-event]]></category>
            <category><![CDATA[libriste]]></category>
            <category><![CDATA[suisse-romande]]></category>
            <category><![CDATA[en-français]]></category>
            <category><![CDATA[rhl19]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Thu, 17 Jan 2019 10:11:38 GMT</pubDate>
            <atom:updated>2019-01-17T10:11:38.185Z</atom:updated>
            <content:encoded><![CDATA[<h4>#RHL19, à St Cergues, 25–26–27 Janvier 2019, 48h de 15h à 15h…</h4><pre>Les Rencontres Hivernales du Libre se sont constituées dans une volonté de fédérer les forces du Libre dans le bassin lémanique et plus largement en Suisse romande et France voisine. Le temps d’un week-end, hackers et libristes se retrouvent pour partager un moment convivial entre découvertes techniques et logicielles</pre><p><a href="https://2019.hivernal.es/schedule/">Programme - RHL19</a></p><p>Voir aussi</p><p><a href="https://medium.com/suisse-romande/rhl-a79f8fd24c9f">RHL !</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/663/1*QHSmUhECU1Gu9sgIET3-Lg.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=477d14221eb0" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/rencontres-hivernales-du-libre-2019-477d14221eb0">Rencontres Hivernales du Libre 2019</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Manifeste éthique des Digital Designer ?]]></title>
            <link>https://medium.com/dev-design-ch-fr/manifeste-%C3%A9thique-des-digital-designer-55c4fa80ba03?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/55c4fa80ba03</guid>
            <category><![CDATA[native-cloud-stories]]></category>
            <category><![CDATA[ethique]]></category>
            <category><![CDATA[déontologie]]></category>
            <category><![CDATA[design-dev]]></category>
            <category><![CDATA[en-français]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Wed, 17 Oct 2018 07:01:03 GMT</pubDate>
            <atom:updated>2020-06-03T07:11:21.573Z</atom:updated>
            <cc:license>http://creativecommons.org/licenses/by/4.0/</cc:license>
            <content:encoded><![CDATA[<h3>Manifeste éthique des Digital Designer?</h3><h4>Ou bien des DEV? Software Architect?</h4><h4>J’aime le socle de ce manifesto:</h4><p>Qui n’est visiblement pas intégré chez les GAFAM:</p><ol><li>Décentralisé</li><li>Privé</li><li>Ouvert (open)</li><li>Inter-opérable (transportable)</li><li>Accessible (<em>zero-knowledge</em>, intuitifs ou auto-apprenants)</li><li>Sécurisé</li><li>Durable (optimisé)</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/1*51cAXYneBxHZmZUGNsGo0g.png" /></figure><p>Merci à <a href="https://medium.com/u/402c42d3cfae">Jérémie Fontana</a>, une chouette affiche, et de beaux principes: Faut que je francise cela !</p><blockquote>Inutile de vous dire que l’éthicien digital que je suis adore!</blockquote><p>Qu’Ind.ie soit derrière cela ne m’étonne guère, mais il manque le réseau des signataires ? C’est juste à bien plaire ? Mais c’est un bon début.</p><p>Avec notre charte déontologique <a href="http://kalix.ict-a.ch/">http://kalix.ICT-a.ch</a> nous sommes allé un poil plus loin, sur les recommandations de la fondation <a href="http://www.kalix.ch/">www.Kalix.ch</a> pour intégrer un contrat, juridique, enregistré chez nous, et incluant une auto-surveillance du respect des principes inclus. Ainsi, je sais que mes collègues sont des gens de confiance, comme avec la plupart des gens, en général. Et nos clients peuvent compter sur notre réseau Kalix en cas de litige, ou de doutes, avec l’un des nôtres, ou même d’un tiers lui aussi signataire Kalix, d’un autre réseau.</p><blockquote>C’est possible !</blockquote><iframe src="https://drive.google.com/viewerng/viewer?url=https%3A//jfontana.fr/content/2-design-manifesto/design-manifesto.pdf&amp;embedded=true" width="600" height="780" frameborder="0" scrolling="no"><a href="https://medium.com/media/1a207faecda5bc6b4d7fd03bca93c363/href">https://medium.com/media/1a207faecda5bc6b4d7fd03bca93c363/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=55c4fa80ba03" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/manifeste-%C3%A9thique-des-digital-designer-55c4fa80ba03">Manifeste éthique des Digital Designer ?</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SOLID, et Solid, tout DEV doit savoir !]]></title>
            <link>https://medium.com/dev-design-ch-fr/solid-et-solid-tout-dev-doit-savoir-bd999bb9c901?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/bd999bb9c901</guid>
            <category><![CDATA[p2p]]></category>
            <category><![CDATA[solid]]></category>
            <category><![CDATA[dev]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[tim-burners-lee]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Sun, 14 Oct 2018 14:16:14 GMT</pubDate>
            <atom:updated>2018-10-14T14:16:13.640Z</atom:updated>
            <content:encoded><![CDATA[<h3>SOLID, et Solid, tout DEV doit savoir !</h3><h4>Bon, encore un mot-concept multiple…</h4><p>Dans le monde des DEV (Développeurs), on aime bien utiliser des termes compris par eux seulement (<em>un peu comme les juristes entre eux, les plombiers entre eux, les chirurgiens etc…</em>).</p><blockquote>NB: Je suis (désormais) un intégrateur, je subis donc, pardon, je tente de faire fonctionner ce que les développeurs fabriquent, dans leurs forges numériques…</blockquote><h4>SOLID est un mot intéressant dans le contexte digital !</h4><p>Il entre récemment en collision, avec une annonce de <a href="https://medium.com/u/f4c52f5a54b0">Tim Berners-Lee</a> avec Inrupt… :</p><p><a href="https://medium.com/p/2d0d654d95b5">Solid - Pascal Kotté - Medium</a></p><p>Mais il est aussi un concept important de bonnes pratiques dans la programmation orientée ‘Objets’, et important pour les <a href="https://fr.wikipedia.org/wiki/Architecture_distribu%C3%A9e">services web distribués</a>, ou <a href="https://en.wikipedia.org/wiki/Service-oriented_modeling"><strong>SOAD</strong></a><strong> </strong>(avec les <a href="https://fr.wikipedia.org/wiki/Microservices"><strong>microservices</strong></a>): <strong>S.O.L.I.D.</strong></p><ol><li><strong>S</strong>ingle responsibility: Une classe, une fonction, une seule responsabilité.</li><li><strong>O</strong>uvert/Fermé: Ouverte pour l’extension, mais fermée à la modification.</li><li><a href="http://blogs.developpeur.org/fathi/archive/2011/12/09/lsp-liskov-substitution-principle.aspx"><strong>L</strong>iskov</a> (<a href="https://fr.wikipedia.org/wiki/Barbara_Liskov"><em>Barbara</em></a><em>, avec </em><a href="https://fr.wikipedia.org/wiki/Jeannette_Wing"><em>Jeannette Wing</em></a><em>, pour une fois que nous avons des femmes en informatique !</em>): Tu dois pouvoir dériver une nouvelle classe d’objet d’un premier, sans violer les propriétés du premier ! Le principe de substitution, sans exceptions !</li><li><strong>I</strong>nterface segregation: Etablir des interfaces séparées pour les différents clients au lieu d’une interface générique. C’est un principe fondamental en ergonomie, je recommande même de séparer des interfaces pour des mêmes clients, de cultures différentes (<em>pas simplement sur les langues, mais sur leurs aptitudes numériques</em>). Mais en l’occurrence ici, c’est dans le contexte DEV, et on parle d’interfaces d’utilisation des objets.</li><li><strong>D</strong>ependency Inversion Principle (DIP): en séparant la dépendance des données d’avec les objets de classes supérieures, on s’assure que les modifications des classes supérieures, n’auront pas d&#39;impacts sur les objects dérivés.</li></ol><p><a href="https://fr.wikipedia.org/wiki/SOLID_%28informatique%29">SOLID (informatique) - Wikipédia</a></p><p>Voici un article sur l’autre SOLID, traduit de l’anglais issu de: <a href="https://blog.bitsrc.io/@kurtwanger40?source=post_header_lockup">Chidume Nnamdi</a>, ce <a href="https://blog.bitsrc.io/solid-principles-every-developer-should-know-b3bfa96bb688">9 octobre</a> ! (<a href="https://medium.com/u/a1ee806e09de">Chidume Nnamdi</a>)</p><p><a href="https://blog.bitsrc.io/solid-principles-every-developer-should-know-b3bfa96bb688">SOLID Principles every Developer Should Know</a></p><p>— Traduction assistée —</p><h3>Des principes solides que chaque développeur devrait connaître</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*27QJ5_kV-4rQJ9uhDxVc3w.jpeg" /></figure><p>Le type de programmation orienté objet a apporté une nouvelle conception au développement logiciel.</p><p>Cela permet aux développeurs de combiner des données ayant le même objectif / la même fonctionnalité dans une classe pour traiter l’unique objectif, quelle que soit l’application.</p><p>Mais, cette programmation orientée objet n’empêche pas les programmes déroutants ou impossibles à maintenir.</p><p>À ce titre, cinq lignes directrices ont été élaborées par Robert C. Martin. Ces cinq directives / principes facilitaient la tâche des développeurs pour la création de programmes lisibles et maintenables.</p><p>Ces cinq principes ont été appelés les principes SOLID (l’acronyme a été dérivé par Michael Feathers).</p><ul><li>S: Principe de responsabilité unique</li><li>O: principe ouvert-fermé</li><li>L: principe de substitution de Liskov</li><li>I: Principe de séparation des interfaces</li><li>D: Principe d’inversion de dépendance</li></ul><p>Nous en discuterons en détail ci-après (<em>la pub</em>).</p><blockquote><strong>Conseil</strong> : Les principes SOLID sont conçus pour créer des logiciels à partir de composants modulaires, encapsulés, extensibles et composables. <a href="https://github.com/teambit/bit"><strong>Bit</strong></a><strong> </strong>est un outil puissant dans la mise en pratique de ce principe: il vous aide à isoler, partager et gérer facilement de tels composants dans différents projets à grande échelle en équipe. Essaie!</blockquote><blockquote><a href="https://bitsrc.io/">Bit — Partage et construction avec des composants de code<br>Bit vous aide à partager, découvrir et utiliser des composants de code entre projets et applications pour créer de nouvelles fonctionnalités et…bitsrc.io</a></blockquote><blockquote>Vous pouvez en apprendre plus sur les principes SOLID et Bit <a href="https://blog.bitsrc.io/introducing-bit-writing-code-in-the-age-of-code-components-fd8512a9aa90">ici</a> .</blockquote><h3>Principe de responsabilité unique: S</h3><blockquote>“… Tu n’avais qu’un travail” — Loki à Skurge à Thor: Ragnarok</blockquote><blockquote>Une classe ne devrait avoir qu’un seul travail.</blockquote><p>Une classe ne devrait être responsable que d’une chose. Si une classe a plus d’une responsabilité, elle devient couplée. Le changement d’une responsabilité entraîne la modification de l’autre responsabilité.</p><ul><li><strong>Remarque</strong> : ce principe s’applique non seulement aux classes, mais également aux composants logiciels et aux microservices.</li></ul><p>Par exemple, considérons cette conception:</p><pre>class Animal {<br>    constructor(name: string){ }<br>    getAnimalName() { }<br>    saveAnimal(a: Animal) { }<br>}</pre><p>La classe Animal enfreint le ‘S’’.</p><p><em>Comment cela viole-t-il le S?</em></p><p>Le S indique que les classes devraient avoir une seule responsabilité. Ici, nous pouvons dégager deux responsabilités:</p><ul><li>la gestion de la base de données des animaux</li><li>et la gestion des propriétés des animaux.</li></ul><p>Le constructeur et getAnimalName gèrent les propriétés de l’animal tandis que saveAnimal gère le stockage d’animaux sur une base de données.</p><p>Comment cette conception posera-t-elle des problèmes à l’avenir?</p><p>Si l’application change d’une manière qui affecte les fonctions de gestion de la base de données. Les classes qui utilisent les propriétés Animal devront être touchées et recompilées pour compenser les nouveaux changements.</p><p>Vous voyez que ce système sent la rigidité, c’est comme un effet domino, touchez une carte et affecte toutes les autres cartes en ligne.</p><p>Pour rendre cela conforme à S, nous créons une autre classe qui assumera la responsabilité exclusive de stocker un animal dans une base de données:</p><pre>class Animal {<br>    constructor(name: string){ }<br>    getAnimalName() { }<br>}</pre><pre>class AnimalDB {<br>    getAnimal(a: Animal) { }<br>    saveAnimal(a: Animal) { }<br>}</pre><blockquote>Lors de la conception de nos classes, nous devrions viser à rassembler les fonctionnalités associées. Ainsi, chaque fois qu’elles ont tendance à changer, elles changent pour la même raison. Et nous devrions essayer de séparer les fonctionnalités si elles sont modifiées pour des raisons différentes. (<em>Steve Fenton)</em></blockquote><p>Avec l’application appropriée de ceux-ci, notre application devient hautement cohérente.</p><h3>Principe ouvert-fermé: ‘O’</h3><blockquote>Les entités logicielles (classes, modules, fonctions) doivent pouvoir être étendues et non modifiées.</blockquote><h4>Continuons avec notre cours sur les animaux.</h4><pre>class Animal {<br>    constructor(name: string){ }<br>    getAnimalName() { }<br>}</pre><p>Nous voulons parcourir une liste d’animaux et émettre leurs sons.</p><pre>//...<br>const animals: Array&lt;Animal&gt; = [<br>    new Animal(&#39;lion&#39;),<br>    new Animal(&#39;mouse&#39;)<br>];</pre><pre>function AnimalSound(a: Array&lt;Animal&gt;) {<br>    for(int i = 0; i &lt;= a.length; i++) {<br>        if(a[i].name == &#39;lion&#39;)<br>            return &#39;roar&#39;;<br>        if(a[i].name == &#39;mouse&#39;)<br>            return &#39;squeak&#39;;<br>    }<br>}<br>AnimalSound(animals);</pre><p>La fonction AnimalSound n’est pas conforme au principe d’ouverture-fermeture car elle ne peut pas être fermée contre de nouveaux types d’animaux.</p><p>Si nous ajoutons un nouvel animal, Snake:</p><pre>//...<br>const animals: Array&lt;Animal&gt; = [<br>    new Animal(&#39;lion&#39;),<br>    new Animal(&#39;mouse&#39;),<br>    new Animal(&#39;snake&#39;)<br>]<br>//...</pre><p>Nous devons modifier la fonction AnimalSound:</p><pre>//...<br>function AnimalSound(a: Array&lt;Animal&gt;) {<br>    for(int i = 0; i &lt;= a.length; i++) {<br>        if(a[i].name == &#39;lion&#39;)<br>            return &#39;roar&#39;;<br>        if(a[i].name == &#39;mouse&#39;)<br>            return &#39;squeak&#39;;<br>        if(a[i].name == &#39;snake&#39;)<br>            return &#39;hiss&#39;;<br>    }<br>}</pre><pre>AnimalSound(animals);</pre><p>Vous voyez, pour chaque nouvel animal, une nouvelle logique est ajoutée à la fonction AnimalSound. Ceci est un exemple assez simple. Lorsque votre application devient complexe et de plus en plus complexe, vous verrez que l’ ifinstruction sera répétée dans la AnimalSoundfonction chaque fois qu&#39;un nouvel animal est ajouté, dans toute l&#39;application.</p><p>Comment pouvons-nous le rendre (AnimalSound) conforme à ‘O’?</p><pre>class Animal {<br>        makeSound();<br>        //...<br>}</pre><pre>class Lion extends Animal {<br>    makeSound() {<br>        return &#39;roar&#39;;<br>    }<br>}</pre><pre>class Squirrel extends Animal {<br>    makeSound() {<br>        return &#39;squeak&#39;;<br>    }<br>}<br>class Snake extends Animal {<br>    makeSound() {<br>        return &#39;hiss&#39;;<br>    }<br>}</pre><pre>//...<br>function AnimalSound(a: Array&lt;Animal&gt;) {<br>    for(int i = 0; i &lt;= a.length; i++) {<br>        a[i].makeSound();<br>    }<br>}<br>AnimalSound(animals);</pre><p>Animal a maintenant une méthode virtuelle makeSound. Nous avons chaque animal étendre la classe Animal et implémenter la méthode virtuelle makeSound.</p><p>Chaque animal ajoute sa propre implémentation sur la manière dont il crée un son dans le makeSound. AnimalSound effectue une itération parmi la gamme d’animaux et appelle simplement sa méthode makeSound.</p><p>Maintenant, si nous ajoutons un nouvel animal, AnimalSound n’a pas besoin de changer. Tout ce que nous avons à faire, c’est d’ajouter le nouvel animal à l’éventail d’animaux.</p><p>AnimalSound est maintenant conforme au principe ‘O’.</p><h4>Un autre exemple:</h4><p>Imaginons que vous ayez un magasin et que vous accordiez un rabais de 20% à vos clients préférés utilisant cette classe:</p><pre>class Discount { <br>    giveDiscount () { <br>        return this.price * 0.2 <br>    } <br>}</pre><p>Lorsque vous décidez d’offrir le double de la réduction de 20% aux clients VIP. Vous pouvez modifier la classe comme ceci:</p><pre>class Discount { <br>    giveDiscount () { <br>        if (this.customer == &#39;fav&#39;) { <br>            return this.price * 0.2; <br>        } <br>        if (this.customer == &#39;vip&#39;) { <br>            return this.price * 0.4; <br>        } <br>    } <br>}</pre><p>Mais, cela ne respecte pas le principe ‘O’. Si nous voulons donner un nouveau pourcentage de réduction, peut-être à un diff. type de clients, vous verrez qu’une nouvelle logique sera ajoutée.</p><p>Pour le faire respecter le principe ‘O’, nous allons ajouter une nouvelle classe qui étendra la remise. Dans cette nouvelle classe, nous implémenterions son nouveau comportement:</p><pre>class VIPDiscount: Discount { <br>    getDiscount () { <br>        return super.getDiscount () * 2; <br>    } <br>}</pre><p>Si vous décidez de bénéficier d’une réduction de 80% sur les clients super VIP, voici le résultat</p><pre>class SuperVIPDiscount: VIPDiscount { <br>    getDiscount () { <br>        return super.getDiscount () * 2; <br>    } <br>}</pre><p>Vous voyez, extension sans modification.</p><h3>Principe de substitution de Liskov: ‘L’</h3><blockquote>Une sous-classe doit être substituable à sa super-classe</blockquote><p>L’objectif de ce principe est de vérifier qu’une sous-classe peut prendre la place de sa super-classe sans erreur. Si le code se trouve alors en train de vérifier le type de classe, il doit avoir violé ce principe.</p><p>Utilisons notre exemple animal.</p><pre>//...<br>function AnimalLegCount(a: Array&lt;Animal&gt;) {<br>    for(int i = 0; i &lt;= a.length; i++) {<br>        if(typeof a[i] == Lion)<br>            return LionLegCount(a[i]);<br>        if(typeof a[i] == Mouse)<br>            return MouseLegCount(a[i]);<br>        if(typeof a[i] == Snake)<br>            return SnakeLegCount(a[i]);<br>    }<br>}<br>AnimalLegCount(animals);</pre><p>Cela viole le principe du ‘L’ (et aussi le principe ‘O’). Il doit connaître tous les types d’animaux et appeler la leg-countingfonction associée .</p><p>À chaque nouvelle création d’un animal, la fonction doit être modifiée pour accepter le nouvel animal.</p><pre>//...<br>class Pigeon extends Animal {<br>        <br>}</pre><pre>const animals[]: Array&lt;Animal&gt; = [<br>    //...,<br>    new Pigeon();<br>]</pre><pre>function AnimalLegCount(a: Array&lt;Animal&gt;) {<br>    for(int i = 0; i &lt;= a.length; i++) {<br>        if(typeof a[i] == Lion)<br>            return LionLegCount(a[i]);<br>        if(typeof a[i] == Mouse)<br>            return MouseLegCount(a[i]);<br>         if(typeof a[i] == Snake)<br>            return SnakeLegCount(a[i]);<br>        if(typeof a[i] == Pigeon)<br>            return PigeonLegCount(a[i]);<br>    }<br>}<br>AnimalLegCount(animals);</pre><p>Pour que cette fonction suive le principe de L, nous suivrons les exigences de postulées par Steve Fenton:</p><ul><li>Si la super-classe (Animal) a une méthode qui accepte un paramètre de type super-classe (Animal). Sa sous-classe (Pigeon) devrait accepter comme argument un type de super-classe (type Animal) ou un type de sous-classe (type Pigeon).</li><li>Si la super-classe retourne un type de super-classe (Animal). Sa sous-classe doit renvoyer un type de super-classe (type Animal) ou un type de sous-classe (Pigeon).</li></ul><p>Maintenant, nous pouvons ré-implémenter la fonction AnimalLegCount:</p><pre>function AnimalLegCount(a: Array&lt;Animal&gt;) {<br>    for(let i = 0; i &lt;= a.length; i++) {<br>        a[i].LegCount();<br>    }<br>}<br>AnimalLegCount(animals);</pre><p>La fonction AnimalLegCount se soucie moins du type d’Animal passé, elle appelle simplement la méthode LegCount. Tout ce qu’il sait, c’est que le paramètre doit être de type Animal, soit la classe Animal, soit sa sous-classe.</p><p>La classe Animal doit maintenant implémenter / définir une méthode LegCount:</p><pre>classe Animal { <br>    // ... <br>    LegCount (); <br>}</pre><p>Et ses sous-classes doivent implémenter la méthode LegCount:</p><pre>//...<br>class Lion extends Animal{<br>    //...<br>    LegCount() {<br>        //...<br>    }<br>}<br>//...</pre><p>Lorsqu’il est transmis à la fonction AnimalLegCount, il renvoie le nombre de jambes d’un lion.</p><p>Vous voyez, AnimalLegCount n’a pas besoin de connaître le type d’Animal pour renvoyer le nombre de ses jambes, il appelle simplement la méthode LegCount du type Animal car, par contrat, une sous-classe de la classe Animal doit implémenter la fonction LegCount.</p><h3>Principe de séparation des interfaces: ‘I’ (i)</h3><blockquote>Créer des interfaces spécifiques à chaque type de client.</blockquote><blockquote>Les clients ne doivent pas être obligés de dépendre d’interfaces qu’ils n’utilisent pas.</blockquote><p>Ce principe traite des inconvénients de la mise en œuvre de grandes interfaces.</p><p>Regardons l’interface de forme ci-dessous:</p><pre>interface Shape { <br>    drawCircle (); <br>    drawSquare (); <br>    drawRectangle (); <br>}</pre><p>Cette interface dessine des carrés, des cercles, des rectangles. Les classes Circle, Square ou Rectangle implémentant l’interface Shape doivent définir les méthodes drawCircle (), drawSquare (), drawRectangle ().</p><pre>class Circle implements Shape {<br>    drawCircle(){<br>        //...<br>    }</pre><pre>drawSquare(){<br>        //...<br>    }</pre><pre>drawRectangle(){<br>        //...<br>    }    <br>}</pre><pre>class Square implements Shape {<br>    drawCircle(){<br>        //...<br>    }</pre><pre>drawSquare(){<br>        //...<br>    }</pre><pre>drawRectangle(){<br>        //...<br>    }    <br>}</pre><pre>class Rectangle implements Shape {<br>    drawCircle(){<br>        //...<br>    }</pre><pre>drawSquare(){<br>        //...<br>    }</pre><pre>drawRectangle(){<br>        //...<br>    }    <br>}</pre><p>C’est assez drôle en regardant le code ci-dessus. La classe Rectangle implémente des méthodes (drawCircle et drawSquare) non utilisées, pas plus que Square qui implémente drawCircle, drawRectangle et la classe Circle (drawSquare, drawSquare).</p><p>Si nous ajoutons une autre méthode à l’interface Shape, comme drawTriangle (),</p><pre>interface Shape { <br>    drawCircle (); <br>    drawSquare (); <br>    drawRectangle (); <br>    drawTriangle (); <br>}</pre><p>les classes doivent implémenter la nouvelle méthode sinon l’erreur sera levée.</p><p>Nous voyons qu’il est impossible d’implémenter une forme pouvant dessiner un cercle mais pas un rectangle, un carré ou un triangle. Nous pouvons simplement implémenter les méthodes pour générer une erreur indiquant que l’opération ne peut pas être effectuée.</p><p>‘I’ désapprouve la conception de cette interface Shape. les clients (ici Rectangle, Cercle et Carré) ne doivent pas être obligés de dépendre de méthodes dont ils n’ont pas besoin ou ne sont pas utilisés. En outre, ‘<strong>I</strong>’ indique que les interfaces ne doivent effectuer qu’un seul travail (à l’instar du principe ‘<strong>S</strong>’), tout regroupement supplémentaire de comportement doit être extrait d’une autre interface.</p><p>Ici, notre interface Shape effectue des actions qui doivent être gérées indépendamment par d’autres interfaces.</p><p>Pour rendre notre interface Shape conforme au principe ‘<strong>I</strong>’, nous séparons les actions en différentes interfaces:</p><pre>interface Shape {<br>    draw();<br>}</pre><pre>interface ICircle {<br>    drawCircle();<br>}</pre><pre>interface ISquare {<br>    drawSquare();<br>}</pre><pre>interface IRectangle {<br>    drawRectangle();<br>}</pre><pre>interface ITriangle {<br>    drawTriangle();<br>}</pre><pre>class Circle implements ICircle {<br>    drawCircle() {<br>        //...<br>    }<br>}</pre><pre>class Square implements ISquare {<br>    drawSquare() {<br>        //...<br>    }<br>}</pre><pre>class Rectangle implements IRectangle {<br>    drawRectangle() {<br>        //...<br>    }    <br>}</pre><pre>class Triangle implements ITriangle {<br>    drawTriangle() {<br>        //...<br>    }<br>}<br>class CustomShape implements Shape {<br>   draw(){<br>      //...<br>   }<br>}</pre><p>L’interface ICircle gère uniquement le dessin de cercles, Shape gère le dessin de n’importe quelle forme :), ISquare gère uniquement le dessin de carrés et IRectangle gère le dessin de rectangles.</p><h3>Principe d’inversion de dépendance: ‘D’</h3><blockquote>La dépendance devrait être sur des abstractions et non les données.</blockquote><blockquote>A. Les modules de haut niveau ne doivent pas dépendre de modules de bas niveau. Les deux devraient dépendre d’abstractions.</blockquote><blockquote>B. Les abstractions ne doivent pas dépendre des détails. Les détails devraient dépendre des abstractions.</blockquote><p>Il arrive un moment du développement logiciel où notre application sera en grande partie composée de modules. Lorsque cela se produit, nous devons clarifier les choses en utilisant l’ <em>injection de dépendance</em> . Composants de haut niveau dépendant de composants de bas niveau pour fonctionner.</p><pre>class XMLHttpService extends XMLHttpRequestService {}</pre><pre>class Http { <br>    constructor (private xmlhttpService: XMLHttpService) {} <br>    get (url: string, options: any) { <br>        this.xmlhttpService.request (url, &#39;GET&#39;); <br>    }</pre><pre>post () { <br>        this.xmlhttpService.request (url, &#39;POST&#39;); <br>    } <br>    // ... <br>}</pre><p>Ici, Http est le composant de haut niveau, alors que HttpService est le composant de bas niveau. Cette conception enfreint le ‘<strong>D</strong>’</p><blockquote>A: Les modules de haut niveau ne doivent pas dépendre de modules de bas niveau. Cela devrait dépendre de son abstraction.</blockquote><p>Cette classe Http est obligée de dépendre de la classe XMLHttpService. Si nous devions changer le service de connexion Http, nous voudrions peut-être connecter l’objet Http à Internet via Nodejs ou même Mock. Nous devrons péniblement passer par toutes les instances de Http pour éditer le code, ce qui enfreint le principe ‘<strong>D</strong>’.</p><p>La classe Http devrait se soucier moins du type de service Http que vous utilisez. Nous faisons une interface de connexion:</p><pre>interface Connection { <br>    request (url: string, opts: any); <br>}</pre><p>L’interface Connection a une méthode de requête. Avec cela, nous passons un argument de type Connectionà notre Httpclasse:</p><pre>class Http {<br>    constructor(private httpConnection: Connection) { }</pre><pre>get(url: string , options: any) {<br>        this.httpConnection.request(url,&#39;GET&#39;);<br>    }</pre><pre>post() {<br>        this.httpConnection.request(url,&#39;POST&#39;);<br>    }<br>    //...<br>}</pre><p>Alors maintenant, quel que soit le type de service de connexion Http transmis à Http, celui-ci peut facilement se connecter à un réseau sans se soucier de connaître le type de connexion réseau.</p><p>Nous pouvons maintenant reprendre notre classe XMLHttpService pour implémenter l’interface de connexion:</p><pre>class XMLHttpService implements Connection {<br>    const xhr = new XMLHttpRequest();<br>    //...<br>    request(url: string, opts:any) {<br>        xhr.open();<br>        xhr.send();<br>    }<br>}</pre><p>Nous pouvons créer de nombreux type de Connection Http et le transmettre à notre classe Http sans soucis d&#39;erreurs.</p><pre>class NodeHttpService implements Connection {<br>    request(url: string, opts:any) {<br>        //...<br>    }<br>}</pre><pre>class MockHttpService implements Connection {<br>    request(url: string, opts:any) {<br>        //...<br>    }    <br>}</pre><p>Maintenant, nous pouvons voir que les modules de haut niveau et les modules de bas niveau dépendent d’abstractions. HttpLa classe (module de haut niveau) dépend à son tour de l&#39;interface Connection (abstraction) et les types de service Http (modules de bas niveau) dépendent de l&#39;interface Connection (abstraction).</p><p>En outre, ‘<strong>D</strong>’ nous force à ne pas violer le principe de substitution de <strong>L</strong>iskov: Les types Connection : Node- XML- MockHttpServicesont substituables pour leur type de parent Connection.</p><h3>Conclusion</h3><p>Nous avons couvert les cinq principes que chaque développeur de logiciel doit respecter ici. Au début, il peut être difficile de se conformer à tous ces principes, mais avec une pratique et une adhésion constante, il deviendra une partie intégrante de nous et aura un impact considérable sur la maintenance de nos applications.</p><p>Si vous avez des questions à ce sujet ou sur quelque chose que je devrais ajouter, corriger ou supprimer, n’hésitez pas à commenter l’article ci-dessous (<a href="https://medium.com/u/a1ee806e09de">Chidume Nnamdi</a>) [<em>Mais en Anglais je suppose, </em><a href="https://medium.com/u/e6b3d85404d7"><em>Pascal Kotté</em></a>]</p><p><a href="https://blog.bitsrc.io/solid-principles-every-developer-should-know-b3bfa96bb688">SOLID Principles every Developer Should Know</a></p><p><a href="https://medium.com/u/e6b3d85404d7">Pascal Kotté</a>: J’ai partagé cet article, dans ce blog DEV-Design, car les principes SOLID ne sont pas intrinsèques aux supports et documentations des outils et languages de programmation, alors que c’est un concept fondamentalement important pour tout développeur, qui veut passer ‘PRO’ !</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bd999bb9c901" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/solid-et-solid-tout-dev-doit-savoir-bd999bb9c901">SOLID, et Solid, tout DEV doit savoir !</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Github acquis par Microsoft]]></title>
            <link>https://medium.com/dev-design-ch-fr/github-acquis-par-microsoft-aa78da54b594?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/aa78da54b594</guid>
            <category><![CDATA[github]]></category>
            <category><![CDATA[en-français]]></category>
            <category><![CDATA[gafam]]></category>
            <category><![CDATA[microsoft]]></category>
            <category><![CDATA[korben]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Mon, 04 Jun 2018 15:57:58 GMT</pubDate>
            <atom:updated>2021-01-13T12:29:31.542Z</atom:updated>
            <cc:license>http://creativecommons.org/licenses/by/4.0/</cc:license>
            <content:encoded><![CDATA[<h4>Panique chez les développeurs?</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*njx_nq9j5feIFzEW1YclYQ.jpeg" /><figcaption><em>Relooking du logo Microsoft avec l’octocat de Github </em><a href="https://medium.com/u/e6b3d85404d7"><em>Pascal Kotté</em></a><em> (CC-BY, tu peux reprendre et utiliser en citant cet article)</em></figcaption></figure><h4>Mais cela va bien, où est le problème?</h4><p>Certes, Microsoft n’est pas du genre à faire des cadeaux, et il est possible que les prix montent un peu, ou que certains services disparaissent, et réapparaissent dans les modules payants…</p><p>Cela s’est déjà vu :</p><p><a href="https://medium.com/cloudready-ch/pourquoi-donc-microsoft-est-il-en-train-de-massacrer-linkedin-c2cc2f6242be">http://Linkedin.kotte.net</a></p><p>Bon, du coup, on est en droit de s’inquiéter un peu, quand même!</p><p><a href="https://medium.com/cloudready-ch/pourquoi-donc-microsoft-est-il-en-train-de-massacrer-linkedin-c2cc2f6242be">Pourquoi donc Microsoft est-il en train de massacrer LinkedIn?</a></p><h4>La fin du libre ?</h4><p>Pour ceux qui pensaient que Github était une sympathique équipe de libristes débonnaires, et qui était très attachée à la communauté du <em>libre</em>, et bien il était temps de redescendre de votre petit nuage, pour se rapprocher de la réalité. <em>(PS. moi aussi, je suis sur un nuage, dans ma bulle de pseudo-réalité).</em></p><p>Bon alors, non, c’était une boîte commerciale, privée, financière, sous gouvernance spéculative, comme bien d’autres, un digne membre de notre bien-aimé système capitaliste… <strong>Donc, achetable</strong>…</p><blockquote>Et j’ai appris qu’aux USA, tu peux même te faire racheter alors que tu ne veux pas! (OPA et trucs de ce genre? C’est des malades que je dis!)</blockquote><h4>Microsoft et le libre!</h4><p>Quand à Microsoft, ils ont déjà intégré un <a href="https://www.tomshardware.fr/articles/linux-ubuntu-windows10,1-59163.html">noyau Ubuntu dans Windows 10</a>, et collabore avec le monde du libre… <em>La Liberté copule avec la bête</em>… Qui sait, si dans le futur, Microsoft ne sera pas le plus fiable allié des libristes.</p><blockquote>Mais pour le moment, non !</blockquote><p>Alors, si vous voulez un espace pour partager du Code, libéré, c’est ici</p><p><a href="https://framagit.org/public/projects">Projects · Explore</a></p><h4>Et si vous êtes éducation ou Open Source, Gitlab est devenu gratuit</h4><p>De plus il est possible avec eux de basculer pour s’auto-héberger le sien. <em>(Comme avec </em><a href="https://gitea.io/en-us/"><em>Gitea</em></a><em> en ‘self-hosting’, qui utilise aussi la </em><a href="https://fr.wikipedia.org/wiki/Git"><em>forge Git</em></a><em>).</em></p><p><a href="https://about.gitlab.com/2018/06/05/gitlab-ultimate-and-gold-free-for-education-and-open-source/">GitLab Ultimate and Gold now free for education and open source</a></p><blockquote>Merci pour le tuyau <a href="https://medium.com/u/2a3bb8741d6c">Rafael Munoz</a></blockquote><h4>Et Github ?</h4><p>Ben tu continus de l’utiliser, mais tu t’assures d’avoir tes <em>replica </em>sur tes machines, des fois MiGroSoft, il te donne 30 jours avant de faire sauter un feature (<em>comme par exemple, rendre payant la fonction de réplication locale</em>).</p><blockquote>Et tu te fais 1 backup sur <a href="https://framagit.org/public/projects">Framagit</a> aussi… Mange pas de pain.</blockquote><p>Mais sinon, et pour le moment, no panic, ils vont pas vous manger Microsoft, les 28 millions de développeurs. (<em>J</em><a href="https://github.com/Pascal-KOTTE"><em>’y suis présent</em></a><em>, je n’en suis plus un depuis plus de 25 ans, mais cela me permet de tracker et pister les autres DEV, grâce à Github, chut... Combien de non DEV ou autres doublons ou dormant sur ces 28 Millions ? Je parie au moins 20% à jeter, mais il en restera bien assez ;-)</em></p><p><a href="http://www.lefigaro.fr/secteur/high-tech/2018/06/04/32001-20180604ARTFIG00160-microsoft-va-racheter-la-plateforme-github.php">Microsoft rachète la plateforme GitHub pour 7,5 milliards de dollars</a></p><blockquote>Cela fait de l’ordre de 250$ par profil ! Mieux que Linkedin plus de 50$, et mieux que Whatsapp vers 40$ par profil.</blockquote><p>En fait, la seule crainte de Microsoft, c’est que vous abandonniez leurs usines à gaz, pour aller voir du côté de <a href="https://serverless.com/aws-lambda/">Amazon Lambda</a>, ou <a href="https://cloud.google.com/appengine">Google Engine</a>, si ce n’est pas plus facile. (<em>Et cela l’est… Mais c’est pire piège que chez Microsoft encore, presque... Là pour de bon, tu perds toutes libertés, </em><strong><em>total captif</em></strong>).</p><blockquote>Enfin, Microsoft fait aussi sa version de Lambda avec Fabric!</blockquote><p>Alors Microsoft, il fait des efforts pour se reconnecter à sa base historique, les codeurs! Mais la plupart sont aussi passés dans le camps des libristes, car dans l’économie contributive, les forgeurs de codes privés et privatifs, n’ont pas gagné. Peu le savent, mais le Cloud se fait avec du libre. Et si Google est passé loin devant Microsoft, c’est en utilisant les outils open source du libre. <em>Même s’ils n’ont pas rendu libre pour autant les trucs jugés sensibles chez eux. Mais dans une culture de la compétition, n’est-ce pas normal?</em></p><blockquote>Même Android sur ton mobile, c’est fait avec du libre! A la base… Même si cela a été vachement compromis: <a href="https://www.androidpit.fr/android-est-il-aussi-libre-que-l-on-peut-le-penser">https://www.androidpit.fr/android-est-il-aussi-libre-que-l-on-peut-le-penser</a></blockquote><h4>Microsoft veut flirter avec la liberté!</h4><p>Donc Microsoft a racheté Github pour se rapprocher du monde des libristes! Et c’est tant mieux. Maintenant votre mission “les libristes”, ne laissez pas Microsoft vous imposer des trucs inacceptables, comme ces enf — s ont fait avec <a href="http://linkedin.kotte.net/">Linkedin</a>.</p><h4>Ou nous fliquer plus profond?</h4><p>Ce qui m’emm — e un peu plus, c’est tous les accès et connaissances des services tiers que Github va lui offrir sur un plateau, avec son SSO intégré utilisé par nombre de DEV (<em>dont moi</em>). En un seul rachat, Microsoft saura tout ce que je ne lui avais pas encore révélé sur mes activités, services tiers, hors LinkedIn et Office365, qui étaient associés à un login via Github. C’est tout bénef pour un big data bien profond, bien rempli, bien utile…</p><blockquote>Merde, pourvu que leur <a href="http://ia.kotte.net/">singularité</a> à venir sera bienveillante pour les humains.</blockquote><h4>Et suite à la “lecture audio” de l’émission de FranceCulture (ci-après)</h4><p>Microsoft va pouvoir accéder à la totalité des codes “privés”, posés sur Github!</p><blockquote>C’est un pu — in d’espionnage industriel de OUF!</blockquote><p>J’avais oublié qu’une partie des codes stockés sur Github n’étaient pas Open! En fait, c’est le modèle payant de Github (<em>donc je le savais, crétin de moi!</em>). <strong>Question</strong>: Est-ce qu’un passphrase privé avec un cryptage privé protège bien les codes? Hum j’ai regardé, mais si je peux bien faire du PGP, c’est visiblement uniquement pour signer mes codes, pas pour chiffrer… Le SSH proposé, c’est pour coder la lecture et l’écriture du code. Mais est-ce stocké crypté, ou pas? Si les codes privés ne sont pas chiffrés par ses propriétaires avec un passphrase perso <em>(qu’il faut espérer non capturé par Github)</em>, alors c’est mort. Microsoft peut accéder à 80 millions de codes sources ? Miam, de quoi alimenter de belles IA pour faire du very Deep learning! Et faciliter l’espionnage et récupération des meilleurs codes, et développeurs …</p><p>Pas besoin de s’approprier et outrepasser les droits de propriété, pour aller jeter un œil, cela ne se verra guère… Pratique le Cloud non libre!</p><blockquote>Mais Pascal, tu vois le mal partout, pourquoi ils feraient cela Microsoft?</blockquote><p>Simplement car ils en ont désormais le pouvoir, et que cela peut leur rapporter gros!</p><blockquote>Remerde, pourvu que leur <a href="http://ia.kotte.net/">singularité</a> à venir soit vraiment bienveillante!</blockquote><p>Ah, je viens de trouver l’article de <a href="https://medium.com/u/acec1316a375">Manuel Dorne (Korben)</a>! <em>T’as perdu ta rédac? Arf, désolé de rire, cela m’est tellement arrivé, surtout dans des commentaires web</em>, <em>timeout, exit plus de texte… Et c’est toujours quand j’ai oublié de faire ctrl-C, que je fais presque toujours avant OK, bo — del de </em><a href="https://fr.wikipedia.org/wiki/Loi_de_Murphy"><em>Murphy de LEM</em></a><em>!</em> <em>Désolé de sourire Korben, utilises Medium, c’est auto-backup ;-)</em></p><p><a href="https://korben.info/petit-point-sur-le-rachat-de-github-par-microsoft.html">Petit point sur le rachat de Github par Microsoft</a></p><blockquote>Bon, au moins on concorde pas trop mal ! C’est signe que mon petit nuage d’illusion de perception de ma réalité ne doit pas être trop mal positionné. Mais <a href="https://medium.com/u/acec1316a375">Manuel Dorne (Korben)</a> tu as éludé cette histoire de SSO, et je pense que cela pèse son poids dans les 7.5 milliards investis ! Et toi qui maîtrise bien plus que moi, c’est crypté ou pas les repository privés ? Avec un passphrase inconnu de Github ?</blockquote><h3>Allez plus loin:</h3><h4>Audio: <strong>Pierre-Yves Gosset (Framasoft), Bernard Ourghanlian (Microsoft), Amaëlle Guiton</strong></h4><p><a href="https://www.franceculture.fr/emissions/du-grain-a-moudre/que-reste-t-il-du-logiciel-libre">Que reste-t-il du logiciel libre ?</a></p><h4>Articles:</h4><p><a href="https://www.latribune.fr/technos-medias/internet/pourquoi-le-rachat-de-github-par-microsoft-pour-7-5-milliards-de-dollars-choque-internet-780682.html">Pourquoi le rachat de GitHub par Microsoft pour 7,5 milliards de dollars choque Internet</a></p><p><strong><em>Avec ma réponse</em></strong>: Ce n’est pas la destruction d’un symbole du logiciel libre, Github n’en est pas un symbole, car il n’a jamais été libre! Il a été un soutien aux logiciels libres, car son modèle offrait la gratuité aux libristes, et faisait payer les dépôt privés. Mais comme l’indique <em>JeanSorny</em> dans son commentaire, gratuit ne veut pas dire libre. Tout comme “libre” ne veut pas dire que cela ne coûte rien non plus, même si le logiciel lui-même n’est pas payé. Et en échange d’un stockage “gratuit”, Github s’est offert la connaissance et la connexion de 28 millions de développeurs, pour permettre de se faire racheter 7.5 Milliards, avec une valorisation à 250 millions en 2005? Et en accusant des pertes depuis 2016? Donc, ce service n’a finalement jamais été “offert” gratuitement aux libristes, mais en échange de leur données, à savoir, leurs contributions et l’évaluation de leurs propres valeurs et capacités en tant que développeurs. Une bien belle valorisation pour un service “gratuit”!</p><p>Ce n’est pas non plus une reconversion de Microsoft dans le monde du libre, au mieux, ils copieront le modèle de Google, utiliser le libre, et s’en mettre plein les poches! Pour résumer une stratégie bien rodée… Le contrôle des données, mais surtout des applications qui contrôle les flux de ces données, afin de s’approprier, ou séduire le monde des développeurs!</p><p>Et je ne serai pas étonné de voir apparaître dans les années à venir, de magnifiques facilités et offres commerciales, d’outils de transport et mise en test immédiatement facilité des codes Github, vers Azure!</p><p>Les véritables compétiteurs de Microsoft, ce ne sont pas (<em>plus, et/ou pas encore</em>) les libristes, mais Amazon et Google! (+<em>Apple et Facebook</em>)<br> —</p><ul><li><a href="http://www.liberation.fr/futurs/2018/06/05/microsoft-se-paye-un-geant-du-logiciel-libre_1656800">Microsoft se paye un géant du logiciel libre</a></li><li><a href="https://www.journaldugeek.com/2018/06/04/microsoft-aurait-rachete-github-provoque-linquietude-chez-developpeurs/">Microsoft aurait racheté GitHub et provoque l&#39;inquiétude chez les développeurs | Journal du Geek</a></li><li><a href="http://www.lefigaro.fr/secteur/high-tech/2018/06/04/32001-20180604ARTFIG00160-microsoft-va-racheter-la-plateforme-github.php">Microsoft rachète la plateforme GitHub pour 7,5 milliards de dollars</a></li></ul><h4>Réactions:</h4><ul><li><a href="http://alterlibriste.free.fr/index.php?post/2018/06/18/Que-reste-t-il-du-logiciel-libre-Nous-%21">Que reste-t-il du logiciel libre ? Nous !</a></li><li><a href="https://korben.info/petit-point-sur-le-rachat-de-github-par-microsoft.html">Petit point sur le rachat de Github par Microsoft</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=aa78da54b594" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/github-acquis-par-microsoft-aa78da54b594">Github acquis par Microsoft</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[20 Juin 2018- Talk Démocratie(s)]]></title>
            <link>https://medium.com/dev-design-ch-fr/20-juin-2018-talk-d%C3%A9mocratie-s-c733057bec06?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/c733057bec06</guid>
            <category><![CDATA[en-français]]></category>
            <category><![CDATA[docamp-event]]></category>
            <category><![CDATA[democratie]]></category>
            <category><![CDATA[datagueule]]></category>
            <category><![CDATA[datajournalisme]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Thu, 31 May 2018 20:59:17 GMT</pubDate>
            <atom:updated>2018-05-31T20:59:17.097Z</atom:updated>
            <cc:license>http://creativecommons.org/licenses/by/4.0/</cc:license>
            <content:encoded><![CDATA[<h4>Et si la Démocratie devenait possible avec le digital ?</h4><h4>Un regard croisé sur nos démocraties, France + Suisse, à Genève</h4><p>Avec les 3 auteurs: 17h HEG: Projection + Débat 19h + Causeries 21h Seedspace La Chevillarde.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SuIMIfox-5g5UjJwKb9DqA.jpeg" /><figcaption>Image ThinkerView (YouTube)</figcaption></figure><h4>Big event #Datagueule le 20 juin à Genève</h4><blockquote>En recherche de bénévoles et Sponsors: <a href="http://hl.datagueule.ch/">http://HL.datagueule.ch</a></blockquote><p>Les 3 auteurs de #Datagueule viennent à Genève le 20 juin pour causer Démocratie(s), avec un double Regard France+Suisse sur nos démocraties, et participations collectives :</p><ul><li>Pour <strong><em>proposer ses questions</em></strong>: <a href="http://question.datagueule.ch/">http://question.datagueule.ch</a></li><li>Pour <strong><em>rejoindre les discussions</em></strong> avant et après <a href="http://forum.datagueule.ch/">http://forum.datagueule.ch</a></li></ul><p>On recherche des bénévoles, des relais Media, des supporters, et des sponsors</p><p><a href="http://sponsor.datagueule.ch/">http://sponsor.datagueule.ch</a> pour afficher votre soutien (apolitique) à la Démocratie et la gouvernance partagée, avec aussi des outils numériques pour soutenir transparence et gouvernance publique !</p><blockquote>Et si la Démocratie devenait possible avec le digital ?</blockquote><p><a href="http://www.heroslocaux.ch/">HerosLocaux</a>, <a href="http://www.wecollect.ch/">WeCollect</a>, <a href="http://captainfact.io/">Captainfact</a> et <a href="http://responsibility.digital/">Responsibility.digital</a>, mais aussi <a href="https://medium.com/datagueule/exodus-play-store-6b30630aa0e9">Exodus Play Store</a>, <a href="https://medium.com/datagueule/champions-d6749d6a6d61">Magnifico Reader</a>, <a href="http://framavox.org/">FramaVox</a>… Et tous ces services, c’est du <a href="http://www.tech4good.ch/">Tech4Good</a> ! (<em>Tech for good</em>)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c733057bec06" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/20-juin-2018-talk-d%C3%A9mocratie-s-c733057bec06">20 Juin 2018- Talk Démocratie(s)</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[13 avril 2018 @ OpenGeneva]]></title>
            <link>https://medium.com/dev-design-ch-fr/13-avril-2018-opengeneva-97e468f3289d?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/97e468f3289d</guid>
            <category><![CDATA[dr20180413]]></category>
            <category><![CDATA[docamp-event]]></category>
            <category><![CDATA[suisse]]></category>
            <category><![CDATA[hackathons]]></category>
            <category><![CDATA[battelle]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Tue, 20 Mar 2018 09:38:57 GMT</pubDate>
            <atom:updated>2018-03-21T22:33:56.128Z</atom:updated>
            <cc:license>http://creativecommons.org/licenses/by/4.0/</cc:license>
            <content:encoded><![CDATA[<h4>9h-19h à BATTELLE, au CUI de l’UNIGE</h4><h3>Manque de confiance dans le monde numérique ?</h3><h4>Redonner aux consommateurs les moyens de choisir.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/212/1*f6SvwFz_4SqR3DOBYKA5TA.jpeg" /></figure><blockquote>Est-ce aux fournisseurs d’imposer leurs conditions ? Ou aux consommateurs de réclamer leur desiderata, sans devoir aveuglément accepter !</blockquote><h4>Quelques pistes :</h4><ul><li>Rendre visible les abus de confiance des services numériques !</li><li>Donner aux consommateurs les moyens de choisir des services numériques de confiance</li><li>Reprendre le contrôle de mes données et services numériques !</li><li>Mieux comprendre les usages, et débordements dans le monde numérique.</li></ul><blockquote>C’est possible !!</blockquote><h4>Inscription via le Meetup:</h4><p><a href="https://www.meetup.com/fr-FR/tech4goodLIN/events/247810698/">Responsibility.Digital pour afficher enfin la couleur des termes et conditions!</a></p><h3>+infos ?</h3><h4>Appel à participants et sponsors (relais media et blogs)</h4><p><a href="https://1drv.ms/w/s!As9QX_6wVqXSiYcmebJbzFyb7MIBPg">Flyer OpenGeneva.docx</a></p><h4>Tu veux savoir comment cela va se passer ?</h4><p>Tu peux nous rejoindre sur les 2 séances de préparation, CUI à BATTELLE (Genève)</p><ul><li>26 Mars 9h30, salle 432</li><li>2 avril, 9h30, salle 432</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=97e468f3289d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/13-avril-2018-opengeneva-97e468f3289d">13 avril 2018 @ OpenGeneva</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[2+3 déc. Mobile Hack Geneva 2017]]></title>
            <link>https://medium.com/dev-design-ch-fr/2-3-d%C3%A9c-mobile-hack-geneva-2017-fa680d4653d0?source=rss----9538d87011d1---4</link>
            <guid isPermaLink="false">https://medium.com/p/fa680d4653d0</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[geneva]]></category>
            <category><![CDATA[en-français]]></category>
            <category><![CDATA[docamp-event]]></category>
            <category><![CDATA[hackathons]]></category>
            <dc:creator><![CDATA[PaKo + IA — neurones bio & silicium (Pascal Kotté)]]></dc:creator>
            <pubDate>Tue, 21 Nov 2017 07:01:01 GMT</pubDate>
            <atom:updated>2017-11-21T07:01:01.088Z</atom:updated>
            <content:encoded><![CDATA[<h4>Organisé par le <a href="https://www.seedspace.co/geneva-switzerland/">SeedSpace Geneva</a></h4><ul><li>Thème PRESSE !</li><li>Langue Frenglish</li><li>Participants: “Créatifs, Innovateurs, codeurs, designers, et Journalistes !”</li></ul><p>Ce sera à La Praille.</p><h4>J’animerai la partie “Bot” de ce triple atelier !</h4><ol><li>NEWS INTERACTIONS</li><li>THINK MOBILE FIRST !</li><li>NEWS BOTS (Avec <a href="https://medium.com/u/e6b3d85404d7">Pascal Kotté</a>)</li></ol><h4>Voici l’annonce sur Do-camp:</h4><p><a href="http://mailchi.mp/e1492b008846/do-camp-battelle-responsibilitydigital-67-octobre-2017-cercle-339557">SeedSpace Geneva Mobile Hack Geneva 2017, 2-3 décembre</a></p><p><a href="http://mailchi.mp/e1492b008846/do-camp-battelle-responsibilitydigital-67-octobre-2017-cercle-339557">http://mailchi.mp/e1492b008846/do-camp-battelle-responsibilitydigital-67-octobre-2017-cercle-339557</a></p><p>Et le site d’info de SeedSpace</p><p><a href="https://www.seedspace.co/mobile-hack-geneva/">Mobile Hack Geneva 2017 - Coworking and Coliving community | seedspace</a></p><p>Inscription:</p><p><a href="https://roxaneregnier.typeform.com/to/DmzAM2">Mobile Hack Geneva 2017 - Application Form</a></p><h3>Le groupe ESH Médias</h3><p><a href="http://www.eshmedias.ch/arcinfo/">Arcinfo - ESH Médias, ESH Management SA, Le Nouvelliste, L&#39;Express, L&#39;Impartial et La Côte</a></p><h4>Sites INTERNET</h4><ul><li><a href="http://www.eshmedias.ch/sites-internet/arcinfo-ch/">Arcinfo.ch</a></li><li><a href="http://www.eshmedias.ch/sites-internet/la-cote-ch/">La Côte.ch</a></li><li><a href="http://www.eshmedias.ch/sites-internet/le-nouvelliste-ch/">Le Nouvelliste.ch</a></li><li><a href="http://www.eshmedias.ch/sites-internet/realdeals-ch/">Realdeals.ch</a></li><li><a href="http://www.eshmedias.ch/sites-internet/jobeo-ch/">Jobeo.ch</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/200/0*iWtMah28WMh_NQyn.png" /></figure><h4>Applications mobiles</h4><ul><li><a href="http://www.eshmedias.ch/arcinfo/">Arcinfo</a></li><li><a href="http://www.eshmedias.ch/lacote/">La Côte</a></li><li><a href="http://www.eshmedias.ch/le-nouvelliste/">Le Nouvelliste</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/572/1*UjG2oXeOa4NyhrYArMwrGQ.png" /></figure><h3>Et encore des journeaux papiers…</h3><p>Cela existe toujours !</p><ul><li><a href="http://www.eshmedias.ch/journaux/lexpress/">L’Express</a></li><li><a href="http://www.eshmedias.ch/journaux/limpartial/">L’Impartial</a></li><li><a href="http://www.eshmedias.ch/journaux/le-nouvelliste/">Le Nouvelliste</a></li><li><a href="http://www.eshmedias.ch/journaux/la-cote/">La Côte</a></li><li><a href="http://www.eshmedias.ch/journaux/journal-de-cossonay/">Journal de Cossonay</a></li><li><a href="http://www.eshmedias.ch/journaux/a-plus/">a+</a></li><li><a href="http://www.eshmedias.ch/journaux/arc-hebdo/">Arc Hebdo</a></li><li><a href="http://www.eshmedias.ch/journaux/la-gazette/">La Gazette</a></li><li><a href="http://www.eshmedias.ch/journaux/le-journal-de-sierre/">Le Journal de Sierre</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fa680d4653d0" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dev-design-ch-fr/2-3-d%C3%A9c-mobile-hack-geneva-2017-fa680d4653d0">2+3 déc. Mobile Hack Geneva 2017</a> was originally published in <a href="https://medium.com/dev-design-ch-fr">DEV Design CH-FR</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>