Académique Documents
Professionnel Documents
Culture Documents
Université de Sousse
Institut supérieur de gestion de Sousse
Nous remercions également Monsieur Haddad Ahmed notre encadrant académique pour
l'aide et les conseils concernant les missions évoquées dans ce rapport, qu'il nous a apporté lors
des différents suivis, pour le temps qu'il nous a consacré tout au long de la période du travail
sachant répondre à toutes nos interrogations.
Que ce travail soit l’expression de notre reconnaissance pour vos sacrifices consentis, votre
soutien moral et matériel que vous n’avez pas cessé de prodiguer. Vous avez tout fait pour notre
bonheur et notre réussite. Que dieu vous préserve en bonne santé et vous accorde une longue
vie, prie le bon Dieu de vous bénir, de veiller sur vous, en espérant que vous soyez toujours fiers
de nous.
A nos amis et nos collègues qui nous ont donné la force d’avancer et de continuer pour
compléter ce travail grâce à leurs générosités et leurs expéditions positives et optimistes. Vous
étiez toujours présents pour nous aider et nous encourager.
Aujourd’hui, les sites web occupent une place importante dans la vie des jeunes. De plus,
l’utilisation d’un site web freelance est idéale pour ceux qui cherchent des moyens
supplémentaires pour gagner de l’argent, ceux qui aiment la liberté de la pige et ceux qui veulent
gagner plus de développement professionnel.
Dans ce cadre, tous jeunes diplômés tentent à trouver des emplois qu’ils en rêvent toujours,
ainsi les entrepreneurs cherchent à recruter les bonnes qualités dans les postes convenables
facilement et sans effort.
Nous avons réalisé une application « Freelance », dans le but de permettre aux jeunes diplômés
de tester ses compétences pour trouver des emplois en même temps d’accorder aux
entrepreneurs de recruter les employés qu’ils cherchent toujours.
Ce stage nous permet de passer d’une formation plus étendue théoriquement au niveau de
l’université, à une formation purement pratique pour mieux comprendre la vie professionnelle
et être un bon programmeur.
Notre projet de fin d'études s'est donc déroulé à l’entreprise « Greek Innovation Center », sur
une période de trois mois du 01/02/2017 au 30/04/2018 et ce en vue de l'obtention du Licence
Appliquée en Informatique de Gestion à l'Institut Supérieur de Gestion de Sousse.
1. Historique et identité :
Depuis 2016, la société ≪ Geek Academy ≫ (située au Pays-Bas) a créé une filiale en l’appelant
≪ Geek Innovation Center ≫. Cette dernière est spécialisée dans le développement des
Application web et mobile. Elle vient d’élargir, cette année, son domaine d’activité en acceptant
les projets de développement par des Entreprises tunisiennes.
2. Principales activités :
La société ≪ Geek Innovation Center ≫ exerce ses activités dans les domaines suivants :
Greek Academy_Tunisie
Ces mutations technologiques impactent les entreprises en créant de nouveaux enjeux pour la
gestion des ressources humaines (GRH) pour garantir par la suite l’accroissement de la
production et être au niveau de la concurrence.
En effet, ces changements imposent à l’entreprise des efforts en termes d’innovation et de
flexibilité, elles cherchent à améliorer le niveau de qualification de ses salariés en accédant à
d’autres issues non habituels tels que les sites de recrutement afin de sélectionner les meilleures
compétences.
De nos jours, les entreprises s’orientent des plus en plus vers la catégorisation et la spécification
de leur système d’informations en le décomposant en plusieurs sous domaines, tel que le GRH
(gestion de ressources humaines).
Pour mieux comprendre notre sujet, on va passer à la définition de GRH et ses principes :
1. Définition de GRH :
La Gestion des Ressource Humains (GR) est un service au sein de l'entreprise intervenant dans
différentes fonctions relatives à la gestion du personnel.
Définition des postes, recrutement, gestion des carrières, formation, gestion de la paie et des
rémunérations, évaluation des performances, gestion des conflits, relations sociales et
syndicales, motivation et l’implication du personnel, communication, les conditions de travail,
sélection et équité (justice distributive, interactive, etc..).
Les pratiques de gestion des ressources humaines sont réparties selon trois objectifs de saine
gestion des ressources humaines qui sont l’attraction, le développement et la rétention du
personnel.
1. Analyse de l’existant :
Plusieurs site web Freelance sont trouvés, tels que Upwork, Sphere Engine, Freelance-
Tunisie.tn et Freelance Tunisie…
En effet, cette dernière s’adresse seulement à des employés qui exécutent leurs travails sous l’autorité
d’une entreprise contrairement à notre site web, il s’adresse aux freelances exerçants seuls en toute
indépendante une tâche. Ces freelances s’adressent à une clientèle d’entreprises, définirent avec elles
sa mission et la réalisent eux-mêmes sous leurs propres responsabilités.
2. Critique de l’existant :
Dans cette partie, nous essayons de déceler les insuffisances de la situation existante, nous
présentons ses défaillances pour arriver enfin à proposer une solution.
Suite aux collectes d’information que nous avons effectué auprès des applications similaires,
plusieurs site permet de recruter des employés, de poster des offres et permettre au chercheur
des emploi de déposer leurs CV ; parmi ces sites on peut citer deux sites nationaux Freelance
Tunisie et Freelance-Tunisie.tn qui sont conscients seulement à poster des missions par
plusieurs entrepreneurs, ils permettent de fournir des opportunités d'emploi sous forme d'une
liste disponible à tous les visiteurs, ce qui engendre une difficulté au sein de l'entreprise aux
sélections des employé à cause des nombreuses demandes.
- L’entrepreneur ne peut pas choisir le candidat qu’à travers une demande qui porte son
CV.
- Aucune garantie que les candidats présentés par leurs CV sont des candidats compétents.
- L’écriture ou bien la langue utilisée doit être soit en anglais soit en français.
Passer des tests de compétences pour les freelances selon leurs spécialités,
VII. Conclusion :
Cette partie nous a procuré une présentation du cadre général du stage, de l’étude et de critique
de l’existant ainsi que de la solution à proposer et des objectifs à atteindre sans oublier la
méthode de développement et les langages et outils choisis. Le chapitre suivant est consacré à
l'étude conceptuelle de notre application.
Le Processus Unifié répète un certain nombre de fois une série de cycles de développement.
Chaque cycle est géré comme un projet, se conclu par la livraison d’une version du produit au
client et s’articule autour 4 phases à savoir :
Elaboration,
Construction,
Chaque phase se subdivise en une ou plusieurs itérations. Chaque itération couvre généralement
5 activités et constitue un mini projet.
Analyse :
Conception :
Implémentation :
Test
Le processus unifie est une méthodologie qui repose sur le langage UML, la section suivante est
consacrée à la description de ce langage.
UML est avant tout un support de communication performant, qui facilite la représentation et la
compréhension de solutions objet : Sa notation graphique permet d’exprimer visuellement une
solution objet, ce qui facilite la comparaison et l’évaluation de solutions.
3. Architecture à envisager :
L’architecture 3-tiers, aussi appelée architecture distribuée ou architecture multi-tiers, est un
modèle logique d’architecture applicative qui sépare une application ou un système en 3 couches
logiciel.
Ces couches sont : la couche de présentation, la couche métier et la couche base de données.
Elles présentent une fiabilité, une bonne disponibilité et une excellente évolutivité avec une
grande sécurité.
Un acteur est représenté par un ≪ stickman ≫. Il se réfère un genre d’une personne, un matériel
ou un logiciel qui interagit directement avec le système pour accomplir une tâche.
Ainsi, les acteurs fournissent les informations en entrée et/ou reçoivent les informations en
sortie.
En ce que concerne notre système, il fait intervenir quatre acteurs :
L’UML définit une notion graphique pour représenter les cas d’utilisation, cette notion est
appelée diagramme de cas d’utilisation.
Un diagramme de cas d’utilisation est utilisé pour donner une vision globale du
comportement fonctionnel d’un système logiciel. Il présente une unité discrète d’interaction
entre un utilisateur et un système.
Chaque cas d'utilisation contient un ou plusieurs scénarios qui définissent comment le système
devrait interagir avec les acteurs pour atteindre un but ou une fonction spécifique d'un travail.
les acteurs
Cas d’utilisation
Gérer partenaires
Gérer offre
Consulter profil
Consulter offre
Supprimer profile
Supprimer offre
Signaler offre
Consulter liste
demande
Consulter liste
candidats
Consulter
statistique
Postuler offre
Consulter signal
Acteur : Utilisateur
Problème de connexion.
Retour à l’étape 1.
a. Modifier profile :
Nom de cas d’utilisation : Modifier profile
Acteur : Utilisateur
Problème de connexion.
Retour à l’étape 3.
b. Supprimer profile :
Acteur : Administrateur
Problème de connexion.
2. Modèle du domaine
a. Diagramme de domaine « gérer utilisateur » :
Cette traçabilité consiste à identifier les classes Models (signal, profile, entrepreneur et
Freelancer) qui participent à la réalisation de « CU gérer utilisateur » et qui jouent le rôle d’un
intermédiaire entre les personnes et les interface.
Acteur : Entrepreneur
Problème de connexion.
b. Modifier offre :
Acteur : Entrepreneur
Problème de connexion.
c. Supprimer offre :
Problème de connexion.
Acteur : Freelancer
Problème de connexion.
e. Signaler offre :
Acteur : Utilisateur
Problème de connexion.
f. Vérifier signal :
Acteur : Utilisateur
Problème de connexion.
Cette traçabilité consiste à identifier les classes Models (offre et demande) qui participent à la
réalisation de « CU gérer offre » et qui jouent le rôle d’un intermédiaire entre les personnes et
les interface.
Acteur : Entrepreneur
Acteur : Freelancer
Acteur : Entrepreneur
Problème de connexion.
Acteur : Entrepreneur
Problème de connexion.
Cette traçabilité consiste à identifier les classes Models (Test, Question, Réponse et
TestFreelancer) qui participent à la réalisation de CU « gérer test QCM » et qui jouent le rôle
d’un intermédiaire entre les personnes et les interface.
Acteur : Entrepreneur
Problème de connexion.
Acteur : Entrepreneur
Problème de connexion.
Problème de connexion.
Acteur : Utilisateur
Problème de connexion
Acteur : Freelancer
Cette traçabilité consiste à identifier les classes Models (TestProblème, TestCase et Sphère
Engine) qui participent à la réalisation de CU « gérer test QCM » et qui jouent le rôle d’un
intermédiaire entre les personnes et les interface.
X. Conclusion :
Nous avons présenté dans ce chapitre les différents diagrammes des cas d’utilisation ayant servi
à la modélisation des besoins de notre application aussi la spécification de chaque cas
d’utilisation. Le chapitre suivant sera réservé à la conception de cas d’utilisation.
Entrepreneur et Freelancer : ces sont des classes de type Model qui concernent les
informations.
IUAjouterPost : c’est une classe de type Interface utilisateur à travers laquelle l’entrepreneur
interagit pour ajouter un nouveau poste.
IUindexPost : c’est une classe de type Interface utilisateur à travers laquelle l’entrepreneur
interagit pour consulter (modifier, supprimer) ses postes.
IUModifierPost : c’est une classe de type Interface utilisateur à travers laquelle l’entrepreneur
interagit pour modifier un poste.
Controller_IndexPost : c’est une classe de type Controller, elle joue le rôle d’intermédiaire
entre les classes de type interface utilisateur (IUModifierPost et IUindexPost) et la classe de type
Model.
Controller_AjouterPost : c’est une classe de type Controller, elle joue le rôle d’intermédiaire
entre la classe de type interface utilisateur (IUAjouterPost) et la classe de type Model.
Offre : c’est une classe de type Model qui concerne les informations d’une offre.
IUPostulerOffre : c’est une classe de type Interface utilisateur à travers laquelle le freelancer
interagit pour postuler une offre.
Demande : c’est une classe de type Model qui concerne les informations de l’action postuler.
Controller_AjouterPost : c’est une classe de type Controller, elle joue le rôle d’intermédiaire
entre la classe de type interface utilisateur (IUPostulerOffre) et la classe de type Model.
IUAjouterTest : c’est une classe de type Interface utilisateur à travers laquelle l’entrepreneur
interagit pour ajouter un nouveau test.
IUindexQuiz : c’est une classe de type Interface utilisateur à travers laquelle l’entrepreneur
interagit pour consulter (modifier, supprimer) ses tests.
IUindexQuiz : c’est une classe de type Interface utilisateur à travers laquelle le freelancer
interagit pour voir les tests.
IUModifierTest : c’est une classe de type Interface utilisateur à travers laquelle l’entrepreneur
interagit pour modifier un test.
Controller_Test : c’est une classe de type Controller, elle joue le rôle d’intermédiaire entre les
classes de type interface utilisateur (IUAjouterTest et IUindexTest) et la classe de type Model.
Controller_reponse : c’est une classe de type Controller, elle joue le rôle d’intermédiaire
entre la classe de type interface utilisateur (IUAjouterTest) et la classe de type Model.
Controller_Question : c’est une classe de type Controller, elle joue le rôle d’intermédiaire
entre la classe de type interface utilisateur (IUAjouterTest) et la classe de type Model.
Question : c’est une classe de type Model qui concerne les informations d’une question.
Réponse : c’est une classe de type Model qui concerne les informations d’une réponse.
Cette traçabilité consiste à identifier les classes de conception telles que (IU ajout problème,
IUindex Problemes, SphereEngine, Controller test Problème, TestProbleme, testCase) qui
participent à la réalisation de cas d’utilisation gérer test problème. En effet, c’est le Controller
TestProblème qui joue le rôle d’intermédiaire entre l’entité Problème et toutes les interfaces
utilisateurs du processus gérer test problème.
XI. Conclusion :
Après avoir achevé l’étude conceptuelle par la représentation et l’explication des diagrammes
utilisés qui rendent notre application plus claire, il ne reste qu’à commencer à décrire notre code
en se basant sur les résultats obtenus des chapitres précédents en précisant les moyens utilisés
pour développer notre application.
2. Environnement logiciel :
Visual studio 2017 :
C’est un environnement de développement intègre (IDE) permettant de générer des applications
bureautiques, Web ASP.NET, des services web XML, des applications mobiles. Ainsi qu’il nous a
permis de se connecter à divers services.
Balsamiq Mockups:
Balsamiq Mockups est un outil de Wire framing rapide qui nous aide à travailler plus vite et plus
intelligemment. Il reproduit l’expérience de l’esquisse sur un tableau blanc, mais en utilisant un
ordinateur. Faire des maquettes est rapide. Nous allons générer plus d’idées, afin de pouvoir
jeter les mauvaises et découvrir les meilleures solutions.
b. XAML :
XAML est un langage crée par Microsoft
Permet aux développeurs de définir des interfaces utilisateur dans Xamarin.
Basée pour iOS, Android et dispositive mobiles UWP.
XAML est souvent plus succinct et lisible qu'un code équivalent.
c. Html :
C’est un langage basé sur la syntaxe XML.
Il est utilisé pour structure une page web sur internet.
Il est simple et lisible en codage.
d. CSS :
C’est un langage utilisé pour mettre en forme les fichiers HTML.
Il est utilisé pour gérer le design de la page web.
f. Framework :
Asp.net :
ASP.NET est une technique pour générer des pages web dynamiques.
Le moteur d'ASP.NET est un filtre branché sur le serveur web Internet information
Service (IIS). Il est distribué avec le framework.NET. ASP.NET peut être utilisé avec
n'importe quel langage de programmation pour la plateforme .NET (Visual Basic.NET,
c#, jScript…).
UWP :
Plateforme d'application universelle Windows est une architecture homogène créée
par Microsoft et introduite pour la première fois dans Windows 10. L'objectif de cette plate-
forme logicielle est d'aider à développer des applications universelles qui fonctionnent sous
Windows 10, sans qu'il y ait le besoin de réécrire un nouveau code source pour chacun de ces
systèmes. Il prend en charge le développement d'applications Windows en utilisant (C++, C#,
XAML…). L'API est implémentée en C++ et prise en charge en (C++, VB.NET, C#, …). Conçu
comme une extension de la plate-forme Windows Runtime.
VI. Conclusion
Lors de ce chapitre nous avons essayé de montrer le fonctionnement de notre site web. En effet,
nous avons présenté les principales interfaces graphiques avec les différents diagrammes de
composants qui nous a permis de mieux comprendre le fonctionnement de notre site web tout
en décrivant l’environnement matériel et logiciel.