Admissibilité - 101 - Piscine

27 May 2017

J’ai un peu tendance à toujours vouloir m’étendre sur le sujet de l’éducation. Un ancien élève de STI2D m’a tapé la discute et m’a raconté qu’il est admissible à l’épreuve de piscine de l’école 101. J’ai essayé de lui donner des conseils. Même si mon collège estimé de maths préfère les versions brutes, j’ai préféré légèrement le ré-écrirepour le rendre présentable et publiable. L.R., je te dois et te dédie ce billet.

Pour autant, auriez-vous d’autres conseils ?


Je profite de cet écrit pour te féliciter pour cette admissibilité. Je ne sais pas si j’aurai été capable de me lancer dans une école au profil si particulier et à l’admission si prenante.

Pour reprendre un peu notre conversation et pour faire mon jeune vieux con, je te conseillerai d’axer tes préparations sur trois axes.

  1. S’informer des épreuves
  2. Se préparer sur le plan culturel
  3. Se préparer sur le plan technique : Linux / terminal, git, python et anglais

1. S’informer des épreuves

Cette école et ce concours me sont parfaitement étrangers. Ce n’est pas pour autant que je n’ai pas le droit de t’en parler. L’important dans un examen est de ne pas se sentir perdu afin de toujours avoir l’impression d’avancer. Pour cela la première étape est de s’informer.

Comme tout bon enseignant qui se respecte, la première chose qui me vient à l’esprit, c’est de regarder le programme officiel. Malheureusement, il n’y en a pas encore de publié pour l’école 101, mais celui de son grand frère 42 est assez exhaustif : lien.

Pour la suite, il faut essayer de capter des informations sur Internet à travers le plus de billets possibles. L’épreuve étant assez longue : 1 mois, il faut essayer de dégager les grandes lignes :

  • Qu’est-ce qu’on peut te demander ?
  • Quels sont les prérequis ?
  • Quelle est l’ambiance générale ?

J’ai fait une rapide veille et j’ai trouvé ces différents récits d’expérience :

2. Se préparer sur le plan culturel

L’informatique est en pleine ébullition et ce depuis ses débuts. Elle est en constante métamorphose et il est dur de la comprendre. Un point d’attaque important pour mieux l’appréhender est souvent ignoré, c’est la culture. Cela s’acquiert avec le temps, mais dans tous les cas, il ne faut pas sous-estimer cette partie.

a) RMLL

les rmll sont à St-Étienne cette année. L’entrée est gratuite, il faut en profiter. Une fois le programme publié, essaye de te trouver un / des potes pour y aller. Essaye d’assister à quelques conf, essaye de passer à quelques ateliers, essaye de trouver deux trois gus qui sont passés par 42 ou qui ont un avis dessus. C’est un salon de passionné avec ses qualités et ses défauts.

Les sites des années précédentes sont plus complets et te permettront de mieux te faire une idée.

b) Sur Lyon et alentours

La scène informatique Lyonnaise est loin d’être ridicule. C’est con, on vient de louper les jdll et mix-it de peu.

Le lol est le hackerspace de Lyon. C’est un brin bordélique, mais les rencontres sont intéressantes. Il est ouvert le mardi soir Place Chazette à Lyon 1. C’est assez confiné, un peu fermé d’esprit sur tout ce qui n’est pas débian… Mais, ça peut te faire une soirée sympa ou tu rencontres des gens qui bossent ou qui comme toi veulent bosser dans l’informatique. Il y a même moyen qu’on puisse te parler de piscine. De mémoire, je crois que l’épitech a aussi sa piscine en début d’année. Si tu ne trouves personnes pour y aller, n’hésites pas à me biper et je t’y accompagnerai. Ça fait quelques années que je fréquente l’association de manière légère.

c) Sur Internet

Là encore, je te propose juste une petite liste…

VO

VF

3. Se préparer sur le plan technique

C’est ici probablement la partie la plus vaste. J’axerai mes préparatifs sur quatre axes.

  • Linux / Terminal / ligne de commande
  • Git / Github
  • Découverte de la programmation
  • Anglais

a) Linux / Terminal / ligne de commande

Il est obligatoire de connaître un minimum Linux quand on souhaite bosser en informatique. Cela signifie dans un premier temps de découvrir la ligne de commande. C’est vraiment la base du développement.

Il faut que tu essayes de toucher un peu à Linux avec d’y aller. Il y a pas mal de tutoriels pour mettre en place un dual-boot ou une machine virtuelle (vm).

Pour ce qui est de la suite, ça avance relativement tout seul dès qu’on met un peu le nez dedans et qu’on fait du git et de la programmation.

En vo, j’aime beaucoup ce livre : The Linux command Line par William E. Shotts, Jr de chez no starch press. Il est en libre accès sur le site de l’auteur. Tu y trouveras aussi un tutoriel plus convivial pour apprendre.

J’aime aussi The Linux Programming Interface de Michael Kerrisk chez no starch press. Mais, c’est un gros pavé technique. C’est plus le genre de livre dont tu es fier d’avoir sur ton étagère et dans lequel tu te plonges de temps en temps.

Deux ressources :

Quelques sites intéressants :

Il y a également un mooc sur edx (vo), Ce n’est pas le meilleur mooc du monde, loin de là, mais ça peut-être une bonne introduction de découverte.

b) Git / github

Git est un logiciel de gestion de version. Il permet gérer des documents textes. Le but est de garder l’historique des modifications de chaque fichier sur lequel tu travailles.

Github est une interface web, (et plus que ça !) qui permet de gérer tes dépôts (projets) avec git. github facilite surtout la collaboration entre personnes sur des projets. Pour beaucoup de nos jours, parler de git et parler de github, c’est la même chose.

git / github fonctionne en ligne de commande. En (très) gros : une fois ton compte crée, tu crées un dépôt par projet. Via l’interface web tu visualises :

  • tes fichiers / ton code
  • des issues / des problèmes rencontrés par toi ou par d’autre
  • un tableau de gestion de projet

Par exemple sur un des miens, les plus actifs :

L’un des intérêts est la collaboration pour travailler à plusieurs sur une base commune. Tu peux voir ce qu’il fait, il peut voir ce que tu fais et cela simplifie grandement la mise en commun. Les modifications entre utilisateurs sont appelées des pull request. Ça peut devenir compliqué mais la base : add, commit, push & pull est très simple.

Je te conseille grandement de te faire un petit tuto sur git / github. (par ordre de pertinence)

puis

c) Programmation

Il existe beaucoup de langages de programmation qui ont tous des qualités et des défauts. L’un des plus agréables pour commencer est Python. Après, c’est toujours intéressant d’avoir quelques connaissances en C et C++.

Personnellement, j’aime beaucoup le livre : Python Playground de Mahesh Venkitachalam chez no starch press. (vo) Les exemples sont vraiment intéressants et variés.

Pour le coup, il existe également beaucoup de ressources en français. Je n’avais pas vu que le mooc sur fun par l’inria était fermé… Dommage…

Mais il reste celui d’open classroom :

En vo et en plus complet sur edx :

d) Anglais

En informatiques, tout se passe en anglais… Il ne faut pas avoir d’appréhension. Je ne te demande pas de réviser tes cours d’anglais, mais juste de ne pas en avoir peur. Le meilleur dictionnaire sur internet et de loin est celui de linguee car c’est un dictionnaire de phrase avec contexte.