Articles
1. Intégration dans l'Entreprise
Mon intégration au sein de l'entreprise a été une expérience très positive et enrichissante. Dès mon premier jour, j'ai été chaleureusement accueilli par mon tuteur de stage, qui a pris le temps de me présenter à l'ensemble de l'équipe. Cette introduction a été cruciale pour moi car elle m'a permis de me familiariser rapidement avec les personnes avec qui j'allais travailler.
Nous avons commencé par une présentation des outils et des technologies que nous allions utiliser. Mon tuteur a également partagé une documentation complète, qui s’est révélée être une ressource précieuse pour comprendre les processus internes et les attentes. Les collègues ont été très réactifs à mes questions et ont toujours été prêts à m’aider, ce qui a grandement facilité mon adaptation.
En quelques jours, j'ai pu me familiariser avec le fonctionnement quotidien de l'entreprise et commencer à participer activement aux projets en cours. Cette intégration fluide a été un facteur clé pour me permettre de contribuer efficacement et d’acquérir de nouvelles compétences rapidement.
2. Développement de l'Application Web
Le projet principal de mon stage était le développement d'une application web dédiée à la gestion des joueurs et des équipes de basket. Ce projet a été un défi passionnant, impliquant plusieurs étapes clés que je vais détailler ci-dessous.
- Choix des Technologies : Nous avons opté pour Flask comme framework backend en raison de sa simplicité et de sa flexibilité. Pour la gestion des données, nous avons choisi SQLite, qui est léger et facile à configurer. En ce qui concerne le frontend, nous avons utilisé HTML pour la structure, CSS pour le design, et JavaScript pour les interactions dynamiques.
- Mise en Place de l'Environnement : La première étape technique a été de créer un environnement virtuel à l'aide de `venv` pour isoler les dépendances du projet. Nous avons installé Flask et d'autres bibliothèques nécessaires à l'aide de `pip`, ce qui a permis de maintenir un environnement de développement propre et bien organisé.
- Développement des Fonctionnalités : La création de l'application a impliqué plusieurs fonctionnalités clés, telles que l'authentification des utilisateurs pour sécuriser l'accès, la récupération et l'affichage des données via l'API balldontlie, et la gestion des joueurs, équipes et matchs. L'intégration de ces fonctionnalités a nécessité une bonne compréhension des API REST et des mécanismes de manipulation des données en temps réel.
3. Difficultés Rencontrées et Solutions Apportées
Au cours du développement, l'une des principales difficultés rencontrées était la gestion des appels API, notamment pour récupérer et mettre à jour les données en temps réel. Les appels API peuvent parfois entraîner des latences ou des erreurs, surtout lorsque le volume de données est élevé ou lorsque l'API externe rencontre des problèmes.
Pour résoudre ce problème, nous avons mis en place des fonctions utilitaires pour gérer les appels API de manière asynchrone. Cette approche nous a permis de continuer à utiliser l'application sans interruptions majeures, même lorsque les temps de réponse des API variaient. En outre, nous avons ajouté des mécanismes de gestion des erreurs et des notifications pour informer les utilisateurs en cas de problème.
Ces solutions ont considérablement amélioré l'expérience utilisateur et la fiabilité de l'application. Elles ont également permis de mieux comprendre les défis associés à l'interaction avec des services externes.
4. Connaissances Mobilisées
Ce projet a été l'occasion de mettre en pratique et d'approfondir plusieurs connaissances en développement web. Travailler avec Flask m'a permis de mieux comprendre le développement backend, y compris la gestion des routes, des sessions et des interactions avec la base de données via SQLAlchemy.
J'ai également appris à utiliser la bibliothèque `requests` pour interagir avec des API externes, ce qui est crucial pour récupérer des données en temps réel. Cette compétence est essentielle pour de nombreux projets web modernes qui dépendent des données provenant de services tiers.
Enfin, le projet m'a aidé à renforcer mes compétences en frontend, notamment dans la création d'interfaces utilisateur attrayantes et fonctionnelles à l'aide de HTML, CSS et JavaScript.
5. Compétences Acquises
- Développement Backend : J'ai acquis une solide expérience dans la création et la gestion d'applications Flask, ainsi que dans l'intégration de bases de données avec SQLAlchemy. Cette compétence est cruciale pour développer des applications web robustes et évolutives.
- Développement Frontend : En travaillant sur l'interface utilisateur, j'ai amélioré mes compétences en HTML, CSS et JavaScript. La création d'interfaces utilisateur interactives et attrayantes est essentielle pour offrir une expérience utilisateur agréable.
- Gestion de Projet : La planification et l'organisation des tâches ont été des aspects importants du stage. J'ai appris à travailler efficacement en équipe, à établir des priorités et à gérer les délais, ce qui est crucial pour la réussite de tout projet de développement logiciel.
6. Bilan de Stage
Ce stage a été une expérience extrêmement enrichissante sur plusieurs niveaux. Non seulement j'ai acquis de nouvelles compétences techniques, mais j'ai également appris à travailler en équipe et à gérer un projet de développement logiciel de bout en bout. Cette expérience m'a permis de mieux comprendre les défis et les réalités du monde professionnel.
En rétrospective, j'ai identifié plusieurs points d'amélioration. La gestion du temps est un domaine où je pourrais encore progresser, notamment en planifiant mieux les différentes phases du projet pour éviter les rushs de dernière minute. De plus, une communication plus fluide avec les membres de l'équipe pourrait améliorer encore la collaboration et l'efficacité.
En conclusion, ce stage m'a non seulement permis de renforcer mes compétences techniques, mais aussi de développer des compétences interpersonnelles et organisationnelles essentielles pour ma future carrière professionnelle.