Vous êtes sur la page 1sur 29

Réf : …/………… AU : 2022-2023

MINISTERE DE L’ENSEIGNEMENT BURKINA FASO


SUPERIEUR, DE LA RECHERCHE *******
ET DE L’INNOVATION Unité - Progrès - Justice
**********
ECOLE POLYTECHNIQUE
DE OUAGADOUGOU
**********
INSTITUT DU GENIE INFORMATIQUE

Rapport de Stage de découverte

Stage de découverte en ingénierie informatique

Période du stage : 06/09/2023 – 05/10/2023

Réalisé par :

Idrissa OUEDRAOGO
Filière :

1ère Année Génie Informatique

Stage effectué au sein de TICANALYSE

Siège social : 01 BP 726 Ouagadougou 01

Somgandé/Ouagadougou /Centre/BURKINA
FASO
Maîtres de stage :
M. Serge KALAGA

M. Jonathan KIENDREBEOGO
Remerciements
Nous tenons à exprimer notre sincère gratitude envers les personnes suivantes, dont le soutien et
l’engagement ont été d’une importance cruciale pour le succès de notre stage au sein de
TICANALYSE et la réalisation de ce rapport :

 Tout d’abord, nous remercions vivement Monsieur Abdoulaye YAGO pour ses efforts à
nous aider à trouver un endroit propice pour notre apprentissage ;
 Ensuite, nous adressons nos remerciements les plus sincères au Directeur Général de
TICANALYSE, Monsieur Mahamadi ROUAMBA, pour avoir généreusement accepté notre
présence au sein de sa structure. Sa générosité et son accueil chaleureux ont grandement
contribué à notre apprentissage ;
 De plus, nous exprimons notre reconnaissance envers Monsieur Emmanuel OUEDRAOGO,
le Responsable des Ressources Humaines de TICANALYSE, pour son soutien constant tout
au long de notre stage ;
 Nous sommes également reconnaissant envers Monsieur Jonathan KIENDREBEOGO et
Monsieur Serge KALAGA, nos maîtres de stage qui, malgré leurs multiples préoccupations
n’ont ménagé aucun effort pour nous guider dans nos différentes tâches et nous épauler dans
l’élaboration de ce présent rapport ;
 Nous tenons à exprimer une fois de plus notre profonde reconnaissance envers le Directeur
Général de TICANALYSE et l’ensemble de son équipe pour avoir mis à notre disposition
un cadre de travail propice et accueillant ;
 De même, nous sommes reconnaissants envers l’Administration de l’Institut de Génie
Informatique et des Télécommunications (IGIT) ainsi qu’à l’ensemble du corps professoral
pour la qualité de la formation que nous avons reçue ;
 En outre, nous souhaitons remercier chaleureusement les responsables des stages de L’Ecole
Polytechnique de Ouagadougou (EPO) pour leur disponibilité, leur précieuse aide et leurs
réponses à nos différentes questions ;
 Enfin, nous tenons à exprimer notre gratitude envers l’ensemble de nos collègues pour leur
accueil chaleureux, leur collaboration et nos échanges enrichissants tout au long de la
période de stage.

Sommaire
Remerciements..................................................................................................................................................
Fiche-synthèse du stage.........................................................................................................................................
Introduction générale.....................................................................................................................................
CHAPITRE I : Structure d’accueil et secteur d’activité (4 à 5 pages maximum)..................................................
Introduction.......................................................................................................................................................
1.1 Secteur économique (une page)...................................................................................................................
1.2 Activités de l’entreprise (une à deux pages)................................................................................................
1.2.1 Historique de l’entreprise.....................................................................................................................
1.2.2 Entreprise aujourd’hui..........................................................................................................................
1.3 Organisation générale de l’entreprise (une page).......................................................................................
1.4 Section au choix (c’est à vous d’en choisir le titre et le contenu)................................................................
Conclusion : Principales observations et constations........................................................................................
CHAPITRE II : Travaux effectués (7 à 10 pages maximum).....................................................................................
Introduction.......................................................................................................................................................
2.1 Cadre du stage, missions et outils mis à ma disposition..............................................................................
2.2 Description des tâches effectuées...............................................................................................................
2.2.1 Tâche 1.................................................................................................................................................
2.2.2 Tâche 2.................................................................................................................................................
2.2.3 Tâche 3 …..............................................................................................................................................
2.3 Section au choix (c’est à vous d’en choisir le titre et le contenu)................................................................
Conclusion : Principales observations et constations........................................................................................
Conclusion générale..............................................................................................................................................
Mon bilan de compétences.............................................................................................................................
Références.......................................................................................................................................................
Annexes...........................................................................................................................................................

Listes des figures


Figure 1: Diagramme de cas d'utilisation de l'application web
Figure 2: le wireframe de l'écran d'accueil
Figure 3: Le wireframe de l'écran d'ajout d'une API
Figure 4: Le wireframe de l'écran d'affichage d'une API
Figure 5: Le wireframe de l'écran de mise à jour d'une API
Figure 6: Le wireframe de l'écran de suppression d'une API
Figure 7: Le wireframe de l'écran de recherche par ID d'une API
Figure 8: Le wireframe de l'écran de recherche par URL d'une API
Figure 9: Le wireframe de l'écran de recherche par statut d'une API
Figure 10: Schéma du modèle de données
Figure 11: Scripts SQL pour la création de la base de données
Figure 12: Diagramme de Gantt du projet
Figure 13: Organigramme de TICANALYSE
Résumé

Dans le cadre de notre parcours d’ingénieur en génie informatique, nous avons eu l’opportunité
d’explorer le domaine en constante évolution de l’informatique au sein de l’entreprise
TICANALYSE. Cette entreprise se distingue par sa spécialisation dans la conception d’applications
web et mobile, le développement de systèmes de messagerie SMS, USSD, et IVR, la mise en place
de solution de paiement, la création de plateformes de commerce électronique et bien d’autres
services informatiques innovants.

Notre immersion en tant qu’ouvrier au sein de cette structure a grandement élargi nos horizons, en
mettant principalement l’accent sur la conception d’applications web.

À travers ce rapport, nous avons l’immense plaisir de partager avec vous les moments forts de notre
immersion au sein de cette structure dynamique et innovatrice. Vous découvrirez comment
l’entreprise TICANALYSE se distingue dans le domaine informatique en fournissant des services
divers, notamment le développement d’applications, la finance digitale, la digitalisation de
contenus, l’internet des objets et l’intelligence artificielle.

Abstract

As part of our engineering career in computer engineering, we had the opportunity to explore the
constantly evolving field of information technology within the company TICANALYSE. This
company, stands out for its specialization in the design of web and mobile applications, the
development of SMS, USSD, and IVR messaging systems, the implementation of payment
solutions, the creation of e-commence platforms, and many other innovative IT services.

Our immersion as a worker within this dynamic organization significantly broadened our horizons,
focusing mainly on web application design.

Through this report, we have the immense pleasure to share with you the highlights of our
immersion within this dynamic and innovative organization. You will discover how TICANALYSE
distinguishes itself in the IT field by providing diverse services, including application development,
digital finance, content digitization, Internet of Things, and artificial intelligence.
Fiche-synthèse du stage

Nom de l’entreprise TICANALYSE


Ville Ouagadougou
Nom de l’encadrant industriel M. Jonathan KIENDREBEOGO
Date début et date fin du stage Du 06/09/20230 au 05/09/2023
Nombre de jours effectifs 30 jours
passés au sein de l’entreprise
Les principales tâches - Phase conception d’applications web : diagramme de cas
réalisées durant le stage d’utilisation, les wireframes, le modèle de données et la
(maximum 3) création de la base de données avec le système de gestion
de base de données MySQL
- Phase développement d’applications web : la structure
du projet, la partie backend, la partie frontend et les tests.
Le stage a-t-il une période Oui (01 jour)
d’observation ? Si oui
combien de jours ?
Le stage a-t-il une partie Oui (5 jours)
conception ? Si oui combien
de jours ?
Le stage a-t-il une partie Oui (12 jours)
développement ? si oui
combien de jours ça a pris.
Quels sont les prérequis pour - Avoir les notions de base en programmation
ce stage en termes de python ;
compétences techniques ? - Avoir les notions de base en HTML/CSS ;
- Avoir les notions de bases en SQL
Les outils et logiciels utilisés - Logiciel de gestion de projets et de prise de notes :
durant le stage Notion, Word, GanttProject, Astah UML et
Figma ;
- Environnements de développement intégrés (IDE)
pour le développement web : Visual Studio code,
PyCharm Community ;
- Développement web : Framework FastAPI,
XAMPP et le serveur Uvicorn ;
- Développement logiciel : GitHub Desktop ;
- Virtualisation de conteneurs : Docker Desktop ;
- Bases de données : MySQL et SQLite ;
- Systèmes d’exploitation : Windows et Windows
Subsystem for Linux (WSL) ;
- Langages de programmation : Python, SQL et
HTML/CSS ;
Le matériel et la machinerie
(autre que les PCs) utilisés
durant le stage
Méthodologies utilisées durant - L’architecture MVC(Modèle-Vue-Contrôleur) ;
le stage - La méthode de conception orientée objet
Les deux principales - Communication
qualifications-compétences - Travail en équipe
comportementales acquises à
travers ce stage
Les deux principales - Développement web avec le Framework FastAPI ;
qualifications-compétences - Conception d’une API
techniques acquises à travers
ce stage

Introduction générale
Dans un monde en perpétuelle transformation, où la révolution technologique et sociale ne cesse de
redéfinir notre manière de vivre, de travailler et de communiquer, mon stage au sein de
TICANALYSE a été une immersion au cœur de l’innovation technologique et sociale, plus
précisément dans le domaine de la conception d’applications web. Chaque jour, des milliers
d’applications web et mobile voient le jour pour répondre à nos besoins grandissants. Vous êtes sur le
point de découvrir l’univers dynamique de la conception d’applications au sein de TICANALYSE, où nous
avons eu le privilège de prendre part à cette révolution en marche. Guidé par un plan de formation
ambitieux en génie informatique et nos aspirations dans le domaine de la technologie de
l’information, ce stage s’inscrit parfaitement dans notre plan de formation académique et
professionnelle. Notre choix s’est porté sur TICANALYSE en raison de son engagement
inébranlable à mettre l’innovation au service du développement, ainsi que pour sa reconnaissance
dans la conception d’applications web et mobile. Chez TICANALYSE, nous avons pour objectif
d’approfondir nos compétences pratiques dans le domaine de l’innovation technologique, de
contribuer au succès de l’entreprise et d’explorer les défis, les dynamiques et les opportunités
offertes par le secteur de la conception d’applications web. Nos attentes au sein de TICANALYSE
se concentrent sur l’acquisition de compétences pratiques essentielles dans le domaine de la
conception d’applications web, ce qui enrichira considérablement notre parcours en génie
informatique. TICANALYSE, une entreprise en ingénierie informatique, s’est spécialisée dans
l’innovation technologique et sociale notamment la sensibilisation via le SMS, la collecte et la
visualisation des données en temps réel, la fourniture d’une connexion internet haut débit, la
géolocalisation et les systèmes d’information géographique, la programmation web, mobile et
tactile, la création de sites internet, le suivi-évaluation des projets TIC, et l’élaboration de modèles
de durabilité économique et sociale pour les projets TIC dans le développement. Au cours de ce
stage, nous avons eu l’occasion de travailler sur des missions de conception et de développement
d’applications web. Ce rapport vous invite à explorer les détails de notre stage, les défis auxquels
nous avons été confrontés et les enseignements que nous avons acquis au fil de cette expérience.
Vous aurez l’opportunité d’explorer la fusion entre l’apprentissage académique et la réalité du
secteur de la conception d’application. Nous avons hâte de vous faire partager cette aventure.
CHAPITRE I : PRÉSENTATION DE LA STRUCTURE
D’ACCUEIL ET DU CADRE DE STAGE

Dans ce chapitre, nous présenterons la structure d’accueil tout en faisant ressortir son
historique, sa vision, ses domaines d’intervention, ses valeurs et son organigramme, et ensuite nous
aborderons plus en détail le cadre pratique du stage.

I. Présentation de la structure d’accueil

Start-up évoluant dans l’innovation technologique et sociale, TICANALYSE est une


entreprise qui offre des services d’Appui-conseil aux organisations de développement. Elle dispose
d’un personnel qui, en plus d’être jeune et hautement qualifié, ne cesse d’être au diapason de
l’évolution de la technologie afin de donner le meilleur de lui-même dans l’accompagnement de ses
partenaires.

1. Historique

Crée en 2003 par un jeune ingénieur en Management des projets TIC appliqués au
développement socio-économique, TICANALYSE à l’origine, offrait des services de consultation
en gestion des projets TIC (Technologie de l’Information et de la Communication). De par ses
services efficaces, TICANALYSE a élargi son domaine d’activité qui est de nos jours l’appui-
conseil de ses partenaires dans leurs projets et programmes intégrant les technologies de
l’information et de la communication (TIC).

2. Vision

La conviction qu’a TICANALYSE de nos jours est qu’il est nécessaire d’élargir notre
compréhension de ce qu’est l’innovation. En effet, l’innovation ne doit pas se limiter à la seule
innovation technologique. La technologie est certes importante, mais c’est d’abord le changement
sociétal qui doit être suscité et développé. La technologie vient alors « servir » ce changement qui
peut être un changement d’usage ou de processus. De plus en plus, nous constatons que l’usage a
repris ses droits et ne considère plus la technologie comme une valeur intrinsèque. C’est ce qu’elle
apporte qui importe aux utilisateurs que nous sommes. TICANALYSE met l’innovation
technologique et sociale au service du développement.

3. Domaines d’intervention

Dotée d’une équipe de professionnels du développement, de l’économie, de l’informatique, du


marketing et plus simplement de passionnés de l’innovation technologique et sociale,
TICANALYSE s’oriente sur les piliers spécialisés et complémentaires suivants :

 La collecte et la visualisation des données pour le suivi de terrain en temps réel ;


 La fourniture de la connexion à internet haut débit ;
 La géolocalisation et les systèmes d’information géographique des zones d’intervention ;
 La programmation et l’architecture technique web, mobile et tactile pour l’accès à
l’information ;
 Le développement de site internet pour une présence numérique de l’organisation ;
 Le suivi-évaluation de projets et programme d’intégration des TIC dans le développement ;
 L’élaboration de modèle de durabilité économique et sociale des projets TIC dans les
secteurs du développement ;
 La vulgarisation de l’information dans les Organisations Non Gouvernementales (O.N.G.)
grâce à une plateforme de SMS.

Avec son portefeuille de produits et de services innovants, TICANALYSE renforce les capacités
des organisations de développement pour une gestion plus agile, plus fiable et plus économe de
leurs projets et programmes intégrant les technologies de l’information et de la communication.
TICANALYSE développe des solutions dans le but de fournir le meilleur du web, des applications
mobiles et des environnements technologiques aux acteurs du développement. Enfin, elle
accompagne ses partenaires de l’étape d’identification du projet jusqu’à l’étape d’évaluation.
4. Valeurs et organigramme

La raison d’être de TICANALYSE est de respecter son engagement : mettre l’innovation au service
du développement. Elle s’engage également à contribuer au succès de tous ses partenaires. Ceci est
pour elle le meilleur moyen de participer au développement.

La disruption est le mode de travail stratégique à TICANALYSE. En effet, TICANALYSE, une


solution à un problème donné n’est jamais tenue pour acquise. Elle pense qu’il faut toujours se
remettre en cause, chercher une autre solution ou une nouvelle idée qui à son tour peut être
réévaluée positivement. Ce mode de pensée de TICANALYSE lui permet d’offrir à ses partenaires
les services et conseils adéquats à leurs besoins.

L’innovation reste une valeur cardinale pour TICANALYSE. Pour répondre aux besoins de ses
partenaires, elle met à leur disposition une solution innovante qui sied à leur exigence.

TICANALYSE, en tant qu’entreprise offrant des solutions et services irréprochables, garde toujours
de bonnes relations avec les organisations avec lesquelles elle travaille.

Ces collaborations sont si étroites à telle enseigne que pour TICANALYSE, toutes les organisations
collaborant avec elle, sont considérées comme des partenaires. Ce qui fait de TICANALYSE une
entreprise orientée vers les partenariats et les solutions.
Chapitre II : Travaux effectués

Introduction

Dans ce chapitre, nous vous offrons un aperçu détaillé de notre expérience au sein de
TICANALYSE. Au cours de notre stage au sein de cette entreprise spécialisée dans l’innovation
technologique et sociale, nous avons eu l’opportunité de nous immerger dans un environnement
dynamique axé sur la conception d’applications web. Dans cette section, nous vous détaillerons
notre de cadre de stage, les missions qui nous ont été confiées, ainsi que les outils mis à notre
disposition au sein de TICANALYSE. Par la suite, nous vous présenterons en détail les tâches que
nous avons effectuées. Enfin, nous mettrons en lumière les compétences que nous avons
développées, et les enseignements que nous avons pu tirer de cette expérience enrichissante.

2.1 Cadre de stage, missions et outils mis à ma disposition

Dans cette section, nous vous fournirons un aperçu du contexte de notre stage, les missions qui
nous ont été confiées, ainsi que les outils et ressources qui ont été mis à notre disposition pour
atteindre nos objectifs.

2.1.1 Cadre de stage


Notre stage au sein de TICANALYSE s’est déroulé du 06 septembre 2023 au 05 octobre
2023 dans les locaux de l’entreprise situés à Somgandé. Au cours de cette période, nous
avons eu le privilège de plonger au cœur de l’environnement professionnel dynamique de
TICANALYSE, une entreprise spécialisée dans l’innovation technologique et sociale.

2.1.2 Missions
Pendant notre stage chez TICANALYSE, notre mission principale consistait à mener à bien
un projet clé. Ce projet était axé sur la conception d’une application web en utilisant le
Framework FastAPI de python. L’objectif principal de cette application était de permettre la
vérification du statut d’une API. Au cours de cette mission, nous étions à la fois
responsables des tâches de conception et de développement d’applications web.
2.1.3 Outils mis à notre disposition
Afin de mener à bien notre mission, l’entreprise a mis à notre disposition un environnement
de travail propice à l’apprentissage et au développement de compétences techniques. Cela
inclut un espace de travail bien équipé avec un accès Wi-Fi fiable, qui nous a permis de
rester permanemment connecté et d’accéder aux informations essentielles nécessaires à
l’accomplissement de notre mission. Nous avons également bénéficié d’un encadrement
attentif et de conseils avisés de la part de nos encadreurs tout au long de notre stage, ce qui a
grandement contribué à notre développement professionnel.

2.2 Description des tâches effectuées


Avant de détailler les différentes tâches, commerçons par présenter le projet dans sa globalité.

Objectif du projet : l’objectif du projet était de concevoir une application web en utilisant le
Framework FastAPI permettant de vérifier le statut d’une API. Cette application devait offrir les
fonctionnalités suivantes :

 La création d’une API : les utilisateurs devraient pouvoir ajouter de nouvelles APIs dans
une base de données en fournissant simplement leur URL, le reste des informations étant
géré en arrière-plan.
 Lecture d’une API : l’application devait permettre aux utilisateurs de consulter et
d’afficher les données de toutes les API stockées dans la base de données.
 Recherche d’une API : les utilisateurs devaient avoir la possibilité de rechercher des APIs
en fonction de différents critères, notamment par ID, par URL, ou par statut.
 Mise à jour d’une API : Les utilisateurs devaient être en mesure de modifier les
informations d’une API en utilisant son identifiant et en saisissant une nouvelle URL, le
système prenant en charge le reste du processus.
 Suppression d’une API : les utilisateurs devaient pouvoir supprimer une API de la base de
données en fournissant son identifiant.

Le projet visait à simplifier la gestion des APIs en centralisant les informations dans une base de
données et en offrant aux utilisateurs une plateforme intuitive pour effectuer les opérations CRUD
(Create, Read, Update, Delete).
2.2.1 Tâche 1 : Conception
La phase de conception a principalement consisté à la réalisation du diagramme de cas d’utilisation,
des wireframes (maquettes), du modèle de données et de la création de la base de données. Ces
éléments fournissent une base solide pour la suite du projet.

● Objectif : cette tâche vise à définir la conception initiale du projet, y compris les

spécifications fonctionnelles et techniques nécessaires à son développement.

● Démarche-Méthodologie : Pour atteindre cet objectif, nous avons suivi une méthodologie

structurée à savoir l’élaboration d’un diagramme de cas d’utilisation, la création des


wireframes, la définition de la structure de la base de données ainsi que sa création. Voyons
plus en détail ces démarches dans la partie suivante.

● Détail :

1. Diagramme de cas d’utilisation


Il a été choisi pour décrire les différentes interactions possibles de l’utilisateur avec le
système.

Figure 14: Diagramme de cas d'utilisation


de l'application web
2. La maquette du site (wireframes) : les wireframes ont été créés avec le logiciel Figma
pour représenter les principales interfaces utilisateurs. Ces wireframes comprennent :
a. L’écran d’accueil
Il s’agit de l’écran principal du site. Il comporte les différents liens permettant
d’accéder aux différentes pages pour réaliser les différentes fonctionnalités
notamment la création, la lecture, la mise à jour et la suppression des données

Figure 15: le wireframe de l'écran


d'accueil

b. L’écran de création d’une API


Cette interface permet aux utilisateurs d’ajouter des données d’API dans une base de
données en fournissant seulement son URL. Les autres informations sont traitées en
arrière-plan.

Figure 16: Le wireframe de l'écran


d'ajout d'une API

c. L’écran d’affichage des données d’une API


Cet écran affiche toutes les données des APIs stockées dans la base de données sous
forme de tableau.
Figure 17: Le wireframe de l'écran
d'affichage d'une API

d. L’écran de modification des données d’une API


Similaire à l’écran de création, il permet de modifier les informations d’une API en
utilisant son identifiant et en saisissant une nouvelle URL.

Figure 18: Le wireframe de


l'écran de mise à jour d'une
API

e. L’écran de suppression d’une API


Cet écran permet de supprimer une API en saisissant son identifiant.

Figure 19: Le wireframe de


l'écran de suppression d'une
API

f. L’écran de recherche des données d’une API


Ce sous-menu comporte trois options de recherche :

i. Recherche par id
Cette page permet à l’utilisateur de rechercher l’identifiant d’une API dans la
base de données.

Figure 20: Le wireframe de


l'écran de recherche par ID
d'une API

ii. Recherche par URL


Cet écran composé d’un seul champ, permet de rechercher une URL d’une
API dans la base de données.

Figure 21: Le wireframe de


l'écran de recherche par URL
d'une API

iii. Recherche par statut


Cet écran, similaire à celui du précédent permet de rechercher toutes les APIs
possédant un statut donné.

Figure 22: Le wireframe de


l'écran de recherche par statut
d'une API
g. Le scénario complet du site
Les wireframes permettent de comprendre en un coup d’œil les enchaînements entre
les écrans. Ce schéma décrit un scénario typique de navigation et d’utilisation du
site.

3. Le modèle de données
Il a été élaboré pour définir la structure de la base de données. Ce modèle a été établi en
identifiant les entités, les attributs qui leur sont associés, ainsi que les méthodes
nécessaires à leur manipulation. La mise en place de ce modèle de données nous a
permis de définir clairement la manière dont les données seraient organisées et stockées.

Figure 23: Schéma du modèle


de données

4. Création de la base de données avec MySQL


Une base de données MySQL a été créée pour stocker les informations relatives aux APIs.
Cette étape cruciale a nécessité l’utilisation de scripts SQL soigneusement élaborés pour
mettre en place la structure de la base de données.

Figure 24: Scripts SQL pour la


création de la base de données

● Résultats et réalisations : les résultats de cette phase comprennent des wireframes détaillés,

une structure de base de données clairement définie et une vision globale du projet. Ces
éléments serviront de base solide pour la phase de développement.
2.2.2 Tâche 2 : Développement

● Objectif : cette tâche vise à mettre en œuvre le projet conformément à la conception établie

dans la tâche précédente.

● Démarche-Méthodologie : pour le développement, nous avons suivi une méthodologie

rigoureuse, notamment la création de la structure du projet, la mise en place des scripts


frontend et backend et la réalisation des tests.
 Détails :
1. La structure du projet
La conception d’une application web nécessite une structure des dossiers et fichiers bien
organisée pour garantir une gestion efficace du code source, des modèles de données, de
l’interface utilisateur, etc. Une structure bien conçue améliore la maintenabilité du code
et permet de gagner du temps lors de l’ajout de nouvelles fonctionnalités ou de la
résolution des problèmes. Le code source du projet est divisé en plusieurs dossiers et
fichiers. On distingue ce qui suit :
a. Le dossier racine « healthcheck » de l’application : il est le point de départ de
toute la structure et contient tous les fichiers et dossiers de l’application.
b. Les dossiers pour les composants principaux :
 Le dossier « controllers » : Ce dossier a été créé pour abriter les fichiers
responsables de la logique métier de l’application. Les contrôleurs gèrent les
requêtes utilisateur et les réponses associées.
 Le dossier « models » : ce dossier a été conçu pour stocker les modèles de base
de données. Ces modèles représentent les données manipulées par l’application.

 Le dossier « templates » : Ce dossier a été mis en place pour héberger les


fichiers au format HTML utilisés pour définir l’interface utilisateur de
l’application. Cela permet une gestion propre et organisée de l’interface
utilisateur.
c. Les dossiers pour les ressources statiques :
 Le dossier « css » : ce dossier a été créé pour stocker les fichiers de style en
cascade (CSS). Ces fichiers sont utilisés pour définir la mise en forme et le
design des pages HTML de l’application.
 Le dossier « images » : ce dossier a été réservé pour les fichiers images utilisés
dans l’interface utilisateur.

d. Le fichier « requirements.txt »
Ce fichier contient tous les modules ainsi que leurs versions correspondantes pour la
bonne mise en place des scripts.
Chacun de ces dossiers a été soigneusement organisé pour refléter la structure de
l’application et pour faciliter la gestion des différentes composantes de l’application. Les
fichiers spécifiques au projet ont été créés dans les dossiers correspondants pour mettre en
œuvre les fonctionnalités de l’application.
2. Code backend
Le backend a été développé en utilisant le Framework FastAPI pour gérer les routes, la
logique métier et les interactions avec la base de données.
a. Gestion des routes
FastAPI a été utilisé pour définir les routes de l’application. Chaque route
correspond à une opération spécifique de l’API, notamment la création, la lecture, la
mise à jour ou la suppression d’une API. Les routes ont été conçues de manière à
suivre les principes d’une architecture RESTful, assurant ainsi une structure
cohérente et une utilisation efficace des méthodes http (GET, POST, PUT, DELETE)
pour effectuer des actions sur les données.
b. Gestion de la logique métier
La logique métier de l’application a été implémentée dans le dossier « controllers ».
Chaque route est associée à une fonction de contrôleur qui gère la logique métier de
l’opération correspondante. Par exemple, la création d’une API a été gérée par un
contrôleur dédié qui vérifie les données fournies par l’utilisateur, effectue les
opérations nécessaires, et stocke les informations dans la base de données. De même,
la lecture, la mise à jour et la suppression d’API ont leur propre logique métier
spécifique.

c. Gestion des interactions avec la base de données


Pour interagir avec la base de données MySQL, la librairie « SQLAlchemy » a été
utilisée. Les modèles de données ont été définis pour représenter les entités de la
base de données, et des requêtes SQL ont été générées pour effectuer des opérations
de base données notamment l’insertion, la sélection, la mise à jour et la suppression.
Cette approche a permis de séparer clairement les préoccupations du backend, rendant le
code maintenable, évolutif et conforme aux meilleures pratiques de développement.

3. Code frontend
Le frontend a été développé en utilisant HTML et CSS. Il communique avec le backend
via des appels d’API RESTful (GET, POST) pour afficher les données et permettre aux
utilisateurs d’interagir avec le système.

4. Tests
Des tests unitaires ont été réalisés pour garantir la fiabilité des fonctionnalités. Des tests
d’intégration ont également été effectués pour vérifier la cohérence globale du système.

● Résultats et réalisations : les résultats de cette phase comprennent une application web

fonctionnelle qui respecte les spécifications de conception. Le site permet désormais aux
utilisateurs de créer, lire, mettre à jour et supprimer des données d’API.

Voici quelques captures d’écran illustrant le fonctionnement de l’application web :


Conclusion

Au cours de notre stage au sein de TICANALYSE, nous avons eu l’opportunité de contribuer à la


conception et au développement d’une application web visant à simplifier la gestion des APIs. Cette
expérience nous a permis de tirer des observations importantes sur chaque phase du projet et
d’identifier des pistes d’amélioration.

1. La Conception de l’application web : la phase de conception a été une étape cruciale pour
établir une base solide pour le développement de l’application. Cependant, des efforts
supplémentaires pourraient être consacrés à cette phase, en particulier en ce qui concerne
l’élaboration détaillée des wireframes. Des wireframes plus détaillés permettraient une
meilleure compréhension du projet.
2. Développement de l’application : le développement de l’application s’est bien déroulé,
mais des possibilités d’amélioration existent notamment dans la gestion des tests et la
qualité du code.
3. Collaboration : la collaboration au sein de l’équipe a été un élément clé pour résoudre les
problèmes techniques pratiques. Il est important de continuer à encourager et à faciliter
davantage ces échanges d’expériences et de connaissances au sein de l’entreprise.

En résumé, notre stage chez TICANALYSE a été une expérience enrichissante qui nous a permis de
mettre en pratique nos compétences en conception et développement d’applications web.
Conclusion générale

Partie 1 : Récapitulation et Résultats


Au cours de notre stage chez TICANALYSE, nous avons accompli un ensemble de tâches qui ont contribué
au développement d’une application web. Nous avons débuté par des recherches documentaires approfondies
pour comprendre les technologies essentielles, telles que le Framework FastAPI et la bibliothèque
SQLAlchemy. Ces recherches nous ont permis de poser les bases solides pour le projet. Ensuite, nous avons
travaillé sur la conception de l’application, en réalisant un diagramme de cas d’utilisation, des wireframes,
un modèle de données et en mettant en place une base de données avec MySQL. Enfin, nous avons poursuivi
nos tâches avec la phase de développement où nous avons eu à définir la structure du projet, écrire les codes
pour les parties backend et frontend et effectué des tests.

Partie 2 : Bilan personnel et compétences acquises


Ce stage au sein de TICANALYSE a été une opportunité précieuse pour développer nos compétences
techniques, notamment dans le domaine du développement web, de la gestion de base de données, de la
conception d’API, ainsi que dans l’utilisation des outils tels que FastAPI, Docker et MySQL. J’ai également
renforcé mes compétences en résolution de problèmes, en planification de projet, et en communication au
sein d’une équipe.
Les enseignements clés que nous retenons de ce stage sont les suivants :
1. Maîtrise des technologies émergentes : nous avons développé une solide compréhension des
technologies modernes utilisées dans le développement d’applications web, nous préparant ainsi à
travailler sur des projets similaires à l’avenir.
2. Gestion de projet : nous avons appris à planifier, organiser et gérer efficacement des projets de
développement.
3. Compétences en résolution de problèmes : nous avons développé la capacité à analyser et à
résoudre efficacement les problèmes techniques rencontrés tout au long du processus de
développement.
Ce stage a également renforcé notre intérêt pour le développement web et l’innovation technologique. Il
nous a permis de confirmer notre projet professionnel dans ce domaine, et nous souhaitons poursuivre
une carrière axée sur le développement d’applications web et la technologie.

Partie 3 : Objectifs et Attentes futurs


Pour notre prochain stage, nous recherchons une opportunité au sein d’une entreprise qui nous
permettra d’approfondir nos compétences techniques en développement web et en innovation
technologique.

En ce qui concerne notre stage de fin d’études (PFE), nous avons l’intention de choisir un projet
ambitieux qui nous permettra de mettre en pratique l’ensemble des compétences que nous avons
acquises jusqu’à présent. Nous souhaitons travailler sur un projet qui a un impact réel sur la société
et qui nous donne l’occasion de repousser nos limites en matière de développement d’applications
web.

Mon bilan de compétences

Quels métiers d’ingénieurs j’avais l’intention d’exercer ?


Avant d’entamer ma formation en génie informatique, j’envisageais initialement de travailler dans
le domaine de l’aviation en tant qu’ingénieur aérospatial.

Quels métiers d’ingénieurs j’ai l’intention d’exercer (si différents) ?


Durant ma formation en génie informatique et suite à mon stage chez TICANALYSE, mes
intentions de carrière ont évolué. À présent, j’ai l’intention d’exercer le métier d’ingénieur
spécialisé dans l’innovation technologique pour la société. Mon objectif est de contribuer à la
création et au développement de solutions technologiques innovantes qui auront un impact positif
sur la société.

Bilan des compétences


1. Compétences techniques pratiques
 Programmation Python
 Conception d’API avec FastAPI
 Gestion de base de données MySQL
 Utilisation d’outils Docker et Docker Compose
 Programmation HTML/CSS
 Modèle MVC (Modèle-Vue-Contrôleur)
 Utilisation de SQLAlchemy
 Framework web FastAPI

 Développement d’applications web


2. Compétences socioprofessionnelles (soft skills)
 Capacité de communication en public
 Aptitude au travail en équipe
 Résolution de problèmes techniques
 Capacité de communication écrite
 Gestion de projet
 Résolution de problème
 Autonomie

Fiche bilan de compétences

Compétences totalement ou Compétences à Compétences à


partielle acquises développer en développer en
première priorité deuxième priorité

La Degré de Occasion La Moye La Moyen


compétence maitrise de compétenc nà compétenc à
(en %) pratique e ciblée utiliser e ciblée utiliser
Compétences Développ 50 % Stage
techniques ement chez
pratiques d’applicati TICANA
LYSE
ons web
Programma 75% Cours
tion Python universita
ire
Conception 70% Stage
d’API avec chez
FastAPI TICANA
LYSE
Gestion de 80 % Cours
base de universita
données ire
MySQL
Utilisation 45 % Stage
des outils chez
Docker et TICANA
Docker LYSE
Compose
Programma 75 % Recherch
tion es
HTML/CS personnel
S les,
Stage
chez
TICANA
LYSE
Modèle 50 % Recherch
MVC es
personnel
les,
Stage
chez
TICANA
LYSE
Utilisation 65 % Stage
de chez
SQLAlche TICANA
my LYSE
Framework 75% Stage
web chez
FastAPI TICANA
LYSE
Compétences Capacité 70 % Stage
Socioprofessionn de chez
elles (soft skills) communic TICANA
LYSE
ation en
public
Résolution 60% Stage
de chez
problèmes TICANA
techniques LYSE
Aptitude au 75% Collabora
travail en tion sur
équipe des
projets de
groupe,

Stage
chez
TICANA
LYSE
Capacité de 70% Cours
communic universita

ation ire

écrite
Gestion de 65 % Stage
projet chez
TICANA
LYSE
Résolution 55 % Stage
de chez
problèmes TICANA
LYSE
Autonomie 60 % Stage
chez
TICANA
LYSE

Références

 Bibliographie

[1] BERSINI, Hugues. « L’orienté objet, 3e édition ». Éditions Eyrolles, Paris : 2007. 274 pages.
ISBN : 978-2-212-12084-4 ;
[2] DRAILLARD, Francis. « Premier pas en CSS et XHTML, 2e édition ». Éditions Eyrolles, Paris :
2008. 274 pages. ISBN : 978-2-212-12390-6 ;
[3] GOETTER, Raphaël. « CSS 2 – Pratique du design web, 2e édition ». Éditions Eyrolles, Paris :
2007. 337 pages. ISBN : 978-2-212-11976-3 ;
[4] SOUTOU, Christian. « Apprendre SQL avec MySQL ». Éditions Eyrolles, Paris : 2006. 418
pages. ISBN : 2-212-11915-1.

 Webographie

[1] TICANALYSE. « TICANALYSE. » Créé le 20 janvier 2015 et mis à jour le 26 décembre 2022.
Disponible sur https://ticanalyse.org. Consulté le 07 septembre 2023 ;
[2] RAMIREZ Sébastian. « FastAPI. » Créé le 18 octobre 2018 et mis à jour le 03 octobre 2023.
Disponible sur https://fastapi.tiangolo.com. Consulté à plusieurs reprises pendant la phase de
développement ;
[3] SQLAlchemy. « SQLAlchemy-the Database Toolkit for Python. » Créé le 28 mai 2005 et mis à
jour le 03 mai 2023. Disponible sur https://www.sqlalchemy.org. Consulté à plusieurs reprises
pendant la phase de développement ;
[4] Docker, Inc. « Docker: Accelerated Container Application Development. » Créé le 25 janvier
1995 et mis à jour le 26 décembre 2022. Disponible sur https://www.docker.com. Consulté à
plusieurs reprises pendant la phase de développement.

Annexes

 Chronogramme des tâches menées durant le stage

Figure 25: Diagramme de Gantt du projet


 Organigramme de TICANALYSE

Figure 26: Organigramme de TICANALYSE

Vous aimerez peut-être aussi