Les algorithmes nous contrôlent-ils ?

Aujourd’hui on va parler des algorithmes, le buzzword du moment!

Quand le moteur de recherche Google te propose des résultat de recherche, c’est en fait un algorithme qui va décider des résultats qui te seront présentés et leur classement.

Quand Netflix te conseille une série, c’est pareil, c’est un algorithme qui va te faire ces suggestions.

Les news qui vont apparaître sur ton fil d’actualité et leur ordre, c’est aussi un algorithme. Pareil pour l’ordre des photos et des stories sur Intagram, là aussi c’est un algorithme qui organise tout ça.

Le pouvoir des algorithmes est d’autant plus important que le numérique fait partie intégrante de notre vie (smartphone, les objets connecté, service en ligne, applications, etc). Et quand tu regardes un peu ce qu’en pense les médias c’est encore plus anxiogène. Tu as juste l’impression d’être l’esclaves des algorithmes, qu’on a perdu notre libre arbitre qu’ils nous lavent le cerveau.

Alors, Les algorithmes nous contrôlent-ils tous?  Je fais cette vidéo pour un peu demystifier tout ça justement. Qu’est ce qu’il y a derrière les algorithmes, tout ce que vous devez savoir sur le sujet et savoir quels sont les vrais enjeux des algorithmes et leur réel pouvoir.

 

Déjà voyons ce qu’est un algorithme : un algorithme, c’est tout simplement une suite d’instructions permettant de résoudre un problème. Et ces instructions doivent pouvoir être applicable mécaniquement, sans réfléchir, pour arriver à un résultat.

 

Les premiers algorithmes auquels on pense ce sont forcément les algorithmes mathematiques. Rappelez vous en primaire… La fameuse division euclidienne pour trouver le plus grand commun diviseur. Vous avez dû apprendre cet algorithme pour arriver à trouver le plus grand commun diviseur entre 2 nombres entiers.

M’enfin, au dela des mathématiques, il y a bien plus simple comme algorithme dans la vie de tous les jours,

Lorsque vous suivez une recette de cuisine pour faire un gateau. Si vous suivez bien la recette avec les bon ingrédients, à la fin le resultat c’est le gâteau. La recette c’est en fait un algorithme avec une suite d’instructions à éxécuter étape par étape pour faire ce gâteau. 

Transposé à l’informatique, les algorithmes permettent tout simplement de dire à un programme informatique tout ce qu’il doit faire. Les concepteurs de programmes informatiques vont définir dans l’algorithme une suite d’opérations logiques pour un arriver à un résultat voulu. Tout ça sera ensuite codé dans un langage informatique adapté pour pouvoir être appliqué automatiquement par le programme informatique.

 

Ce sont les algorithmes qui définissent les actions des bots. Ce sont les algorithme qui vont décrire les tâches spécifiques que doivent réaliser ces programme informatique. Par exemple, les algorithme sont derrière les moteur de recherche, les fameux bot twitter qui font des actions spécifiques comme retweeter ou liker un mot clé spécifiques défini, et ce sont les algorithmes qui sont derrière l’intelligence des chatbot comme ceux sur messenger ou bien même les assistants vocaux comme Siri ou Alexa.

Evidemment, il y a quand même une grosse différence entre l’algorithme simple du bot twitter qui fait que retweeter bêtement ce qu’on lui a dit  aux algorithmes de facebook, netflix ou amazon qui sont capable de s’adapter aux consommateurs.

Cette différence c’est ce qu’on appelle le machine learning.

Le machine learning c’est en gros quand l’algorithme va utiliser vos données pour apprendre et faire des actions plus efficaces. Les algorithmes ne sont maintenant plus seulement les instructions de base programmées par un développeur. Ils sont capable d’apprendre.  La machine peut générer de nouvelles instructions en apprenant à partir à la masse de  données qui lui sont fournies.  Ces données sont notamment des données personnelles que vous leur fournissez sur vous

Et c’est comme ça que les algorithmes semblent parfois bien connaître nos goûts, nos envies et nos besoins.  Et là vous pensez aux suggestions d’Amazon qui des fois sont vraiment bluffantes car c’est ce que vous vouliez, la playlist spotify qui vous ait proposé et qui correspondent bien à vos goûts

 

je vais vous prendre un exemple sympa.

L’objectif  de netflix c’est de vous faire rester le plus longtemps sur sa plateforme parce que c’est l’abonnement qui va rémunérer netflix. Du coup, pour que vous restiez sur la plateforme le but c’est que vous consommiez toujours plus de contenu.

La mission de l’algorithme c’est de faire en sorte que vous consommiez toujours plus de contenu

C’est pour ça que l’algorithme doit apprendre à connaitre vos goûts pour vous pousser vers les séries ou films susceptibles de vous faire continuer à regarder plus.

Saviez vous que Netflix va jusqu’à personnaliser les vignettes des series en fonction des données que netflix possède sur vous.

Cela a été fait avec Stranger things :

L’algorithme Netflix est capable de « prédire la probabilité que vous cliquiez sur un contenu en fonction d’une image donnée » et la vignette avec la plus forte probabilité de vous faire cliquer sera affichée par l’algorithme Netflix. C’est comme ça que Netflix arrive à vous faire regarder le plus de série possible

Que ce soit Instagram, Facebook, Amazon, Youtube, aujourd’hui ces algorithmes complexes ont besoin de données sur vous pour être plus performant. Un des éléments clés à retenir c’est que sans vos données personnelles, ces algorithmes ne seraient pas aussi puissants. D’où l’importance de bien maitriser ses données personnelles en ligne.

En tout cas, avec le machine learning, on entre dans la notion d’intelligence articielle. On parle de machine learning pour désigner la capacité d’une machine à apprendre et donc évoluer.

La machine acquiert alors  de nouvelles connaissances qu’on ne lui avait pas programmés au départ. La machine apprend, s’améliorer et ‘évoluer d’elle même grâce à de nouvelles données. C’est pour cela qu’on parle d’intelligence artificielle.

 

Avec ce que l’on vient de voir, on peut constater une chose : ces algorithme ne sont pas NEUTRE. et c’est important de le prendre en compte. Ils ont été conçus et codé par des développeurs qui leur a transmis une façon de fonctionner et un objectif à atteindre que ce soit les news sur fil d’actualité sur facebook, l’exemple des résultats de recherches Google, l’ordre des stories et photo sur Instagram, etc

On a l’impression que c’est objectif mais il est important de retenir que ce des gens qui derrière tout ça on mis en place des critères de classement en fonction de leurs objectifs et de ses préjugés, de contraintes. Quand on parle d’algorithme on a l’impression que c’est neutre. Alros que cela peut masquer des convictions politiques, des objectifs financiers, des stratégies d’entreprises, etc. D’ailleurs les GAFA restent très discret sur le fonctionnement des algorithmes. et comme on l’a vu dans la vidéo c’est parce qu’il y a de réels enjeux derrière.

C’est important d’avoir du recul sur l’action des algorithmes et de savoir qu’ils ne sont pas neutre pourempêcher que les GAFA et des entreprises du numérique de  transférer leur responsabilité sur les algorithmes. Lorsque facebook a été utilisé ou plutot leur algorithme détourné pour propager des fake news notamment pour les élections américaines de 2016, c’est de la faute de facebook, l’algorithme c’est juste l’épouvantail. Facebook a une responsabilité de l’utilisation de sa plateforme et de ce qui en est fait (et là je vous parle meme pas des données). 

Les gens qui ont reussi à hacker ont détourné l’algorithme à leur avantages pour diffuser des fake news. C’est à Facebook d’en assumer la responsabilité, ils sont responsable de leur algorithme. 

 

Le DNS pour les nuls

Sur Internet, quand vous voulez accéder à un site web via votre navigateur, on va utiliser ce que l’on appelle un nom de domaine, par exemple cookieconnecté.fr, Wikipedia.org, Youtube.com …

Bref, c’est l’adresse du site web que vous tapez sur votre navigateur.

Dans la réalité, votre navigateur, lui il va avoir besoin de l’adresse IP du serveur sur lequel est hebergé votre site web. Par exemple 194.153.205.26

L’adresse IP est un numéro d’identification qui est attribué  à chaque appareil connecté à un réseau informatique utilisant l’Internet Protocol (d’ailleurs le IP c’est pour Internet Protocol). En gros, ca veut dire que chaque ordinateur connecté à internet possède une adresse IP.

Sauf que vous l’avez compris ce serait un peu compliqué pour nous de retenir ces adresses IP. Et c’est là qu’intervient le DNS (Domain Name System) qui va “traduire” ces noms de domaines en adresses IP. La résolution de noms de domaines, c’est la corrélation entre les adresses IP et le nom de domaine associé.

Les serveur DNS sont tout simplement des serveurs qui font la correspondance entre les adresses IP et les noms de domaine associés.

 

Maintenant, voyons comment tout ça marche un peu plus dans le détail. Je vais vous expliquer maintenant à la notion de Hiérarchie  DNS

Le système des noms de domaine est en fait une hiérarchie dont le sommet est appelé la racine. On représente cette dernière par un point “.” pour info ce point n’apparait pas dans les addresses de site web qu’on utilise sur Internet mais c’est bien le plus haut niveau.

Les domaines se trouvant immédiatement sous la racine sont appelés domaine de premier niveau “.fr”, .com, .org, etc (ou top domain level en français)

Dans un nom de domaine, les domaines successifs sont séparés par un point, les noms de domaines supérieurs étant à droite. Le domaine wikipedia.org. est un sous-domaine de .org. et vous l’avez compris fr.wikipedia.org est un sous domaine de fr.wikipedia.org

Il est possible d’avoir plusieurs sous-domaines ainsi qu’une délégation, c’est-à-dire une indication que les informations de ce sous-domaine sont enregistrées sur un autre serveur.

On peut voir fr.wikipedia.org comme un sous domaine hébergé sur un serveur spécifique par exemple et de.wikipedia.com sur un autre serveur spécifique

La résolution des noms de domaines est réalisée en parcourant la hiérarchie depuis le sommet et en suivant les délégations successives.

 

Voyons maintenant comment se passe la résolution du nom de domaine avec un navigateur

Imaginez que vous entrez fr.wikipedia.org dans votre navigateur. votre navigateur doit commencer par le résoudre en une adresse IP. tous simplement Parce qu’il faut qu’il sache à quel serveur se connecter.

Ici, on va taper fr.wikipedia.org sur notre navigateur. Il va alors s’adresser à un serveur dit “récursif”.

Pour information, les fournisseurs d’accès à Internet mettent à disposition de leurs clients ces serveurs récursifs par défaut quand il se connecte à Internet. Mais Il existe également des serveurs récursifs ouverts comme ceux de Google Public DNS ou OpenDNS ou Cloudfare

Quand un serveur DNS récursif doit trouver l’adresse IP de fr.wikipedia.org, un processus itératif commence pour consulter la hiérarchie DNS du nom de domaine :

  • Ce serveur demande aux serveurs DNS de nom racine quels serveurs peuvent lui répondre pour la partie org.
  • Le serveur va indiquer quels serveurs connaissent l’information pour la zone wikipedia.org.
  • Ensuite, ce serveur donnera à son tour l’information pour avoir l’adresse IP du serveur hébergeant fr.wikipedia.org. car il connait déjà l’adresse IP du serveur hébergeant le sous domaine fr de wikipedia.org

Et une fois que vous avez l’adresse IP de ce domaine, le navigateur y accède est affiche la page demandée

Comprendre le métier d’architecte technique

Je suis architecte technique et dans cet article, je vais vous expliquer le métier d’architecte technique.

Avant de savoir ce que fait un architecte technique, il faut d’abord savoir ce qu’est  l’architecture d’un SI. Dans le langage courant quand on parle d’architecture par exemple de pont, d’immeuble, de maison par exemple, on parle de plans de comment ils ont été conçus, structurés, organisés, ils ont été élaboré pour répondre à tels ou tels objectifs. L’architecture d’un SI, c’est la même chose, c’est comment est structuré le SI pour répondre aux objectif de l’organisation.

Et ce SI, il est organisé en différentes 4 couches, et à chaque couche correspond un type d’architecture :

  • Architecture métier définit les processus métiers, la structure organisationnelle, les périmètres métiers des différentes application, c’est là aussi où on va mettre en avant les éléments stratégiques d’un projet
  • Architecture fonctionnelle : c’est la traduction en exigences fonctionnelles des besoins métier. On s’assure que les nouvelles évolutions respectent les besoins exprimés, et plus largement les objectifs de l’organisation.
  • Architecture applicative ou logicielle : c’est l’étape où on va traduire des besoins fonctionnels en fonctionnalités logicielles.  C’est à cette étape que seront décrit les différents composants applicatifs d’une solution mais aussi la communication entre cette solution et les autres applications du SI
  • Et enfin le dernier niveau c’est l’Architecture technique correspond à la mise en oeuvre dans le SI de ce qui a été défini successivement dans les niveaux précédents.Et cette partie ’infrastructure regroupe tous moyens techniques qui constitue le socle technique sur lequel on va faire tourner les applications. Au sens large, l’infrastructure technique inclut les serveurs évidemment, mais aussi le réseaux, systèmes d’exploitation, bases de données, les protocoles de communications, etc.

On parle d’ailleurs souvent d’architecte infrastructure pour désigner les architectes techniques. Et vous l’avez donc compris, moi en tant qu’architecte technique, je m’occupe de ce dernier niveau.

En gros, je vais intervenir sur les projet ou demandes d’évolutions ayant impact sur l’architecture technique du SI (que ce soit des projets de l’infrastructure ou des nouvelles applications qui vont utiliser l’infrastructure)

Sur la partie Infrastructure :

  • L’architecte technique participe à la définition des différentes briques techniques (hébergement cloud, virtualisation, stockage, middleware, etc) et évidemment il doit aussi garantir la cohérence de ces différentes briques techniques
  • Le but est d’avoir in fine des standards techniques pour répondre aux besoins des applications. Par exemple pour un besoin d’environnements virtualisés,, vous avez telle ou telle offre, pour les BDD ou OS, vous avez telle ou telle techno avec tel ou tel version, etc
  • Et c’est justement grâce à ces connaissances que l’architecte technique pourra accompagner la mise en oeuvre des applications sur le SI

Sur le papier, ça a l’air simple mais ça ne l’est pas forcément dans la pratique :

  • D’un côté, le projet va arriver avec une expression de besoins, une feuille de route, les caractéristiques de la solution éditeur, des contraintes de coûts et de planning et des exigences techniques (en terme de perforamnce, de disponiblité ou d’intégrité, ou tout ce qui est SLA)
  • De l’autre côté, Un architecte a un cadre d’architecture à respester ou plutôt à faire respecter, avec des principes d’architecture, des bonnes pratiques, des normes, un catalogues de services d’infrastructures disponibles, des orientations stratégiques, etc
  • Et le but ca va être d’essayer de faire matcher tout ça pour répondre aux différents points structurants dont on vient de parler

L’implémentation de cette application sur le SI sera décrite dans un dossier d’architecture rédigé par l’architecte technique. Et ce dossier d’architecture, c’est en gros comment on réponds aux différents besoins et exigences et autres contraintes :

  • comment les différents les composants applicatifs de l’application seront mis en production  dans le SI existant,
  • et du coup, dans ce DAT, je vais décrire tout ce qu’il faut pour que l’application puisse être mis en production : les machines nécessaires, les composants techniques à installer sur cette machine et dans quel datacenter se situe cette machine, comment cette nouvelle application s’intégre dans le SI, les services d’infra qu’elle va utiliser et les ouvertures de flux à faire qu’il lui faut pour communiquer avec le reste du SI, qu’est ce qui se passe en cas de problème, etc

 

A la fin, je dois garantir au projet que la solution est exploitable et pérenne dans le SI :

  • Et c’est après la validation du DAT que le projet peut commander ses environnements, demander les ouvertures de flux et autres prérequis nécessaire pour mettre en production son application.
  • Et les équipes d’exploitation vont ensuite se baser sur ce DAT pour mettre en production l’application

Par contre, même si l’architecte technique est responsable de la rédaction du DAT. La conception et la validation de la solution n’est pas décidée seul par l’architecte technique. Parce qu’il y a d’une part plusieurs parties prenantes qui valident ce DAT.

Par exemple :

  • Les CDP,
  • les autres architectes, applicatif, fonctionnelles et des architectes d’entreprise,
  • La sécurité notamment les RSI
  • etc.

D’autre part, L’architecte technique c’est un “expert” de haut niveau qui est donc assez généraliste pour lui permettre d’avoir une vision globale du système d’information. mais c’est surtout quelqu’un qui va travailler et s’appuyer sur plein de personnes référentes dans leur domaines que ce soit sur le réseau, les middlewares, exploitation, sur des services d’infrastructure mais aussi sur des experts sur des technos spécifiques.

Là on parle d’acteurs en interne d’une organisation mais cela peut aussi être des prestataires externes que ce soit les editeurs, des intégrateurs, des infogérants, etc

Voilà maintenant, vous savez ce que je fais en tant qu’architecte technique!

Comprendre l’attaque DDOS

Pour vous expliquer le principe d’une attaque DDOS, je vais prendre l’image du marchand de glaces :

Le marchand de glace fournit un service simple : il vend les glaces gardées au frais dans son camion. Avec ça, Les enfants sont contents et les parents ont enfin eux un bref moment de répit le temps que les enfants finissent leur glaces. Un monde en harmonie pendant un court instant.

Sauf qu’une bande de sales mioches arrivent et ils ont juste une envie : foutre la merde. Leur but c’est juste que personne ne puisse avoir de glaces. Ils vont alors faire des demandes sans s’arrêter jusqu’à épuiser le marchand de glaces.

Au bout d’un moment, le marchand de glaces, face à tant de sollicitations, il pète un câble, il ferme boutique et les vrais clients ne peuvent avoir leurs glaces.

Eh bien ce que viennent de faire la bande de sales mioches, c’est une attaque DDOS.

 

DDOS veut dire Distributed Denial of Service, que l’on peut traduire en francais par Attaque de deni de service distribué.

Une attaque DDOS est réalisée simultanément par un réseau de machines d’où la notion d’attaque distribuée   En fait, ces machines ont été corrompues au préalable par le cybercriminel via la propagation de malwares. On appelle aussi “botnet” ce réseau de machines infectées.

Il est à noter qu’avec l’essor de l’IoT (ou Internet des objets en français), les attaques DDOS gagnent en intensité puisque les cybercriminels enrôlent les équipements IoT non sécurisés dans les botnets.

Le cybercriminel va alors exécuter une attaque DDos en ordonnant au botnet de saturer le service avec de nombreuses requêtes jusqu’à le rendre indisponible.c’est la notion de déni de service. Ce qui va alors au final empêcher les vrais utilisateurs du service de l’utiliser.

Quand je parle de service, il faut le comprendre au sens large là j’ai prius l’exemple d’un serveur mais  cela peut être aussi un lien réseau, une infrastructure, un site web, une application, etc.

Autre variante, ce sont les attaques DDoS basées sur la réflexion et l’amplification.

Dans ce cas là, le cybercriminels vont tout simplement utiliser des machines accessibles sur Internet et donc non corrompues. Ces machines appelées des “réflecteurs” ont juste pour pour but de répondre à des requêtes émanant d’une source quelconque.

Le cybercriminel va envoyer des requêtes à ces réflecteurs en utilisant l’adresse IP de la victime comme adresse IP source. Le cybercriminel fait alors une usurpation d’identité ou plutôt d’adresse IP pour être plus précis.

Les réflecteurs pensent alors que c’est la victime qui a fait la requête et ils vont donc envoyer leurs réponses  aux requêtes vers la victime.

Les réflecteurs vont alors créer un trafic non sollicités par la victime, qui subit alors une attaque DDOS. Et là où ce type d’attaque peut être dangereuse, c’est qu’il peut y avoir un effet d’amplification. En effet, Certains protocoles génèrent des réponses d’une taille très supérieure à celle de la requête. on peut citer par exemple les protocoles DNS (pour Domain Name System) ou NTP (Network Time Protocol).

Cet effet d’amplification permet de saturer encore plus  rapidement la bande passante réseau de la victime, ce qui entraîne le déni de service.

 

Les motifs des attaques DDOS peuvent être divers :

Les attaques DDOS sont très courantes dans le monde du gaming. Que ce soit pour le fun, par représailles, ou par ennui, le but est de faire ralentir la bande passante d’un autre joueur (en saturant leur box par exemple), et voir même la faire tomber pour l’empêcher de jouer.

Les attaques DDOS peuvent venir d’activistes comme par exemple avec les Anonymous qui mènent des campagnes d’attaques DDOS contre des sites gouvernementaux ou extrémistes

Et enfin, pour les entreprises, cela peut être signe qu’une menace de grande ampleur se prépare. C’est pas l’attaque DDOS en soi qui est la menace pour les entreprises mais pour les criminels, cela peut être une première phase préparer pour une attaque plus importante.

L’attaque DDOS peut permettre au cybercriminel de tester la capacité d’une entreprise à répondre à une attaque.

L’attaque DDOS sert aussi à faire diversion en saturant les journaux et fichiers de données des équipement de sécurité pour brouiller les pistes. Ce qui permet aux cybercriminels durant cette période par exemple de masquer l’implantation d’un potentiel malware ou même l’extraction de données

Dessinons l’iMac !

Dans ce poste, j’ai envie de vous parler d’une actualité tech en dessinant en même temps. Bon, en vrai, j’ai bien envie de tester ce nouvel iPad que je me suis resté récemment. Et je me suis dis pourquoi pas le tester directement pour une vidéo.

 

Le sujet de cette vidéo est l’iMac qui fête d’ailleurs ses 20 ans cette année. Et dans cette vidéo, je reviens sur cet objet qui a vraiment marqué un tournant dans l’histoire d’Apple.

Il y a 20 ans, en mai 1998, Steve Jobs annonce la sortie du premier iMac. Il faut savoir que la sortie de l’iMac est un évènement marquant dans l’histoire d’Apple pour plusieurs raisons.

Premièrement, l’iMac marque le retour de Steve Jobs chez Apple. Il faut savoir que Steve Jobs a été viré d’Apple en 1985 à cause de mauvais résultats financiers. Sauf que cela n’a fait qu’empirer jusqu’à être au bord de la faillite. Dos au mur, c’est à ce moment que Steve Jobs a été rappelé en secours. Il va alors travailler sur l’iMac pour relancer Apple.

En gros, si l’iMac ne marchait pas, c’en était fini d’Apple.

Et heureusement pour Apple, l’iMac à remporté un énorme succès : avec plus de 800.000 unités vendues l’année de sa sortie, l’iMac à rapporté plus de 400 millions à Apple.

Avec un processeur PowerPC G3 et un modem intégré, l’iMac offrait des performances solides pour un ordinateur grand public de l’époque. Mais Steve Jobs voulait d’un ordinateur tout-en-un optimisé pour surfer sur Internet. D’ailleurs, le i de l’iMac est pour “Internet”.

Steve Jobs décide par ailleurs de supprimer le lecteur de disquettes, ce qui a été très critiqué car c’était la norme à l’époque. Apple a parié sur le fait qu’Internet, les réseaux locaux et les CD enregistrable deviendrait les nouvelles normes pour transférer et échanger des fichiers. Et c’est d’autant plus intelligent qu’ Apple a aussi décidé de remplacer les ports ADB, geoport et SCSI par une toute nouvelle norme à l’époque : le port USB. L’iMac est ainsi le premier ordinateur au monde à proposer exclusivement des ports USB. Et vous connaissez la suite pour l’USB.

Apple a donc pris des risques et a gagné son pari.

Niveau design, alors que les ordinateurs personnels de l’époque sont rectangulaires et gris, l’iMac possède des angles arrondis dans une couleur bleu azur translucide. D’autres coloris seront disponible que plus tard comme mandarine, citron vert, fraise, raisin…

Le choix des couleurs a évidemment été mis en avant comme argument marketing par Apple.
Bref, La popularité de l’iMac a permis donc de relancer Apple au bord de la faillite. Et au delà d’un succès financier, l’iMac c’est le retour d’Apple dans le cœur du grand public  avec un produit innovant et différent dans le monde de l’informatique.

.

 

L'architecture technique en cookies