Me connecter

OpenClassRoom

Est-ce que OpenClassRoom c'est de la merde ?

Sommaire

Sources

Introduction

Analyse du sommaire de la formation

Analyse des deux premiers cours

Conclusion

Sources

Cours Java d'OpenClassRoom

Pourquoi IDEA est meilleur qu'Eclipse ?

Pourquoi préférer Eclipse à IDEA ?

Introduction

On va essayer de mettre fin au débat "OpenClassRoom c'est de la merde pour apprendre le java".

Pour cet article, je vais me fier à cette formation: Cours Java d'OpenClassRoom

• Pourquoi cette formation ?

J’ai choisi cette formation pour cet article parce qu'à première apparition, il a l’air d’utiliser les versions assez récente de Java (Java 8 et 9). En effet, il serait assez bête de ma part, d’aller juger une formation qui utilise Java 6 et dire qu’il est obsolète alors qu’il y a une autre à jour. Je serais tout aussi obsolète.

Note: avant de poser une critique, veuillez bien réfléchir si cela est une opinion personnelle ou un fait vérifiable.

Analyse du sommaire de la formation

Sur cette formation, nous voyons qu’il y a 5 catégories de cours avec un total de 45 cours et 11 TP/activités/Quizzs.

Voici la liste des cours des deux premières catégories

Bien commencer en Java

• Installez les outils de développement

• Créez des variables et des opérateurs

• Apprenez à lire les entrées clavier

• Définissez des conditions

• Apprenez à créer des boucles

• TP : Convertissez des Celsius en Fahrenheit

• Créez des tableaux

• Écrivez des méthodes de classe

• Quiz : Comprenez les bases en Java

Java Orienté Objet

• Créez votre première classe

• Gérez les héritages

• Modélisez ses objets grâce à UML

• Créez des packages

• Créez des classes abstraites et des interfaces

• Découvrez Java 8 et la révolution des interfaces

• Gérez les exceptions

• Découvrez les énumérations

• Créez des collections d'objets

• Appréhendez la généricité en Java

• Gérez les flux d'entrée et de sortie

• Comprenez la réflexivité

• Créez des classes anonymes, des interfaces fonctionnelles, des lambdas et des références de méthode

• Manipulez vos données avec les streams

• Découvrez la nouvelle API de gestion des dates de Java 8

• Créez une JVM modulaire avec Java 9

• Quiz : Modélisez une solution objet

• Activité : Réalisez un garage

Ces deux catégories vous permettront d’avoir les bases. Les autres vous permettent d'approfondir celles-ci.

Analyse des deux premiers cours

Pour le premier cours, j'aperçois qu’il commence par nous expliquer comment installer nos outils Java ainsi qu’un IDE. Il a choisi d’utiliser L’IDE nommé Eclipse. Est-ce mal ? Non, ceci n’est qu’un IDE comme un autre et il a été fait par Oracle même. Il est tout-à-fait adapté pour l’apprentissage tout comme le travail. De plus il est également très léger à l’installation et à l'exécution. Je dirais que c’est un IDE parfait pour les développeurs avec un PC de petite config (voir dans les sources).

Il y a bien sûr la fameuse rivalité du “IntelliJ Idea est mieux qu’Eclipse”. Sauf que ce genre de chose est généralement discutable suivant les utilisations. De plus, ceci n’a pas de rapport avec cet article. Mais comme je sais qu’il y aura ce débat. Je vais vous poser cette question:

• Avons-nous vraiment besoin d’IntelliJ Idea pour apprendre le Java ?

Si oui, démontrez-le moi et je changerais cet article.

Continuons…

Ensuite il explique quelques raccourcies clavier ainsi que les éléments principaux de la barre d’outils. S’ensuit de la création d’un nouveau projet ou là c’est le drame. Non je rigole, tout va très bien sauf pour un petit détail. Même s’il dit que l’on peut changer de version du JRE, je ne comprends pas pourquoi il n’a pas créé le projet avec java 8 ou 9. Il a expliqué comment installer Java 9 au début mais ne l’utilise pas. Cela peut rendre confus l’étudiant. Bien qu’il dise comment on peut changer la version, je trouve qu’il manque des détails à ce sujet.

Ensuite il explique comment créer une class Java. Tout est plutôt bien mise à part, le pourquoi il a nommé sa class “sds1” et non “Sdz1” ou bien encore “Main” qui je trouve est bien mieux adapté (là c’est un choix personnel, du coup j’en tiendrais pas compte) cependant, les conventions sont importantes, et même s’il ne l’explique pas de suite, il serait bien de le mentionner. Bref étant donné que la il créait une class du type “test” passons pour l’instant et voyons par la suite s’il y a du nouveau à ce sujet.

Dans la suite de son cours, il explique comment fonctionnent les commentaires ainsi que la sortie console avec le “System.out”. Le tout est plutôt correct, je n’ai trop rien à ajouter cela paraît-d’être adapté.

Puis il termine sur la compilation du programme, mais au lieu d’expliquer comment compiler avec Eclipse, il explique comment le faire manuellement avec la commande “javac”. Alors là, je suis assez sceptique. Je me dis que cela n’a trop rien à faire dans le premier cours mais que ça peut faire sujet d’un cours complet à part car il y a beaucoup de choses à expliquer sur cette commande.

• Conclusion du premier cours

Bien que la convention de la class ne soit pas respectée, que le choix de la version du runtime à la création du projet est assez illogique et du hors sujet de la compilation. L'ensemble du cours est plutôt correct. L’étudiant n’en sortira que émerveiller une fois qu’il verra le mythique “Hello World” dans sa console et cherchera à en apprendre davantage.

Pour le second cours, il a choisi les variables et les opérateurs qui ma foi est une suite logique.

il commence ce cours par une petite note importante sur comment fonctionne le binaire et je suis plutôt d’accord avec lui de passer par ça avant de commencer concrètement les variables. Il explique comment l’ordinateur calcule avec la base 2 et au passage (bien que cela ne soit pas vraiment obligatoire) il montre aussi la base 16 avec comme comparaison la base 10 (celle par défaut que l’on utilise dans la vie de tous les jours).

Dans la seconde partie, vient les variables. Il montre les différents types de variable et leurs fonctionnements. L’ensemble est excellent et je n’ai rien à redire. Je sais qu’il y en a qui crieront car les noms de variables sont en français mais il faut savoir que c’est un cours pédagogique et faut bien faire cette différence. Je n’en tiendrais donc pas compte sur cet article. Par ailleurs, une chose très importante qu’il y a dans ce cours, qui me fera retirer ma critique du premier cours. C’est qu’il explique les conventions et les respectes entièrement ensuite dans son cours.

Puis il continue sur les opérateurs ainsi que le “cast” des nombres. Je n’ai rien à redire également sur ce point. Ils terminent avec une astuce de formatage des nombres, la séparation avec l’underscore ainsi que l’expression numérique en hexadécimale (qui justifie son explication sur le début du cours).

• Conclusion du second cours

Ce cours est bien complet avec des détails qui ne sont que positif pour l’apprentissage avec des précisions supplémentaires sur les conventions à respecter et les formatages.

Bref, je pourrais aller plus loin dans les cours proposés mais les conclusions se résumeraient à deux choses:

1- C’est un bon cours.

2- Il manquerait peut-être ceci, ou cela.

Conclusion

Cette formation est excellente pour commencer à apprendre le langage Java. Il ne faut pas oublier que celui-ci n’est pas vraiment fait pour quelqu’un qui s’y connaît, au mieu ça lui fera de la révision, au pire, il verra des points négatifs qui ne seront négatifs que pour lui par rapport à son expérience et verra cette formation d’un mauvais oeil en oubliant le principe même de celle-ci. Si je devais vous imager la situation, c’est comme demander à un lycéen de retourner à l’école primaire. De plus, tout ne peut pas être parfait. Des choses sont s'en doute fausse mais c'est à l'étudiant de vérifier ce que l'on lui apprend et de ne pas se contenter d'une seule formation mais plutôt d'aller faire ses recherches.

Vous aurez également l’impression qu’il serait sage d’écouter une personne qui sort du vocabulaire que vous ne comprenez pas, et vous le trouverez instruit et digne de confiance. Vous faites une grosse erreur ! Justement, si cette personne n’est pas capable de vous expliquer les choses plus simplement avec des preuves (les sources de ses avancements inclu). Il y a de forte chance qu’il ne sait pas ce qu’il dit et vous embobines pour que vous allez en son sens, c’est ce que l’on appelle un manipulateur. Malheureusement, cette personne n’est peut-être pas consciente de ses agissements car lui-même croit dur comme fer à ce qu'il avance.

Ne vous contentez pas de croire à la lettre ce que l’on vous dit. Faites des recherches pour savoir si, ce que l’on avance est vrai. C’est le seul moyen d’avancer et de devenir meilleur.

Cela vaut aussi pour cet article. Si vous êtes débutant faites dont cette formation et dites-moi à la fin si celle-ci vous as été utile. Cela permettra de savoir si ce qui est dit est fiable ou non. Dans le cas contraire, cet article ne peut être utilisé comme une source fiable.

J'espère que cet article vous seras utile

N'hésitez pas à me laisser vos retours sur Discord.