From d1c181962b1c32a18fdcad220658a398e44c3a70 Mon Sep 17 00:00:00 2001 From: Denis Monnerat Date: Thu, 14 Dec 2023 19:38:59 +0100 Subject: [PATCH] =?UTF-8?q?les=20meilleurs=20choses=20ont=20un=20d=C3=A9bu?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ING/ESIEE/ac/README.md | 66 ++++++++++++++++++++ ING/ESIEE/ac/actionlistener-no-lambda.png | Bin 0 -> 18469 bytes ING/ESIEE/ac/actionlistener-with-lambda.png | Bin 0 -> 13312 bytes README.md | 12 +++- 4 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 ING/ESIEE/ac/README.md create mode 100644 ING/ESIEE/ac/actionlistener-no-lambda.png create mode 100644 ING/ESIEE/ac/actionlistener-with-lambda.png diff --git a/ING/ESIEE/ac/README.md b/ING/ESIEE/ac/README.md new file mode 100644 index 0000000..8626966 --- /dev/null +++ b/ING/ESIEE/ac/README.md @@ -0,0 +1,66 @@ +# Présentation de l'ESIEE (ex-ESIPE) par [Adrien COSTANDI](mailto:adrien.costandi@gmail.com) + +L'ex-ESIPE (aujourd'hui ESIEE) est une école d'ingénieur ultra technique orientée Java + +### Débunk de java 8 + +Pour commencer, rien de mieux qu'un [débunk](https://fr.wikipedia.org/wiki/D%C3%A9mystificateur), Java c'est pas aussi mauvais que ce qu'on vous fait croire, (je m'excuse d'avance auprès de Luc Hernandez mais j'avoue que j'ai aussi eu peur quand j'ai vu à quoi Java ressemblait dans ses cours 😅) +Il s'avère que le JDK a des mises à jours à intervalles fréquentes, (la dernière [LTS](https://www.java.com/releases/) est la version 21 actuellement, sortie en septembre dernier) +La version que vous voyez en cours est principalement la 7 (ou la 8, pas complètement sûr) et ce sont des versions qui commencent à dater un peu (vers 2017) + +Ce qui fait que Java est relou dans ces versions c'est qu'il faut écrire des milliers de lignes de code pour faire le moindre truc, et ça ils sont conscients que ça emmerde tout le monde. Donc plus on avance dans les versions, plus ils tendent à simplifier l'écriture d'un programme ! + +Tout ça pour dire que le langage qu'on apprend à l'ESIEE n'a plus rien à voir avec celui que vous connaissez ! Et perso je préfère 10000 fois les versions récentes car on va pas se mentir implémenter des centaines de fois des interfaces c'est infernal quand on peut simplifier ça en une lambda. + +Je me permets une petite comparaison rapide en image : + +![](./actionlistener-no-lambda.png) +![](./actionlistener-with-lambda.png) +*Oui je sais, c'est sexy, et ça prend moins la tête que de créer une classe anonyme.* + +________________________ + +**DONC, L'ESIEE** en gros notre prof de Java est un contributeur actif (et très énervé) de l'openJDK (son nom c'est Rémi FORAX, je vous invite à le googler, il est famous dans le monde le bonhomme) +L'énorme avantage d'avoir quelqu'un d'aussi compétent, c'est qu'il n'existe pas une question à laquelle il ne sache pas répondre quand ça concerne Java. Et ÇA, ça n'a pas de prix. Il explique assez bien, et répondra à tout ce que vous pouvez lui demander, aussi compliquée soit la question. + +### Première année + +L'idée de la première année c'est de faire une remise à niveau de tous les étudiants. +Comme c'est une école qui ne nécessite pas de prépa, et qui admet ses étudiants par admission parallèle (BUT, BTS, Licence, DUT...) chacun à ses propres compétences et ses affinités. Donc on remet tout à plat avec un socle commun solide +Si vous êtes déjà chaud en technique à la fois en C, en Java, en ASR alors aucun souci à se faire ! +J'ai pas trop suivi le changement en BUT donc je vais parler de l'ancier DUT mais si vous avez un bon niveau avec l'ancien DUT, vous n'allez pas apprendre énormément au cours de cette année, par contre c'est une bonne occasion d'affirmer ses compétences pour la 2ème année ! +Pour ceux qui sont hésitants dans ces domaines, il va falloir charbonner un peu car tout le programme technique du DUT est fait en 1 année (au lieu de 2 du coup !) + +À la fin de cette année, vous maîtriserez déjà plutôt bien le C, le Java, vous avez touché à du HTML/CSS/JS, vous avez un socle minimum en Maths, un peu aussi en Réseau et en Système ainsi que des algo de base (que vous avez dû voir pour la plupart en cours en BUT) +Puis viens la 2ème année + +### Deuxième année + +Là c'est fini les vacances, globalement c'est une suite qui va pousser plus loin dans tous les domaines cités au dessus. Vous avez le choix d'une option : Logiciel, Réseau ou Géomatique. +- Logiciel : Vous allez manger du Java, penser Java, dormir Java. L'idée c'est de vous montrer comment Java fonctionne, comment fonctionnent les frameworks et de vous inviter à implémenter différentes fonctionnalités de Framework (ORM, JSON parser, Injection de dépendances, Intercepteurs...) On vous montre aussi les principes d'un compilateur et du parsing d'un langage. Enfin bref, c'est intéressant si vous aimez mettre les mains dans le cambouis. C'est l'option que j'ai choisi +- Réseau : appronfondissement des connaissances en Réseau qu'on vous a données en première année, avec des notions de cybersécurité. On y aborde des notions de VLan et plein d'autre trucs compliqués que je connais pas car j'ai pas pris l'option +- Géomatique : C'est la contraction de Géographie et Informatique. C'est un domaine d'avenir car on en trouve de plus en plus dans le monde moderne ! C'est l'idée d'utiliser l'informatique pour étudier des topologies, des coordonnées GPS... Pareil, j'ai que de vagues notions car j'ai pas pris l'option non plus + +En plus de ces options, vous avez un gros tronc commun qui va, de toute façon, vous faire manger du Java +Vous avez de la concurrence en Java (coucou les threads !), de la programmation réseau en Java (coucou les sockets !) + +### Infos générales sur la formation + +La formation est en alternance sur 3 ans, donc il vous faudra une entreprise. +Sa taille est assez réduite, c'est pas plus de 40 personnes par promo, et si vous avez la chance d'être dans une petite promo, ça signifie un enseignement plus individualisé et moins générique. +C'est aussi potentiellement la chance d'avoir une petite communauté soudée au lieu d'un amphithéâtre de 500 personnes où personne ne se connait et le prof ne connait même pas votre nom. +L'aspect social a beaucoup joué pour moi sur ce plan là, et je sais que je serai pas le seul donc je partage ça aussi 😁 + +L'école est assez bien équipée, même si j'ai toujours préféré ramener mon propre PC pour pouvoir bosser chez moi, c'est plus pratique + +Le cursus fonctionne avec beaucoup de projets (en binôme 90% du temps). Vous aurez des soutenances bêta (vers le milieu du projet) pour vous donner des conseils si vous avez du mal, ou des pistes d'améliorations si vous vous en sortez +Les profs sont globalement tous sympa, même s'ils peuvent se montrer stricts parfois (Rémi FORAX notamment) mais y'a pas d'injustice. Au contraire s'ils voient que vous faites des efforts ils feront tout ce qu'ils peuvent pour vous tirer vers le haut + +Voilà, je pense que j'en ai dit pas mal ! + +## Conclusion + +Pour conclure, je pense que cette école est une suite logique au BUT si vous voulez manger de la technique et pas trop de Théorie avec des maths à toutes les sauces (coucou à mes anciens camarades Antoni BLANCHE et Dimitri DUPARD) +Vous en sortirez expert en Java comme peu de gens peuvent le prétendre en entreprise, et c'est un sacré argument quand on veut se pencher sur la technique. + +Si ce qui vous botte c'est le management d'équipe et les méthodes agiles, on en fait aussi mais ce n'est clairement pas le coeur de la formation donc vous aurez le bagage suffisant pour vous intégrer en entreprise (sans parler de votre expérience avec l'alternance) mais vous ne serez probablement pas SCRUM master en sortie de diplôme diff --git a/ING/ESIEE/ac/actionlistener-no-lambda.png b/ING/ESIEE/ac/actionlistener-no-lambda.png new file mode 100644 index 0000000000000000000000000000000000000000..94a913d48bfe3b8634da6a3b67a0761514b74f6c GIT binary patch literal 18469 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 literal 0 HcmV?d00001 diff --git a/ING/ESIEE/ac/actionlistener-with-lambda.png b/ING/ESIEE/ac/actionlistener-with-lambda.png new file mode 100644 index 0000000000000000000000000000000000000000..1b4e2b54f88135b96a44a613eb2e562f9fdc16d9 GIT binary patch literal 13312 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