Le semestre 2 a été l'occasion d'approfondir les bases posées au S1, tout en découvrant de nouveaux environnements et langages. Entre la SAE IHM sur le jeu Dominion Seaside, la Discovery Piscine 42, la SAE base de données et l'apprentissage du C, ce semestre marque une montée en compétences concrète sur plusieurs fronts.
Cette compétence a été au cœur du S2 à travers la SAE IHM (Interface Homme-Machine), centrée sur le jeu de société Dominion Seaside. L'objectif était de concevoir et développer une interface jouable, en respectant les règles du jeu et en proposant une expérience utilisateur cohérente.
À partir du jeu de cartes Dominion Seaside, j'ai participé à la conception d'une application interactive intégrant la logique du jeu, la gestion des tours, des cartes et des interactions entre joueurs. Ce projet m'a permis d'approfondir la structuration du code, la séparation des responsabilités et la gestion d'états complexes dans une application.
La compétence d'optimisation s'est approfondie au S2 à travers l'apprentissage du langage C. Contrairement aux langages de haut niveau comme Java, le C impose de réfléchir à chaque allocation mémoire, à la taille des types, et à l'efficacité réelle de chaque instruction.
Les cours et TD en C m'ont confronté à des contraintes absentes en Java : pas de garbage collector, gestion manuelle de la mémoire avec malloc et free, arithmétique de pointeurs. Cette rigueur forcée développe une vraie conscience de l'optimisation : chaque choix de structure de données ou d'algorithme a un impact mesurable sur les performances.
Le langage C a constitué le fil conducteur de cette compétence au S2. Travailler en C, c'est travailler au plus près du système : gestion manuelle de la mémoire, pointeurs, compilation, interaction directe avec l'OS.
À travers les cours et travaux pratiques en C, j'ai appris à écrire des programmes proches du matériel, à comprendre comment un programme dialogue avec le système d'exploitation, à manipuler des pointeurs et à gérer l'allocation mémoire. Ces notions prolongent directement les apprentissages du S1 sur les systèmes d'exploitation.
La SAE 2.04 a constitué le cœur de cette compétence au S2, en prolongeant les acquis SQL du S1 vers des problématiques plus avancées de conception et d'exploitation de bases de données.
Ce projet m'a amené à concevoir et interroger une base de données relationnelle à partir d'un cahier des charges, en approfondissant la rédaction de requêtes complexes, la gestion des contraintes d'intégrité et la modélisation des données adaptée au besoin client.
Cette compétence s'est incarnée au S2 à travers la Discovery Piscine 42, un programme d'initiation intensive au développement. Ce projet personnel, mené en dehors du cadre académique classique, illustre une vraie démarche de conduite autonome d'un apprentissage.
Parcours intensif couvrant le Shell, le HTML, le CSS et le JavaScript, basé sur l'apprentissage autonome et la résolution de problèmes. Sans cours théoriques traditionnels, j'ai dû m'organiser, planifier ma progression, chercher la documentation par moi-même et itérer rapidement face aux obstacles. Cette expérience a renforcé ma capacité à conduire un projet seul, avec rigueur et méthode.
La collaboration a été centrale dans la SAE IHM (Dominion Seaside), projet mené en équipe nécessitant une répartition claire des tâches, une communication régulière et une intégration continue des développements de chacun. J'y ai retrouvé le rôle de coordination que j'avais déjà endossé en S1 lors de la SAE 1.06 : clarifier les objectifs, structurer les échanges, veiller à la cohérence globale du projet.
L'utilisation de Git et GitLab a été essentielle pour travailler en parallèle sans conflits, gérer les versions et assurer la traçabilité des contributions de chacun. Cette compétence s'inscrit dans la continuité directe du S1 tout en gagnant en maturité technique et organisationnelle.
Le semestre 2 a été marqué par une diversification des langages et des contextes de travail : du C bas niveau à l'IHM en Java, en passant par la Discovery 42 et la SAE base de données. Ces expériences ont consolidé mon profil de développeur structuré, autonome et à l'aise dans des environnements variés — confirmant mon choix du parcours RACDV pour la suite.