Après réflexion, je serais disponible en partie sur le période, je peux donc venir aider à animer un atelier, de préférence en région parisienne, même si je peux éventuellement me déplacer. Je suis compétent pour traiter de la programmation en général, certains langages en détail (sûrement pas nécessaire ici), du réseau et de tout ce qui est développement électronique sur les plateformes que je connais.
In fine, si le.s sujet.s choisi.s par l’association relève.nt de mon domaine de compétence, et corresponde.nt à mes disponibilités et à ma zone géographique, je me mentionnerais de moi-même au moment voulu (après décision de la communauté). En attendant, j’aimerais lancer les propositions (plus concrètes, j’entends), en présentant la mienne, sur la découverte du réseau.
Découverte du cœur d’Internet
Durée : environ une après-midi
Lieu : à déterminer
Animateurs : moi-même, et au moins 1 autre
Présentation
L’idée est de proposer un atelier – c’est-à-dire que j’entends ici que la majorité du travail intellectuel est effectué par les participants, au travers d’activités, plutôt que données par nous, à travers des slides. Initialement, il est à destination des jeunes – même si j’en viens à penser que les concepts présentés ne sont pas toujours connus des adultes. L’atelier présenterait les bases de la formation d’Internet, en particulier expliquer le principe de décentralisation du réseau.
En pratique, l’idée est que chacun commence avec une machine (un mini-ordinateur), qui n’est connecté à rien, puis se connecte progressivement pour finir par un réseau formé de tous les participants. Le réseau serait simplifié, afin que tout puisse être compris, c’est pourquoi il n’est pas prévu d’utiliser directement des ordinateurs, qui sont des machines par définition obscures pour le commun des mortels.
Première partie : quelques bases
Sûrement la partie la plus théorique (et la plus ennuyante) de l’atelier, puisqu’il s’agit ici de présenter les concepts important à connaître pour la suite. En particulier, les bases du codage de l’information sont indispensables, c’est-à-dire le binaire, et le fait qu’il peut tout représenter selon comment on l’interprète.
J’utilise souvent l’analogie du langage pour ça, les mots qu’on connaît veulent dire quelque chose pour nous, mais rien pour les non-francophones : la langue est un code. Il en est de même d’une suite de 0 et de 1, dont le sens n’est pas dans l’essence même de la suite, mais bien dans son interprétation selon des règles. Il est possible même d’aller plus loin en prenant un mot qui signifie quelque chose chez nous, et tout autre chose dans une autre langue : la même suite de lettre peut représenter deux concepts distincts. Pour la suite binaire, elle est à la fois une image et un son, sans que ces termes ne se contredisent.
Pour finir cette partie, il me semble (voir « Discussion ») appréciable de distribuer des tables en Morse / des tables ASCII simplifiées (uniquement l’alphabet, par exemple) à chacun, afin qu’ils puissent ensuite communiquer en binaire avec leur machine.
Deuxième partie : mise en place des machines
Chaque participant devient le maitre d’une mini-machine (un ordinateur, mais basique) ; en pratique, cette mini-machine n’est qu’un bouton (le clavier, simplifié), avec une petite lumière – une LED (l’écran). La machine seule ne peut rien faire – le clavier ne communique pas avec l’écran. Il faut donc la faire fonctionner : en réalité, on relierait un processeur entre les deux, mais comme ce n’est pas le but de l’atelier, un simple bout de câble fera l’affaire. À la fin de cette partie, chacun dispose d’une machine qui allume une LED quand il appuie sur le bouton – il peut donc commencer à coder des signaux relevant de différentes interprétations.
Rien de passionnant dans cette partie, mais elle est nécessaire pour la suite, et montre aux participants qu’un ordinateur ne fonctionne pas « seul ». Pour la rendre plus sympa, on peut imaginer faire une petite introduction historique sur l’ordinateur à la fin de la première partie ; l’idée est de laisser l’autonomie arriver tranquillement, et de ne pas les laisser directement seuls devant leurs machines.
Troisième partie : lien direct entre machines
C’est ici que commence véritablement l’atelier : avec le matériel à disposition, il faut réussir à envoyer des messages à son voisin. Normalement, l’idée de connecter mon bouton à la LED de mon voisin viendra directement, puis celle de faire l’inverse, et c’est ainsi qu’on crée un lien simple entre deux machines.
La transition pourrait consister à dire qu’on ne peut pas relier tous les ordinateurs de la planète avec des câbles entre chacun d’entre eux, et, selon le niveau de l’auditoire, de faire calculer combien de câbles il faudrait pour relier tous les participants.
Quatrième partie : le routeur
À partir de là, il faut introduire une machine magique : un routeur – on ne l’introduit pas comme ça, évidemment, il faut expliquer son fonctionnement dans les grandes lignes ; notons d’ailleurs que ce n’est pas un vrai routeur, puisqu’il ne route pas automatiquement. Les participants vont, s’ils comprennent notre explication – c’est là qu’il faut être bons, instinctivement relier leurs machines à un routeur, et être en mesure d’avoir un réseau local.
Petite note sur les mini-routeurs : il faudra coder manuellement l’adresse à qui envoyer le message – encore une fois, pour des raisons de compréhension. Pour ça, le mieux est de demander aux participants de le faire eux-mêmes afin qu’ils se rendent compte que celui qui à la main sur le routeur fait ce qu’il veut avec les paquets qui transitent.
Ensuite, il faut suggérer aux participants de connecter leurs routeurs entre eux pour obtenir un réseau global : Internet. Soit l’atelier s’arrête ici, et on peut laisser les participants bidouiller un peu et s’amuser avec leurs réseaux, soit on va un peu plus loin.
Bonus : idées en vrac
Plus loin, d’après moi, ça veut dire :
- soit introduire le MoDem, qui permet de communiquer en direct avec les lignes téléphoniques ;
- soit introduire le réseau fibré ;
- soit proposer une démonstration de communication par les ondes ;
- soit une machine qui contrôle automatiquement le routage des paquets (mais compliqué) ;
- soit une machine de filtrage pour introduire aux problèmes de censure (un firewall, en pratique).
- autre chose ?
Modalités d’organisation
Organisation générale
Il faudrait au moins plus de 4 participants pour que l’atelier soit un peu intéressant, et au maximum 16 pour que ce ne soit pas le bazar. Le Meet and Code dit que l’atelier doit cibler les 8 – 24 ans : je n’ai pas d’expérience de vulgarisation et gérer des enfants vraiment jeunes me semble compliqué (< 12 ans), d’autant que les activités proposées ne sont peut-être pas accessibles aux très jeunes ; si quelqu’un se sent de la faire, alors il peut venir avec moi, il me faut de toute façon au moins une autre personne pour m’épauler dans la présentation et l’organisation.
Matériel nécessaire
Au niveau du matériel, tout serait a priori fait maison (pas très long), et réutilisable pour faire le même atelier (ou plus poussé), dans le futur. Les coûts me semblent très raisonnables et bien inférieurs à 500 euros (pas de chiffre précis tant que je n’ai rien posé, mais 150 euros est un ordre de grandeur raisonnable). Je suis disponible pour concevoir les machines et routeurs tant au niveau de l’ingénierie que de la réalisation.
Originalité et réponse aux critères
Pour la date, les délais sont plutôt courts, mais j’imagine qu’il n’y a rien d’impossible si ma proposition est retenue assez vite, en particulier si les ateliers se tiennent mi-octobre.
Pour le thème, il ne traite pas de la programmation mais rentre bien dans « l’apprentissage des nouvelles technologies », je pense qu’il passe, donc. De toutes façons, il fait connaître une association portant sur ce thème, donc on peut tricher là-dessus (avis à ceux qui veulent présenter du droit, par exemple, si ça traite du droit de l’informatique, on peut s’arranger ; on pourrait raisonner pareil pour nombre d’autre domaines).
Comme je le disais plus tôt, le budget passe largement, je peux fournir la BoM (la liste du matériel nécessaire à l’association s’il faut, et même passer la commande moi-même, si c’est pas chiant administrativement).
Pour les autres critères :
- territoire français : CHECK ;
- jeunes de 8–24 ans : CHECK à peu près (je pense qu’il n’est pas nécessaire de couvrir tout la gamme d’âge) ;
- assurer la tenue de l’évènement : CHECK, sous réserve de quelqu’un d’autre.
Je pense que cet atelier est intéressant et permettra à chacun soit de découvrir Internet, soit d’apprendre comment il fonctionne en interne. À ma connaissance, ce genre de simplification n’a jamais été faite, alors que la simplification à l’extrême du fonctionnement des ordinateurs et routeurs permet, je pense, une bien meilleure compréhension par le public (et nous-même).
Présentation technique
Pour les plus électroniciens d’entre vous, je propose une présentation succinte des modules créés pour l’occasion.
La mini-machine
Une plaque de CI (plus authentique, et moins cher), avec une LED (+ résistance), et un bouton poussoir (+ anti-rebond), la LED reliée au pin externe Rx du module, et le bouton au Tx.
Liste des E/S : une alimentation (déjà connectée), un pin réception (Rx), et un pin émission (Tx)
Le routeur
C’est un simple multiplexeur / démultiplexeur numérique, à base probablement de circuits logiques 40xx ou 74xx selon ceux qui seront les moins chers (petite vitesse de transmission, donc les CD4000 sont accessibles ici, et moins chiants au niveau alimentation). J’ai pensé aux circuits programmables, mais n’ait pas le matériel pour les programmer (CPLD, FPGA) ou simplement pas envie de m’embêter pour quelque chose de si simple (µC).
Liste des E/S : 2N bidirectionnelles (2N : Rx + Tx N), où N est le nombre de machines connectables (penser que le routeur qui suit est une machine).
Divers
Des câbles (beaucoup) croisés fait main, avec des connecteurs Dupont (facile à connecter / déconnecter et très solide).
Un MoDem est une simple machine de transformation, en fait je pense qu’il suffit de mutualiser Rx/Tx sur une seule ligne.
La fibre n’est pas plus complexe qu’un câble, il faut un laser à un bout et un récepteur à l’autre.
Par les ondes, on peut prendre un petit module 433 MHz, où (plus rigolo) faire un circuit à la main à transistors pour la communication radio (je vous ai déjà dit que j’adorais l’analogique?).
Une machine de routage implique forcément traitement du contenu des paquets – et se rapproche donc du fonctionnement réel du routeur – et donc a minima un microcontrôleur, de même pour le filtrage a priori.
Discussion
N’hésitez pas à me donner vos commentaires, si ce projet ne peut pas servir pour ce Meet & Code, je le mettrais peut-être en place de ma propre initiative ; en particulier, je m’interroge sur les points suivants :
- faut-il donner des tables Morse ou ASCII aux participants (le Morse déforme le binaire, mais on peut imaginer : - → 1, . → 0) ?
- l’idée de tout simplifier de façon fonctionnelle vous semble-t-elle une bonne idée ? Est-ce trop complexe et devrait-on donc faire une simple simulation par ordinateur ?
- dans la même veine, la communication binaire est-elle nécessaire ou un port série en tant qu’entrée / sortie peut-il être un moyen plus simple de communiquer qui ne dénature pas le propos ?
- quel public peut-on réellement viser ? Quel public peut-on réellement espérer ?
- serait-il intéressant de lier cet atelier avec d’autres – particulièrement de programmation ?
Sur ce, j’ai trop écrit, c’est à vous.