Programme des cours 2021-2022
BINV3140-1  
Programmation : questions spéciales
  • .NET : outils et concepts d'applications d'entreprise
  • Design patterns
  • Spring
Durée :
.NET : outils et concepts d'applications d'entreprise : 20h Pr
Design patterns : 20h Pr
Spring : 20h Th
Nombre de crédits :
Bachelier en informatique de gestion5
Nom du professeur :
.NET : outils et concepts d'applications d'entreprise : Olivier CHOQUET
Design patterns : Christophe DAMAS
Spring : Baptiste LAPIERE, Sébastien STREBELLE
Coordinateur(s) :
Christophe DAMAS
Langue(s) de l'unité d'enseignement :
Langue française
Organisation et évaluation :
Enseignement au premier quadrimestre, examen en janvier
Unités d'enseignement prérequises et corequises :
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement :
Cette unité d'enseignement aborde les thèmes suivants :
  • .NET : outils et concepts d'applications d'entreprise
  • Spring
  • Design patterns
.NET : outils et concepts d'applications d'entreprise
Le cours de .NET : outils et concepts d'applications d'entreprise plonge dans l'univers Microsoft. Après une comparaison des langages Java et C#, les principales technologies du Framework .NET sont abordées :


  • LINQ (Language Integrated Query) pour réaliser des requêtes et bien + encore.
  • Entity Framework
  • Windows Forms pour réaliser des applications FAT Client sous Windows.
  • WPF (Windows Presentation Foundation) pour la fabrication d'interfaces utilisateurs actuelles via le pattern MVVM.
  • WCF (Windows Communication Foundation) pour la réalisation des services Web
Design patterns
Le cours de Design Patterns introduit les patrons de conception suivants: Builder, Abstract Factory, Factory Method, Singleton, Prototype, Adapter, Facade, Composite, Decorator, Flyweight, Strategy, Command, Visitor, Observer, Template Method, Chain of responsibility, Iterator et State.
Spring
Le cours de Spring permet de créer des projets web en Java en utilisant le framework Spring. Plus particulièrement, l'étudiant·e apprendra à utiliser Spring Boot pour auto-configurer ses applications Spring, créer des API Rest, mettre en place des système d'authentification, gérer une architecture microservices...
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
  • Citer les différences entre Java et C#.NET.
  • Ecrire une requête LINQ et LINQ to Entities.
  • Expliquer un bout de code écrit en C#.NET.
  • Comprendre le concept d'architecture microservices, décrire ses points-clés, citer ses avantages et inconvénients.
  • Comprendre et expliquer le principe d'Object Relational Mapping
  • Utiliser Spring Boot pour créer une API Rest
  • Utiliser Spring Boot pour créer une application web selon l'architecture microservices
  • Sécuriser son application web
  • Connaître la théorie des patrons de conception du livre « Design Patterns » et pouvoir les appliquer comme suit :
          - Sur base de code existant, identifier les patrons de conception qui y sont présents.           - Sur base d'un code existant et d'un cahier des charges, identifier les faiblesses de ce code qui seraient corrigées par un ou plusieurs patrons de conception, et transformer ce code pour réaliser ces patrons.           - Sur base d'un cahier des charges, identifier les patrons de conception utiles à la réalisation de la solution, et les implémenter   Compétence(s) - Capacité(s): C1 - S'insérer dans son milieu professionnel et s'adapter à son évolution CA1.1 -Travailler, tant en autonomie qu'en équipe éventuellement multidisciplinaire dans le respect de la culture d'entreprise CA1.2 -Collaborer à la résolution de problèmes complexes avec méthode, rigueur, pro activité et créativité CA1.4 -Développer une approche responsable, critique et réflexive des pratiques professionnelles C2 - Communiquer ¿ Ecouter, informer, conseiller les acteurs tant en interne qu'en externe CA2.5 -Exploiter un document technique en français et en anglais C3 - Mobiliser les savoirs et les savoir-faire propres à l'informatique de gestion CA3.1 -Concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies CA3.2 -Choisir et mettre en œuvre un standard défini ou une technologie spécifique (méthodologie, environnement, langage, framework, librairies, ...) C4 - Analyser les données utiles à la réalisation de sa mission en adoptant une démarche systémique CA4.5 -Soigner l'ergonomie des applications C5 - S'organiser, Structurer, planifier, coordonner, gérer de manière rigoureuse les actions et les tâches liées à sa mission CA5.1 -Evaluer la charge et la durée de travail liée à une tâche CA5.2 -Planifier un travail CA5.3 -Respecter les délais prévus   Acquis d'apprentissage(s) terminaux visé(s): - Acquis d'apprentissage terminaux : AAT1. Concevoir des solutions informatiques efficaces qui répondent à des problèmes en maitrisant les structures de données véhiculées. C1-CA1.2 ; C3-CA3.1 et CA3.4 ; C4-CA4.4 *PROGRAMMATION ( AAT1) - Acquis d'apprentissage terminaux : AAT5. Se conformer aux bonnes pratiques du métier tout en restant critique. C1-CA1.4 ; C3-CA3.2 et CA3.5 ; C4-CA4.2 et CA4.3 et CA4.5 ; C5-CA5.3; C5-CA5.4 * QUALITE ( AAT5) - Acquis d'apprentissage terminaux : AAT6. Exploiter de façon autonome et rigoureuse les différentes ressources d'information (en français ou en anglais). C2-CA2.5 * AUTONOMIE ( AAT6) - Acquis d'apprentissage terminaux : AAT8. Collaborer au sein d'une équipe en s'adaptant à ses interlocuteurs, en organisant les différentes tâches d'un travail selon leur complexité et leur dépendance ainsi qu'en respectant les délais prévus. C1-CA1.1 ; C2-CA2.2(interne) ; C5- CA5.1 et CA5.2 et CA5.3 et CA5.6 ( AAT8) - Acquis d'apprentissage terminaux : AAT9. Affronter des situations nouvelles en se formant pour intégrer les changements. C1-CA1.5; C2-CA2.2; C5-CA5.2 * FLEXIBILITE ( AAT9)
Design patterns
Connaître la théorie des patrons de conception vus au cours et pouvoir les appliquer comme suit:
  • Sur base de code existant, identifier les patrons de conception qui y sont présents.
  • Sur base d'un code existant et d'un cahier des charges, identifier les faiblesses de ce code qui seraient corrigées par un ou plusieurs patrons de conception, et transformer ce code pour réaliser ces patrons.
  • Sur base d'un cahier des charges, identifier les patrons de conception utiles à la réalisation de la solution, et les implémenter
Spring
Au terme de cette activité, l'étudiant·e sera capable de :
  • Comprendre le concept d'architecture microservices, décrire ses points-clés, citer ses avantages et inconvénients.
  • Comprendre et expliquer le principe d'Object Relational Mapping
  • Utiliser Spring Boot pour créer une API Rest
  • Utiliser Spring Boot pour créer une application web selon l'architecture microservices
  • Sécuriser son application web
Savoirs et compétences prérequis :
Activités d'apprentissage prévues et méthodes d'enseignement :
Activités         Intitulé de l'activité                                                      Volume horaire BINV3140 A      .NET : outils et concepts d'applications d'entreprise                    24 BINV3140 C       Design patterns                                                                      24 BINV3140 D       Spring                                                                                   24
Mode d'enseignement (présentiel, à distance, hybride) :
Présentiel.
 
.NET : outils et concepts d'applications d'entreprise
Présentiel
Design patterns
L'activité se déroule durant 10 semaines à raison de 2h par semaine.   L'apprentissage des différents patrons de conception se fait par des exercices de mise en situation. Il en existe de trois types différents :




  • Identification d'un ou plusieurs patrons de conception qui sont déployés dans du code existant. La capacité à identifier rapidement et correctement des patrons augmente fortement la rapidité et la fiabilité de compréhension d'un code existant.
  • Sur base d'un énoncé en français, identifier le ou les patrons adaptés à la résolution du problème et fournir l'implémentation correspondante.
  • Sur base d'un code existant, identifier les faiblesses présentes ou qui empêchent des évolutions futures souhaitées, choisir les patrons adaptés à la résolution de ces problèmes et transformer le code pour les réaliser.
Les exercices sont soumis aux étudiants en début de séance et après un temps de réflexion, nous engageons une discussion pour évaluer les différentes solutions proposées. Le restant de la séance sert à la réalisation du code le cas échéant.  
Spring
L'activité se déroule en 10 semaines à raison de 2 heures par semaine. Chaque semaine, la première heure est consacrée à la présentation de concepts théorie et/ou du framework Spring, et la seconde permettra de mettre oeuvre ces concepts lors d'exercices.
À partir de la quatrième semaine, la deuxième heure sera consacrée au projet. Le projet se fera par groupe de 4 (dans la mesure du possible en fonction du nombre d'étudiants). La note du projet sera cependant individuelle.
Lectures recommandées ou obligatoires et notes de cours :
.NET : outils et concepts d'applications d'entreprise
Support(s):
Tous les supports (présentations, exercices,  ...)  sont disponibles sur la plateforme pédagogique MooVin.
Design patterns
Support(s):
  • Les supports sont fournis électroniquement sur l'intranet pédagogique de l'école. Ils sont composés d'une ou plusieurs présentations ainsi que de divers liens vers des ressources utiles.
Référence(s):
  • "Design patterns : tête la première" - E. Freeman, E. Freeman & K. Sierra - O'Reilly.
Spring
  • Slides du cours
  • Contenu supplémentaire éventuel publié sur le site Moodle du cours
Modalités d'évaluation et critères :
Responsable de l'évaluation: DAMAS Christophe   Langue de l'évaluation: Français   Mode d'évaluation et pondération:




  • En .NET : outils et concepts d'applications d'entreprise, l'évaluation se fait sous forme d'un examen écrit sur machine quelle que soit la session. (33%)
  • En Spring:  L'évaluation se fera par projet, comptant pour 60% de la note finale de l'AA, et en session lors d'un examen oral portant sur les concepts théoriques vus au cours et sur le projet développé pendant le quadrimestre, comptant pour 40% de la note finale de l'AA. (33%) En seconde session,l'évaluation se fera entièrement lors d'un examen oral sur machine. 
  • En Design patterns, l'évaluation est basée sur un examen écrit sur machine. Cet examen est composé de 2 ou 3 questions qui sont du même type que les exercices en séance quelle que soit la session. (33%)
L'évaluation de cette U.E. n'est pas intégrée ; elle est composée d'activités d'apprentissage distinctes donnant lieu, à partir de 10/20, à des reports de notes légaux d'une session à l'autre et d'une année académique à l'autre.
 
Design patterns
En Design patterns, l'évaluation est basée sur un examen écrit sur machine. Cet examen est composé de 2 ou 3 questions qui sont du même type que les exercices en séance.
 
Spring
L'évaluation se fera par projet, comptant pour 60% de la note finale, et en session lors d'un examen oral portant sur les concepts théoriques vus au cours et sur le projet développé pendant le quadrimestre, comptant pour 40% de la note finale.
En seconde session, l'évaluation se fera entièrement lors d'un examen oral sur machine.
Stage(s) :
Remarques organisationnelles :
Lors du calcul de la moyenne arithmétique pondérée du PAE d'un étudiant, ainsi que du calcul de la moyenne arithmétique pondérée globale de son cursus, le poids associé à la note de la présente UE est son nombre d'ECTS.
Tenant compte de la situation sanitaire et du Protocole pour la reprise des cours dans l'enseignement supérieur émanant de la Ministre Glatigny, les modalités prévues pour l'organisation et l'évaluation de cette Unité d'enseignement sont susceptibles d'être modifiées en cas d'évolution du risque épidémique et d'un retour vers un confinement total ou partiel.
Design patterns
Tenant compte de la situation sanitaire et du Protocole pour la reprise des cours dans l'enseignement supérieur émanant de la Ministre Glatigny, les modalités prévues pour l'organisation et l'évaluation de cette Unité d'enseignement sont susceptibles d'être modifiées en cas d'évolution du risque épidémique et d'un retour vers un confinement total ou partiel.
Contacts :