Logo de PortfoLaurens

PortfoLaurens

logo alternatif gauche

Projet PortfoLaurens :

Pygame et web

logo alternatif droit
logo de PortfoLaurens

Contexte & description du projet

Au cours de ma première année de BUT Informatique, on nous a demandé de réaliser un e-portfolio, c'est-à-dire une collection organisée de travaux et documents qui démontrent mes compétences, réalisations, et mon développement personnel et professionnel au fil du temps.

Le but ? Mettre en avant les compétences acquises, l'expérience, les savoir-faire de manière tangible et dynamique, afin de montrer son potentiel aux enseignants, futurs employeurs et écoles supérieures. C'est un outil d'évaluation continue.

Méthodologie et outils

Au début du projet, deux question se posent : que mettre dans le e-portfolio et quels outils utiliser ? Pour répondre à la première question, il fallait passer par une phase d'analyse des demandes de l'enseignant et de conception pour définir la structure du e-portfolio. Quant à la seconde, libre à chacun de définir ses préférences, bien qu'un site web soit la solution la plus logique et la plus accessible pour le grand public. Ces questions résolues, le développement peut commencer.

Pour ma part, j'ai commencé par développer un jeu 2D en Python avec les bibliothèques Pygame et PyInstaller, avant de faire face aux difficultés d'accessibilité pour des non-informaticiens et de rajouter un site web HTML/CSS/JS.

Mise en oeuvre

PortfoLaurens.py

J'ai appris de moi-même la bibliothèque Pygame afin de disposer d'une interface graphique simple pour présenter mon e-portfolio sous forme de jeu interactif. Après une introduction servant de tutoriel sur les intercations possibles, l'utilisateur est laissé dans un "hub" depuis lequel il est libre de naviguer et découvrir les différentes sections du portfolio : CV, projets perso et passions, présentation avec objectifs, projets académiques et parcours, expérience professionnelle, ainsi que des mini-jeux disponibles après avoir visité au moins 3 sections. Un fichier de sauvegarde permet de conserver certaines informations, accordant ainsi à l'utilisateur la possibilité de passer les dialogues sur ses parties suivantes. De plus, des PDF sont téléchargeables depuis les sections pour consulter les documents sans avoir à revenir dans le programme à chaque fois. Les chemins d'accès aux fichiers fonctionnent sur Windows comme Linux.

PortfoLaurens.exe

Avant de faciliter l'utilisation du jeu pour les utilisateurs ne disposant pas de Python, j'ai exporté le projet en une version exécutable sous Windows grâce à PyInstaller. Cela permet une accessibilité plus large sans nécessiter d'installation supplémentaire. Il a fallu revoir la gestion du fichier de sauvegarde, qui doit exister en dehors de l'exécutable, mais cela a été rapide. En revanche, cet export m'expose à de nouvelles complications : d'une part, il doit pouvoir être distribué facilement si je veux le rendre accessible à tous. D'autre part, tous les antivirus (y compris Windows Defender) considèrent un exécutable sans certificat de sécurité comme une menace, ce qui ne fait pas très sérieux (je n'y ai d'ailleurs toujours pas remédié). Par ailleurs, si je voulais mettre à disposition un exécutable pour d'autres OS (Linux, Mac) il faudrait que je puisse avoir accès à une machine tournant sous l'OS en question, ce qui n'est juste pas le cas.

www.portfolaurens.fr

Ce que j'aurais dû faire dès le début : un site web accessible à tous, sans les contraintes liées à l'installation ou à la compatibilité des systèmes d'exploitation. Développé en HTML/CSS et un peu de JavaScript pour l'interactivité, il offre une expérience utilisateur fluide et intuitive, avec des sections réorganisées et une gestion du responsive design simplifiée. Les variantes .py et .exe sont par ailleurs téléchargeables depuis ce site (voir PortfoLaurens.exe)

Résultats

Le résultat de ce projet consiste en un e-portfolio interactif accessible sous plusieurs formes : un jeu Python, un exécutable Windows et un site web. Toutes permettent de découvrir mes compétences, réalisations et d'apprendre à me connaître par la même occasion. Le présent site web est de loin la version la plus accessible, disponible pour toute personne disposant d'un navigateur web moderne. Cela dit, ce n'est pas une fin en soi, le e-portfolio étant prévu pour évoluer et s'enrichir avec le temps.

Compétences développées

Pour sûr, j'ai renforcé mes compétences en programmation Python, notamment avec Pygame pour le développement du jeu, et en développement web pour créer le présent site. Cela m'a aussi mené à gagner en apprentissage auto-dirigé car j'ai appris de moi-même les bibliothèques employées (Pygame et PyInstaller), les modules os et sys de Python pour régler les problèmes d'accès aux fichiers , ou encore des notions de CSS (en passant par une formation gratuite en ligne) et de JavaScipt. Je me sais autodidacte, ce que j'ai déjà voulu montrer avec le Projet Voltaire, alors le prouver dans ce projet concret est une grande satisfaction. Enfin, comme tout a été réalisé en dehors des cours, je rajouterai l'autonomie.

Bilan

Pour conclure, j'ai fortement apprécié ce projet plus libre qui m'a permis de tester différentes approches et de prendre conscience de problématiques variées, que j'ai essayé (et essaye toujours) de résoudre au mieux avec persévérance et créativité. J'ai énormément appris concernant Pygame, la gestion de fichiers et de systèmes d'exploitation pour pousser mes usages de Python, et il s'agit du meilleur site web que j'ai réalisé à ce jour. C'est avec plaisir que je continuerai à le faire évoluer.