Programme des cours 2025-2026
BINV3140-1  
Programmation : questions spéciales
  • Design patterns
  • Architecture microservices
Durée :
Design patterns : 20h Pr
Architecture microservices : 20h Th
Nombre de crédits :
Bachelier en informatique, orientation développement d'applications (Bachelier en informatique, orientation développement d'application)3
Nom du professeur :
Design patterns : Christophe DAMAS
Architecture microservices : 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 :

  • Architecture microservices
  • Design patterns
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.
Architecture microservices
L'objectif de cette activité d'apprentissage est de découvrir les principes de l'architecture microservices :

  • Comment concevoir une architecture avec une bonne séparation en microservices ;
  • Comment faire communiquer ces services entre eux ;
  • Quels sont les avantages et inconvénients de ce type d'architecture ;
  • Diverses autres questions avancées (sécurisation, gestion des données, déploiement, ...).
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
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
Architecture microservices
Au terme de cette activité, l'étudiante sera capable de :



  • Comprendre le concept d'architecture microservices, décrire ses points-clés, citer ses avantages et inconvénients.
  • Concevoir une architecture microservices suivant les besoins du client.
  • Faire communiquer des services entre eux.
  • Comprendre les enjeux avancés d'une architecture microservices (sécrurisation, gestion des données, déploiement).
Savoirs et compétences prérequis :
Activités d'apprentissage prévues et méthodes d'enseignement :
Activités         Intitulé de l'activité                                                      
BINV3140 C       Design patterns                                                                      
BINV3140 D       Architecture Microservices
Architecture microservices
Durant la première partie du cours, les séances porteront sur l'acquisition des savoirs nécessaires. La deuxième partie du cours portera sur la réalisation d'un projet.
Mode d'enseignement (présentiel, à distance, hybride) :
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.  
Architecture microservices
L'entièreté des activités sont prévues en présentiel.
Lectures recommandées ou obligatoires et notes de cours :
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.
Architecture microservices
  • 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:



Ces deux activités d'apprentissage sont regroupées car elles abordent des approches complémentaires du développement logiciel en entreprise. Les design patterns offrent des solutions éprouvées à des problèmes récurrents de conception orientée objet, tandis que l'architecture microservices propose un cadre organisationnel et technique pour structurer des applications distribuées.

L'articulation entre ces deux dimensions est naturelle : la mise en œuvre d'une architecture microservices repose sur une conception fine des composants, où les design patterns constituent des outils essentiels pour assurer la maintenabilité, la réutilisabilité et la robustesse des services.

Cependant, étant donné que les technologies et les compétences mobilisées diffèrent, les deux activités d'apprentissage font l'objet d'évaluations distinctes.

  • En Architecture microservices (50%): L'évaluation de l'UE se compose d'une évaluation continue et d'un examen écrit.
  • En Design patterns (50%): 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. 
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.
 
Architecture microservices
L'évaluation de l'UE se compose d'une évaluation continue et d'un examen écrit.

L'évaluation continue, basée sur un projet réalisable en groupe durant le quadrimestre, n'est pas représentable en deuxième session. L'examen écrit se déroule en session.

En première session, la note finale est calculée sur la base de 50% d'évaluation continue et 50% d'examen écrit.

En deuxième session, la note finale est calculée sur la base de 25% d'évaluation continue (note du projet reconduite) et 75% d'examen écrit.
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.
Contacts :