Vous êtes sur la page 1sur 55

Ecole supérieur privée Département Informatique

TIC
Technologie &Ingénierie
Année Universitaire 2021-2022

RAPPORT DE STAGE

Thème : Projet externe

Sujet : Conception et développement d'une plateforme de


'Crowdfunding'

CANDIDAT :

Nom et prénom : Bengayed Mohamed


Encadré par : Boussada Mohamed El hedi

Année Universitaire: 2021-2022


Table des matières

Introduction générale 1

1 Etude préalable 3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1 Présentation du cadre de projet . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Les modes classiques de financement . . . . . . . . . . . . . . . . . 3
1.1.1 Les fonds nationaux . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Les fonds internationaux . . . . . . . . . . . . . . . . . . . 4
1.1.3 Les fonds privés . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Présentation de sujet . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Objectifs à atteindre . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Solutions existantes sur le marché . . . . . . . . . . . . . . . . . . 5
2.1.1 Humaid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Kickstarter . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Innovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 Spécification des besoins fonctionnels . . . . . . . . . . . . . . . . . 9
3.1.1 Identification des acteurs . . . . . . . . . . . . . . . . . . . 9
3.1.2 Spécification des besoins fonctionnels . . . . . . . . . . . . 10
3.2 Spécification des besoins non fonctionnels . . . . . . . . . . . . . . . 11
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 Conception 13
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1 Description de la méthodologie . . . . . . . . . . . . . . . . . . . . . . . . 13

i
2 Étude conceptuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . 13
2.2 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Les diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Diagramme de séquence objet « s’inscrire » . . . . . . . . 17
2.3.2 Diagramme de séquence objet «S’authentifier» . . . . . . 18
2.3.3 Diagramme de séquence objet «Ajouter un Projet» . . . . 19
2.3.4 Diagramme de séquence «Contribuer à un projet » . . . . 20
2.3.5 Diagramme de séquence objet «Bloquer un utilisateur » . 21
2.4 Les diagrammes de d’activité . . . . . . . . . . . . . . . . . . . . . 22
2.4.1 Diagramme de activite «internaute » . . . . . . . . . . . . 22
2.4.2 Diagramme de activité «utilisateur authentifié » . . . . . . 24
2.4.3 Diagramme d’activite «Modérateur» . . . . . . . . . . . . 26
2.5 Les diagrammes d’état/transition . . . . . . . . . . . . . . . . . . . 28
2.5.1 Diagramme d’état/transition «Projet» . . . . . . . . . . . 28
2.5.2 Diagramme d’état/transition «Compte» . . . . . . . . . . 29
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 Réalisation 32
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.1 Architecture logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.2 Architecture logique . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1 Choix des technologies de développement et de SGBD . . . . . . . . 33
2.2 Outils de développement . . . . . . . . . . . . . . . . . . . . . . . . 34
3 Interfaces graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1 Inscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Gestion du profil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.1 Information compte : . . . . . . . . . . . . . . . . . . . . . 36
3.3.2 Liste des projet ajouter . . . . . . . . . . . . . . . . . . . 37
3.3.3 Liste des contribuer projet . . . . . . . . . . . . . . . . . . 37
3.4 Liste des catégories . . . . . . . . . . . . . . . . . . . . . . . . . . 37

ii
3.5 Liste des Projet selon catégories . . . . . . . . . . . . . . . . . . . 38
3.6 Ajouter Projet : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.7 Découvrir la Liste des Projets . . . . . . . . . . . . . . . . . . . . . 39
3.8 Rechercher soûlant nom . . . . . . . . . . . . . . . . . . . . . . . . 39
3.9 Profile projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.10 Commenter un projet . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.11 Investir à un projet . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.12 Gestion modérateur du plate-forme . . . . . . . . . . . . . . . . . . 42
3.12.1 Liste Comptes . . . . . . . . . . . . . . . . . . . . . . . . 42
3.12.2 Liste des catégories . . . . . . . . . . . . . . . . . . . . . . 42
3.12.3 Ajouter catégorie . . . . . . . . . . . . . . . . . . . . . . . 43
3.12.4 Liste Comptes porteurs . . . . . . . . . . . . . . . . . . . 43
3.12.5 Liste Comptes contributeurs . . . . . . . . . . . . . . . . 44

Conclusion générale 45

iii
Table des figures

1.1 1 : la page d’accueil du Plate-forme Humaid . . . . . . . . . . . . . . . . . 5


1.2 1 : la page d’accueil du Plate-forme Kickster . . . . . . . . . . . . . . . . . 6
1.3 1 : la page d’accueil du Plate-forme innovi . . . . . . . . . . . . . . . . . . 7

2.1 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . 14


2.2 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Diagramme de séquence s’inscrire . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Diagramme de séquence S’authentifier . . . . . . . . . . . . . . . . . . . . 18
2.5 Diagramme de séquence "Ajouter un Projet" . . . . . . . . . . . . . . . . . 19
2.6 Diagramme de séquence "Contribuer à un projet" . . . . . . . . . . . . . . 20
2.7 Diagramme de séquence objet «Bloquer un utilisateur» . . . . . . . . . . . 21
2.8 Diagramme de activite l’internaute . . . . . . . . . . . . . . . . . . . . . . 23
2.9 Diagramme d’activité «utilisateur authentifié » . . . . . . . . . . . . . . . 25
2.10 Diagramme d’activité «Modérateur» . . . . . . . . . . . . . . . . . . . . . 27
2.11 Diagramme d’état/transition Projet . . . . . . . . . . . . . . . . . . . . . . 29
2.12 Diagramme d’état/transition «Compte» . . . . . . . . . . . . . . . . . . . 30

3.1 Architecture microservices . . . . . . . . . . . . . . . . . . . . . . . . . . . 32


3.2 Interface d’inscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Interface d’authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 Interface de gestion du profil . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5 Interface Liste des projet ajoute . . . . . . . . . . . . . . . . . . . . . . . . 37
3.6 Interface porteur de projet . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.7 Interface liste des catégories . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.8 Interface du choix des catégories . . . . . . . . . . . . . . . . . . . . . . . 38
3.9 Interface de création du projet . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.10 Interface liste de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.11 Interface rechercher projet . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

iv
TABLE DES FIGURES

3.12 Profile projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40


3.13 Interface commentaire sur un projet . . . . . . . . . . . . . . . . . . . . . . 41
3.14 Interface investir sur un projet . . . . . . . . . . . . . . . . . . . . . . . . 41
3.15 Interface du liste comptes . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.16 Interface du Liste catégories . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.17 Interface du ajouter catégorie . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.18 Interface du liste comptes porteurs . . . . . . . . . . . . . . . . . . . . . . 43
3.19 Interface du liste comptes contributeurs . . . . . . . . . . . . . . . . . . . . 44

v
Liste des tableaux

1.1 Tableau comparatif des concurrents . . . . . . . . . . . . . . . . . . . . . . 8

vi
Introduction générale

u cours de la première moitié des années 2019, l’investissement des entreprises est
A demeuré faible et en dessous du niveau que les modélisations macro-économiques
permettaient de prévoir à cause de la pandémie de COVID-19. Ce ralentissement des
investissements tient à la difficulté d’établir les relations entre les investisseurs et les por-
teurs d’idées de projet.

De nos jours, l’Internet est certainement la plus grande révolution en technologie de


l’information. Un site web est une façon pratique aisée pour communiquer et pour dé-
couvrir ce qui se passe dans le monde de l’investissement. En effet, posséder un site Web
est un « must to have » pour une entreprise. Cela leur permet d’une part d’être présent
virtuellement et d’autre part, de lancer d’énormes campagnes publicitaires en ligne. un
site Web représentent un des outils de communication les plus efficaces avec le meilleur
retour sur investissement. Ce pendant, il est difficile pour une personne ayant une idée
de projet de mettre en place un espace enligne pour booster ses idées, principalement à
cause d’un manque de fond monétaire de soutien. Surtout que les chiffres disent que près
de 1% de la population mondiale possèdent plus de 48% de la richesses mondiales.

Actuellement, il y a diverses idées de projet créatives et originales mais ils manquent


des investisseurs pour que ces idées voient le jour. En effet, trouver un financement pour
une nouvelle idée est devenu un vrai défi.
Jusque là, il existe des méthodes classiques de financement ; les plus utilisées pour le
financement de projets sont des fonds de soutien sous forme de programmes gouverne-
mentaux et des prêts bancaires nécessitant en général une garantie , des financements
provenant d’amis ou de la famille. Ces méthodes ont montré leurs limites et ne peuvent
plus suffire pour créer de la richesse.

Un nouveau mode de financement est entrain de gagner du terrain, le "Crowdfun-

1
Introduction générale

ding". Il s’agit de l’une des méthodes de financement modernes pour les petits projets et
les projets émergent, où le propriétaire du projet présente son idée en détail sur certaines
plate-formes Web spécialisées, pendant un certain temps, puis les personnes intéressées
par l’idée contribuent par des investissements. Ces dernières années, ce concept se mul-
tiplient sur Internet et de plus en plus d’entreprises ont recours à ce mode de financement.

Dans ce contexte et dans le cadre de notre projet de fin d’études, nous nous sommes
proposé de réaliser une application web implémentant le concept de financement partici-
patif ou "crowdfunding" en anglais. Notre plate-forme se compose de deux espaces web :
(i) Un espace pour le client, qui peut être porteur ou contributeur, permettant d’ajouter
un projet ou bien d’investir dans un projet , (ii) un deuxième espace pour l’administra-
teur, lui permettant de gérer toutes les fonctionnalités du site web,

Ce rapport synthétise la mise en œuvre du projet. Il décrit la démarche que nous avons
suivi tout au long de notre stage et il s’étalera sur trois chapitres :
Le premier chapitre «Présentation générale du projet et Analyse et spécifica-
tion des besoins», est un chapitre introductif dans lequel nous intéressons à faire une
étude préalable qui mettra en évidence les analyses des spécifications ainsi que la solution
proposée..
Le seconde chapitre nommé «Conception», il sera consacré à la modélisation de
la solution retenue. Cette conception utilisera le langage UML pour décrire les aspects
dynamiques et statiques.
Le troisième chapitre «Réalisation», nous allons présenter l’architecture sur laquelle
nous avons développé notre application, les différents outils utilisés ainsi que les compo-
santes applicatives réalisées..
Finalement, nous clôturons notre travail par une conclusion générale qui prend en
considération les perspectives prévues dans le cadre des extensions futures.

2
Chapitre
1
Etude préalable

Introduction
e chapitre introductif est consacré à l’étude préalable qui est une phase obligatoire
c pour la réalisation de chaque système informatique. Cette phase vise à clarifier notre
projet et permettre de comprendre son cadre général. Ainsi nous pouvons identifier notre
problématique et fixer nos objectifs inhérents à la solution adoptée.

1 Présentation du cadre de projet


Dans cette première section, nous présentons le domaine du quel découle notre idée
de projet de fin d’études.

1.1 Les modes classiques de financement


1.1.1 Les fonds nationaux

Le financement des projets et l’innovation est un vrai défi pour la Tunisie. Jusque là
l’état participe à travers des programmes de financements et d’appuis consommant des
fonds considérables sans réaliser pour autant un retour sur investissement positif. Nous
pouvons citer ces programmes qui sont, essentiellement, sous tutelle de l’état à travers des
agences nationales telle que l’Agence Nationale pour l’Emploi et le Travail Indépendant[1].
Nous prenons exemple les fonds publics d’appui à la création ou l’extension des entreprises
innovantes [1] :o

— FOPRODI (SICAR) : une intervention de l’Etat par des dotations ou participations


au capital et du crédit moyen terme [2].

— In’ Tech (SAGES Capital) : est un FCPR doté d’un capital de 23 MDT qui prend
des participations dans le capital des nouvelles sociétés dans la limite de 49[3]

— IKDAM (IKDAM Gestion) : destiné à financer le prototypage une fois l’invention du


promoteur validée et son brevet déposé.[4]

3
CHAPITRE 1. ETUDE PRÉALABLE

— Monsieur Kais Mejri dans son rapport recommande de digitaliser le processus et


migrer vers un système compétitif d’octroi des financements (appel à projet) [5].

1.1.2 Les fonds internationaux

La Tunisie bénéficie d’une aide internationale en matière de création de l’emploi à


travers des programmes internationaux de financement. nous citons ici l’Agence italienne
pour la coopération au développement qui finance essentiellement le développement des
ou encore le fond d’investissement Africinvest / PROPARCO.

1.1.3 Les fonds privés

Des fonds d’investissement privés sont également disponible. Ces fonds sont en majorité
des banques privées ou des sociétés de micro-finance. nous citons : Amen Bank, Banque
de Financement des Petites et Moyennes Entreprises, Advans Tunisie.

1.2 Présentation de sujet

Le "crowdfunding" ou le financement participatif ou la collecte de fonds participative


est un outil de collecte de fonds fonctionnement sur des plate-formes en ligne, c’est-à-dire
que nous utilisons Internet pour diffuser les idées de projets et permettre à un groupe
de contributeurs de décider directement de financer des projets identifiables de manière
traçable. Les porteurs de projets qui souhaitent lever des fonds pour des projets personnels
ou professionnels ; peuvent être des entreprises, des associations, des particuliers, etc.
Toute opération de «crowdfunding» doit faire l’objet d’un contrat entre le porteur de
projet et les contributeurs.

1.3 Objectifs à atteindre

L’objectif principal de ce type de système est de permettre à un porteur de projet de


faire savoir son idée au grand public à fin de toucher le plus de monde et ainsi avoir plus
de chance de trouver des contributeurs qui pourront le soutenir financièrement et l’assister
dans la réalisation de son projet. La solution que nous espérons offrir doit permettre le
déroulement de ce scénario d’une manière simple, intuitive et sécurisée. De ce fait les choix
techniques que nous ferons sont très important pour la réussite du projet.

4
CHAPITRE 1. ETUDE PRÉALABLE

2 Étude de l’existant
L’étude des projets existants est au cœur de la phase d’analyse des projets. Cette
étape est essentielle pour le démarrage de tout projet informatique ou autre. Il peut
définir l’environnement d’exploitation ou le processus métier et identifier divers défauts
du système actuel à des fins de correction..

2.1 Solutions existantes sur le marché


2.1.1 Humaid

Humaid est une plate-forme de crowdfunding par le don, dédié au handicap En effet,
Humaid vous permettra de donner un peu de votre argent pour aider financièrement une
personne en situation de handicap à bénéficier d’un meilleur confort de vie. La plate-forme
garantit aux donateurs que leur participation financière sera utilisée à bon escient.[6]

Figure 1.1 – 1 : la page d’accueil du Plate-forme Humaid

2.1.2 Kickstarter

Kickstarter est une plate-forme de financement participatif Qui aidera les artistes
à réaliser leurs projets ? Plus de 11 millions de personnes dans le monde ont soutenu
un projet sur Kickstarter. Les contributeurs recevront des cadeaux gratuits en retour.
Kickstarter est l’une des plates-formes qui offre un espace de travail ouvert aux personnes
qui vous connaissent, aiment votre travail et vous soutiennent.[7]

5
CHAPITRE 1. ETUDE PRÉALABLE

Figure 1.2 – 1 : la page d’accueil du Plate-forme Kickster

2.1.3 Innovi

Est une plate-forme de financement participatif tunisienne (crowdfunding). Elle vise


à accompagner le renforcement, la structuration et la pérennisation de l’écosystème de
l’innovation et de l’entrepreneuriat en Tunisie à travers trois axes.

— Améliorer l’offre de services pour les startups et les entrepreneurs à travers le sou-
tien des structures d’accompagnement dans les domaines de l’entrepreneuriat et de
l’innovation.

— Accompagner la mise en place d’un cadre réglementaire et de financement propice à


l’entrepreneuriat innovant et aux startups et répondre à l’absence ou l’inadéquation
de mécanismes de financement des startups

— Valoriser l’écosystème de l’entrepreneuriat et de l’innovation à l’échelle nationale et


internationale.

Innovi a été crée en 2017. Plus tard, il a cessé de fonctionner.[8]

6
CHAPITRE 1. ETUDE PRÉALABLE

Figure 1.3 – 1 : la page d’accueil du Plate-forme innovi

2.2 critique de l’existant

Après avoir fait le tour des solutions existantes, plusieurs anomalies nous ont parue et
que nous devons prendre en considération lors du montage de notre solution. De ce fait,
nous allons essayer de faire un récapitulatif comparatif de ces solutions pour en déduire
par la suite une solution robuste et améliorée bénéficiant des expériences menées par les
autres plate-formes.
Le tableau suivant (1.1) récapitule les avantages et les inconvénients des solutions pré-
sentées.

7
CHAPITRE 1. ETUDE PRÉALABLE

Nom de l’outil Description Avantages Inconvénients


humaid Humaid est une pla- - Simple à l’utilisation. - les projet et spéci-
teforme de crowdfun- - les prix projet faible. fique sur de catégorie
ding par le don, dédié -le platform number 1 handicape.
au handicap. international qui aide - pas des commenter a
le handicap projet.
- pas des vote a projet.
- le projet ne sont pas
regroupe sellons caté-
gorie.
- Absence de méthode
rechercher du projet.

Kickstarter Kickstarter est une - facilement investir - Prendre de pourcen-


plateforme de finan- et découvrir tous tage à chaque projet
cement participatif les types des projets validé Payons.
Qui aidera les artistes (musique,santé). - Absence de commen-
àréaliser leurs projets. - Pas de risque lié aux ter ou projet
pannes. -absence de vote ou
- méthode de paie- projet
ment d‘investi bien - le projet ne sont pas
sécurité regroupe sellons caté-
-chat par message gorie.
entre porteur et - Absence de méthode
contributeur . rechercher du projet

Innovi une plateforme de fi- - selle plateforme tuni- -ne fonctionner pas.
nancement participa- sienne. -Absence de commen-
tif tunisienne.Son vise - Nombre d’utilisa- ter ou projet
à accompagner le ren- teurs illimité. -pas des vote a projet.
forcement, la structu- - Absence de méthode
ration et la péren- rechercher du projet
nisation de l’écosys- -Payons
tème de l’innovation
et de l’entrepreneuriat
en Tunisie

Table 1.1 – Tableau comparatif des concurrents

Comme le montre le tableau, les applications existantes deux Plat-formes (humide,


Kickstarter) sont deux solutions payantes, La seule solution sérieuse tunisienne (innovi)
n’est pas fonctionnel en terme de services proposés aux différents acteurs du crowdfunding.
Innovi est à caractère informatif puisqu’il offre une panoplie de documents téléchargeables
qui pourront guider les intéressés.

8
CHAPITRE 1. ETUDE PRÉALABLE

2.3 Solution

our résoudre ces problèmes, nous proposons de développer une plate-forme de finance-
ment participatif tunisienne. Cette plate-forme offrira, d’une coté, à un porteur d’idée de
projet, des interfaces pour qu’il puisse expliciter son idée et la publier au grand public et
de suivre l’opération de levée de fond enligne. De l’autre coté, elle offrira à un investisseur
la possibilité d’investir dans un projet prometteur via des interfaces lui permettant de
suivre ses investissements et l’état d’avancement des projets auxquels il contribue. Notre
solution permettra à un modérateur d’orchestrer les différents acteurs et se soucier de leur
fiabilité via un jeu de blocage/déblocage de leur compte. Ce jeu là est déterminé par le
comportement de chacun.

3 Analyse des besoins


L’analyse des besoins est l’une des étapes les plus importantes du cycle de dévelop-
pement de la plate-forme et est le processus d’établissement des fonctions que le système
doit fournir et des contraintes qui lui seront soumises..

3.1 Spécification des besoins fonctionnels

La spécification des besoins a pour objectif de cerner les fonctionnalités du système


et mieux comprendre le rôle de l’application. Dans cette section, nous allons dégager les
différents acteurs de notre application tout en présentant les fonctionnalités de chacun.

3.1.1 Identification des acteurs

Un acteur est une entité externe qui interagit avec le système. Une étude de l’interac-
tion du système avec son environnement extérieur nous a permis de dégager principale-
ment les acteurs suivants :

• Internaute :
L’internaute et un utilisateur non connecté qui a des fonctionnalités limitées sur la
plat-forme.

• Utilisateur inscrit :
Chaque utilisateur qui s’inscrit sur le plat-forme est un porteur de projet ou un
contributeur potentiel, Il peut alors déposer ses idées de projet ou investir dans des
projets existants.

9
CHAPITRE 1. ETUDE PRÉALABLE

• Modérateur :
le modérateur est l’administrateur du plat-forme. Il peut gérer toutes les données
comme les inscriptions des internautes, les catégories, les comptes, etc.

3.1.2 Spécification des besoins fonctionnels

Parmi les besoins fonctionnels que cette application doit principalement couvrir, nous
citons :

• Utilisateur Inscrit :
— Gérer un projet (ajouter, supprimer, consulter) : Chaque porteur de pro-
jet peut ajouter, supprimer et consulter son projet.

— Suivre l’avancement des contributions : Chaque porteur capable de contrô-


ler son projet et suivre l’avancement des contributions sur son projet.

— Commenter un projet : Chaque porteur de projet capable ajouter un com-


menter à son projet ou à un autre projet.

— Consulter son profile : Chaque porteur peut consulter ses informations per-
sonnelles.

— Consulter une fiche d’un projet : Chaque porteur doit être capable de consul-
ter tous les détails concernant un projet.

— Investir projet : Le contributeur doit être capable d’investir sur des projets
publiés et ouverts aux contributions.

— Voter un projet par (intéressé, Non intéressé) : le porteur doit être ca-
pable de votre sur les projets en choisissant une des deux options (intéressé, non
intéressé).

— Consulter le catalogues des projets : Un catalogue contient un ensemble des


projets répertoriés selon leur domaine (santé, commerce, Technologie, . . .). Les
contributeurs peuvent accéder au différents projets publiés sur notre plate-forme.

— Suivre l’avancement des contributions :Chaque contributeur doit être ca-


pable de contrôler ses investissements et voir l’avancement des contributions de
sur un projet sur lequel il a misé.
• Modérateur de la plate-forme :
— Valider les inscriptions (porteur de projet ou Contributeur) :Chaque
utilisateur créé un compte et attend la validation du compte de la part du mo-
dérateur .

10
CHAPITRE 1. ETUDE PRÉALABLE

— Gérer les porteurs de projet (bloquer / débloquer) :Le modérateur peut


bloquer ou débloquer un porteur et le mettre dans la liste noire.

— Gérer une liste noir (porteur de projet bloqué ou contributeur bloqué


Cette liste contient les porteurs bloqués par le modérateur, le blocage se fait à des
conditions spécifiques constatées par le modérateur. Ces conditions sont déduites
du comportement de chaque utilisateur sur la plate-forme et la réputation qu’il
a pu avoir auprès des autres utilisateurs à travers l’analyse des commentaires
publiés.

— Ajouter catégorie : le modérateur doit être capable d’ajouter de nouvelles


catégories dans lesquelles les projets seront attachés.

— Supprimer catégorie : le modérateur doit être capable de supprimer une ca-


tégories .

• Un internaute :

— Consulter un projet :Les internautes peuvent voire touts les détails d’un projet
donné.

— Consulter le catalogue de projet :Les internautes peuvent accédés au diffé-


rents catalogues publiés dans notre plate-forme.

— Consulter une liste des projets :Les internautes peuvent voire toute la liste
des projets publiés.

— S’inscrire Un internaute peut s’inscrire pour devenir un porteur de projet ou


un contributeur. Son inscription reste en attente jusqu’à sa validation par le
modérateur.

3.2 Spécification des besoins non fonctionnels

Après avoir étudié les besoins fonctionnels de notre système, nous exposons dans cette
section les besoins non fonctionnels.qui représentent les exigences techniques auxquelles
le système doit répondre pour fournir une application performante pouvant faire face à
des risques de non-fonctionnement et dans le but d’améliorer sa qualité

• Ergonomie : La plateforme doit offrir une interface conviviale, simple et facile à


utiliser. L’utilisateur doit sentir une certaine aisance et confort pendant l’utilisation
de notre plateforme.

11
CHAPITRE 1. ETUDE PRÉALABLE

• Extensibilité : L’architecture de l’application permettra l’évolution et la mainte-


nance (ajout ou suppression ou mise à jour) au niveau de ses différents modules d’une
manière flexible.

• Facilité d’intégration : Notre module doit être facilement intégré avec les autres
modules de REIS. Par conséquent, il pourra facilement exposer ses services et consom-
mer ceux qui sont exposés par d’autres modules.

• Fiabilité : L’application doit être bien testée avant de la livrer aux clients afin de
fournir des résultats corrects.

• Performance : Le temps de réponse, l’échange avec les serveurs et le chargement de


plateforme doivent être optimisés, aussi l’ouverture et le rafraichissement des écrans
doivent faire dans un temps de réponse acceptable.

Conclusion
ans ce premier chapitre, nous avons mis en contexte notre idée de projet de fin
D d’étude à travers une description de l’état des lieux du financement pour l’inno-
vation et le développement et nous avons montré les difficultés et les limites des modes
classiques de financement. Ensuite, nous avons présenté le concept de financement parti-
cipative avec ses avantages comme un nouveau mode de financement décentralisé et facile
à réaliser. Pour élaborer notre solution, nous avons étudié quelques solutions existantes
pour en dégager les principaux axes sur lesquelles notre projet va reposer. Les forces et
les faiblesses de chaque système nous fait prendre conscience de l’importance du choix
de notre solution qui sera finalement sous forme d’une application Web. Naturellement,
la prochaine étape sera une étape complètement conceptuelle, elle saura transformer en
notre solution en éléments visuels (diagrammes conceptuels) reposant sur un langage de
modélisation standard faciles à lire pour implémenter le système.

12
Chapitre
2
Conception

Introduction
ans ce chapitre, on va s’intéresser à la phase de conception, où on va transformer la
D description détaillée de notre solution en diagrammes UML décrivant avec précision
tous les aspects du future système. Ensuite, nous aboutirons à un schéma relationnel sur
lequel nous nous basons pour créer la base de données.

1 Description de la méthodologie
UML est un langage de modélisation formel et standardisé, dérivé de l’intégration
de plusieurs langages Méthodes existantes. Il permet la modélisation informatique d’un
ensemble d’éléments du modèle Une partie du monde réel devient un ensemble d’entités
de calcul. Nous commencerons notre phase conceptuelle par des cas d’utilisation pour
décrire les fonctionnalités du système. Ensuite, nous expliciterons tous les objets à travers
un diagramme de classe entités, qui nous permettra d’avoir une compréhension précise
du modèle relationnel de la base de données. Nous ajouterons un diagramme de séquence
à la fin de chaque cas d’utilisation. Et enfin, nous utiliserons également des diagrammes
d’activités pour décrivez les interactions entre les différents acteurs et notre système.

2 Étude conceptuelle
2.1 Diagramme de cas d’utilisation

Les spécifications des fonctions d’un système sont représentées en UML par le dia-
gramme des cas d’utilisation. Ce diagramme permet de schématiser les interactions entre
les acteurs et les fonctions de l’application d’une part, et les relations entre les fonctions
internes de l’application d’autre part. Ce qui permet d’expliciter les besoins de l’utilisa-
teur d’une manière claire. certains cas sont directement déclenchés par l’acteur et d’autres
sont inclus ou étendent des Cas principaux.

13
CHAPITRE 2. CONCEPTION

Figure 2.1 – Diagramme de cas d’utilisation

Ce diagramme des cas d’utilisation montre que notre plate-forme est destinée à être
utiliser par 3 types d’utilisateurs, le premier a le rôle « internaute » et le deuxième a le
rôle « Utilisateur Inscrit » (cet acteur est à la fois porteur de projet et contributeur) et
le troisième a le rôle « Modérateur».

14
CHAPITRE 2. CONCEPTION

2.2 Diagramme de classes

Le diagramme de classes est un schéma utilisé en génie logiciel pour modéliser les
classes qui sont nécessaires pour assurer le bon fonctionnement du système et les rela-
tions entre eux. Ce diagramme est un élément de la branche statique d’UML car il fait
une abstraction des aspects temporels et dynamiques ce qu’il permet d’afficher les liens
structurels entre les classes qui le composent.
D’après l’étude du système existant et le diagramme de cas d’utilisation cités, nous
avons pu dégager les principales classes illustrées dans la figure 2.2 pour avoir une vue
plus claire du système étudié.

15
CHAPITRE 2. CONCEPTION

Figure 2.2 – Diagramme de classes

2.3 Les diagrammes de séquence

Au cours de cette section, nous allons modéliser le comportement dynamique de notre


système qui sert principalement à mieux expliquer les détails de ses fonctionnalités en
indiquant comment ses objets interagissent au moment de l’exécution à travers des dia-

16
CHAPITRE 2. CONCEPTION

grammes des séquences. Dans ce qui suit, nous présentons le diagramme de séquences
pour les fonctionnalités les plus importantes.

2.3.1 Diagramme de séquence objet « s’inscrire »

Pour avoir le rôle d’un Utilisateur ou d’un modérateur, un utilisateur doit s’inscrire
dans une première étape et il attend l’activation de son compte par le modérateur .qui
envoie un E-mail "votre compte a été active" L’utilisateur aura un formulaire d’inscription
où il saisira toutes ses informations. Une partie de ces informations sera représentée par la
classe « Compte» et l’autre partie qui est plus particulière sera représentée par la classe
« PorteurDeProjet»,ou bien « Contributeur». Si l’utilisateur a inséré correctement ses
paramètres d’accès et son compte est actif alors son accès est accepté et il sera rédiger
vers son espace (profil). Dans le cas d’échec, un message d’avertissement lui sera affiché.

Figure 2.3 – Diagramme de séquence s’inscrire

17
CHAPITRE 2. CONCEPTION

2.3.2 Diagramme de séquence objet «S’authentifier»

La figure 2.4 montre le diagramme de séquence pour l’authentification. Le service


permet aux utilisateurs d’accéder aux fonctions du système. Une fois saisi, l’email de
l’utilisateur et le mot de passe seront utilisés pour identifier l’utilisateur. L’application
vérifie tout d’abord la forme des données saisies . Par la suite, le système vérifie l’existence
du compte. Si l’utilisateur existe alors le système lui affiche une interface convenable sinon
un message d’erreur lui sera adressé.

Figure 2.4 – Diagramme de séquence S’authentifier

18
CHAPITRE 2. CONCEPTION

2.3.3 Diagramme de séquence objet «Ajouter un Projet»

Le système offre à utilisateur (porteur de projet ) la possibilité d’ajouter des projets


personnel sables et paramétrables selon son besoin. Pour ajouter un projet, l’utilisateur
remplit le formulaire d’ajout en choisissant les champs qu’il souhaite saisir dans le projet,
les conditions pour filtrer les données et aussi les informations sur ce projet. Lorsque
l’utilisateur envoie le formulaire, le système vérifie les données et fait les traitements
nécessaires pour l’enregistrement du projet. le Modérateur vérifie les données du projet
et l’accepte. Le projet alors il devient actif et peut être consulté par les contributeurs.

Figure 2.5 – Diagramme de séquence "Ajouter un Projet"

19
CHAPITRE 2. CONCEPTION

2.3.4 Diagramme de séquence «Contribuer à un projet »

L’application permet à l’utilisateur (contributeur) de consulter la liste des projets.


L’utilisateur choisit un projet et ensuite, il saisit les informations relatives à sa contribu-
tion. le système vérifie les données et affiche un message d’erreur s’ils ne sont pas cohérents,
sinon, il va enregistrer la contribution et mettre à jour le projet.

Figure 2.6 – Diagramme de séquence "Contribuer à un projet"

20
CHAPITRE 2. CONCEPTION

2.3.5 Diagramme de séquence objet «Bloquer un utilisateur »

Dans des cas particulier, le Modérateur peut être amené à interdire l’accès à un utilisa-
teur (porteur de projet ou bien contributeur). Dans ce cas, l’état du compte utilisateur est
changé en «bloqué». Pour bloquer un utilisateur, le Moderateur commence par consulter
la Liste des utilisateurs où il clique-ra sur le bouton «bloquer» associé à l’utilisateur en
question. Le système demande la confirmation de l’opération en affichant une boite de
dialogue ayant deux boutons «ok» et «annuler».

Figure 2.7 – Diagramme de séquence objet «Bloquer un utilisateur»

21
CHAPITRE 2. CONCEPTION

2.4 Les diagrammes de d’activité

Les diagrammes d’activités sont utilisés pour décrire les changements dans les objets
ou les états des objets Composants en réponse à des interactions avec d’autres objets /
composants ou participants. L’état se caractérise par sa durée et sa stabilité, il représente
Valeur d’attribut d’objet La transition signifie le passage instantané d’un état à un autre.
Dans notre travail, nous nous limitons aux propositions de trois diagrammes d’activités.
Utilisateur non authentifié, internaute(porteur et contributeur) et modérateur.

2.4.1 Diagramme de activite «internaute »

l’internaute peut s’inscrire à travers un formulaire d’inscription. Il peut aussi consulter


la liste des catégories contenant chacune une liste de projets. cette interface offre aussi la
possibilité de rechercher des projets via de mots-clés.

22
CHAPITRE 2. CONCEPTION

Figure 2.8 – Diagramme de activite l’internaute

23
CHAPITRE 2. CONCEPTION

2.4.2 Diagramme de activité «utilisateur authentifié »

Un utilisateur commence par l’authentification en saisissant ses paramètres d’accès.


Le système vérifie la véracité de ces informations. Si le compte existe et il est actif alors
utilisateur aura un accès à son espace, sinon le système réinvite utilisateur réintroduire
ses paramètres d’accès. Une fois utilisateur est authentifié, il pourra choisir dans un menu
de consulter la liste des Projets ou éventuellement faire une recherche selon un critère de
recherche qu’il choisira. Le système affiche les résultats des recherches sous forme de projet.
Utilisateur pourra consulter les détails d’un Projet et notamment l’ajouter à une projet
donc c’est cas devienne porteur de projet . utilisateur pourra aussi choisir Contribuer à
un projet il saisir les informations et attend la validation de modérateur. Don c’est cas
l’utilisateur devenu un contributeur le système persiste toutes les informations saisies et
retourne à la page principale.utilisateur pourra choisir d’ajouter un commenter a un projet
ou bien faire réagir(likes), ou voire son état de contribution.

24
CHAPITRE 2. CONCEPTION

Figure 2.9 – Diagramme d’activité «utilisateur authentifié »

25
CHAPITRE 2. CONCEPTION

2.4.3 Diagramme d’activite «Modérateur»

Le Modérateur est un utilisateur authentifié ayant le rôle d’un gestionnaire de la plate-


forme. L’application dispose d’un seul compte administrateur (le Modérateur). Une fois
authentifié, le système affiche un menu contenant les fonctionnalités propres au modéra-
teur.

26
CHAPITRE 2. CONCEPTION

Figure 2.10 – Diagramme d’activité «Modérateur»

27
CHAPITRE 2. CONCEPTION

2.5 Les diagrammes d’état/transition

Les diagrammes d’états de transitions permettent de décrire les changements d’états


d’un objet ou d’un composant, en répondant aux interactions avec d’autres objets/composants
ou avec des acteurs.
Un état se caractérise par sa durée et sa stabilité, il représente une conjonction instanta-
née des valeurs des attributs d’un objet, une transition représente le passage instantané
d’un état vers un autre.
Une transition est déclenchée par un événement. En d’autres termes : c’est l’arrivée d’un
événement qui conditionne la transition. Les transitions peuvent aussi être automatiques,
lorsqu’on ne spécifie pas l’événement qui la déclenche.

2.5.1 Diagramme d’état/transition «Projet»

Nous allons nous attarder un peu sur l’objet « Projet » puisque l’objet "projet" passe
par plusieurs états possibles. Tout d’abord, rappelons que l’état d’un objet est l’ensemble
des valeurs pris par ses attributs à un moment donné. Dans notre cas, l’objet « Projet »
une fois créé, il est dans l’état suivant : Projet : enabled = false Dans cette situation, un
porteur de projet possède toujours un projet mais il ne peut effectuer aucune action dans
l’application avec ce projet. Initialement un projet est désactivé . Le Modérateur , après
vérification des informations du projet, il l’active. Son état devient alors, comme suit :
Projet : enabled = true Dans le cas où le Modérateur décide de supprime un projet,le
projet sera supprimé de la liste des projets et sera détruit du système.
Ci-dessous un diagramme d’état/transition décrivant les différents états de l’objet
«Projet».

28
CHAPITRE 2. CONCEPTION

Figure 2.11 – Diagramme d’état/transition Projet

2.5.2 Diagramme d’état/transition «Compte»

En ce qui concerne les états de l’objet « Compte », l’objet une fois créé, il est dans
l’état suivant : utilisateur : enabled = false, blocked = false Initialement un compte d’un
utilisateur est désactivé et non bloqué. Le modérateur, après vérification de l’identité de
l’utilisateur, il active son compte. Son état devient alors comme suit : Compte : enabled
= true, blocked = false Dans le cas où le modérateur décide de bloquer un compte, l’état

29
CHAPITRE 2. CONCEPTION

du compte deviant : Compte : enabled = true, blocked = true Dans cette situation,
l’utilisateur possède toujours un compte mais il ne peut effectuer aucune action dans
l’application. Ci-dessous un diagramme d’état/transition décrivant les différents états de
l’objet «CompteEtudiant».

Figure 2.12 – Diagramme d’état/transition «Compte»

30
CHAPITRE 2. CONCEPTION

Conclusion
ans ce chapitre, nous avons présenté l’architecture globale de notre application.
D Ensuite, la conception préliminaire de notre système en montrant son architecture
logique et physique, suivi de la conception détaillée en expliquant le déroulement de
quelques fonctionnalités les plus importantes en se basant sur le langage de modélisation
orienté objet UML. Dans le chapitre qui suit, nous allons passer à l’étape finale du projet
qui s’intéresse à la réalisation et la mise en place de notre système.

31
Chapitre
3
Réalisation

Introduction
ans ce chapitre, nous visons à mettre en œuvre notre projet sur la base des éléments
D suivants Résultats produits lors de la phase d’analyse et de conception. Pour cela,
nous avons commencé tout d’abord, spécifiez l’environnement de production d’un point
de vue logiciel, puis Matériel. Ensuite, nous écrivons l’architecture de l’application. Enfin
nous Montrons quelques captures d’écran des différentes interfaces implémentées.

1 Architecture de l’application
1.1 Architecture logicielle

Figure 3.1 – Architecture microservices

Pour mettre en œuvre notre application nous avons choisi l’architecture 3-tiers c’est
une méthode qui permet de résumer une application en trois couches Différentes, de sorte

32
CHAPITRE 3. RÉALISATION

que chaque couche assure une responsabilité ´e bien précise pour L’application :

La couche présentation : Correspond à l’interface utilisateur. Son rôle est l’affichage


des données et de permettre à l’utilisateur final d’interagir avec ces dernières. En ce qui
concerne notre application, nous avons utilise react.

La couche métier : Elle est en charge d’appliquer et de respecter les actes de gestion.
C’est dans celle-ci qu’est implémentée la logique applicative et la sécurité dans ce modelé
d’architecture.

La couche DAO (Data Access Object) : : Elle assure la persistance des données qui
doivent être conservées.

1.2 Architecture logique

Nous avons utilise le modelé MVC (Modelé-Vue-Contrôleur) en tant qu’architecture


logique de notre application. En effet, le modèle MVC est un moyen de diviser une appli-
cation, ou même une partie de l’interface d’une application, en trois parties : le modèle, la
vue et le contrôleur. MVC a été développe ‘a l’origine pour mapper les rôles traditionnels
d’entrée, de traitement et de sortie dans le domaine de l’interface graphique : Entrée ->
Traitement -> Sortie] = [Modelé -> Vue -> Contrôleur].

2 Environnement logiciel
2.1 Choix des technologies de développement et de SGBD

• Spring boot est un framework qui facilite la création des applications basées sur
Spring. Il nous offre des outils permettant de développer des applications Java pou-
vant être démarre à l’aide de Jar ou de d ´eploiements plus traditionnels comme
War. La plupart des applications Spring Boot n ´ecessitent très peu de configuration
Spring. [9]

• React est une bibliothèque JavaScript déclarative, efficace et flexible pour construire
des interfaces utilisateurs (UI). Elle vous permet de composer des UI complexes à
partir de petits morceaux de code isolés appelés « composants ».[10]

• Mysql est un serveur de base de données relationnelles Open Source. C’est-à- dire
qu’il est capable d’enregistrer, modier et rechercher rapidement des données.[11]

33
CHAPITRE 3. RÉALISATION

2.2 Outils de développement

• Intellij IDEA est un environnement de développement intègre de technologie Java


destiné au développement de logiciels informatiques.[12]

• Visual Studio Code est un éditeur de code source léger mais puissant qui s’exécute
sur votre bureau et est disponible pour Windows, macOS et Linux. Il est livré avec
un support intégré pour JavaScript, TypeScript et Node.js et dispose d’un riche
écosystème d’extensions pour d’autres langages.[13]

• Postman rend le développement d’API plus rapide, plus simple et plus per-formant.[14]

• Github est un service web d’hébergement et de gestion de développement de logi-


ciels, utilisant le logiciel de gestion de versions Git.[15]

3 Interfaces graphiques
Dans cette section, nous allons présenter les principaux fonctionnalités de notre appli-
cation à travers quelques captures d’écran.

3.1 Inscription

L’internaute doit créer un compte en remplissant le formulaire d’inscription, pour qu’il


puisse accéder aux services de l’application en saisissant ses données. Aprés avoir eu la
validation du compte, l’internaute reçoit un e-mail de notification de la part du système.

Figure 3.2 – Interface d’inscription

34
CHAPITRE 3. RÉALISATION

3.2 Authentification

Pour pouvoir accéder à l’application, l’utilisateur doit remplir les champs correspon-
dants aux email d’utilisateur et le mot de passe affichés dans la figure 3.3. L’accés sera
autorisé si ces champs sont valides sinon un message d’erreur sera afficher.

Figure 3.3 – Interface d’authentification

35
CHAPITRE 3. RÉALISATION

3.3 Gestion du profil

La figure 3.4 présente l’interface de gestion du profil utilisateur, grâce à laquelle l’uti-
lisateur pourra voir ses informations personnelles, représentées comme suit : information
compte, liste de ses projets et Liste des projets auxquels il a contribué.

3.3.1 Information compte :

L’utilisateur capable de voir ses informations personnels par exemple, nom, prénom,
e-mail ect

Figure 3.4 – Interface de gestion du profil

36
CHAPITRE 3. RÉALISATION

3.3.2 Liste des projet ajouter

Le porteur de projet pourra consulter ses projets et les contrôler, il peut voir toutes in-
formations du projet et pourra suivre l’avancement de ses projets, prix courant, nombre de
votes. Si l’un des projets reste sans investissement, le porteur est capable de le supprimer.

Figure 3.5 – Interface Liste des projet ajoute

3.3.3 Liste des contribuer projet

Le contributeur peut consulter son liste de contribution.

Figure 3.6 – Interface porteur de projet

3.4 Liste des catégories

La figure 3.7 présente la liste des catégories, chaque catégorie contient un ensemble de
projets. nous citons comme exemple de catégories : santé, commerce. . .

37
CHAPITRE 3. RÉALISATION

Figure 3.7 – Interface liste des catégories

3.5 Liste des Projet selon catégories

A l’ajout d’un nouveau projet, le porteur choisit la catégorie convenable à son projet
pour le classifier.

Figure 3.8 – Interface du choix des catégories

3.6 Ajouter Projet :

Pour créer un projet, il faut saisir les informations nécessaires telles que le nom,la
description..., chaque projet crée est en attende de son activation par le modérateur pour
être afficher sur la plat-forme.

38
CHAPITRE 3. RÉALISATION

Figure 3.9 – Interface de création du projet

3.7 Découvrir la Liste des Projets

La figure 3.10 représente la liste de tous les projets qui sont crées avec le porteur et
activé par le modérateur. le contributeur peut aussi investir dans un projet avec un seul
clic sur le bouton "Investir". Il est capable aussi de réagir à un projet en cliquant sur
l’icône "j’aime".

Figure 3.10 – Interface liste de projet

3.8 Rechercher soûlant nom

Choix des filtres pour avoir uniquement les projets recherchés.

39
CHAPITRE 3. RÉALISATION

Figure 3.11 – Interface rechercher projet

3.9 Profile projet

Chaque projet créé a un profil bien détaillé. Il consiste en un Nom du projet, une
date de création, un prix, un montant collecté et un État de projet. Il contient aussi les
informations sur son propriétaire. Cet profil utilisé pour connaître les avancements du
projets et ses qualités et permet d’assurer la communication avec le contributeur via des
commentaires.

Figure 3.12 – Profile projet

40
CHAPITRE 3. RÉALISATION

3.10 Commenter un projet

Chaque utilisateur connecté peut voir la liste des commentaires et aussi capable d’ajou-
ter un ou plusieurs commentaires.

Figure 3.13 – Interface commentaire sur un projet

3.11 Investir à un projet

Chaque utilisateur connecté peut faire un investissement dans ce projet à travers un


formulaire. Cet investissement est en réalité une promesse d’investissement puisque le
transfert de fond réel ne peut s’effectuer qu’a travers un module de paiement délivré par
l’état.

Figure 3.14 – Interface investir sur un projet

41
CHAPITRE 3. RÉALISATION

3.12 Gestion modérateur du plate-forme

Le modérateur est l’acteur qui a tous les privilèges d’accès. Il a le droit de gérer la
plate-forme.

3.12.1 Liste Comptes

Le modérateur peut consulter la liste des comptes pour valider ou invalider un compte
.

Figure 3.15 – Interface du liste comptes

3.12.2 Liste des catégories

Le modérateur peut voir la liste des catégories et il est capable de supprimer une.

Figure 3.16 – Interface du Liste catégories

42
CHAPITRE 3. RÉALISATION

3.12.3 Ajouter catégorie

Pour créer une catégorie, le modérateur saisir le nom et la description de la catégorie.

Figure 3.17 – Interface du ajouter catégorie

3.12.4 Liste Comptes porteurs

Si un utilisateur crée un projet il est ajouté directement au liste porteur d’une part
d’autre part le modérateur a le choix de bloquer ou débloquer le porteur en cas où le
porteur est bloqué, il est automatiquement dans la liste noir donc il peut pas accéder à
la plate-forme.

Figure 3.18 – Interface du liste comptes porteurs

43
CHAPITRE 3. RÉALISATION

3.12.5 Liste Comptes contributeurs

Si un utilisateur contribuer à un projet il est ajouté directement à la liste des contri-


buteurs d’une part. D’autre part le modérateur a le choix de bloquer ou débloquer le
contributeur en cas où le contributeur est bloqué, il est automatiquement dans la liste
noire donc il ne peut pas accéder à la plate-forme.

Figure 3.19 – Interface du liste comptes contributeurs

Conclusion
out au long de ce dernier chapitre, nous avons concrétisé tout le travail conçu lors des
T phases précédentes. Nous avons expliqué la configuration nécessaire pour démarrer
notre projet. Nous avons aussi présenté les outils que nous avons utilisé pour réaliser
notre système. Enfin, nous avons exposé les différentes fonctionnalités en présentant des
captures d’écran de notre système réalisé.

44
Conclusion et perspectives

e présent rapport est réalisé dans le cadre de notre projet de fin d’étude en vue de
L l’obtention du diplôme de licence fondamental en sciences informatique et multimé-
dia.

Dans le premier chapitre, nous avons commencé par présenter le cadre général du pro-
jet. Nous avons effectué une analyse minutieuse des solutions apparentés à notre idée. Ce
cette analyse nous avons dégagé des besoins utilisateurs. Une critique des solutions ana-
lysées nous a permis de cerner les difficultés inhérentes à l’idée. Puis, nous avons présenté
une étude comparative des différentes méthodes de développement de projets. Ensuite,
nous avons décrit la méthode adoptée pour ce projet

Le deuxième chapitre consiste à identifier les acteurs et à collecter les besoins fonction-
nels et les besoins non fonctionnels.après nous avons une conception afin de mener à bien
notre projet. Nous avons utilisé UML comme un langage de modélisation MVC comme
patron de conception.

Dans le dernier chapitre, nous avons décrit l’architecture de l’application et l’environ-


nement du travail. Puis, nous avons exposé les différentes interfaces de plate-forme.

Ce travail, était d’une importance considérable dans la mesure où il nous a permis,


d’une part, d’approfondir nos connaissances pratiques en termes de conception et déve-
loppement web à travers une panoplie de technologies comme SpringBoot, React, Mysql
,et d’autre part, de comprendre les difficultés en gestion de projets comme la répartition
du temps et des efforts et aussi d’apprendre les bonnes pratiques de programmation.

Notre solution présente, néanmoins, plusieurs points à améliorer. La plus importante


amélioration concerne l’aspect graphique de l’application. En effet, nous pensons qu’une

45
CHAPITRE 3. RÉALISATION

charte graphique autour du thème "financement participatif" apportera une valeur ajoutée
à notre système. Nous pourrons aussi envisager d’améliorer et ajouter quelques fonctionna-
lités. Nous citons ici un système de notifications concernant les nouveaux investissements
créés.

46
Bibliographie

• [1]financini https ://www.financini.org.tn/.


• [2]SICAR Fondée.http ://stbsicar.com.tn/
• [3]SAGES Capital https ://www.sagescapital.com/
• [4]KDAM Gestion https ://ween.tn/fiche/ikdam-gestion
• [5]Kais MEJRI https ://innovi.tn/wp-content/uploads/2021/01/Financementinnovation-
tunisiejanv-2021-kais-mejri.pdf.
• [9] Spring boot https ://spring.io/projects/spring-boot.
• [10]ReactJs https ://fr.reactjs.org/tutorial/.
• [11]Mysql https ://www.mysql.com/.
• [15]github https ://www.github.com/.
• [13]Visual Studio Codehttps ://visualstudio.microsoft.com/fr/.
• [12]Intellij IDEAhttps ://www.jetbrains.com/fr-fr/idea/.
• 14]Postman https ://www.postman.com/.
• [6]Humaid https ://www.humaid.fr/.
• [8]innovi https ://innovi.tn/.
• [7]kickstarter https ://www.kickstarter.com/learn ?ref=nav.

47
CHAPITRE 3. RÉALISATION

Résumé

Ce projet intitulé "conception et développement d’une plateforme de crowdfun-


ding", il s’inscrit dans le cadre du projet de fin d’études pour l’obtention du diplôme
national de licence fondamentale en informatique et multimédia l’institut supérieur d’in-
formatique et multimédia gabes. L’objectif de ce travail est de développer une application
web de crowdfunding qui sert à collecter des fonds pour un projet, fonctionnant sur une
plate-forme en ligne.
Mots-clés : Spring Boot, React, financement participatif.

Abstract

This project entitled "design and development of a crowdfunding platform", it is


part of the end of studies project for obtaining the national basic license diploma in com-
puter science and multimedia at the higher institute of computer science and multimedia
gabes. The objective of this work is to develop a crowdfunding web application that is
used to raise funds running on an online platform.
Keywords : Spring Boot, React, crowdfunding.

48

Vous aimerez peut-être aussi