Projet 2: Conception d'un site web interactif

lsinc1002  2024-2025  Charleroi

Projet 2: Conception d'un site web interactif
5.00 crédits
30.0 h + 30.0 h
Q2

  Cette unité d’enseignement n’est pas accessible aux étudiants d’échange !

Enseignants
Langue
d'enseignement
Français
Préalables
Ces projets supposent l'acquisition en parallèle de notions de bases en programmation telles que visées par le cours LSINC1101.
Thèmes abordés
Cette unité d'enseignement s'articule autour de projets de programmation.
Les objectifs sont :
  • de modéliser des situations simples ayant recourt à des systèmes informatiques ;
  • de concevoir un service interactif simple accessible via une interface web et utilisant une base de données relationnelle ;
  • de comprendre les principes de base du fonctionnement des sites web interactifs;
  • de se confronter aux contraintes professionnelles : travail en groupe, respect des échéances, sens des responsabilités ;
  • d'acquérir des compétences transversales prise de notes, rédaction de rapports
Acquis
d'apprentissage

A la fin de cette unité d’enseignement, l’étudiant est capable de :

S1.I2 , S2.1, S2.2, S2.4 , S4.1, S4.2, S4.3 , S5.2, S5.3, S5.4, S5.5, S5.6 Eu égard au référentiel AA du programme « Bachelier en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • S1.I2
  • S2.1, S2.2, S2.4
  • S4.1, S4.2, S4.3
  • S5.2, S5.3, S5.4, S5.5, S5.6
Les étudiants ayant suivi avec succès ce cours seront capables de :
  • analyser une situation-problème concrète nécessitant le développement d'une site web interactif et percevoir le rôle que celui-ci devra jouer ;
  • concevoir le site web correspondant aux besoins identifiés et justifier les choix de conception ;
  • implémenter le site web en utilisant à bon escient le langage Python et une base de données;
  • documenter l’application web et mettre en œuvre des tests unitaires pour valider son bon fonctionnement;
  • utiliser un environnement de programmation comportant des outils de programmation intégrés comme un éditeur, compilateur, debugger, et des outils de maniement de fichiers, de tests, de documentation.
Les étudiants auront développé des compétences méthodologiques et opérationnelles. En particulier, ils auront dévelopé leur capacité à:
  • contribuer au fonctionnement de groupe dans le cadre de dispositifs d'apprentissage actifs coopératifs de type projet, expliciter les enjeux (avantages, inconvénients) du travail de groupe et donner quelques pistes opérationnelles pour favoriser un travail de groupe efficace;
  • mener une démarche de développement d'une application informatique
  • comprendre une situation-problème décrite via des documents écrits, une présentation orale et en extraire ce qui en fait l'essence et le reformuler afin de définir le résultat attendu ;
  • établir le cahier des charges et une feuille de route pour un projet;
  • schématiser l'architecture du site web interactif pour en donner une description de haut niveau permettant à tout informaticien d'en percevoir rapidement la structure ;
  • documenter l'application pour qu'elle puisse facilement être adaptée par le suite par un autre informaticien ;
  • concevoir et réaliser des tests permettant de valider l'application développée ;
  • collaborer de manière efficace sur le développement d'application;
  • rédiger un rapport de projet cohérent et structuré afin de convaincre de la réussite du projet ;
 
Contenu
Le cours présuppose la connaissance de base du langage de programmation python tel que vu dans le cours LSINC1101. Les étudiants travaillent par groupe pour résoudre des problèmes plus complexes que ceux qui sont traités dans le cours de programmation. Chaque groupe travaillera sur un projet unique, mais avec plusieurs échéances et développements intermédiaires.
De façon générale, les étudiants devront apprendre à :
  • travailler efficacement en groupe
  • écrire des programmes corrects 
  • documenter leurs codes
Lors des différentes phases, les compétences suivantes seront évaluées :
  • écrire des tests qui valident le bon fonctionnement de leurs programmes
  • documenter leurs programmes et les tests qui y sont associés
  • apporter un regard critique sur le travail d'autres groupes d'étudiants pour les aider à s'améliorer (peer-review constructive)
  • évaluer les performances de leurs programmes
  • trouver des librairies et modules python qui permettent de résoudre des problèmes similaires
  • comparer les fonctionnalités et les performances de différentes solutions à un même problème
  • documenter et analyser ces différences de fonctionnalités et de performances
  • construire des requêtes SQL simples
  • l'analyse quantitative des impacts énergétique de la sélection d'une technologie web particulière
 
 
Méthodes d'enseignement
Apprentissage par projet en groupe de plusieurs étudiants. Chaque groupe sera suivi par un membre de l'équipe d'enseignement.
4 ou 5 séances magistrales sont organisées (en fonction de l'avancement) pour donner les bases des technologies web, le SQL, le framework python Flask, les tests unitaires ou Graph.js.
Les étudiants sont encouragés à poser des questions durant le cours magistral, et bien sûr les séances de suivi.
Cette unité d’enseignement aborde des questions liées au développement durable et à la transition à travers un module dédié à l'exploration de la performance et la consommation électrique des serveurs web en fonction du choix technologique parmi diverses technologies web.
Modes d'évaluation
des acquis des étudiants
  • Évaluation de la participation individuelle et de groupe pendant l'année, sur base du suivi par la personne de l'équipe d'enseignement déléguée au suivi du groupe (15%).
  • Évaluation des différentes phases du projet sur base des rapports écrits et de la documentation (65%).
  • Évaluation de la phase finale du projet sur base de la présentation orale (10%).
  • Évaluation de la revue par les pairs (10%).
Bien que la participation compte pour 15%, un étudiant qui ne participera pas activement au travail de son groupe peut voir ses autres notes (telles que la note d'une phase du projet) diminuées en se basant sur, par exemple et de façon non exhaustive, le suivi du code via Git, l'évaluation de groupes, le suivi des tuteurs, des assistants et du professeur.
La participation à toutes les activités d'enseignement est obligatoire. La non-remise d'un projet entrainera une côte d'absence. Il n'y a pas d'examen.
Les étudiants qui auront échoué en juin pourront refaire un projet individuel durant l'été qui remplacera les 65% de l'évaluation des phases du projet. Une présentation orale du projet sera également organisée (10%). Les autres activités ne sont pas organisées durant l'été, ainsi la note de participation (15%) est toujours gardée. Si l'étudiant n'avait pas activement participé à la revue par les pairs qui aurait été faite en groupe (10%), alors elle est annulée et la pondération des autres parties est augmentée selon les mêmes proportions pour arriver à 100%.
Le non-respect des consignes méthodologiques définies sur moodle, notamment en matière d’utilisation de ressources en ligne, d'usage des IA génératives telles que ChatGPT, Consensus, Perplexity,..., ou de collaboration entre différents groupes, ou différents étudiants lors de la seconde session, entraînera une note globale de 0 pour les activités impliquées dans la non-conformité.
 
 
Autres infos
Le cours présuppose la connaissance du Python. Si l'étudiant a raté le cours d'Informatique 1, il est de son devoir de participer aux séances d'aide à la réussite et/ou de remédiation organisée par la faculté.
L'apprentissage par projet signifie qu'une partie non négligeable des compétences doit être acquise par les étudiants eux-mêmes via les ressources renseignées dans le syllabus, tels que des tutoriaux en ligne.
Faculté ou entité
en charge


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Bachelier en sciences informatiques