Aller au contenu


Photo

Feedback sur la première partie de cours


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1 Vincent VIEIRA

Vincent VIEIRA

    Member

  • Anciens
  • PipPip
  • 28 messages
  • LocationTours
  • Cursus:Alumni

Posté 13 novembre 2014 - 07:14

Bonjour à tous,

 

Ayant hésité entre envoyer un mail directement au full prof et en parler ici, j'ai préféré cette approche moins "personnelle" afin que nous puissions partager nos avis.

Nous sommes actuellement en train de faire le cours 4JVA (partie 1 déjà terminée), et plusieurs choses m'ont sauté aux yeux.

 

Selon moi, faire du JavaEE avancé rime avec Maven. Pourquoi les cours n'en font-ils jamais référence, pourquoi on doit toujours se contenter de projets Ant (qui, soyont francs, n'existent pas ou très très peu en entreprise... la plupart sont Mavenisés) ? C'est bien dommage, la gestion de dépendance qu'il apporte est bénéfique à la réalisation des exercices.

 

Toujours dans l'esprit "Maven", certains exercices (je pense notamment à la mise en pratique du JNDI via un client standalone ou à celui sur les Java Message) nécessitent des librairies externes qui sont beaucoup plus facilement "manageables" sous Maven. Même si vu la taille des projets, Ant suffit, je le conçois. Mais je trouve qu'on ne le met pas assez en avant. Après c'est juste mon avis :)

 

Bon, utiliser une implémentation en JPA 2.0 avec un Glassfish 3 peut être légitime en entreprise. Mais on demande à nous, petits élèves de réaliser un modèle en couches basé sur le DDD (http://en.wikipedia....n-driven_design) sans jamais expliquer le principe. A ce niveau là, ceux qui ont la chance d'en faire tous le temps en entreprise (comme moi) sont familiarisés avec le pourquoi du comment et s'en sortent, mais beaucoup d'autres plus novices rament assez facilement... On ne peut pas réaliser de telles couches sans comprendre d'abord pourquoi on les réalise ainsi. Ce qui peut être déroutant au début, et sans vraies explications dans le cours (Pourquoi une couche service ? Quoi faire dedans ? Pourquoi on injecte une DAO dedans ?).

 

Dernière chose, faire du DDD sans séparation du code pour éviter la duplication est.. troublant. Les clients standalone (JNDI/JMS/SOAP) ont des dépendances aux objets métiers utilisés par SupRails, et en l'état, la structure du projet ne permet pas de réutiliser le code. On a donc le choix entre le faire nous-même (assez lourd avec Ant, faut créer des tâches spécifiques), ou alors dupliquer le code purement et simplement. LA chose à ne pas faire..

 

Pour moi, et toujours dans l'optique de Maven, un projet parent avec différents modules (un avec les objets métier JPA), et un autre avec l'appli web aurait été parfait. Ainsi, on aurait des projets portables, sans dépendances à re-lier (juste à re-télécharger), et on pourrait facilement y inclure les différents clients (via l'ajout d'un module dans le POM parent).

 

Je conçois tout à fait que tout ne peut pas être intercalé dans un cours (c'est pour ceci que je ne me plains pas à propos du fait qu'on passe sous silence Spring, par exemple), mais pour moi les notions ci-dessus sont la base de tout développement Java en entreprise. Si on souhaite que ce soit fait "dans les règles".

 

Merci de m'avoir lu et bonne soirée ;)


  • Yannick BETOU, Jordane TARTARIN, Bastien BUSSY et 2 autres aiment ceci

#2 Gaël DEMETTE

Gaël DEMETTE

    Member

  • Anciens
  • PipPip
  • 63 messages
  • Cursus:Alumni

Posté 22 novembre 2014 - 05:59

Salut Vincent,

 

En tant que STA à Paris, j'ai proposé au nouveau Full Prof (Steve Colinet) l'intégration de Maven aux cours. Il m'a répondu le mar. 07/10/2014 09:42 qu'il serait effectivement une bonne chose de l'intégrer aux supports de cours. Malheureusement, comprends bien que tu ne pourras pas faire parti de la promo qui profitera de ce cours. (Sauf si tu comptes refaire une 4ème année)

En ce qui me concerne, je l'aurais intégré bien avant la 4ème année.

 

Le Full prof de cette matière ayant changé, il faut lui laisser le temps de faire un état des lieux des différents supports et les mettre à jour. Il m'a dit qu'Android devrait être mis à jour en priorité.

Tu associes Maven et l'entreprise, maven va bien au delà de ça, et commence à être intégré à tous les projets, même amateurs, tant pour du J2EE que pour de l'applicatif desktop. On aurait pu imaginer les classes du "SupCommerce.jar" de 3ème année rappatriées par Maven.

 

Dans l'optique qu'un étudiant de 4ème année puisse trouver un job à la sortie d'école, j'aurais été bien plus radical que toi à propos de Spring : Il est dans les prérequis de 90% des offres d'emploi J2EE que j'ai pu croiser.

Tu parles de Ant, mais il me semble que cet outil n'est pas plus présent dans le cours (ni même mentionné)

 

Merci pour ton feedback, et bon week end,

Gaël



#3 Vincent VIEIRA

Vincent VIEIRA

    Member

  • Anciens
  • PipPip
  • 28 messages
  • LocationTours
  • Cursus:Alumni

Posté 24 novembre 2014 - 07:06

Salut Gaël,

 

Je comprends bien qu'on ne bénéficiera pas d'une refonte dans l'immédiat, le cours étant déjà commencé. Mon feedback s'adressait pour les promotions futures :)
 

J'ai été STA de Java 2ème année et je suis entièrement d'accord avec toi, pour moi Maven devrait être abordé dès cette année là. Même si son utilité n'arrive "concrètement" qu'en 3ème année avec l'inclusion de librairies dans une application JEE, utiliser des librairies externes pour un des deux projet à rendre est tout à fait possible et donc Maven faciliterait grandement les choses (étant donné qu'avec Ant et le linkage manuel, beaucoup d'erreurs de débutant arrivent -chemin relatif/absolu, coucou vous-)

 

Ant n'est pas plus présenté en effet, c'est dommage, vu que la compilation Java des IDE (lors d'un projet non Mavenisé), ainsi que Maven lui-même se base dessus. La mise à jour du cours Android est une très très bonne nouvelle (même si développer en API 8 reste une contrainte pour certaines entreprises apparemment, de ce que j'ai entendu par-ci par-là), et je t'appuie sur Spring. Néanmoins la quantité de choses à savoir pour vraiment maîtriser son fonctionnement (et les best practices, pour ne citer que la JavaConfig) et être "enterprise-ready" est assez conséquente, et nécessite en plus un gros travail de veille. C'est pour ça que j'ai été plus en "retrait" vis à vis de ce sujet, c'est un sujet très chronophage dans le cadre d'un cours.

Dans tous les cas, au full prof de voir ce qu'il souhaite faire. Mais si on aura pu l'aider à améliorer le cours ainsi que l'approche de Java SE/EE (qui pour nombre d'élèves est parfois un calvaire, parce qu'ils approchent généralement le sujet d'une façon assez... douleureuse dirons-nous), pour moi c'est ce qui compte.

 

Bonne semaine à toi.



#4 Amine OUALI ALAMI

Amine OUALI ALAMI

    Newbie

  • Anciens
  • Pip
  • 4 messages

Posté 05 décembre 2014 - 11:32

Bonjour Vincent
Je me permet de te donner mon avis sur le sujet, je donne ce cours depuis déja 5 ans à supinfo et je comprend ta frustration concernant des outils comme Maven, surtout si on a déjà fait des stages JEE en entreprise, Comme tu l'a bien souligné faire du JEE avancé rime avec Maven, mais je serai plus nuancé que toi dans mes propos.
 
Aujourd'hui quand je recherche des ressources junior en developpement JEE (fraîchement diplômé) la connaissance de Maven serait un plus mais l'essentiel que je demande est plutôt les notions standard JAVA et JEE (servlet,jsp,ejb,jpa), ça peux paraître peu mais crois moi on galère à trouver, si un étudiant connait ces principes de base JEE je suis sur qu'il n'aura aucun soucis avec maven ou du spring.
 
L'architecture de l'application Suprails n'est pas du tout du DDD, et il n'a jamais été question dans ce cours de s'en rapprocher. (en quoi Suprails t'a paru basé sur architecture DDD ?) 
 
Pour résumer mon propos, dans le monde JEE il y a tellement de framework et d'outils à connaitre, pour une ressource junior on sera plutôt exigent sur les bases JEE (le standard).


#5 Vincent VIEIRA

Vincent VIEIRA

    Member

  • Anciens
  • PipPip
  • 28 messages
  • LocationTours
  • Cursus:Alumni

Posté 05 décembre 2014 - 03:28

Bonjour Amine,

Je suis d'accord avec toi sur le fait qu'il faille connaître les bases JEE, néanmoins je ne pense pas que quelqu'un qui est à l'aise avec les EJB comprenne tout de Spring directement (oui, il comprendra plus facilement l'injection de dépendances, c'est sûr..).

Les deux sont nécessaires. En l'état le cours, de par sa durée ne permet pas de tout apprendre, en effet. Se focaliser sur le standard oui, mais le cours devrait au moins évoquer des pistes de "veille" technologique pour stimuler l'intérêt général.

Suprails n'est pas du tout basé sur le DDD, je pense simplement que ce soit une bonne idée qu'il le soit. L'apprentissage des best practices, ça passe aussi par des cas concrets ;)
 

Bonne fin de semaine à toi.



#6 Adrien ROUAIX

Adrien ROUAIX

    Newbie

  • Étudiant
  • Pip
  • 1 messages

Posté 12 décembre 2014 - 02:46

Bonjour à vous, 

 

Je plussoie l'intégration de Maven et Spring dans ce cours intitulé JAVA EE Avancé. Ayant fait deux entreprises travaillant dans ce domaine, toujours la même question "Et vous faites du Spring ?" "Non" "Ah dommage". Je connais la philosophie de SUPINFO qui est qu'on nous fait découvrir les bases et après c'est à nous d'approfondir. Cependant je pense que parler de Spring et Maven comme le disait Vincent serait en effet BEAUCOUP plus utile et intéressant :)

 

PS : Codant énormément en Android, je valide le fait que le cours d'Android est dans la catégorie    :o   ! URGENT A METTRE A JOUR !   :o


  • Vincent VIEIRA et Nicolas JOIGNEAUX aiment ceci




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)