C'est par la programmation que j'ai commencé et découvert l'informatique durant mes années de collège. J'ai alors suivi des cours en ligne notamment sur OpenClassroom et france.ioi. J'ai commencé par apprendre le C (pas vraiment le langage que je conseillerais pour débuter dans la programmation) puis changé pour le Java Script. Pour les études, j'ai appris et j'utilise beaucoup le python puis j'ai touché un peu au Java et étudié le C++ par curiosité personnelle et pour comprendre les bases d'un langage orienté objet.
Je vous présente ici mes projets les plus récents ou/et les plus aboutis.
Ce projet a pour but de développer une application web afin d'accompagner un élève dans ses études.
Ce projet me permet aussi et surtout d'allier beaucoup de mes compétences en développement web. L'application est faite en python grâce à Flask et Jinja, le css et le Javascript sont soignés, j'ai utilisé des bases SQL et MongoDB pour les données et les différentes parties de l'application ont pour vocation d'être conteneurisés grâce à docker et géré grâce à kubernetes (encore dans les cartons à ce jour).
La forte compétitivité des études supérieures présente uniquement dans certains domaines tend à se généraliser. Une organisation extrêmement rigoureuse du travail devient alors indispensable pour chaque étudiant. Cependant, cette organisation ne doit pas oublier le moral qui est très souvent la source de difficultés et d'abandon dans la durée.
Pour cela (et aussi parce que j'aime beaucoup le développement web), je me suis lancé dans la création d'une application web d'accompagnement de l'élève dans ses études.
Je me suis pour cela inspiré de Duolingo afin de proposer un système ludique. Des illustrations (Que je créer moi même ; voir page audiovisuel), des systèmes d'XP, différents parcours et je l'espère des événements réguliers.
Cette application n'a pas vocation à remplacer les cours, elle y serait en complément avec plusieurs fonctionnalités en développement ; synchronisation de l'emploi du temps, calendrier automatique des révisions pour les épreuves à venir, aide à la concentration, exercices et corrigés supplémentaires, etc... Le but sera également de donner des liens vers d'autres ressources gratuits, déjà existantes sur Internet ; pourquoi réinventer la roue ?...
Ci-dessus, les premières captures d'écran de mon application, les images proviennent d'Internet, je n'ai pas encore créé mes propres illustrations.
J'ai actuellement développé toutes les pages du site, une gestion basique des droits d'accès est en place, mais la gestion des utilisateurs et leur stockage dans une base de données n'est pas terminé. Le système permettant d'afficher différents contenus sur le site est lui fonctionnel.
J'ai dû réaliser un programme pour traiter de grandes quantités de données, celui-ci avait pour but de charger des emplois du temps et d'en sortir les statistiques en rapport avec le temps libre dans l'emploi du temps.
Ce programme a été réalisé en python avec l'IDE de Pycharm et des dépôts réguliers sur gitlab. Il répond avec précision à un cahier des charges découpant le programme en plusieurs fonctions. Il a prouvé ma capacité à respecter des dates butoirs
J'ai dû, durant ce projet, résoudre ou contourner beaucoup de problèmes. Les résoudre était la meilleure solution au cas où je les rencontrerais à nouveau, cependant, il fallait également gérer les priorités en fonction du temps, car celui-ci était réduit.
La documentation était erroné, et même totalement fausse à certains endroits, il fallait alors se référer uniquement aux résultats des tests pour débuggger le programme. Et dans les cas extrêmes écrire des rapports précis décrivant l'origine du problème et proposant les différentes options pour y remédier. Les échéances étaient régulières et une bonne organisation était nécessaire pour rendre le travail à temps.
Pour la partie technique ; le projet a entièrement été réalisé en python avec l'aide de l'IDE Python. J'ai appris à gérer un format de calendrier et les fichiers csv. J'ai présenté les résultats sous forme de markdown et dans un graphe exporté en png (choses que je n'avais encore jamais faites avant). Juste pour le plaisir, j'ai fini le projet en créant une petite interface graphique grâce à la bibliothèque tkinter. J'ai également dû travailler avec des modules déjà développés et que je ne pouvais pas modifier, il me fallait donc obligatoirement m'adapter à leur fonctionnement.
Bien que ce projet fut compliqué avec des consignes flous et plein de choses à apprendre sur le tas, j'aime bien le développement en général et la motivation m'a donc beaucoup aidé pour rendre un travail final fonctionnel et de qualité.
Un de mes premiers projets en Javascript fut une page web permettant de créer un emploi du temps le plus optimisé possible. Ce programme, bien que peu optimisé avec mon niveau de développement de l'époque, était entièrement fonctionnel.