IN MEMORIUM
A notre très regrettée grand-mère MUKONE
BASUBI, une grande âme ; qui de son vivant n'a jamais cessé
d'être une vraie guide pour ses fils, filles, petit-fils et
petites-filles. Nous garderons de vous toutes les bonnes qualités que
vous nous avez inculquées.
DEDICACE
A nos très chers parents, Monsieur ZIHALIRWA MUYANGE
Gédéon et Madame MASOKA BASUBI Francine ;
A nos chers frangins AKONKWA ZIHALIRWA Lebon et Israël
ZIHALIRWA ;
A notre frangine, l'unique Sharon-rose ZIHALIRWA ;
A nosgrandessoeurs Charline WAMUNZILA BASUBI et
Espérance LUTUNGU,
A notre grande soeur Irène BIRHALIBYANDI Minange, son
mari et au petit Gabriel ;
A notre tante Rebecca BASUBI.
AGANZE ZIHALIRWA Eloi
REMERCIEMENTS
Arriver à ce stade de la vie, on ne peut que
s'émerveiller en regardant en arrière : tant d'efforts, tant
de sacrifices, les nôtres mais aussi et surtout ceux des personnes qui
nous sont chères, des amis et même des anonymes.
Dorénavant, nous tenons à remercier tous ceux
qui se reconnaitront d'une manière ou d'une autre ; car, qu'on se
le dise, il est impossiblede citer nommément tout le monde.
Nous citerons juste cet échantillon
représentatif :
-Remerciements, honneurs et louanges à
Jésus-Christ dans les lieux très haut, Dieu unique et
véritable.
-Beaucoup des considérations à nos
géniteurs, véritables cadeaux du ciel pour nous, Papa
Gédéon et Maman Francine, Dieu vous comble richement.
-Beaucoup de gratitudes au C.T. MUKAMBA MUKANDAMA
Vicky qui a déjà été le directeur de notre
T.F.C. et a maintenant accepté la lourde responsabilité de nous
accompagner pour la réalisation de notre mémoire. Notre profonde
gratitude aussi à toute sa famille et particulièrement à
Maman Elisée MBILA BWAMI.
-Sincères remerciements à notre chère
soeur Irène BIRHALIBYANDI Minange dont la sagesse et l'endurance nous
ont toujours marquées.
-Au Pasteur Jean SHINDANO et à son associé
MAROBE WA MAROBE Deruch ; pour l'encadrement et l'accompagnement
spirituels.
-A tou(te)s les bien-aimé(e)s frères et soeurs
de l'Assemblée Chrétienne de Bukavu pour leurs prières en
faveur des étudiants, particulièrement les familles KABEMBA LOLO
et MUSAMPU Anthony.
-A tous les anonymes ayant contribués même par un
verre d'eau fraiche à rendre ce rêve possible.
AGANZE ZIHALIRWA Eloi
SIGLES ET ABBREVIATIONS
C.V : Curriculum Vitae
I.G.E : Informatique et Gestion des
Entreprises
I.H.M : Interface Homme-Machine
I.R.S : Initiation à la Recherche
Scientifique
I.S.P : Institut Supérieur
Pédagogique
Internet : International Network
M.V.C :
Modèle-Vue-Contrôleur
M.V.T : Modèle-Vue-Template
OMG : Object Management Group
ORM : Object Relational Mapping
P.O. : Professeur Ordinaire
P.S.F : Python Software Foundation
SGBD : Système de Gestion de Bases
des données
T.F.C : Travail de Fin de Cycle
T.F.E : Travail de Fin d'Etude
UNIKIN : Université de Kinshasa
UP (2TUP) : Unified Process / 2Track
Unified Process
LISTE DES TABLEAUX ET
FIGURES
A. LES TABLEAUX
Tableau 1. Authentification
3
Tableau 2. Consulter les thématiques
- 49 -
Tableau 3. Consulter les modèles
- 50 -
Tableau 4. Télecharger
- 51 -
Tableau 5. Gestion des membres/specialistes
- 51 -
Tableau 6. Poster/Disponibiliser
- 52 -
B. LES FIGURES
Figure 1. Le processus de développement en
Y
3
Figure 2. Logos d'UML
- 44 -
Figure 3. Logo de l'OMG
- 45 -
Figure 4. Cas d'utilisation
- 47 -
Figure 5. Diagramme de cas d'utilisation
- 48 -
Figure 6. Diagramme de séquence
"S'authentifier"
- 53 -
Figure 7.diagramme de séquence «
Consulter thématique »
- 54 -
Figure 8.diagramme de séquence «
Consulter modèle »
- 54 -
Figure 9.Diagramme de séquence «
Télécharger »
- 55 -
Figure 10.Diagramme de séquence «
Disponibiliser/Proposer/Poster »
- 55 -
Figure 11.Diagramme de séquence «
Gérer membres/spécialistes »
- 56 -
Figure 12.Diagramme d'activité «
S'authentifier »
- 56 -
Figure 13.Diagramme d'activité «
Consulter thématique »
- 57 -
Figure 14.Diagramme d'activité «
Télécharger fichier »
- 57 -
Figure 15.Diagramme d'activité « Poster
modèle »
- 58 -
Figure 16.Dictionnaire des données
- 59 -
Figure 17. Diagramme de classe
- 60 -
Figure 18.Diagramme des composants logiciels
- 60 -
Figure 19. Icône du langage Python
- 62 -
Figure 20. Console interactive se Python
- 65 -
Figure 21. Logo du framework Django
- 66 -
Figure 22. Fonctionnement du Framework MVT
- 71 -
Figure 23. Capture de l'écran de
l'éditeur « Sublime Text »
- 73 -
Figure 24. Icône de Visual Paradigm for UML
10.2
- 75 -
Figure 25. Fenêtre de Visual Paradigm for UML
10.2
- 76 -
Figure 26. La racine du répertoire en
Django
- 77 -
Figure 27. Lancement du serveur de
développement de Django
- 78 -
Figure 28. Authentification Admin Django
- 79 -
Figure 29. Espace Admin Django
- 79 -
Figure 30. La table « Membres »
- 80 -
Figure 31. La table « thématiques
»
- 81 -
Figure 32. La table « Commentaires »
- 81 -
Figure 33. La table « Spécialistes
»
- 82 -
Figure 34. Page d'authentification
- 83 -
Figure 35. Le Menu
- 83 -
Figure 36.Image tableau de bord
- 84 -
Figure 37. Tableau de bord : « ce que vous
allez découvrir »
- 84 -
Figure 38. Le tableau de bord : les sections
- 85 -
Figure 39. Le tableau de bord : Aperçu des
spécialistes
- 86 -
Figure 40. Les tags
- 87 -
Figure 41. Thématiques tagées
- 88 -
Figure 42. Les thématiques
- 88 -
Figure 43. Commenter une thématique
- 89 -
Figure 44. Aperçu des modèles
- 90 -
Figure 45. Cas d'un modèle
- 91 -
Figure 46. Plan du modèle
- 91 -
Figure 47. Lien vers les thématiques à
partir d'un modèle
- 92 -
Figure 48. Vue d'une thématique,
dépuis un modèle
- 93 -
Figure 49. La page de télechargements
- 94 -
Figure 50. Fichier télechargeable
- 95 -
0. INTRODUCTION
0.1. PREAMBULE (CONTEXTE)
La science dans son essence est une démarche
rationnelle qui, par la recherche et l'expérimentation ;
c'est-à-dire, par l'étude scientifique, ambitionne de trouver une
explication « scientifique » ou
« démontrable » aux phénomènes et
à l'état d'être des choses dans l'univers.
Selon l'encyclopédie Microsoft Encarta,
collection 2009 :
`' La science dérive du latin
« scientia », de scire, « connaitre »
et signifie dans son sens large, connaissance systématisée ;
dans un sens plus restreint, tout savoir considéré comme objectif
et, par conséquent, vérifiable. `'
La même encyclopédie précise aussi
quechaque domaine de connaissance donne lieu à une science qui lui est
propre. En conséquence la science est plus précisément un
ensemble cohérent de lois, considérées comme valables
jusqu'au moment où de nouvelles découvertes viendraient les
infirmer, ou de conventions, décrites de manière que tous les
spécialistes de ce domaine puissent partager un langage, des
expériences et des résultats (Microsoft Encarta,
2009).
En d'autres termes, la science pourrait être
considérée comme étant une conception selon laquelle tout
peut ou devrait avoir une explication rationnelle, formalisable et
prévisible. Le hasard existe mais n'est pas une explication acceptable,
ni une cause pouvant expliquer des conséquences. Notons juste au passage
cette citation de Descartes :
« Toute connaissance qui peut être rendue
douteuse ne doit pas être appelée du nom de
science. »
Le reste, c'est-à-dire le surnaturel, le paranormal, le
mystique et le divin ne rentrent pas dans une réalité, une
conception qu'on peut qualifier de « scientifique ».Par
conséquent, on ne peut y accorder que trop peu ou pas du tout de
crédit.
Cette conception du tout rationnel, de la logique comme
sentier unique de la vérité ne fait pas l'unanimité du
simple fait qu'elle exclut d'emblée d'autres réalités
dépassant la conception logique des choses établies ; mais
ceci est un autre débat.
Quoi qu'il en soit, la science est une grande source de
connaissances et de savoir qui aide à son niveau l'homme à se
connaitre et à connaitre son milieu. Elle l'aide à
découvrir de nouvelles choses, de nouvelles techniques et un certain
nombre d'explications concrètes aux phénomènes.
L'encyclopédie Encarta citée plus haut complète :
« Connaissance, savoir, science, ces termes se renvoient l'un l'autre
dans un cadre général appelé théorie de la
connaissance ».
Pour cela, la science utilise un moteur très puissant
à savoir la recherche ; une technique
(démarche) rigoureuse au bout de laquelle une conclusion et un
résultat sont trouvés.
A ce stade, il serait quand même intéressant de
rappeler un point important : Avec l'évolution et le temps, avec
l'expérience et les moyens multiples employés par l'homme ;
on peut facilement tracer deux grandes branches ou conceptions de
la recherche.
On parle de la recherche fondamentale quand on fait
allusion à la recherche qui se fait dans le but d'augmenter la
connaissance scientifique dans une branche (domaine) scientifique
précise. Ce type de recherche se fait généralement dans
les laboratoires avec un ou plusieurs chercheurs travaillant ensemble.
Actuellement, on a même de cas de figure avec des dizaines ou des
centaines des chercheurs éparpillés sur le globe mais qui
travaillent sur un même projet de recherche tout en restant les uns et
les autres dans leurs propres laboratoires. On a ici, des résultats
généralement globaux.
On parle de la recherche appliquée lorsque les
spécialistes dans un certain domaine particularisent les
résultats généraux issus de la recherche fondamentale. Il
s'agit de l'application des résultats de la première. C'est
à ce niveau qu'on trouve les ingénieurs et les techniciens de
toute sorte.
Toutefois, cette classification
« classique » tend sérieusement à
s'éroder car, il est de plus en plus question
d'interdisciplinarité des sciences avec des
sciences dites hybrides ou frontalières.
Faire de la recherche scientifique n'est pas chose
aisée mais plutôt une tâche pour les
intrépides. Comme nous pouvons le constater au travers de ce
passage (ZIULU, 2018) : «La recherche scientifique
ou investigation scientifique, est un effort hardi, astreignant, de
compréhension provoquée par un besoin ou une difficulté
dont on a pris conscience s'attachant à l'étude d'un
phénomène complexe, dont l'intérêt dépasse
les préoccupations personnelles et immédiates, le problème
étant posé sous-forme d'hypothèses. »
On ne peut donc pas parler de recherche
« scientifique », s'il n'y a pas de problème
à résoudre et si la résolution du problème ne
nécessite pas un effort important de la part des chercheurs.
Ainsi donc, le chercheur devra passer beaucoup de temps
à collecter des données avant de les comparées entre elles
(et avec des données déjà trouvées par des
chercheurs avant lui), mettre en oeuvre plusieurs méthodes, construire
des modèles et parfois mener des expérimentations. Toujours
est-il qu'il n'est déjà pas très aisé de formuler
correctement un sujet de recherche avec ses hypothèses. Il faut ensuite
choisir des outils de travail et dresser un calendrier des activités.
Enfin, il faut faire sérieusement bouillonner la
cervelle dans l'agencement des idées tout en veillant à tout un
tas de minuscules petits détails et en évitant des couacs.
0.2. PROBLEMATIQUE
Durant tout notre parcours au sein du département
d'informatique de gestion à l'ISP/BUKAVU, il est un fait que nous avons
constaté : une difficulté réelle pour les
étudiants en général à bien s'orienter dans le
cadre de leurs recherches ; surtout quand il s'agit de la
préparation d'un travail de fin de cycle.
D'abord, il y a l'angoisse liée à la recherche
d'un sujet de recherche ; car, contrairement aux apparences, il n'est
jamais aisé d'identifier clairement un problème susceptible de
faire l'objet d'une recherche scientifique.
Ensuite, une fois le sujet formulé, la question de
l'orientation des recherches se pose : quelles sont les sources et
ressources à consulter en premier? Comment agencer les idées
tourbillonnant dans la tête du chercheur? Comment faire ensuite pour
mixer les idées du chercheur et celles tirées de
différentes ressources consultées ?
En Informatique en général et en Informatique de
gestion en particulier, il est souvent question d'identifier un
problème, le modéliser et ensuite y pallier en proposant un outil
informatique (solution informatique) pour corroborer ou non les
hypothèses de départ.
En partant de toutes ces difficultés évidentes
liées à l'orientation des étudiants en Informatique dans
leurs recherches de fin de cycle particulièrement, nous nous sommes
posé les questions suivantes :
- Quels sont les problèmes qui gangrènent
les étudiants dans la rédaction de leurs TFC et
Mémoires ?
- Serait-il possible de pallier aux problèmes de
l'orientation des étudiants-chercheurs en Informatique dans leurs
travaux de recherche ?
- Une solution purement informatique s'impose-t-elle ou
faut-il aussi y adjoindre une solution adjuvante ?
- Y aurait-il moyen de concevoir et mettre en place une
plate-forme web d'aide à l'orientation des étudiants en
Informatique dans leurs recherches de fin de Cycle ?
0.3. HYPOTHESES
Dans un travail de recherche scientifique, le chercheur
initialise toutes ses assertions en proposant des réponses
« provisoires » au départ que les résultats
des recherches vont valider ou infirmer. D'où, nous proposons les
réponses provisoires ci-après :
· Les problèmes majeurs que rencontrent les
étudiants résideraient plus dans l'orientation à prendre
dans la recherche, la méthodologie à utiliserainsi que la
rédaction ;
· Il serait possible de pallier le problème
d'orientation des étudiants en Informatique dans leurs travaux de
recherche ;
· Une solution purement informatique devrait suffire pour
pallier cette difficulté ;
· Il pourrait être possible de concevoir et de
déployer une plate-forme web d'aide à l'orientation des
étudiants en Informatique dans leurs recherches de fin de cycle.
Seuls les résultats des recherches vérifieront
ou pas la validité de ces allégations sommaires.
0.4. ETAT DE LA QUESTION
Le célèbre chimiste français
Antoine DE LAVOISIER (1743-1794) est l'auteur de la citation
suivante devenue très célèbre par la suite :
« Rien ne se crée, rien ne se perd ; tout se
transforme ». La citation est d'autant plus vraie en Informatique
où on a l'impression, d'après une certaine opinion, que nous
n'avons exploité que trop peu d'énormes potentialités de
celle-ci ; mais d'une autre opinion, on a l'impression en même temps
que tous les aspects de la discipline ont déjà été
traités par quelqu'un, quelque part et que tout ce qu'il reste à
faire, c'est d'adapter les résultats précédents au
contexte de notre milieu, en les améliorant.
Sans nier la pertinence de la première opinion, la
seconde nous parait toutefois plus à propos dans le cadre de ce travail.
En fouillant, en cherchant beaucoup ; nous avons identifiés un
certain nombre des travaux pouvant s'apparenter au notre, certes à des
degrés différents :
Ø BARHEGINE MUDEKUZA Espoira, dans son
mémoire intitulé : « Développement et mise
en place d'une base de données WEB d'exposition et consultation des
compétences » (2014-2015) constaté qu'il y avait des
difficultés évidentes des experts à faire connaitre leur
C.V. en dehors des périodes de recrutement. Le mémoire a
été reçu au département d'IG à l'ISP/BUKAVU.
Il a proposé une application web pour aider les
personnes avec des compétences à les exposer afin d'être
facilement repérables par les recruteurs.
Ø Charly BALEKE LWABOSHI, dans son
mémoire intitulé : « Elaboration et adaptation du
modèle PMB à la gestion de la mini-bibliothèque du
département d'informatique de gestion de
l'ISP/BUKAVU. »(2008-2009) ; a clairement isolé le fait
que la bibliothèque départementale était difficilement
accessible et sa consultation problématique par les étudiants.
De ce fait, il a élaboré une application web
basée sur le modèle PMB pour pallier ce problème. Le
mémoire a été reçu au département
d'IG/ISP-BUKAVU.
Ø Alexandre ROSATI, dans son TFE,
intitulé : « Utilisation/exploitation des données
ouvertes dans le domaine de l'accessibilité en Wallonie »
(2014-2015), part de la problématique d'accès aux informations
pour l'aide et l'accompagnement des personnes à mobilité
réduite dans leurs déplacements et leur accès à
différents endroits.
Ces informations proviennent surtout du milieu d'organismes
privés et ne sont donc pas accessibles au grand public et de partout.
L'usage du binôme Python/Django grâce au modèle MVT qu'il a
fait pour son application nous a inspirés.
Le chercheur a donc mis en place une application qui permet
d'avoir accès à ces données depuis n'importe quel endroit
du monde. Le TFE a été reçu au Département
d'informatique de Gestion à la haute-école Provinciale du Hainaut
Condorcet en Belgique.
L'originalité de notre travail ressort en quelques
lignes : notre travail compte s'argumenter autour de la
problématique des recherches pour la réalisation des travaux de
fin de cycle par les étudiants du département d'Informatique de
gestion de l'ISP/BUKAVU en particulier et tous les étudiants en
général. Ceci devra être concrétisé par une
application web conçue grâce au langage Python
par l'entremise du Framework Django via le
modèle MVT.
0.4. OBJECTIFS
0.4.1. OBJECTIF GENERAL
Notre travail s'inscrit dans un cadre général de
la résolution des problèmes de la vie de tous les jours par des
applications informatiques et particulièrement, des applications web.
Préfaçant le Livre (PORTENEUVE, 2006)de
Christophe PORTENEUVE, Tristan NITOT-Président de
Mozilla Europe- écrit :
« On pourrait croire que ce qui est important
dans le titre, c'est `'Web 2.0 `'.Certes, c'est bien le cas. La participation
grandissante des utilisateurs, qui est l'une des deux particularités du
Web 2.0, est importante. Vitale, même. Paradoxalement, cette notion d'un
Web où chacun pourrait à la fois lire et écrire, consommer
et produire, est celle de son inventeur, Tim Berners-Lee, même si peu
d'internautes ont réalisé cela. »
Tout le monde doit pouvoir à son niveau être
capable de profiter les bienfaits du web.
0.4.2. OBJECTIFS SPECIFIQUES
Dans le cadre du présent travail, on se fixera comme
objectifs spécifiques :
- Mettre en évidence la problématique de
l'orientation des étudiants dans leurs travaux de recherche de fin de
cycle.
- Proposer une solution web pour l'aide à la dite
orientation pour les étudiant-chercheurs en Informatique et les
autres.
0.5. CHOIX ET INTERET DU
SUJET
Nous situons notre intérêt pour ce travail
à deux niveaux :
- D'abord, comme étudiant finaliste en
Informatique ; nous avons éténous-même
confrontés à la problématique que nous traitons dans
celui-ci.
- Ensuite et enfin, durant notre documentation et notre
apprentissage dans le monde de la programmation, nous avons été
attirés par le langage de programmation Python ainsi que son Framework
pour le développement web Django.
0.6. DELIMITATION DU
SUJET
Délimitation spatiale, chronologique et
analytique du sujet
Ce travail a été réalisé dans le
cadre de l'assistance aux étudiants finalistes en Informatique de
Gestion du département d'IG de l'ISP/BUKAVU dans leurs recherches.
Il sera présenté au département d'IG de
l'ISP/BUKAVU à l'issue de l'année académique 2018-2019. Il
ne concerne que l'implémentation d'une plateforme web au service de la
recherche des étudiants dudit département.
0.7. METHODES ET
TECHNIQUES
0.7.1. METHODES
Pour réaliser un travail scientifique, il faut disposer
de bonnes manières de procéder c'est-à-dire, des
méthodes efficaces et utiles.
Dans le cadre du présent travail, un certain nombre des
méthodes a été mis en oeuvre :
A/ La méthode analytique
En vue de la réalisation de notre travail, nous avons
été amenés à faire une analyse approfondie sur la
problématique qui nous a préoccupés. L'analyse est comme
une torche allumée par le chercheur afin de visualiser la structure
à problème.
B/ La méthode comparative
Elle est intervenue à chaque fois qu'il a
été question d'opérer un choix, d'opter pour une solution
plutôt que pour une autre ; de confronter les données issues
de la recherche des idées reçues et des préjugés
ou encore de choisir le type d'outils à utiliser.
C/ La méthode descriptive
Une de meilleures façons d'effectuer un travail
scientifique consiste à décrire le milieu d'étude, les
outils utilisés, la structure concernée, .... Tel a
été l'apport de cette méthode à notre travail.
D/ La méthode historique
Elle nous a aidés à remonter dans le temps pour
trouver l'origine des outils et comprendre l'évolution de ces derniers
ou des structures et organisations créatrices.
E/Le processus unifié(UP) et particulièrement le
2TUP concrétisé par le langage UML
Il s'agit d'un processus de développement de logiciels
orienté objets, basé sur le processus guidé par les cas
d'utilisation, un processus itératif et incrémental, processus
centré sur l'architecture, un processus orienté par la
réduction des risques.
Ces principes sont à la base De l'UP décrit par
les auteurs d'UML. Ce dernier est un langage de modélisation.
UP fait partie des méthodes informatiques dites
« agiles » et non « rigides » comme
MERISE.
F/ L'architecture MVC/MVT
Le MVC est une méthode de conception d'interface
homme-machine très prisée surtout pour la programmation web.
L'architecture ou patron Modèle-Vue-Contrôleur
est composée de trois entités distinctes, chacune ayant son
propre rôle à remplir.
Le patron modèle-Vue-Template quant à lui, est
une spécificité de Django. Nous y reviendrons avec force
détail un peu plus loin.
0.7.3. TECHNIQUES
Ci-après sont reprises les différentes
techniques utilisées pour la réalisation du présent
travail :
1/ La navigation sur internet
Nul besoin d'une pléthore d'explications car aucun
travail scientifique n'échappe à ces jours à cette source
moderne de savoir que constitue le réseau des réseaux.
2/ La technique documentaire
Que ce soit pour sonder les travaux de recherches
antérieurs que pour étayer les assertions avancées, les
ouvrages et les documents disponibles en librairie nous ont été
utiles.
3/ La technique d'observation libre
Les livres et ouvrages ne reflètent toujours pas toute
la réalité, parfois on ne vous dit pas tout ou encore il arrive
qu'on ne puisse pas tout saisir, ...mais jamais on ne peut tout camoufler.
Parfois, il suffit de rester calmer et d'observer :
« Sachez écouter et observer, vous verrez alors que le
silence produit souvent le même effet que la
science.»(A. Einstein)
0.8. DIFFICULTES
RENCONTREES
Comme nous l'avons soulignés plus haut, mener un
travail scientifique revient à mobiliser des ressources multiples comme
le cerveau, le sens, des moyens financiers intérieurs et
extérieurs et aussi le concours d'autres personnes ressources. Autrement
dit, c'est loin d'être une tâche facile.
On est ainsi sensiblement touché autant sur le plan
affectif que sur celui psychologique.
Tout cela, ajouté parfois aux problèmes
financiers et le souci du moindre détail, n'auront pas rendu la
tâche facile.
Des difficultés liées à l'environnement
social, notamment la crise qui a paralysée l'ISP/Bukavu et qui a
causée l'interruption de toute activité pendant plus de deux
mois.
0.9. SUBDIVISION DU
TRAVAIL
Introduction et conclusion mise à part, le travail a
quatre chapitres, qui sont respectivement :
- Le premier chapitre est une plongée dans notre milieu
d'étude et a été intitulé
« GENERALITES SUR LA
RECHERCHE».
- Le deuxième chapitre est axé sur le processus
unifié 2TUP avec la formalisation du système grâce au
langage UML. Il a été intitulé
« MODELISATION AVEC LE PROCESSUS UP ».
- Le troisième chapitre est une considération
sur la programmation web avec Python et Django. Nous sommes revenus entre autre
sur les architectures MVC et MVT. Il a été intitulé
« EBAUCHE SUR LA PROGRAMMATION WEB AVEC
PYTHON/DJANGO ».
- Le dernier chapitre a été intitulé
« ESSAI DE MISE EN PLACE DU SYSTEME » et a
porté sur la présentation de l'application web.
CHAPITRE
PREMIER :GENERALITES SUR LA RECHERCHE
Introduction
Dans la partie qui va suivre, nous allons passer en revue la
littérature sur la recherche scientifique. Il s'agira de définir
les différents concepts, de comprendre le processus de recherche et les
termes qui y sont liés.
Nous allons essayer de distinguer tous ces concepts
clés dans l'ordre et dégager la solution
privilégiée.
I.I. DEFINITION DES CONCEPTS
1. LA SCIENCE
De tous les sens de l'homme, la vue est le plus remarquable.
Quand l'homme ouvre les yeux pour la première fois, au matin de la
création, à en croire la Sainte Bible, il contemple la nature et
nomme tout ce qui passe devant ses yeux émerveilleux(LA BIBLE,
Genèse 2 :7-23).
Par le canal de ses yeux, la perception de la nature et de
l'environnement émerveille le corps entier mais crée en
même temps de la curiosité, le besoin de connaître le
pourquoi et le comment des choses. L'homme comprend très vite,
grâce à l'intelligence dont il est pourvu, que derrière
toute cette façade mirobolante se cache une structure beaucoup plus
complexe, une organisation harmonieuse qu'il ne peut percevoir directement. La
première connaissance qu'a l'être humain, c'est donc la
connaissance intuitive par les sens. Celle-ci est
innée.
L'homme ignorant dans un premier temps comment
procéder, se met d'abord à la méthode par essai
et l'apprentissage par l'expérience. Cela conduit parfois
à des drames : avant de connaitre l'usage du feu par exemple,
combien de fois l'homme s'est-il brûlé ? bien plus, la
connaissance issue de l'expérience ne se limite la plupart du temps
qu'à la description du phénomène et non à une
véritable explication de celui-ci.
C'est ainsi que l'homme commence à faire des efforts
intellectuels pour répertorier et inventorier les connaissances à
sa disposition et qui avaient déjà fait leur preuve. Nous sommes
à l'antiquité et le premier peuple à véritablement
faire la science pour la première fois (THUND'OLELA,
2015-2016), c'est le peuple égyptien. Ce peuple dont la
brillante civilisation a influencer la plupart des civilisations
postérieures si pas toutes, aura développé jusqu'à
un certain niveau les branches comme les Mathématiques, la
Médecine, la Géographie et l'Astronomie.
La curiosité et le raisonnement humains, poussent
celui-ci à creuser d'abord superficiellement, ensuite ; de plus en
plus profondément les faits, à la recherche d'explications et des
réponses à ses questions. C'est la naissance de la science.
Celle-ci a pour principale activité : la recherche ou
l'étude approfondie. Il ne s'agit pas d'une démarche aventureuse
menée à l'aveuglette, ni d'une simple fouille dans le tas des
faits et des phénomènes de la nature,...mais plutôt une
procédure, un processus méthodique.
L'être humain développe des activités
inhérentes à trois domaines
d'activités (Tshund'olela) :
- Le domaine cognitif : relatif à
tout ce qui est connaissance, savoir. On parle des activités
cognitives.
- Le domaine psychomoteur ou de
l'action : relatif au savoir-faire. On parle des activités
psychomotrices.
- Le domaine socio-affectif ou affectif :
relatif au savoir-être. On parle des activités affectives
ou socio-affectives.
La science est du domaine cognitif. Ainsi, les
activités scientifiques, notamment la recherche ; font partie des
activités cognitives.
Notons cependant, que tous les trois domaines cités
précédemment sont liés et s'influencent mutuellement.
1.1. Définition :
Etymologiquement, le terme science provient du latin
scientia « connaissance », de
scire « savoir ».
Ensemble de connaissances ayant un objet
déterminé et reconnu, et une méthode propre; domaine du
savoir (opposé à art.).C'est l'ensemble de
connaissances, d'études d'une valeur universelle,
caractérisées par un objet et une méthode
déterminés, et fondées sur des relations objectives
vérifiables(Le Grand Robert de la langue française
2.0, 2005).
1.2. Fonction :
La science est une activité cognitive de l'être
humain qui vise la connaissance. Connaitre c'est :
Ø Décrire,
c'est-à-dire présenter fidèlement les
éléments constitutifs d'un objet, mais aussi les
caractères de l'objet ou ses éléments.
Ø Expliquer,
c'est-à-dire déterminer ce qui est à la base. Eclairer le
déterminant (facteur) et aussi le conditionnant (ce qui influence) et
enfin, le déterminé.
Ø Prédire,
c'est-à-dire dire à l'avance le
caractèredéterminant et le conditionnant.
Ø Prescrire,
c'est-à-dire recommander, dire à l'avance ce qui pourrait
arriver.
A ce niveau, il ne faut pas confondre la prédiction
(science) et la prophétie (religion). La première se base sur la
prévisibilité des évènements (probabilité),
la vérifiabilité (démarche) et fait des recommandations
(conclusion) alors que la seconde est fondée sur la certitude absolue
(la foi), la non-vérifiabilité et l'espérance (puisque la
foi est une ferme assurance des choses qu'on ne voit pas).
1.3. Mission :
Elle vise six activités principales :
§ Le modèle descriptif (description),
§ Le modèle explicatif (explication),
§ Le modèle prédictif
(prédiction),
§ Le modèle prescriptif (prescription),
§ Le modèle interrogatif (interrogation),
§ Le modèle formulatif (formulation).
Elle recherche ce qui est vrai et efficace, en partant de ce
qui est faux et inefficace. La connaissance ordinaire part d'abord de ce qui
est utile dans l'immédiat.
La science classique n'avait que deux
critères : la vérité et la fausseté.
La science contemporaine a ajouté à la
vérité et la fausseté, l'efficacité et
l'inefficacité.
La science se fonde sur l'étude d'autant qu'il
n'y a pas véritablement de connaissance en science sans étude.
Celle-ci en effet, est plus sûre et plus efficace par
rapport aux autres moyens existants comme la révélation, le
hasard ou l'expérience. La connaissance n'est pas seulement
nécessaire mais est absolument indispensable si pas vitale parfois.
Notons enfin, qu'on peut distinguer deux sortes des
connaissances :
La connaissance rationnelle, basée sur la
raison et la réflexion. Elle est dite indirecte car elle passe par la
raison et non par le sens.
La connaissance irrationnelle, connaissance directe
passant par les sens. Elle est sentimentale.
1.4. Champ d'application ou
matière :
La science a pour objet d'étude la
réalité. Il s'agit de la réalité sociale
ou naturelle. Par conséquent, tout ce qui est irréel ne fait pas
partie de la science.
Nous ne parlons pas à ce niveau de la
réalité brute mais de ce qu'on appelle
`phénomène', c'est l'image que se fait notre esprit de
la réalité sociale ou naturelle, un fait que va vérifier
l'expérimentation.
Pour être un objet d'étude scientifique, un
phénomène doit répondre à un certain nombre des
critères :
La pertinence scientifique : il doit être
en mesure d'apporter quelque chose de nouveau en matière de
connaissance. On peut trouver une solution avec des moyens disponibles.
Le phénomène doit être
problématisable : on doit pouvoir être en mesure de
poser un problème précis sur le phénomène.
1.5. Objectifs :
La science vise la production des connaissances. La
connaissance est le résultat de l'étude scientifique. On entend
donc que les connaissances soient acquises, produites et
communiquées ; elles doivent constituées un tout
cohérent.
Les connaissances scientifiques sont des connaissances
rationnelles (fruits de la raison), des connaissances
sélectionnées dans le tas, des connaissances méthodiques
(obtenues par des méthodes purement scientifiques), des connaissances
critiques (dont on a et on peut vérifier la véracité par
des instruments scientifiques). Ces connaissances sont contestables,
réfutables, objectives, impartiales (en connaissance des causes),
analytiques (descriptives et explicatives), intelligibles
(compréhensibles), perfectibles (susceptible d'être
améliorer ou perfectionner car, en science rien n'est parfait),
universelles, renouvelables, communicables, vraies (exactes) et efficaces.
On peut enfin dire que les connaissances que produit la
science, sont synthétiques c'est-à-dire
réductibles et sont des réponses aux questions posées.
Etant donné qu'analyser ne signifie pas
détailleret synthétiser ne signifie pas non
plus résumer. Résumer, dans son essence revient à
conclure.
1.6. Méthode :
La science recours à une manière
méthodique. La méthode est une voie à suivre, une
façon d'organiser, une manière d'agir, une façon de
procéder afin d'atteindre un objectif. On peut résumer cette
définition en trois points :
1/ Une manière de procéder
2/ Des étapes successives
3/ Des points de vue à considérer
La méthode est définie en fonction des approches
ou points de vue. Elle est descriptive et communicable de façon
systématique. Ce sont donc des lois, des règles et des principes
qui déterminent la manière de procéder.
Les lois sont des normes à
respecter, elles sont de ce fait générales. Par exemple, dire que
l'informatique c'est une science est une loi car ceci est un fait bien
établi et connu.
Les règlessont aussi des
normes mais sont beaucoup plus particulières que les lois. Par
exemple : l'informatique doit respecter les exigences scientifiques.
Renvoi à une particularité et non une règle
générale à toutes les branches.
Les principes sont des
vérités générales évidentes,
vérifiées par l'expérience. Ce sont en fait des formules
généralement courtes. Par exemple : l'informatique doit
procéder par des méthodes scientifiques.
Donc, par la méthode, on est amenés à
trouver :
- La manière d'interroger
- La manière de décrire
- La manière d'expliquer
- La manière de prédire
- La manière de formuler
1.7. Nature :
La science est une activité scientifique
différente des activités ordinaires (expérience,
tâtonnement).
1.8. Utilité :
La science est un instrument de compréhension du monde,
mais surtout, il s'agit du moyen le plus sûr, le plus rapide, le moins
risqué, le plus efficace pour l'obtention des résultats.
L'esprit scientifique est un ensemble des caractères
fondé sur les caractères de la science. Il est
caractérisé par la curiosité scientifique.
1.9. Classification :
Il existe plusieurs classifications des sciences. Sans pour
autant entrer dans les détails, ni être exhaustifs ; nous
revenons sur les principales (TSHUND'OLELA, Op.cit.):
1.9.1. PREMIERE CATEGORISATION
A ce niveau, on distingue les sciences dites empiriques de
celles dites formelles.
Les sciences empiriques sont des sciences des
phénomènes concrets, sensibles ; ceux qui concernent la
réalité qu'on peut saisir par les sens. Exemple : la
sociologie.
Les sciences formelles (abstraites) sont des sciences
des phénomènes abstraits. Ex : les mathématiques.
Il faut noter cependant qu'on préfère parler des
sciences empiri-formelles et des sciences formelo-empiriques
étant donné que même si chaque science ne privilégie
qu'une dimension à la fois, elle n'exclut pas pour autant l'autre.
1.9.2. DEUXIEME CATEGORISATION
Elle distingue de son côté :
Les sciences positives : sciences des faits
concrets. Par exemple : la Chimie.
Les sciences normatives : sciences des faits
abstraits. Par exemple : l'informatique.
1.9.3. TROISIEME CATEGORISATION
Elle se base sur l'observation et l'expérimentation et
distingue :
Les sciences qui se fondent sur des faits concrets
établis grâce à l'observation. C'est l'examen fait
sur un objet dans le contexte de son milieu.
Les sciences se fondant sur l'examen fait sur un objet sortis
de son milieu naturel.
1.9.4. QUATRIEME CATEGORISATION
On distingue :
Les sciences sectorielles sont celles qui
développent une seule dimension des phénomènes. Par
exemple : la sociologie ou encore l'économie.
Les sciences multisectorielles qui s'étendent
sur plusieurs dimensions des phénomènes. On peut citer comme
exemple l'informatique, les mathématiques, etc.
1.9.5. CINQUIEME CATEGORISATION
C'est la classification classique et est de loin la plus
répandue. Elle distingue :
Les sciences appliquées : comme nous
l'avons déjà dit, elles visent à appliquer les
connaissances pour résoudre des problèmes pratiques. Par exemple
les biotechnologies.
Les sciences fondamentales : elles visent
l'acquisition des connaissances théoriques. On parle aussi parfois des
sciences pures ou dures. On peut donner comme exemple la
topologie générale en mathématique.
1.9.6. SIXIEME CATEGORISATION
Elle répertorie aussi deux catégories :
Les sciences monothéiques : elles
cherchent à connaitre les lois, les normes, les règles. Elles
sont plus prescriptives.
Les sciences idiographiques : elles cherchent
à connaitre les particularités, elles sont moins
prédictives et plus efficaces.
On retiendra que pratiquement toutes ces classifications
soulèvent des points qui s'avèrent communs partout.
2. LA RECHERCHE
Comme on peut le constater, les activités autour de la
science sont sérieusement encadrées et bien
ordonnées : « Le travail de recherche est la
construction d'un `objet scientifique'. Il permet à l'auteur d'explorer
un phénomène, de résoudre un problème, de
questionner ou réfuter des résultats fournis dans des travaux
antérieurs ou une thèse, d'expérimenter un nouveau
procédé, d'une nouvelle solution, d'une nouvelle
théorie ; d'application à une pratique, à un
phénomène, de décrire un phénomène,
d'expliquer un phénomène ou une synthèse de deux ou
plusieurs de ses objets. (...)» (Etudier.com,
2018).
Ainsi, l'homme a commencé à comprendre de plus
en plus correctement la nature qui l'entoure, le mécanisme de
fonctionnement des organismes vivants, les lois qui régissent la nature
ou le cosmos,... la recherche a ouvert la porte à la logique et à
la rationalité : les choses visibles et invisibles, peuvent
être étudiées et expliquées, en utilisant des
méthodes ou des procédés concrets. Il est possible de
déduire et d'inférer les résultats des recherches
passées pour prédire avec un certain degré de confiance,
les phénomènes à venir.
2.1. Définition :
Le terme « Recherche » vient du verbe
« Rechercher ». Celui-ci est constitué de deux
concepts : re-chercher. Ainsi, rechercher consiste à chercher
une nouvelle fois, chercher encore pour connaitre plus et
mieux.
Selon le dictionnaire Le Grand Robert de la langue
française, la recherche est un nom féminin et signifie l'action
de chercher, de rechercher, un effort pour trouver quelque chose, un effort de
l'esprit pour trouver (une connaissance, la vérité...).
2.2. Types de recherches
Selon De KETELE et ROGIERS(1996) cité par Schwarz
COULANGE MERONE (MERONE, 2008), il existe sept types des
recherches qui sont :
1. La recherche scientifique : basée sur une
démarche inductivo-hypothético-déductive ;
2. La recherche technologique : construisant des outils
pour le praticien et orientée vers la prise des
décisions ;
3. La recherche évaluative : avec une
prévention prévisionnelle et prospective ;
4. La recherche-action : examinant une situation du point
de vue des participants ;
5. La recherche exploratoire : phase heuristique
permettant de générer des hypothèses ;
6. La recherche descriptive : lorsque la description et
la classification sont un préalable ;
7. La recherche spéculative : axée sur la
fonction prospective.
Sans entrer dans les détails, nous ne nous focaliseront
que sur la premièrecatégorie des recherches dans le cadre de ce
travail de mémoire.
3. LA RECHERCHE SCIENTIFIQUE
3.1. Définition :
Toujours selon le site étudier.com
cité plus haut, on entend par « recherche
scientifique », un processus dynamique ou une démarche
rationnelle qui permet d'examiner des phénomènes, des
problèmes à résoudre et d'obtenir des réponses
précises à partir d'investigations.
Toujours est-il que, selon le Professeur
Tshund'olela ; toute recherche n'est pas scientifique.
La connaissance scientifique a pour but de trouver ce qui est vrai et efficace
partant de ce qui est faux et inefficace pour arriver à la
résolution d'un problème en s'appuyant sur une méthode.
La recherche scientifique comme activité centrale de la
science, découle de la formalisation des méthodes, techniques et
procédés de la recherche classique. Tout ceci dans un souci de
normalisation de différents processus inclus dans la recherche. Il
s'agit d'universaliser la pratique de la recherche pour garantir la
véracité et surtout, la vérifiabilité des
vérités scientifiques par les pairs.
Il s'agit aussi d'isoler et de limiter au maximum les risques
inhérents à la mauvaise foi de certains, auxerreurs somme toutes
humaines ou les conclusions hâtives. Sachant que la
généralisation systématique des faits scientifiquement
prouvés dans un milieu peut conduire à une catastrophique erreur
d'appréciation, les milieux étant différents les uns des
autres.
Sachant que l'erreur est inévitable et normale en
science, il faut toutefois tout faire pour la réduire au maximum. C'est
la cause de l'humilité scientifique, on ne doit pas se battre pour la
science ni chercher à imposer son point de vue ou les résultats
issus de ses propres recherches à d'autres. Il ne faut pas non plus
prétendre avoir trouvé la panacée à tous les
problèmes du monde.
La recherche scientifique ne s'arrête pas au niveau de
la description. Bien plus, elle cherche des explications et des explications
réellement rationnelles. Elle va encore plus loin en confrontant les
préventions et les présomptions à l'épreuve des
faits. Ainsi, la conclusion se déduit d'elle-même en confirmant ou
en infirmant les présomptions.
La recherche scientifique procède par
expérimentation pour reproduire dans un milieu simplifié, le
comportement observé dans le monde réel. En manipulant à
sa guise les différentsparamètres ou facteurs, le chercheur
arrive à expliquer aisément des phénomènes mieux
que dans le monde réel.
Grâce à la recherche scientifique, on arrive
aussi à mettre en évidence des phénomènes nouveaux,
non-perceptibles dans le monde réel car trop complexes en
l'état ; mais plus sensibles à une plus courte échelle
(comme le laboratoire).
La recherche scientifique est le poumon de la science telle
qu'on la connait aujourd'hui. La quantité énorme des
connaissances à notre disposition aujourd'hui, est due
quasi-exclusivement à la recherche scientifique menée depuis des
millénaires par d'illustres scientifiques et le travail continue. Que ce
soit dans les livres ou ouvrages, sur les sites archéologiques, au sein
des laboratoires ou dans des centres de recherche ; la recherche
scientifique existe et continuera à exister tant que l'homme existera
à la surface de la terre.
Car, on se rend compte qu'on ne connait pas aujourd'hui
« un centime » des secrets de l'univers. Cela ressort
clairement au travers de ces quelques lignes :
3.2. Fonction de la recherche scientifique
La recherche scientifique cherche à connaitre la
vérité et l'efficacité. Elle cherche à
étudier les objets pour la résolution des problèmes
grâce à une étude approfondie.
3.3. Champ d'application de la recherche scientifique
Toujours selon le Professeur Tshund'olela,
l'objet de la recherche scientifique est la connaissance scientifique des
phénomènes.
Un phénomène est différent de la
réalité brute qui n'intéresse pas la science. Un
phénomène est une réalité telle que la
conçoit l'esprit humain. Bien sûr comme nous l'avons
soulignés plus haut, n'entrent pas dans les phénomènes
considérés comme tels par la science ; les
phénomènes mystiques, surnaturels, etc.
3.4. Objectif de la recherche scientifique
On entend de la recherche scientifique des explications
concrètes, vraies et efficaces. Les résultats de la recherche
scientifique doivent être de nouvelles connaissances susceptibles
d'être communiquées, publiés ou défendues.
LA RESOLUTION D'UN PROBLEME
SCIENTIFIQUE
La finalité attendue d'un travail de recherche
scientifique c'est la résolution d'un problème scientifique. Nous
parlons donc ici, d'une activité intellectuelle dans laquelle :
· Un problème d'étude scientifique
précis à résoudre est posé. Comme nous l'avons
déjà dit, tout problème n'est pas
forcémentsusceptible de faire l'objet d'une étude scientifique.
Par exemple, un problème portant sur le crédit à apporter
à une prophétie, n'est pas du ressort de la science.
· On apporte et formule une solution scientifique en
recourant à une méthode (scientifique)
déterminée.
Par conséquent, trois éléments doivent
être réunis pour parler d'une résolution scientifique d'un
problème :
- L'Existence d'un problème à
résoudre.
- La Résolution (scientifique) du problème.
- L'existence d'une méthode de résolution.
Il y a en plus une condition préalable
(Tshund'Olela, 2016) : il faut qu'au moins un de ces
trois éléments soit nouveau.
Tout naturellement, la catégorie des problèmes
la plus complexe est celle dans laquelle, les trois éléments sont
nouveaux ou inconnus jusque-là. Le chercheur aura alors un vrai
casse-tête pour en venir à bout.
3.5. Subdivision de la recherche scientifique
D'après les différentescaractéristiques
qu'on peut distinguer, il y a moyen de subdiviser ou classifier les types de
recherches scientifiques. Notons au passage que plusieurs classifications ont
été proposées par les auteurs et les spécialistes.
Après avoir eu une vision d'ensemble sur la plupartdes classifications
proposées, des éléments importants reviennent souvent et
à quelques exceptions près ; on peut avoir une
classification type.
De notre côté, nous avons
préférés retenir la classification proposée par
l'excellent site(etudier.com, 2018) etudier.com qui nous a
beaucoup aidé au cours de nos recherches. Evidemment, cette
classification n'a pas la prétention d'être la
référence mais est représentative de la plupart des
tendances.
Pour identifier une personne, des indices telles que le nom,
l'âge, le sexe ou encore l'état civilsont autant des
critères particuliers. De même, selon leur nature, on distingue
plusieurs types de recherches scientifiques :
1° LA RECHERCHE FONDAMENTALE
Elle vise l'acquisition d'une meilleure compréhension
d'un phénomène afin de faire avancer les connaissances sur le
réel, sans se préoccuper des applications pratiques à
court terme.Elle est de l'apanage des théoriciens et des
« puristes ».
Comme nous l'avons déjà dit un peu plus haut,
l'objectif de ce type de recherche scientifique est de traiter des notions
théoriques et de faire progresser le savoir scientifique. Elle se fait
généralement dans des espaces consacrés
spécifiquement à cette fin comme les laboratoires.
2° LA RECHERCHE APPLIQUEE
C'est l'opposé de la première. Elle est d'abord
centrée sur des problèmes présentant un
intérêt pratique immédiat. Elle vise à trouver une
application pratique aux connaissances renouvellement acquises et regroupe les
travaux de recherche scientifique entreprises afin de résoudre les
problèmes scientifiques d'usage pratique.
Cette catégorie de recherche scientifique est du
ressort des ingénieurs, des techniciens, bref des spécialistes.
Elle permet de remédier à un problème de la vie de tous
les jours en adaptant les théories à la pratique. Parfois, cela
se fait en violant certaines règles théoriques, ce qui ne va pas
sans grincements de dents de la part des puristes.
3° LA RECHERCHE QUALITATIVE
Il s'agit d'un processus de collecte de données
à caractère non-mesurable. Elle décrit une attitude,
privilégie les faits qui particularisent un objet d'observation. Elle
suppose que l'on ne s'interroge que sur un seul objet, qu'on ne
s'intéresse qu'à un nombre limité d'objet ou à un
collectif.
Ce type de recherche scientifique, ainsi que celui qui le suit
dans cette liste, est très prisé par les statisticiens.
4° LA RECHERCHE QUANTITATIVE
C'est un processus de collecte des données à
caractère mesurable et qui permettent des opérations de calculs.
Elle s'intéresse aux aspects communs et récurrents des
phénomènes ; aussi, elle vise à l'analyse statistique
des données collectées (tableau et graphique) et à
l'analyse descriptive ou mathématique (données
chiffrées).
5° LA RECHERCHE SYNCHRONIQUE
Il s'agit d'une étude faisant abstraction du temps.
Elle vise à étudier un objet à un moment unique. Par
exemple, on étudie le rendement d'une entreprise durant l'année
2018.
6° LA RECHERCHE DIACHRONIQUE
C'est le contraire de son prédécesseur, elle est
une recherche menée en tenant compte ou en se focalisant sur une
période de temps. Par exemple : On veut étudier
l'évolution du rendement de l'entreprise X durant la période
comprise entre 2010 et 2018. On devra alors comparer dans le temps, le
rendement obtenu pour chaque année par exemple.
7° LA RECHERCHE REGIONALE, NATIONALE, MONDIALE
Elle est une étude dont le champ s'étend sur une
région, une nation ou le globe.
8° LA RECHERCHE COMPARATIVE
C'est une étude qui se fait dans une logique de
comparaison des données et ou des faits en cherchant à
étudier un aspect des choses.
9° LA RECHERCHE SUR TERRAIN
La recherche sur terrain est une démarche qui cherche
à observer le phénomène étudié dans le
milieu où celui-ci se produit. Le comportement produit dans son milieu
par un individu est différent de celui qu'il produira dans un milieu qui
ne lui est pas familier.
10° LA RECHERCHE BIBLIOTHEQUE
Elle se fait en se focalisant sur les ouvrages
conservés en bibliothèque ou dans des librairies.
11° LA RECHERCHE EN LABORATOIRE
Ce type des recherches se fait en sortant un objet de son
milieu d'évolution habituelle et le placer dans un milieu qui, tout en
n'étant pas identique à elle, répondra à un certain
nombre de critères et visera à obtenir un comportement
quelconque. Elle sert à l'expérimentation.
12° LA RECHERCHE GLOBALE
Elle est une étude qui se fait autour d'un
thème, un phénomène ou un sujet et qu'on veut
étudier dans sa globalité ou son intégralité.
13° LA RECHERCHE ECHANTILLONNEE
Ici, comme il est difficile d'étudier une population
dans son intégralité, on préfère travailler avec de
petits échantillons représentatifs, c'est-à-dire ; de
petits groupes sélectionnés de telle sorte que les comportements
ou les principales caractéristiques de la population se retrouvent dans
chaque groupe.
14° LA RECHERCHE MONOGRAPHIQUE
Elle est une étude approfondie (complète et
détaillée) sur un sujet précis relativement restreint.
15° LA RECHERCHE DESCRIPTIVE
Comme son nom l'indique, c'est une étude centrée
sur la description des faits. Elle vise l'énumération des
caractères de quelque chose. La description consiste à
déterminer la nature et les caractéristiques des
phénomènes et parfois à établir les associations
entre eux.
16° LA RECHERCHE CLASSIFICATRICE
Elle est une étude approfondie qui vise la distribution
par classes ou catégories des objets ou individus
hiérarchiquement selon une logique ou des critères bien
déterminés. La classification consiste à
catégoriser, regrouper, mettre en ordre pour permettre des comparaisons
ou des rapprochements. Les faits observés, étudiés, sont
ainsi organisés, structurés, regroupés sous des rubriques,
sous des catégories pour être mieux compris.
17° LA RECHERCHE EXPLICATIVE
C'est une étude détaillée visant
l'éclaircissement du sens de quelque chose. Elle cherche tout ce qui
rend compte d'un fait, un phénomène.
Expliquer, c'est répondre à la
question « POURQUOI? ». C'est faire voir comment un
phénomène est né et comment il est ce qu'il est.
L'explication(ASSIE, 2018) consiste à clarifier les
relationsentre des phénomènes et à déterminer
pourquoi ou dans quelles conditions tels phénomènes ou tels
événements se produisent.
18° LA RECHERCHE COMPREHENSIVE
Elle vise à aboutir à ce que l'esprit humain
puisse avoir la facilité de saisir quelque chose qui englobe d'autres
idées ou objets.
19° LA RECHERCHE DISCIPLINAIRE
La recherche s'inscrit nettement et quasi-exclusivement dans
une discipline bien déterminée. Cela on s'en rend compte au
travers de l'objet et la méthode.
20° LA RECHERCHE INTERDISCIPLINAIRE
Elle s'inscrit dans le cadre d'une discipline mais elle ne
s'enferme pas sur le plan méthodique dans une discipline, contrairement
à la recherche disciplinaire.
Pour cela il faut :
- L'ouverture systématique et consciente à la
méthodologie d'une autre discipline.
- L'ouverture doit toucher le niveau méthodologique.
- L'ouverture doit être repensée selon la
discipline du départ. Car il ne faut pas dénaturer la discipline
de départ.
21° LA RECHERCHE PLURIDISCIPLINAIRE
On peut l'aborder dans le sens de la recherche
effectuée dans plusieurs disciplines.
22° LA RECHERCHE TRANS-DISCIPLINAIRE
Elle dépasse le cadre disciplinaire, de sorte qu'on a
du mal à savoir dans quelle discipline la placer.
Il existe également, une fonction au sein des
entreprises contemporaines appelée « fonction
recherche et développement » ou tout simplement
« fonction
recherche-développement », connue sous sa
célèbre abréviation « R&D ». C'est
l'ensemble des processus qui, à partir de la recherche fondamentale ou
d'une invention, permettent sa faisabilité industrielle.
Schumpeter(dynamique-mag, 2019) en est le précurseur
avec ses cinq types d'innovations(1912).
Elle est généralement constituée de trois
phases consécutives(e-marketing, 2019) :
recherche fondamentale, recherche
appliquée et développement.
La dernière phase est suivie des tests et
éventuellement du lancement des produits sur le marché. C'est ce
qu'on appelle l'innovation ou la mise en application des techniques et
découvertes de la recherche appliquée adaptées aux
objectifs commerciaux de l'entreprise.
La R&D à elle seule pourrait faire objet d'un
ouvrage entier tellement c'est un sujet vaste.
3.6. Etapes de la recherche scientifique
La recherche scientifique étant par essence une
démarche ordonnée et bien organisée pour trouver la
vérité, procède par une méthode rigoureuse et
reconnue afin de parvenir à ses fins. La méthode à
utiliser, doit être une méthode scientifique afin de valider les
résultats obtenus par le chercheur.
Le Professeur Tshund'olela précise
qu'une méthode est dite scientifique lorsqu'elle
possède :
- Un objet scientifique,
- Une fonction scientifique,
- Une approche scientifique.
Nous précisons qu'une méthode est selon le
dictionnaire Encarta Collection 2009 :
Un chemin qu'emprunte l'esprit pour atteindre la
connaissance ou pour démontrer une vérité (dans les
sciences)
|
Qui dit méthode, fait allusion aux étapes
conduisant à la résolution d'un problème. La
méthode scientifique fait quant à elle allusion aux approches
(méthodiques, rationnelles, objectives, ...).
Voyons à présent, quelles sont les étapes
d'une recherche scientifique. Dans son excellent cours d'I.R.S. dispensé
en deuxième année de Graduat à l'I.S.P/Bukavu pendant
l'année académique 2015-2016, le P.O.
Tshund'olela de l'UNIKIN distingue cinq (5) étapes:
- La construction de l'objet d'étude,
- La construction de la stratégie,
- L'heuristique,
- L'élaboration des résultats partiels et
enfin ;
- La synthèse et la formulation des
résultats.
ETAPE 1 : LA POSTULATION OU LA
CONSTRUCTION DE L'OBJET D'ETUDE SCIENTIFIQUE
Lorsqu'il entreprend un projet de recherche, le chercheur n'a
que des idées vagues sur le champ de recherche qu'il compte embrasser.
C'est pourquoi, il est pertinent qu'il s'asseye et qu'il
réfléchisse sérieusement à ce qu'il veut faire.
1°/ Choisir le sujet (thème)
d'étude :Bien évidemment, le chercheur devra
avoir au départ une idée sur ce à quoi il veut arriver.
Tout commence par le choix du sujet. Celui-ci devra remplir les conditions
suivantes :
- Il doit être du domaine du chercheur
et correspondre aux compétences de celui-ci.
- Il doit être pertinent. On ne
mène pas un travail de recherche pour le simple plaisir de le mener, il
doit y avoir une pertinence aussi bien scientifique que sociale.
La pertinence dont il est question ici, c'est par rapport aux
moyens disponibles pour le chercheur et pas forcément par rapport aux
moyens existants.
- Il doit être précis. Un sujet
est précis quand il est bien défini et bien
délimité, sans équivoque.
2°/ Explorer le sujet :
Ceci se fait soit par :
- La consultationdes personnes ressources ou
compétentes (des gens ayant des connaissances sur le sujet ou ceux ayant
fait des études dans le domaine avant).
- La consultation documentaire,
incontournable sur le plan scientifique.
Soit, en combinant les deux.
3°/ L'état de la question :
Le chercheur doit synthétiser systématiquement ce
qui a déjà été fait avant par d'autres chercheurs
et ce qui reste à faire.
4°/ Préciser le sujet (Définir
et délimiter): Pour délimiter le sujet, il
faut :
- Il y a des critères spatiaux : le milieu
concerné par le travail des recherches.
- Des critères chronologiques et temporaires : la
délimitation dans le temps.
- Des critères analytiques ou domaniales :
l'aspect dont traite le travail de recherche.
Tout cela dans le but de bien appréhender l'objet de
recherche dans son ensemble.
5°/ Choisir le problème à poser
sur l'objet : Le problème est choisi en fonction des
intérêts personnels, scientifiques et
sociétaux.
Intérêt scientifique car il faut fournir beaucoup
d'effort intellectuel.
Intérêt personnel car suite à l'effort
considérable à fournir, aux multiples corrections à
apporter ou alors aux nombreux culs-de-sac auxquels on aboutit parfois, on peut
être tenté de renoncer. C'est pourquoi, il faut aimer ce qu'on
fait.
Enfin, intérêt sociétal car ce qu'on doit
produire comme résultat des recherches devra profiter à toute la
société.
Le problème doit être
opérationnalisé c'est-à-dire préciser les objectifs
à atteindre, poser le problème sous-forme des questions.
La problématique est un problème posé de
façon à faire ressortir l'objectif et est posé sous-forme
des questions. En d'autres termes, la problématique est un
problème objectivé, opérationnalisé,
intellectualisé et bien cerné.
Par exemple, on peut se poser la question de savoir quelles
sont les causes financières de telle ou telle situation.
Ce n'est qu'après cette première
étape qu'on peut véritablement dire qu'on a un objet
d'étude scientifique.
ETAPE 2 : LA CONSTRUCTION DE LA
STRATEGIE(STRATEGIFICATION)
Cette étape est aussi appelée étape de la
définition de la stratégie de recherche ou encore l'étape
de la construction des modèles.
C'est une étape qui n'existe pas dans la
démarche de la vie de tous les jours. Elle permet de mettre au point une
stratégie pour le règlement d'un problème. Tout comme la
première étape, elle est complexe. Elle se construit
d'après le plan suivant :
1°/ Le choix de
l'hypothèse : C'est une solution provisoire dont la
véracité devra êtreprouvée au cours de la
recherche.
Qualités d'une bonne hypothèse
Une bonne hypothèse doit être :
· Pertinente : c'est-à-dire qu'il faut
qu'elle soit plausible (vraisemblable) et vérifiable scientifiquement
avec les moyens disponibles, une fois de plus.
· Avoir une méthodologie : en d'autres
termes, il s'agit de définir la méthodologie.
La méthodologie est l'ensemble des
méthodes, techniques et des approches appropriées à mettre
en oeuvre à un ensemble d'activités données.
La technique est l'ensemble d'opérations de
collecte et de production des matériaux.
La méthode implique quant à elle la
manière d'opérer. Elle dispose aussi d'une batterie
d'opérations pour sa réalisation. Contrairement à la
technique, la méthode intervient à toutes les
étapes de la recherche scientifique.
2°/ Le choix de la méthodologie :
une méthodologie doit être pertinente par rapport
à la problématique et à l'état de la question, mais
aussi par rapport à l'hypothèse.
3°/ La détermination (choix) des
moyens documentaires et autres essentiels : un large
éventail de documents s'offre au chercheur. Il doit effectuer un tri
sélectif et explorer ceux qui l'intéressent pour son travail.
Il n'est toujours pas évident de trouver exactement ce
qu'il faut avec la surabondance des sources et d'informations actuellement
disponibles. Pour cela, on peut se faire aider par quelqu'un qui s'y connait et
avoir ainsi des idées claires.
4°/ Le plan de travail :
c'est lorsqu'on reprend dans l'ordre les différentes activités et
le timing de ces activités aussi bien intellectuelles, techniques que
matérielles.
A signaler que le plan de travail est différent du
plan de rapport, ce dernier étant en fait le plan de
rédaction du travail.
Les deux premières étapes, constituent la partie
la plus difficile d'une recherche scientifique. Une fois achevées, l'on
peut se féliciter d'avoir déjà fait la moitié du
travail.
ETAPE 3 : L'HEURISTIQUE(AU SENS LARGE DU
MOT)
Le dictionnaire Microsoft Encarta
déjà cité plus haut dans ce travail, définit
l'heuristique (nom féminin) comme « sciences des
règles de la recherche scientifique et de la
découverte». Le Grand Robert de la langue
française quant à lui, définit le nom
féminin heuristique comme : « Partie de la
science qui a pour objet la découverte des faits ».
En Informatique, on oppose l'heuristique
à l'algorithmique. Le premier permet la
résolution d'un problème petit à petit par
évaluations successives et hypothèses provisoires, en tenant
compte de ce que l'on a fait précédemment pour tendre vers la
solution du problème. Le second est une succession d'étapes ou
procédures, conduisant à la résolution d'un
problème. A noter que, selon le dictionnaire du Jargon
informatique, l'heuristique ne garantit pas du tout qu'on arrive
à une solution quelconque en un temps fini alors que l'algorithme est
une séquence d'opérations visant à la résolution
d'un problème en un temps fini (on y mentionne une condition
d'arrêt, un point d'arrêt de l'algorithme). L'heuristique est
très utilisée en Intelligence artificielle et dans les
antivirus.
On entend ici par
« heuristique », la collecte, la
production et le traitement des matériaux. C'est l'étape de la
production des matériaux de recherche. En fonction de
l'hypothèse, on va chercher les matériaux qu'il faut rassembler,
produire et traiter.
Toutefois, les matières qui infirment
l'hypothèse doivent toutes aussi être collectées, car on ne
sait pas si l'hypothèse sera confirmée ou non ; mais aussi
l'hypothèse peut être élargie. Les matériaux qui
rétrécissent l'hypothèse ou qui limitent
l'hypothèse seront également collectés de la même
façon. En bref, toutes les matières en rapport avec la
problématique trouvées, quelle que soit la source ;seront
collectées et incluses dans les données brutes. Ce n'est
qu'après traitement qu'on peut voir poindre un certain ordre dans la
suite d'idées.
Sans matériaux, aucune recherche n'est possible.
L'objectif ici, est de récolter l'ensemble de matériaux en
qualité et en quantité pour commencer l'analyse et enfin passer
à l'étape suivante.
ETAPE 4 : ELABORATION DES RESULTATS
PARTIELS
On parle aussi de l'étude ou l'analyse et
l'interprétation des résultats. L'analyse et
l'interprétation nous amènent à mettre en relation les
données. Les relations peuvent être, entre autres :
- Les liens de causalité : de causes à
effets,
- Les liens de finalité : de moyens aux fins.
Analyser consiste aussi à décrire et non
seulement à expliquer. L'analyse n'est pas la décomposition
même si on ne peut analyser sans décomposer.
On peut distinguer à ce niveau, l'interprétation
descriptive de l'interprétation explicative. La
première cherche une signification appropriée, fidèle et
réelle alors que la seconde cherche plutôt la
compréhension.
L'analyse se fait sur les données,
c'est-à-dire après traitement. L'objectif de cette étape
est la présentation des résultats.
ETAPE 5 : SYNTHESE ET FORMULATION DES
RESULTATS
La synthèse est différente de la conclusion.
Elle consiste en :
· La récapitulation des résultats
partiels(rappel en résumant les principaux points),
· La synthèse-évaluation : on
évalue les résultats obtenus pour connaitre les lacunes et les
forces,
· La synthèse supplétive : comblement
des lacunes grâce au raisonnement proprement-dit (inférence).
· Le raisonnement inductif :
généraliser les résultats.
· La synthèse interprétative : pour
conclure (donner une réponse globale à des questions
partielles),
· La synthèse intégrative :
intégrer les conclusions trouvées dans des connaissances
existantes et trouver des brèches vers des nouvelles.
La conclusion, quant à elle, est une prescription, la
formulation des résultats.
La formulation consiste à communiquer (diffuser) les
résultats. Elle a pour étapes ou principales
activités :
Ø La composition du discours : c'est
l'élaboration du plan de rédaction. Le plan de rédaction
est la structure, la charpente du rapport (des recherches). Il est global et
détaillé, il peut être géographique, chronologique
ou thématique.
Il comporte les éléments
ci-après :
o L'introduction
C'est ici qu'on précise le titre du sujet, la
problématique, les hypothèses, l'état de la question, la
méthodologie, les sources d'information, la subdivision du travail, les
difficultés rencontrées ou encore la délimitation du
sujet.
o Le corps (développement)
Développement des faits et des phénomènes
observés ou étudiés durant les recherches
effectuées. A ce niveau, on doit ressentir également le niveau
scientifique du chercheur, sa capacité à mettre de la logique
dans le tas de données qu'il a récolté et
analysé.
o La conclusion
Elle comporte la synthèse des résultats
partiels et une conclusion ou récapitulatif de la problématique
et du ou des résultat(s) trouvés à l'issue du travail
scientifique.
o L'appareil scientifique du travail
Ici, on retrouve :
§ La bibliographie ;
§ Les notes et références (sources)
;
§ La webographie ;
§ Les annexes ;
§ Les tableaux et les différentes tables ;
§ Etc.
L'appareil scientifique est un précieux outil
permettant la vérification des affirmations avancées, la
compréhension (complète) de l'actualité de l'étude
et ainsi, la valeur du travail scientifique peut être facilement
dégagée.
Ø La communication ou discours
proprement-dit : la présentation devant un comité de
lecture ou un jury des spécialistes suivie généralement
d'une séance questions-réponses à l'épreuve des
faits. Le discours du chercheur durant sa présentation doit être
cohérent, logique et ordonné.
Il s'agit aussi à ce niveau de rédiger un
rapport (ou une littérature) au travers duquel les pairs d'abord et les
profanes par la suite, prendront connaissance des résultats des
recherches menées ainsi que leur apport sur l'état des
connaissances dans une branche donnée de la science, d'une part et de
l'autre ; de diffuser ou communiquer celles-ci.
PUBLICATION SCIENTIFIQUE VERSUS
LITTERATURE SCIENTIFIQUE(wikipedia, 2018)
L'expression « publication
scientifique » regroupe plusieurs types de communications
scientifiques et/ou techniques avancées que les chercheurs scientifiques
font de leurs travaux en direction de leurs pairs et d'un public des
spécialistes. Ces publications ayant subi une forme d'examen de la
rigueur de la méthode scientifique employée pour ces travaux,
comme l'examen par un comité de lecture indépendant
constitué de pairs.
La notion de « littérature
scientifique » désigne plus largement l'ensemble des
publications scientifiques. Les publications scientifiques permettent de
diffuser des informations techniques et scientifiques produites et
utilisées notamment par les chercheurs. Une partie de cette
littérature est réutilisée par les revues de vulgarisation
scientifique.
On peut distinguer les publications scientifiques selon leur
origine (académique, recherche privée...) ou selon support ou
type de parution :
- les revues scientifiques à comité de
lecture ;
- les comptes rendus de congrès scientifique
à comité de lecture ;
- des ouvrages collectifs rassemblant des articles de
revue ou de recherche autour d'un thème donné, coordonnés
par un ou plusieurs chercheurs appelés éditeurs ;
- des monographies sur un thème de
recherche
Seuls les travaux pouvant être classés dans les
catégories ci-dessus entrent généralement en
considération pour l'évaluation de la recherche scientifique et
des chercheurs (et de leurs laboratoires parfois) et les études
bibliométriques et scientométriques.
« Bibliométrie : Étude
quantitative de la production, de la distribution, de la consommation de
livres, de périodiques ou d'autres documents imprimés.
Statistique historique, étude quantitative des publications (d'une
époque déterminée). » (Le Grand
Robert de la langue française version 2.0, Op.cit.)
4. TRAVAUX DE FIN DE CYCLE
Les étudiants qui terminent un cycle universitaire,
effectuent une recherche scientifique menée par eux-mêmes et dont
les résultats seront reproduits dans un document. Ce travail
scientifique, appelé génériquement « travail de
fin de cycle » est l'occasion pour l'étudiant de
démontrer sa capacité à isoler une problématique,
à l'analyser méthodiquement et à pouvoir développer
une réflexion scientifique en utilisant des méthodes et
techniques scientifiques pour pouvoir pallier la problématique
soulevée.
Selon le cycle ou le système éducatif
concerné, le nom du document produit peut changer. Cela ne change en
rien la nature du travail et la façon dont le document sera
rédigé.
· CAS DE L'ISP/BUKAVU
L'ISP/Bukavu, institution publique en République
démocratique du Congo ;suit le programme qui régit
l'enseignement supérieur et universitaire dans le pays. C'est ainsi que
sont organisés le cycle de graduat ou premier cycle, celui de licence ou
deuxième cycle et un troisième cycle en didactique des
disciplines.
Pour le cycle de graduat qui dure trois années, les
enseignements sont organisés au sein de différentes sections
(comprenant les départements) et à la fin de celui-ci ; en
troisième année de graduat (G3), chaque étudiant devra
mener des recherches autour d'une problématique et produire un T.F.C
sous la conduite d'un directeur de T.F.C. Ce travail est corrigé en
interne par les enseignantsaffectés au niveau de chaque
département et les cotes intégrées dans l'ensemble des
points réalisés par l'étudiant pendant les stages et ceux
des cours. Il n'y a aucune défense ou soutenance publique pour le
T.F.C.
Pour le cycle de licence qui dure deux années, à
la fin de deux années d'enseignements ; l'étudiant se met
à réfléchir autour d'une problématique qu'il
estime susceptible d'être étudier. Il formule un sujet de
recherche et le dépose à son département en choisissant un
directeur avec lequel il souhaite travailler. Une fois qu'il a reçu
l'aval du département, il entreprend ses recherches et à la fin
rédige le document qui est appelé
« mémoire ». Contrairement au T.F.C., on ne se
contente pas de remettre un mémoire. Après l'avoir
déposé au département, il faut préparer une
soutenance publique avec une séance questions-réponses entre
l'étudiant et les enseignants spécialistes au sein du
département (jury).
· LA RECHERCHE
Les étudiants de l'ISP/Bukavu en général
et ceux du département d'informatique de gestion en particulier,
mènent l'essentiel de leurs recherches au sein de la bibliothèque
centrale de l'institution, qu'ils ne fréquentent d'ailleurs que
très rarement en dehors de ces périodes où ils
rédigent justement leurs travaux de fin de cycle. La bibliothèque
centrale est certes garnie à un certain niveau, mais encore une
fois ; c'est plus les T.F.C et mémoires déjà
écrits qui sont consultés presqu'exclusivement.
Pour les étudiants en informatique
particulièrement, une nouvelle source d'informations s'impose
naturellement : l'Internet. Une très grande quantité
d'informations circule sur le réseau des réseaux et il n'est pas
évident que l'on s'y retrouve. En outre, les ouvrages
électroniques pullulent mais malheureusement, la pratique de la lecture
s'est estompée il y a longtemps même parmi les étudiants.
Enfin, comment concrètement s'orienter sur la documentation par exemple
en ne sachant pas où exactement on peut trouver ce dont on a besoin et
dans les proportions qu'on souhaite.
L'orientation dans les recherches de fin de cycle est un grave
problème, même si parfois les étudiants eux-mêmes
n'en n'ont pas conscience. Il est pratique de se dire qu'on se contentera
d'écrire, de trouver quelques idées par ci par là,
feuilleter quelques mémoires ou T.F.C
déjàrédigés en recopiant quelques passages,
télécharger rapidement quelques articles pour ne pas manquer des
citations, mixer le tout dans une sorte d'alchimie et boom :
« de toutes les façons, le directeur lira et pourra combler
toutes les petites lacunes. Après tout, je l'ai bien choisi pour
cela !». C'est bien là, la philosophie de beaucoup.
On donne ainsi beaucoup des fils à retordre aux pauvres
encadreurs qui ne sont que des êtres humains et n'ont absolument pas la
mission de mettre de l'ordre dans tout ce qu'on pourra leur soumettre comme par
coup de baguette magique. Ils n'ont pas de solution miracle. Si
l'étudiant fait un travail scientifique à la fin d'un cycle,
c'est qu'il a quand même une idée sur ce à quoi peut
ressembler un travail rédigé par un scientifique et celui qui
dirige a pour prérogative de corriger les imperfections, mieux
reformuler une idée ou encore aider à une bonne
présentation du travail.
Le département d'Informatique affiche toujours un
canevas de rédaction de mémoire/T.F.C en début
d'année académique. Ceci est une très bonne chose pour
donner le cadre général. Toutefois, et c'est d'ailleurs un
constat fait année après année, c'est très loin
d'aider à une bonne orientation des recherches. La recherche
scientifique menée pour produire un travail de fin de cycle est et
devait être plus importante que tout le reste ; même plus que
la soutenance publique d'un mémoire. En fait, comme nous le disions plus
haut dans ce travail, la science a pour colonne vertébrale la recherche
ou l'étude approfondie. Et celle-ci est l'une des activités
humaines les plus coriaces et les plus exigeantes.
Une orientation en cela, ne consiste pas à dire
à l'étudiant : « après telle partie, il
faut une telle autre ». Au niveau de la recherche scientifique, il
est question de savoir ; après une telle étape et avec une
telle catégorie de données, il pourrait être mieux de ne
pas directement passer au point suivant sans d'abord être sûr
d'avoir terminé complètement l'exploration de tel point. Aussi,
orienter c'est attirer l'attention de la personne sur le timing et les
possibilités face aux ressources. Indiquer quel outillage convient
à la situation. Il pourrait également être
intéressant de bien indiquer au chercheur avant tout, à quels
moments précis peut-on consulter telle source et encore, pour tel type
de travail, quelle catégorie des sources privilégier.
Orienter en fin de compte, c'est également voir comment
simplifier les opérations de rédaction. La qualité d'un
travail scientifique ne se trouve pas seulement dans la formulation du sujet ou
le déroulement des recherches ; elle réside aussi dans une
bonne rédaction. On ne rédige pas n'importe quoi ni n'importe
comment quand l'on se trouve dans l'univers de la science. Le soin passe aussi
par une bonne préparation, c'est-à-dire qu'on doit avoir une
idée générale sur quel aspect aura notre document. Ceci
parce que, chaque document scientifique est unique et a ses exigences.
Nous allons dans les lignes qui suivent parler du
mémoire et nous finirons en parlant du « guide de
rédaction de mémoire » avant de passer à la
modélisation.
5. LE MEMOIRE
Le mémoire est un document ou un travail scientifique,
produit par un étudiant et qui est considéré comme le
fruit de longues années d'études passées sur le banc de
l'université.
Dans le cadre d'une formation diplômante, qu'elle soit
de type universitaire ou professionnelle, le mémoire est défini
comme étant l'aboutissement d'un travail individuel mené par
l'étudiant, effectué sous les directives d'un directeur de
mémoire et qui doit être évalué lors d'une
défense orale ou une soutenance de mémoire publique
(corep, 2018).
Ce travail devra traduire, à tous les niveaux, la
capacité de l'étudiant à murir sa réflexion en
développant autour d'uneproblématique ; une véritable
connexion d'idées conduisant à la résolution du
problème observé via des méthodes scientifiques, en
d'autres termes, en effectuant une recherche scientifique.
Pour toutes ces raisons, le mémoire n'est pas qu'un
simple document rédigé par un étudiant, c'est un travail
scientifique complet d'où, la présence d'un directeur (et parfois
d'un co-directeur) pour la supervision et la guidance de l'étudiant.
C'est pour cette même raison qu'une séance de soutenance
(publique) de mémoire est organisée, en présence des
chercheurs et enseignants attitrés afin de jauger également la
capacité du récipiendaire à argumenter autour d'un sujet
et de répondre aux questions du jury constitué pour
l'occasion.
« Un récipiendaire : terme qui
désigne une personne admise dans une société au cours
d'une cérémonie officielle ou qui reçoit un diplôme
ou une distinction honorifique. » (Microsoft Dicos Encarta
collection 2009, Op.cit.) C'est le premier sens qui est
concerné ici.
Il faut préciser ici que le mémoire dans des
systèmes éducatifs occidentaux comme le système
français, a un sens plus global qu'un document produit à la fin
de cinq années d'études universitaires comme c'est le cas dans
notre pays. En effet, dans ce dernier, l'étudiant rédige un
T.F.C. à la fin de trois années d'études universitaires
(cycle de graduat) et un mémoire à la fin de deux années
de licence. Ce n'est pas le cas sous d'autres cieux, dans la plupart de pays,
un document est produit par l'étudiant à la fin de trois
premières années d'études universitaires (cycle de
licence) et un autre à la fin de deux années suivantes
c'est-à-dire le master, dans le deux cas, le document produit est
appelé mémoire avec une nuancepour la distinction entre les
deux : on parlera respectivement de mémoire de licence et de
mémoire de master.
« On distinguera parfois le mémoire
rédigé à la fin du master 1(M1) de celui
rédigé à la fin de la deuxième année de
master (M2 ou qu'on appelait la DEA), ce dernier étant une étude
de la faisabilité d'une thèse » (Corep,
Op.cit.).
Par contre, la thèse est
considérée comme bien volumineuse et se distingue du
mémoire par le fait qu'un mémoire
permet à l'étudiant d'exposer un fait, explorer un
thème, mener une recherche dans un format bien réduittandis
qu'une thèse reprend l'invention d'un nouveau concept ou une
nouvelle théorie par celui qui la rédige, une
originalité dans un format conséquent.
Le mémoire est un travail de longue haleine et de style
artistique très exigeant. Rédiger un mémoire n'est pas un
jeu d'enfants. Sa rédaction exige un guide de mémoire que
l'étudiant devra avoir sur lui permanemment au cours de la
rédaction de celui-ci.
a. Contenu d'un mémoire
Le mémoire est un vrai portrait des connaissances de
l'étudiant et sert à les valoriser sur un sujet donné.
Ainsi, il sera vital pour l'étudiant de traiter d'un thème qu'il
maîtrise bien. La maîtrise dont il est pourvu transparait dans la
capacité de l'étudiant à traiter la problématique
de telle sorte que l'intérêt des professionnels et des praticiens
en soit suscité.
Il en va de même pour les théoriciens et les
profanes (ou du moins, ceux qui ne sont pas du domaine) qui eux aussi ont
besoin d'être éveiller scientifiquement par la découverte
des possibilités multiples d'un problème souvent vu sous un seul
angle.
Particulièrement sensible : la minutie et le souci
du détail. En fait, les membres du jury sont souvent très
attentifs au moindre petit détail, à l'affut d'un défaut
de quelque nature que ce soit (que le récipiendaire recevra en pleine
figure) et n'hésitent souvent pas à mettre en évidence
l'oubli d'une simple apostrophe, les ennuis sont donc à la portée
des mains.
D'où, il est préférable d'avoir un guide
mémoire pour éviter de rater l'essentiel ou de brûler les
étapes ou encore de retenir des détails sans importance. Autant
le fond que la forme, la mise en page, la structuration du mémoire, la
qualité de la reliure, la bibliographie, etc. tout doit être
à sa place et au mieux de ses connaissances (acquises à partir de
nombreuses sources), l'étudiant devra s'assurer d'avoir veillé
à ce que le moindre détail soit fixé.
En fin de compte, tout travail humain est imparfait et que
donc, il sera impossible de trouver un mémoire à cent pour cent
réussi. Cela aussi, l'étudiant devra en être conscient.
C'est encore là que devra intervenir la notion de l'humilité
scientifique. L'homme sera toujours derrière la perfection sans jamais
l'atteindre, c'est vrai en religion mais aussi en science...c'est d'ailleurs
l'un des points sur lesquels, scientifiques et religieux s'accordent sans
toutefois consentir à une définition universelle des raisons
conduisant à cela.
b. Les types de mémoire
Le mémoire, comme nous l'avons donc dit, est un terme
générique désignant un document scientifique produit par
un étudiant dans le cadre d'une formation diplômante. La
classification reprise ci-dessous, provient du site
www.corep.fr. Celui-ci nous
précise qu'un mémoire de master est plus axé sur
la recherche tandis qu'unmémoire de licence met l'accent sur la
contribution personnelle de l'étudiant lors de son stage.
Il faut aussi noter, comme nous l'avons déjà
précisé, que quel que soit le type de mémoire
concerné ; il faut toujours se servir du guide de la
rédaction du mémoire concerné afin de ne pas bâcler
son travail.
On distingue :
A. Le mémoire de recherche
Il est rédigé à la fin de la formation
suivie. Il s'agit d'un travail individuel rédigé par
l'étudiant et qui est conduit sous le signe de la recherche
scientifique. Sa rédaction est basée sur une démarche
scientifique au cours de laquelle l'étudiant doit soulever une
problématique, proposer des hypothèses ou des théories,
vérifier leurs fondements et en déduire une conclusion.
Son but est de permettre l'évaluation de la
capacité de l'étudiant à animer une discussion, à
mener une réflexion scientifique.
B. Le mémoire de fin d'étude
C'est à la fin de ses études supérieures
que ce type de mémoire est rédigé par l'étudiant.
Il permet d'évaluer la capacité de l'étudiant à
développer autour de la problématique du sujet. L'étudiant
doit démontrer sa maîtrise ainsi que sa connaissance du sujet
qu'il a choisi.
C. Le mémoire de stage
Dans notre système éducatif, à l'issue du
stage qu'il a effectué au sein d'une entreprise ou une école,
l'étudiant produit un document écrit appelé
« Rapport de stage ». Cette appellation n'a pas lieu
d'être et ce document devait donc être appelé
« Mémoire de stage ».
Ce type de mémoire met en exergue les activités
de l'étudiant lors de son stage en entreprise ou au sein d'une
école. Cependant, ce type de mémoire n'est pas qu'un simple
rapport de stage car il démontre la capacité d'analyse de
l'étudiant, celui-ci devant soulever une problématique
rencontrée, décrire les démarches scientifiques
adoptées dans la recherche des solutions ainsi que les résultats
obtenus.
D. Le mémoire de master
Rédigé à la fin d'un cursus universitaire
de niveau master, le mémoire de master s'apparente à un
mémoire de recherche. On s'attend à ce que l'étudiant
mette l'accent sur sa capacité d'analyse et son esprit critique. La
formulation de la problématique qui est à la base de
l'élaboration des questions de recherche est donc une des étapes
les plus importantes de la rédaction d'un mémoire de master.
L'élaboration d'un plan de mémoire
cohérent est également la clé d'un mémoire de
master réussi, sans parler de la phase préliminaire qui inclut la
collecte des données.
E. Le mémoire universitaire
Rédiger un mémoire universitaire revient
à entreprendre des recherches. En effet, ce type de mémoire est
un passage obligé pour tout étudiant inscrit à un cursus
universitaire et qui est au terme de sa formation. Il s'agit d'un exercice de
style qui consiste à démontrer la capacité de
l'étudiant à apporter des éléments de
réponseselon une démarche scientifique.
C'est un travail minutieux qui demande de la cohérence
et une bonne organisation. C'est pourquoi, il est préférable de
consulter une aide à la rédaction de mémoire
universitaire. L'étudiant doit en effet avoir une méthodologie de
mémoire qui lui donnera l'opportunité de réussir sa
rédaction.
F. Le mémoire de licence
Reflétant la capacité de l'étudiant
à apporter sa contribution personnelle dans le cadre de la
résolution d'une problématique d'une part, outil permettant au
jury d'évaluer l'implication de l'étudiant au travail de
recherche et ses connaissances de l'autre, le mémoire de licence est un
document écrit, élaboré par tout étudiant au terme
de ses trois années d'études supérieures. Comme il
priorise les compétences de l'impétrant dans un domaine
professionnel, sa rédaction ne se fait pas à la
légère.
« En Droit, un impétrant est une personne
à qui les autorités compétentes ont délivré
une charge, un diplôme ou une fonction. » (TAUPIN,
1998)
Il faut veiller à ce que la qualité
rédactionnelle du mémoire de licence, au niveau du fond et de la
forme, reflète la capacité et le sérieux de
l'étudiant.
G. Le mémoire marketing
Travail rédactionnel auquel tout étudiant en
Marketing doit se soumettre à la fin de sa formation que ce soit en
université ou en école de commerce, le mémoire marketing
doit susciter l'intérêt des chefs d'entreprises.
En effet, ce type de mémoire consiste à mener un
travail de recherche, selon des démarches scientifiques. Il met en
exergue la capacité d'analyse de l'étudiant et son aptitude
à apporter des éléments des réponses aux questions
de recherches qui découlent de la problématique.
H. Le mémoire de droit
Travail d'écriture et d'exercice de style que chaque
étudiant en droit en fin de formation doit entreprendre, le
mémoire de droit démontre la capacité de l'étudiant
à utiliser les ressources juridiques pour appuyer sa
réflexion.
Pour n'importe quelle spécialité juridique
choisie, l'étudiant doit faire appel à un raisonnement juridique
pour faire une démonstration scientifique et organiser son
argumentation.
I. Le mémoire scientifique
Quels que soient le domaine et l'objet d'étude, doit
répondre à une démarche scientifique. L'étudiant
aura alors à déterminer une problématique qui se traduit
par une série des questionnements.
L'argumentation de l'étudiant se basera sur des
démarches scientifiques qui consistent à énoncer une ou
des théories, formuler un ou des hypothèses, dont la pertinence
est à démontrer scientifiquement.
La rédaction d'un tel mémoire nécessite
une bonne méthodologie qui englobe la recherche bibliographique, la
collecte des données, l'analyse des données et la formulation des
conclusions.
Cela exige une certaine rigueur et de la bonne organisation
car le mémoire doit rester cohérent.
6. LE GUIDE DE REDACTION DE MEMOIRE
Voici un autre élément très important
dans la rédaction de mémoire, le guide de rédaction de
mémoire est un document établi normalement par les institutions
universitaires ou de recherche en vue de faciliter la rédaction du
mémoire. Il ne s'agit pas ici d'un simple plan de travail mais d'un
véritable guide d'utilisateur.
Grâce au guide de rédaction de mémoire, on
se repère facilement dans les différents niveaux du travail
scientifique, de la revue de la littérature à la conclusion en
passant par l'exploration documentaire en précisant à chaque
étape les méthodes utilisées ainsi que la façon de
procéder. D'autant plus que la rédaction d'un mémoire
n'est pas une chose aisée.
Le guide de rédaction de mémoire est aussi un
excellent indicateur du rôle du directeur de mémoire, la
manière d'écrire les références bibliographiques,
les annexes et même l'indication des normes régissant la
référence bibliographique (les normes ISO 690 ou
APA) et toute autre indication importante pour rédiger son
mémoire.
Notons enfin que le guide de rédaction de
mémoire met un accent particulier sur le plagiat. Cette notion est
capitale car beaucoup d'étudiant ne maîtrisent vraiment pas la
notion de plagiat en matière de littérature scientifique et
surtout la rédaction de mémoire. Le plagiat est une notion
complexe et a de nombreuses facettes, ce qui est naturellement à la base
de beaucoup de problèmes.
Ceci nous pousse à nous interroger sur la pertinence de
la rigueur et du sérieux que nous devons mettre dans la rédaction
d'un mémoire. Toutes les citations, les références
bibliographiques et tout le reste. Il faut non seulement citer toutes les
sources mais encore bien les citer.
Conclusion partielle
Après cette revue de la littérature il ressort
clairement que les étudiants qui veulent entreprendre leurs recherches
en Informatique, sont véritablement confrontés à des
difficultés pour se retrouver et partir du bon pied.
Et que donc, nous allons essayer de mettre en place un
système informatique, plus exactement ; une plateforme web pouvant
aider les étudiants dans l'orientation de leurs recherches.
CHAPITRE DEUXIEME :
MODELISATION AVEC LE PROCESSUS UP
Introduction
Dans le but d'étudier et de comprendre le
fonctionnement interne d'un système informatique ainsi que ses
interactions avec le monde extérieur, il est impérieux voir
même obligatoire de passer par une représentation abstraite qui,
associée à un système réel ; permet d'en
avoir une vue d'ensemble ainsi qu'une bonne maîtrise. Pour les
différents modèles (diagrammes UML), nous avons utilisés
le logiciel Visual Paradigm 10.2.
Parlons donc de la modélisation, celle de notre
plate-forme :
II.1. MODELE
Un modèle est une simplification de la
réalité qui permet de mieux comprendre le système à
développer. (Robert Ogor)
Un modèle est une conception de la
réalité telle qu'il devient facile ou du moins plus pratique de
se le représenter à une plus courte échelle. Cette notion
qui transcende largement le domaine de l'informatique, est née d'un
souci de simplification et de compréhension complète ou partielle
d'une structure complexe dans le but de l'analyser c'est-à-dire
de l'étudier en profondeur en vue éventuellement de l'optimiser.
En informatique, on utilise les modèles aussi bien dans
le chef des analystes programmeurs que dans celui des programmeurs purs et
durs. Le modèle étant à un niveau élevé
d'abstraction, il va aider celui qui l'utilise à s'affranchir des
contraintes liées aux langages de programmation ou encore à la
complexité du matériel tout en restant focaliser sur la logique
intrinsèque.
On dit d'ailleurs qu'un dessin vaut mille mots
(Confucius). Parce qu'en réalité, qu'on soit dans le domaine
des bâtiments et travaux publics (BTP), dans les sciences dures
(Mathématiques, physique, etc.) ou encore en Informatique, la plupart du
temps ; les modèles sont graphiques. Et cela, même quand
l'objet à créer n'est pas matériel.
Au sens plus large, un modèle représente une
version simplifiée mais synthétique de la
réalité. Il représente ce qu'il faut
reproduire(MESANO, 2006).
Il faut toutefois nuancer la notion de
« reproduction » ; car à ce niveau, le lecteur
risque de penser que modéliser consiste en une reproduction à
l'identique du système « dans ses moindres
détails ». Voici d'ailleurs, une citation qui résume
assez bien la situation :
« Le choix est toujours le même. Soit vous
rendez votre modèle plus complexe et plus fidèle à la
réalité, soit vous le rendez plus simple et plus facile à
manipuler. Seul un scientifique naïf peut penser que le modèle
parfait est celui qui représente parfaitement la réalité.
Un tel modèle aurait les mêmes inconvénients qu'un plan
aussi grand et détaillé que la ville qu'il représente, un
plan indiquant chaque parc, chaque rue, chaque bâtiment, chaque arbre,
chaque poteau, chaque habitant.
Si un tel plan était possible, sa précision
irait à l'encontre de sa destination première :
généraliser et résumer. Les cartographes soulignent ces
caractéristiques auprès de leurs clients. Quelles que soient
leurs fonctions, les cartes et les modèles doivent tout autant
simplifier le monde que le reproduire.(Gleick,
1989)».
Ce relativisme est donc de rigueur, à chaque fois qu'il
faut considérer un modèle en informatique ou dans un autre
domaine. Il ne faut donc pas perdre de vue qu'un modèle reste un
modèle et la réalité autre chose. L'unique but du premier
est d'appréhender le mécanisme de fonctionnement du
système.
Mais alors, qu'est-ce qu'un bon modèle ?
« A est un bon modèle de B si A permet de
répondre de façon satisfaisante à des questions
prédéfinies sur B. » (D.T. ROSS)
En confrontant cette affirmation de Monsieur ROSS avec les
détails développés plus haut, on peut en conclure qu'un
bon modèle est celui qui, sans prétendre être une
représentation parfaite de la réalité ; apporte un
bon niveau de détail suivant un bon point de vue(MESANO,
op.cit.).
II.2. LANGAGE DE MODELISATION ET
METHODE DE MODELISATION
Il existe deux concepts dont la compréhension porte
souvent à confusion :
Ø Langage de
modélisation : est une syntaxe commune, graphique pour
modéliser un système. Par exemple : OMT,
MERISE,...
Ø Méthode de
modélisation : elle est un procédé
permettant de construire un modèle aussi correct que possible et aussi
efficacement que possible. Par exemple : UP, MERISE, ...
Les méthodes de modélisation sont souvent des
méthodes de développement qui comportent une partie
modélisation. Il faut aussi savoir que certaines méthodes comme
le MERISE, sont associées à un langage de modélisation.
On distingue les méthodes dites
« agiles » des méthodes dites
« rigides ».
Les méthodes rigides, comme leur nom
l'indique, ne permettent pas une grande flexibilité des modèles
et ne s'adaptent pas facilement aux changements. C'est par exemple le cas de la
méthode MERISE.
Les méthodes flexibles ou agiles, s'adaptent
facilement aux nouveaux paradigmes, elles sont souples et conçues pour
une bonne intégration des modifications éventuelles intervenues
en cours de modélisation, sans perturber le reste de la structure,
c'est-à-dire ; les étapes précédentes.
Les méthodes flexibles sont itératives
(répétition d'un bloc d'instructions plusieurs fois),
incrémentales (on débute par un noyau qui est enrichi au
fur et à mesure) et adaptatives (acceptation des changements).
Elles sont très largement plébiscitées aujourd'hui,
surtout dans le contexte de la programmation orientée objet. On
va alors parler des « méthodes orientées
objet ».
II.3. LA METHODE DE
DEVELOPPEMENT UP
L'UP ou `unified process' (processus unifiée) est une
méthode agile, aboutissement des langages orientées objet comme
l'OMT et OOSE. Un processus définit une séquence
d'étapes, en partie ordonnées, qui concourent à
l'obtention d'un système logiciel ou à l'évolution d'un
système existant.
Un processus unifié est un processus de
développement logiciel construit sur UML ; il est itératif et
incrémental, centré sur l'architecture, conduit par les cas
d'utilisation et piloté par les risques. La gestion d'un tel processus
est organisée d'après les 4 phases suivantes:
Pré-étude (inception),
élaboration, construction et transition.
Ses activités de développement sont
définies par 6 disciplines fondamentales qui décrivent la
modélisation métier, la capture des besoins, l'analyse et la
conception, l'implémentation, le test et le
déploiement(VALLEE, 2007).
L'UP est une méthode qui évolue surtout au
gré des subtilités du langage UML et dont la première
version date de l'année 1998. L'approche orientée objet de la
méthode UP provient du fait qu'on perçoit le système
informatique comme un ensemble d'objets en interaction
systématique, c'est-à-dire que pour réaliser
l'objectif qu'on se fixe, chaque objet dispose des propriétés lui
fournissant la capacité de communiquer avec d'autres.
En conclusion, l'UP peut être compris comme un
ensemble reconnu de bonnes pratiques de développement en
informatique formalisant les étapes importantes d'une bonne
modélisation. Là encore, il faut faire attention et ne pas
comprendre par « processus unifié », un processus
universel. Les termes doivent être bien choisis et utilisés
à bon escient.
II.3.1. Le 2TUP
Le « Two Track - Unified Process » est
l'une de nombreuses implémentations du processus UP mais paraît de
loin la plus intéressante.
Le processus 2TUP apporte une réponse aux contraintes
de changement continuel imposées aux systèmes d'information de
l'entreprise. En ce sens, il renforce le contrôle sur les
capacités d'évolution et de correction de tels systèmes.
« 2 Track » signifie littéralement que le processus
suit deux chemins. Il s'agit des chemins « fonctionnels » et
« d'architecture technique », qui correspondent aux deux axes de
changement imposés au système informatique (VALLEE,
op.cit.).
Pour faire simple, le 2TUP formalise sa modélisation
sur deux « branches » d'analyse qui se rejoignent à
la fin de la modélisation et juste avant la conception
préliminaire : la branche fonctionnelle à
gauche et la branche technique à droite. Les deux
forment un « Y », d'où l'appellation
« processus de développement en Y ».
La branche gauche ou fonctionnelle, se rapporte aux attentes
des utilisateurs par rapport au système. Elle va inclure l'ensemble de
ce qu'on va appeler « métiers utilisateurs » afin de
ne pas dévier des desiderata de ces derniers. Elle est
indépendante des technologies à employer.
La branche droite ou technique quant à elle
s'intéresse uniquement aux considérations techniques du
système à modéliser : les outils ou matériaux
de conception, les technologies à employer,... ainsi que la cohabitation
de toutes ces composantes. Cette branche doit pouvoir garder une certaine
indépendance vis-à-vis de la branche d'en face.
En se rejoignant, les deux branches ne forment plus qu'une
seule branche qui part d'une conception préliminaire, étape
délicate où doivent être conciliées les exigences de
deux branches précédentes. Après, on passe à une
conception détaillée pour réaliser chaque composante.
Ensuite, viennent le codage avec ses tests unitaires et
enfin ; l'étape de recette qui consistera en la validation des
fonctions du système développé.
Le livre « UML2 EN ACTION : De
l'analyse des besoins à la conception » de
P. Roques et F. Vallée est un excellent
bouquin pour entrer dans les détails. Voici, à la page 14 du
livre, un schéma reprenant toutes ces étapes :
Figure 1. Le
processus de développement en Y
II.3.2. MODELISATION AVEC LE
LANGAGE UML
II.3.2.1. UML en bref
Figure 2. Logos
d'UML
UML est l'abréviation de « Unified Modeling
Language », qu'on peut traduire par « Langage de
modélisation unifié ».
UML se définit comme un langage de
modélisation graphique et textuel destiné à comprendre et
décrire de besoins, spécifier et documenter des systèmes,
esquisser des architectures logicielles, concevoir des solutions et communiquer
des points de vue.(VALLEE, op.cit.)
UML est un langage standard pour la modélisation des
systèmes en informatique. Pour cela, il facilite l'analyse et la
conception comme tout langage mais avec l'avantage d'être par essence
dans une approche orientée objet.
Pour rappel, un langage est composé de deux
éléments (SHEBLI, 2005):
- La syntaxe : règles selon
lesquelles les éléments du langage (Ex. : les mots) sont
assemblés en des expressions (Ex. : phrases, clauses).
- La sémantique : règles
permettant d'attribuer une signification aux expressions syntaxiques.
Donc : Langage = Syntaxe +
sémantique.
C'est l'OMG (Object Management Group) qui définit les
spécifications (norme) UML. Il s'agit d'un groupe comprenant les grands
noms de l'industrie de l'informatique comme IBM, Microsoft, etc.
Figure 3. Logo de
l'OMG
Parmi les objectifs d'UML, il y entre autre le besoin de
faciliter la modélisation et ainsi arriver à faire de la
programmation sans programmer c'est-à-dire, créer un langage de
modélisation utilisable à la fois par les humains et les
machines.
UML est la notation standard pour documenter les
modèles objets.
II.3.2.2. Capture des besoins des
utilisateurs
Pour concevoir un nouveau produit logiciel en informatique, on
part d'un cahier des charges. Celui-ci est fait en reprenant les desiderata du
client ou des potentiels demandeurs. Après celui-ci, nous pouvons passer
à la modélisation en connaissance de cause.
Dans cette section, nous allons pouvoir capturer les besoins
des utilisateurs en suivant le schéma de développement logiciel
avec la méthode 2TUP. Cette capture se fait en deux temps ; d'abord
on va « capturer » les besoins fonctionnels ensuite, les
besoins techniques.
A. CAPTURE DES BESOINS FONCTIONNELS
Les besoins fonctionnels sont des besoins liés aux
fonctionnalités de l'application à mettre en place. Elles
ressortent du récit narratif du futur utilisateur ou ses propres
besoins, quelle que soit la façon dont il les exprime.
A ce niveau déjà, nous allons nous servir de nos
premiers diagrammes UML pour formaliser les besoins fonctionnels. On va
utiliser : le diagramme de cas d'utilisation et le diagramme de
séquence.
Le diagramme de cas d'utilisation
C'est sans aucun doute le diagramme UML le plus important car,
il constitue le point de départ de toute la modélisation. Le
diagramme de cas d'utilisation est composé du système, des
acteurs, des cas d'utilisation et des relations.
- Le système
Il représente dans notre cas, la plate-forme en ligne
que nous voulons créer. Pour rappel, un système, c'est tout
simplement un ensemble d'éléments interconnectés et
concourant à un but précis.
Il sera donc constitué des cas d'utilisations et
éventuellement des relations entre eux. Il est représenté
par un grand rectangle.
- Les acteurs
Il s'agit de répondre à la question
« qui ? ». On fait intervenir Les individus ou
éléments qui vont déclencher la réalisation d'un
cas d'utilisation. Les acteurs peuvent être humains ou d'autres
systèmes.
On distinguera l'acteur dit « primaire ou
principal » de celui dit « secondaire ». Le
premier doit obligatoirement paraître dans un diagramme de cas
d'utilisation. Il est donc celui qui initie la réalisation directe d'un
cas d'utilisation. On le place généralement du
côté gauche du système.
L'acteur secondaire est tout autre participant au
système, sa présence n'est pas obligatoire (comme dans notre
cas). On le place du côté droit du système.
Dans notre cas, on va distinguer les acteurs
suivants :
· Le membre : L'étudiant ou
la personne qui visitera la plateforme en ligne pour y chercher des
informations.
· Le spécialiste : C'est lui
qui publiera les thématiques, postera des fichiers à consulter
et/ou à télécharger.
· L'administrateur : C'est le
gestionnaire de la plateforme. A lui, incombe la tâche de la maintenance
de la plateforme.
- Cas d'utilisation
Il s'agit ici de savoir ce que le système devra faire,
sans tenir compte de comment il le fera. Donc, à ce niveau ; il
s'agit de répondre à la question
« quoi ? ».
Les cas d'utilisations, sont les différentes
interactions métier entre l'utilisateur du système et le
système lui-même. En d'autres termes, le concepteur prévoit
quel sera le comportement de son système, les interactions entre
celui-ci et les acteurs en présence et même les potentiels
Scenarii alternatives.
Pour faciliter la lecture préalable de nos cas
d'utilisation, plaçons ces derniers dans le tableau synthétique
ci-après :
Cas d'utilisation
|
Acteur
|
S'authentifier
|
Membre
|
Consulter une thématique
|
Consulter le modèle
|
Télécharger les fichiers
|
S'authentifier
|
Spécialiste
|
Poster un modèle
|
Disponibiliser les fichiers
|
Proposer une thématique
|
S'authentifier
|
Admin
|
Gérer les membres
|
Gérer le spécialiste
|
Figure 4. Cas
d'utilisation
- Les relations
Ce sont les liens entre utilisateurs et cas d'utilisation,
entre utilisateurs eux-mêmes ou entre cas d'utilisations. Tout cela dans
le but de rendre le fonctionnement du système clair.
Au vu de tout ce qui précède, nous proposons le
diagramme de cas d'utilisation suivant :
Figure 5. Diagramme de cas
d'utilisation
Description textuelle des cas d'utilisation
CU1
|
Authentification
|
Résumé Narratif
|
Pour accéder à la plateforme
|
Acteur (s)
|
Membre, spécialiste et admin
|
Pré-conditions
|
Soumettre le login et le mot de passe
|
Post-conditions
|
Le cas démarre après le point 03 du scenario
nominal
|
Scenario nominal
<< DEBUT>>
01. Le système affiche la page d'authentification
02. Entrer login et mot de passe
03. Vérification des paramètres entrés
04. Ouverture de la plate-forme
<< FIN>>
|
Scenario alternatif
|
Login et mot de passe incorrects :
Commence au point 03
05. Message d'échec d'authentification
06. Retour en 01
|
Tableau 1.
Authentification
CU2
|
Consulter les thématiques
|
Résumé Narratif
|
Permet l'accès et l'exploration des
thématiques
|
Acteur (s)
|
Membre
|
Pré-conditions
|
Soumettre le login et le mot de passe
|
Post-conditions
|
Le cas démarre après le point 02 du scenario
nominal
|
Scenario nominal
<< DEBUT>>
01. Entrer login et mot de passe
02. Vérification des paramètres entrés
03. Ouverture espace membre
04. Accéder aux thématiques
05. Commenter une thématique
<< FIN>>
|
Scenario alternatif
|
Login et mot de passe incorrects :
Commence au point 02
06. Message d'échec d'authentification
07. Retour en 01
|
Tableau 2. Consulter
les thématiques
CU3
|
Consulter le modèle
|
Résumé Narratif
|
Permettre au membre de consulter le modèle
|
Acteur (s)
|
Membre
|
Pré-conditions
|
Soumettre le login et le mot de passe
|
Post-conditions
|
Le cas démarre après le point 02 du scenario
nominal
|
Scenario nominal
<< DEBUT>>
01. Entrer login et mot de passe
02. Vérification des paramètres entrés
03. Ouverture espace membre
04. Accès au modèle
05. Télécharger le modèle
<< FIN>>
|
Scenario alternatif
|
Login et mot de passe incorrects :
Commence au point 02
06. Message d'échec d'authentification
07. Retour en 01
|
Tableau 3. Consulter
les modèles
CU4
|
Télécharger
|
Résumé Narratif
|
Permettre le téléchargement des fichiers/du
modèle
|
Acteur (s)
|
Membre
|
Pré-conditions
|
Soumettre le login et le mot de passe
|
Post-conditions
|
Le cas démarre après le point 02 du scenario
nominal
|
Scenario nominal
<< DEBUT>>
01. Entrer login et mot de passe
02. Vérification des paramètres entrés
03. Ouverture espace membre
04. Ouverture page des téléchargements
05. Télécharger les fichiers/le modèle
<< FIN>>
|
Scenario alternatif
|
Login et mot de passe incorrects :
Commence au point 02
06. Message d'échec d'authentification
07. Retour en 01
|
Tableau 4.
Télecharger
CU5
|
Gérer les membres/le spécialiste
|
Résumé Narratif
|
Permettre la gestion du fonctionnement de la plate-forme
|
Acteur (s)
|
Admin
|
Pré-conditions
|
Soumettre le login et le mot de passe admin
|
Post-conditions
|
Le cas démarre après le point 03 du scenario
nominal
|
Scenario nominal
<< DEBUT>>
01. Le système affiche la page d'authentification
02. Fournir login et mot de passe
03. Vérification des paramètres entrés
04. Ouverture l'espace administrateur
05. Gestion de la plate-forme
<< FIN>>
|
Scenario alternatif
|
Login et mot de passe incorrects :
Commence au point 03
06. Message d'échec d'authentification
07. Retour en 01
|
Tableau 5. Gestion
des membres/specialistes
CU6
|
Poster modèle/Disponibiliser fichiers/Proposer
thématiques
|
Résumé Narratif
|
Permettre au spécialiste de poster un modèle, de
disponibiliser les fichiers ou proposer une thématique
|
Acteur (s)
|
Spécialiste
|
Pré-conditions
|
Soumettre le login et le mot de passe spécialiste
|
Post-conditions
|
Le cas démarre après le point 03 du scenario
nominal
|
Scenario nominal
<< DEBUT>>
01. Le système affiche la page d'authentification
02. Entrer login et mot de passe spécialiste
03. Vérification des paramètres entrés
04. Ouverture espace spécialiste
05. Choisir l'opération à réaliser
<< FIN>>
|
Scenario alternatif
|
Login et mot de passe incorrects :
Commence au point 03
06. Message d'échec d'authentification
07. Retour en 01
|
Tableau 6.
Poster/Disponibiliser
B. CAPTURE DES BESOINS TECHNIQUES
Pour rappel, la méthode 2TUP suit un schéma de
développement en Y. La branche gauche capture les besoins
fonctionnels, c'est ce que nous venons de voir. A présent,
intéressons-nous à la branche de droite qui concerne la capture
des besoins techniques.
Elle concerne entre autre le choix de l'architecture. On
distingue en général trois types d'architectures :
B.1. Architecture monoposte ou 1-tiers
Cet architecture consiste en l'élaboration d'une
application fonctionnant sur un ordinateur unique c'est-à-dire,
un poste unique ; d'où le « mono ».
Tous les services fournis par l'application sont inclus au
sein d'une seule couche logicielle, dans une même machine.
B.2. Architecture client/serveur ou 2-tiers
On l'appelle encore « architecture client
lourd/serveur ». Comme on peut déjà le deviner,
elle est constituée de deux parties : un client
« lourd » qui soumet une requête et le
« serveur des données » qui fournit la
réponse à la requête.
Ici, le serveur ou base des données est à part
et le client aussi de son côté.
B.3. Architecture 3-tiers
Elle consacre la séparation complète entre
« client », « serveur des
données» et « serveur
d'application ». Elle innove donc, en introduisant la notion de
« serveur d'application » qui devient le troisième
tiers.
De cette façon, le « client
lourd » ; déchargé d'une partie des
prérogatives qui lui été dévolues dans la
précédente architecture devient un « client
léger ». C'est-à-dire qu'il n'aura plus à
faire qu'à l'interface graphique de l'application et ne s'encombrera
plus avec les différents traitements.
C'est l'architecture qui va nous intéresser dans ce
travail.
Le diagramme des séquences
Ces diagrammes mettent en évidence l'échange des
messages entre les objets constitutifs du système selon les actions des
acteurs.
1. Diagramme de séquence
« s'authentifier »
Figure 6. Diagramme
de séquence "S'authentifier"
2. Diagramme de séquence « Consulter
thématiques »
Figure 7.diagramme de
séquence « Consulter thématique »
3. Diagramme de séquence « Consulter
modèle »
Figure 8.diagramme de
séquence « Consulter modèle »
4. Diagramme de séquence
« Télécharger »
Figure 9.Diagramme de
séquence « Télécharger »
5. Diagramme de séquence
« Disponibiliser/Proposer/Poster »
Figure 10.Diagramme
de séquence « Disponibiliser/Proposer/Poster
»
6. Diagramme de séquence « Gérer les
membres/spécialistes »
Figure 11.Diagramme
de séquence « Gérer membres/spécialistes
»
Le diagramme d'activité
Celui-ci s'intéresse au processus de traitement du flux
d'informations. On parle de l'exécution d'un processus, de
l'enchaînement d'un ensemble d'opérations.
1. Le diagramme d'activité
« Authentification »
Figure 12.Diagramme
d'activité « S'authentifier »
2. Diagramme d'activité « Consulter
thématique »
Figure 13.Diagramme
d'activité « Consulter thématique
»
3. Diagramme d'activité
« Télécharger fichier »
Figure 14.Diagramme
d'activité « Télécharger fichier
»
4. Diagramme d'activité « Poster
modèle »
Figure 15.Diagramme
d'activité « Poster modèle »
Le diagramme de classe
Voici un diagramme de toute première importance,
surtout avec la tendance actuelle du tout objet.
Une classe est un objet abstrait représentant les
caractéristiques qu'aura tout autre objet concret. Il s'agit de la
description formelle d'un ensemble d'objets ayant une sémantique et des
caractéristiques communes.
On l'appelle un « moule à objet »,
car un peu comme dans la briqueterie ; la classe est la machine qui permet
de façonner et de produire des objets.
Une classe est composée de (s) :
· Nom de la classe
· Attributs : sont des données dont les
valeurs représentent l'état de l'objet.
· Méthodes : opérations possibles pour
l'objet.
Nous reprenons d'abord l'ensemble des classes que nous avons
utilisées ainsi que les méthodes :
N°
|
Classe
|
Attributs
|
Méthodes
|
1
|
Membre
|
IdMember
NomMember
PseudoMember
Email
PassMember
PhoneMember
Avatar
|
Enregistrer ()
Modifier ()
Supprimer ()
|
2
|
Specialiste
|
IdSpec
NomSpec
PostNomSpec
Login
PassWord
AddrElec
Telephone
Photo
|
Ajouter ()
Modifier ()
Supprimer ()
|
3
|
Thematique
|
IdThem
TitreThem
AuteurThem
CategorieThem
ContenuThem
DatePub
|
Ajouter ()
Modifier ()
Supprimer ()
|
4
|
Commentaire
|
IdCom
Auteur
DateCom
|
Ajouter ()
Supprimer ()
|
5
|
Administrateur
|
Id
Nom
Postnom
Login
Pass
email
|
Connexion ()
Déconnexion ()
|
Figure
16.Dictionnaire des données
Le diagramme de classe pour notre projet sera donc le
suivant :
Figure 17. Diagramme
de classe
Le diagramme des composants
Ce diagramme montre les différents types de composants
d'exploitation du système :
Figure 18.Diagramme
des composants logiciels
Conclusion partielle
L'étape de la conception ou modélisation est une
étape clef dans la réalisation d'un projet informatique. Nous
venons donc de finir une partie capitale pour le reste de notre travail.
Par la suite, le développement ou le codage n'en sera
qu'énormément faciliter.
CHAPITRE TROISIEME :
EBAUCHE SUR LA PROGRAMMATION WEB AVEC PYTHON/DJANGO
Introduction
« Pour moi, la programmation est plus qu'un art
appliqué important. C'est aussi une ambitieuse quête
menéedans les tréfonds de la connaissance. »
Grâce Hopper, inventeur du
compilateur
Le langage Python m'a marqué profondément en
tant qu'outil de développement orienté objet. Tout comme
Grâce Hopper, je crois que programmer en Python, est une
expérience unique. Nous allons voir tout cela en profondeur.
III.1. LE LANGAGE PYTHON
Figure 19.
Icône du langage Python
III.1.1. Présentation du
langage
Python est un langage de programmation de haut-niveau. Ce
puissant langage est l'oeuvre d'un pionnier du monde de l'open software
(logiciels ouverts) en la personne du génie hollandais Guido VAN
ROSSUM en 1989. Depuis 1991 et la sortie de la
première version du langage, des milliers des volontaires dans le monde
entier, collaborent au maintien et au perfectionnement du langage.
On appelle « Open software », un
logiciel à accès libre. C'est-à-dire que le code source du
logiciel est accessible à tous, à la portée de tous. On
parle aussi de « free software », car ; ces logiciels
sont souvent gratuits et on donne à celui qui y accède la
possibilité de modifier le code source pour ses propres fins. Une autre
caractéristique majeure de l'open software est que sa réalisation
se fait par des milliers des programmeurs éparpillés sur le
globe. Un exemple type de logiciels libres est le célèbre
système d'exploitation GNU/Linux.(LORENT, 2013)
En 2001, est créée la Python Software
Foundation (PSF), une organisation à but non-lucratif dont la
mission est la poursuite et la mise à jour de l'aventure
« Pythonesque ». L'organisation en question est
composée des milliers des programmeurs, des passionnés, etc.
éparpillés dans le monde entier et qui constituent une
communauté très active. C'est l'un des points forts de
Python : une communauté d'internautes très large et
très active, prête à fournir toute aide nécessaire
en ligne à tout potentiel demandeur.
Le langage Python est un langage facile à apprendre,
portatif, multiplateforme (pouvant fonctionner sur tous les systèmes
d'exploitation), extensible (utilisation de nombreuses bibliothèques
externes) et interprété (exécution à la
volée). Avec Python, on peut aussi bien travailler en mode interactive
(console) qu'avec les scripts (lignes de codes écrites dans un
éditeur et exécutées à la fin).
Le langage Python est un très bon langage pour faire la
programmation orientée objet. De par sa syntaxe, sa souplesse et sa
clarté, elle permet, une bonne compréhension de la logique
objet.
III.1.2.
Caractéristiques
On peut citer les caractéristiques
suivantes(SWINNEN, 2012):
- Python est portable aussi bien sur les
variantes d'UNIX que sur les systèmes d'exploitation
propriétaires.
- Python est gratuit.
- Comme Scheme ou SmallTalk, Python est
dynamiquement typé. Tout objet manipulable par le
programmeur possède un type bien défini à
l'exécution, qui n'a pas besoin d'être
déclaré à l'avance.
- Python convient aussi bien à des
scripts d'une dizaine de lignes qu'à des projets
complexes de plusieurs dizaines de milliers de lignes.
- La syntaxe de Python est très simple
et, combinée à des types de données
évolués (listes, dictionnaires...), conduit à des
programmes à la fois très compacts et très lisibles.
À fonctionnalités égales, un programme Python (abondamment
commenté et présenté selon les canons standards) est
souvent de 3 à 5 fois plus court qu'un programme C ou
C++ (ou même Java) équivalent, ce qui représente en
général un temps de développement de 5 à 10
fois plus court et une facilité de maintenance largement
accrue.
- Python gère ses ressources (mémoire,
descripteurs de fichiers...) sans intervention du programmeur, par un
mécanisme de comptage de références
(proche, mais différent, d'un garbage collector).
- Il n'y a pas de pointeur explicite en
Python.
- Python est orienté-objet. Il
supporte l'héritage multiple et la surcharge
des opérateurs. Dans son modèle objets, et en reprenant
la terminologie de C++, toutes les méthodes sont virtuelles.
- Python intègre, comme Java ou les versions
récentes de C++, un système d'exceptions, qui permettent de
simplifier considérablement la gestion des erreurs.
- Python est dynamique (l'interpréteur
peut évaluer des chaînes de caractères représentant
des expressions ou des instructions Python), orthogonal (un
petit nombre de concepts suffit à engendrer des constructions
très riches), réflectif (il supporte la
métaprogrammation, par exemple la capacité pour un objet de se
rajouter ou de s'enlever des attributs ou des méthodes, ou même de
changer de classe en cours d'exécution) et introspectif
(un grand nombre d'outils de développement, comme le debugger
ou le profiler, sont implantés en Python
lui-même).
- Python est extensible : comme Tcl
ou Guile, on peut facilement l'interfacer avec des
bibliothèques C existantes. On peut aussi s'en servir comme d'un langage
d'extension pour des systèmes logiciels complexes.
- La bibliothèque standard de Python,
et les paquetages contribués, donnent accès à une grande
variété de services : chaînes de caractères et
expressions régulières, services UNIX standards (fichiers,
pipes, signaux, sockets, threads...), protocoles Internet (Web, News,
FTP, CGI, HTML...), persistance et bases de données, interfaces
graphiques.
- Python est un langage qui continue à évoluer,
soutenu par une communauté d'utilisateurs enthousiastes et responsables,
dont la plupart sont des supporters du logiciel libre. Parallèlement
à l'interpréteur principal, écrit en C et maintenu par le
créateur du langage, un deuxième interpréteur,
écrit en Java, est en cours de développement.
- Enfin, Python est un langage de choix pour traiter le
XML.
III.1.3. INSTALLATION ET
DEPLOIEMENT
Python est un langage qui évolue très rapidement
grâce à sa brillante communauté en ligne. Les toutes
premières versions de Python (après la création de la PSF
en 2001), ont été regroupées sous l'appellation
générique de Python 2.x ou encore la
branche 2.x ou simplement Python 2 (Il y
avait eu avant cela, la branche Python 1.x). Ainsi, on avait
par exemple Python 2.3, Python 2.5, Python 2.6, etc.
Depuis le 13 février 2009, est sortie la version 3.0.1.
C'est le début de la branche 3.x ou Python
3. Le passage de Python 2 à Python 3 n'est pas
systématique, c'est-à-dire ; la version 3 a cassé la
compatibilité ascendante(Prolixe, 2013) de la version
2. Pour faire simple, un programme écrit en Python 2, ne marchera pas
automatiquement sous Python 3.
Tenez, par exemple : une différence majeure
qu'apporte Python 3 est le fait que l'instruction d'affichage print, devient
une fonction. Ainsi, l'instruction print `Bonjour le
monde' (Python 2), s'écrira print (`Bonjour le
monde') sous Python 3.
Téléchargement et
Installation
Sous Windows
Pour télécharger Python, il suffit de se rendre
sur le site officiel de Python (
http://www.python.org) et
choisir la dernière version en cours. A l'heure où ces lignes
sont écrites, la dernière version en cours est la version 3.7.1
pour la branche 3x. Cliquer sur « Download » et choisissez
la version correspondant à votre architecture matérielle. En cas
de doute, choisissez la version compatible avec l'architecture
« x86 », sinon choisissez celle que votre machine
acceptera.
Enregistrer et exécuter le programme d'installation de
Python. Contentez-vous de suivre les instructions étape par étape
(n'oubliez pas de cocher l'option « Add Python to the
path »). L'installation terminée, vous pouvez aller dans le
menu Démarrer et lancer python ou alors, ouvrir votre invite de commande
et taper « python » puis valider.
Normalement, vous devez être amenés dans la
console interactive de Python. Celle-ci :
Figure 20. Console
interactive se Python
Si vous avez un message d'erreur, ce que vous devez encore
aller dans votre variable d'environnement et ajouter le path (chemin
d'accès) à Python. Par exemple :
C:/Python3x.
Si vous êtes sous un système d'exploitation de
type Linux (comme Ubuntu) ; il est fort probable que vous ayez
déjà Python installé dans votre système. Il suffira
seulement de vérifier si vous avez la dernière version active,
sinon ; vous pouvez la télécharger directement de votre
terminal(GABORY, 2013).
Et c'est tout, vous pouvez à présent programmer
en Python à partir de l'invite de commande. Lorsque vous aurez à
écrire vos premiers scripts, vous pouvez choisir entre les nombreux
éditeurs qui permettent le développement avec Python.
Parmi ces derniers, on trouve IDLE (Integrated
DeveLopement Environment), c'est un environnement de
développement intégré dans Python. Aussitôt que vous
installez Python, vous avez celui-ci. Vous pouvez également utiliser un
éditeur comme Sublime Text3, Atom,
Gedit, Anaconda, etc.
III.2. LE FRAMEWORK DJANGO
Figure 21. Logo du
framework Django
III.2.1. Présentation
Django est un Framework qui a pour rôle d'aider les
développeurs à concevoir efficacement et en un temps raisonnable,
des applications web dynamiques puissants. Django est écrit
entièrement en Python et est donc le premier choix (mais pas le seul)
pour ceux qui veulent réaliser leur projet web avec Python.
Mais, qu'appellent-t-on un
« framework » ?
Un framework est un ensemble d'outils qui
simplifie le travail d'un développeur. Traduit littéralement de
l'anglais, un framework est un « cadre de travail ». Il apporte les
bases communes à la majorité des programmes ou des sites web.
Celles-ci étant souvent identiques (le fonctionnement d'un espace membre
est commun à une très grande majorité de sites web de nos
jours), un développeur peut les réutiliser simplement et se
concentrer sur les particularités de son projet(LORENT,
2013).
Un framework demande qu'on prenne le temps de le
maîtriser, une fois que cela est fait ; la rapidité de
conception qu'il fournit devient très vite un atout majeur pour le
programmeur. Il existe actuellement plusieurs Framework sur le marché,
on peut citer : Ruby on Rails, Pyramid
(un frangin de Django), Symfony, cakePHP,
Code Igniter, Zend, kohana,
laravel, yii Framework,...
Django est un famework web basé sur Python comme
Pyramid, web2py, TurboGears,
CherryPy, ou encore Zope. Mais contrairement
à ses compagnons, Django est tout à l'image de Python ;
très exhaustif (la documentation livrée avec Django est
détaillée comme pas possible), automatisant beaucoup des
tâches et est doté d'une très grande communauté en
ligne.
Django a été créé en 2003 par
Adrian Holovaty et Jacob Kaplan-moss dans une
agence de Presse aux Etats-Unis pour développer des sites web
rapidement. Son nom lui a été donné en hommage au
célèbre guitariste de jazz Django Reinhardt
(1910-1953). Considéré comme le meilleur guitariste de
tout le temps, il a beaucoup changé la vision du monde sur le jazz.
`'Certains auteurs accordent plutôt la
paternité de Django à Adrian Holovaty et
Simon Willison.''
En 2005, l'agence de presse
Lawrence-Journal-World publie Django au grand public
jugeant que celui-ci avait fait ses preuves et pouvait servir dans d'autres
contextes.
En 2008 est créé la Django Software
Foundation pour la maintenance et l'encadrement de
l'énorme communauté internet qui s'est fondée autour du
Framework. Et depuis, le succès est total.
Juste à titre d'information, il faut savoir que Django
est utilisé par de grands noms pour leurs sites internet. Les plus
connus sont les célèbres réseaux sociaux
Instagram (Photos) et Pinterest (centres
d'intérêt) et même la célèbre agence
américaine d'aérospatiale à savoir la NASA
ou encore Mozilla.
III.2.2. Philosophie Django
La popularité de Django repose sur sa philosophie.
L'une de plus grande et de plus populaire « des
philosophies »Django est le principe DRY
(Don't Repeat Yourself), traduire « Ne vous répétez
pas » !!
Cela se voit concrètement par exemple, par le fait que
Django génère automatiquement l'administration du site. Cette
dernière peut être après très facilement
adaptée par le concepteur. Django ne vous demandera pas de passer trop
de temps à écrire des requêtes SQL compliquées pour
la communication avec la base de données, etc.
Nous l'avons mentionné plus haut, Django compte une
communauté bien établie et hyperactive qui fournit une
documentation en ligne très fournie. Sur docs.djangoproject.com
La documentation en ligne dépend de la version de Django (Chaque
version a sa propre documentation), vous allez trouver une documentation
à jour traitant de tous les aspects de la programmation web avec Django.
Evidemment, tout est en anglais.
Les « Snippets » sont des portions des
codes réutilisables. On part du principe selon lequel, tout ce que vous
voulez faire, quelqu'un quelque part, a fait quelque chose de semblable. Ainsi,
la communauté de Django met en ligne des snippets (
http://djangosnippets.org)
prêt à être réintégrer dans votre projet au
cas où vous rencontrez des problèmes à écrire du
code.
III.2.3.
Téléchargement et installation
Django est téléchargeable depuis le site
officiel de Django Project ou directement depuis la ligne de commande MS DOS
(Sous Windows), à condition d'être connecté.
Toutefois, la façon la plus pratique reste de
télécharger directement le fichier archive
(.tar.gz), le décompresser et puis simplement de
l'extraire (grâce à WinRar, par exemple) dans un
dossier à part à partir duquel vous allez lancer l'installation
de Django.
La dernière version de Django en cours actuellement,
est la version 2.1.7.
Une fois la décompression terminée, ouvrez votre
console (invite des commandes) et placez-vous à l'intérieur de
votre dossier Django-X.Y.Z (par exemple
« Django-2.1.7 ») grâce à la commande
`cd'. Par exemple, si vous avez décompressé
l'archive au niveau des téléchargements, taper :
C:\utilisateur\nomutilisateur> cd
Download
C:\utilisateur\nomutilisateur\Download> cd
Django-2.1.7
La commande pour installer Django est la suivante :
C:\utilisateur\nomutilisateur\Download\Django-2.1.7>
python setup.py install
Après la validation, vous devriez voir plein des lignes
bizarroïdes défiler toutes seules pendant plusieurs minutes sur
votre console. Pas de panique, Django est en pleine installation. Dès
qu'il a fini, il vous ramènera le prompt non sans vous avoir
affiché avant un petit message du succès de l'installation. Et
tout est bon, enfin presque !
Attention : pour toutes les
versions de Django supérieures à 1.8, il est impératif
d'être connecté sur Internet durant la phase d'installation. C'est
essentiellement à cause d'un module particulier qui s'occupe des zones
de temps, le fameux Pytz. Celui-ci est recherché
automatiquement en ligne par le programme d'installation avant la clôture
de l'installation de Django. Il est aussi possible de l'installer plus tard,
mais ce n'est pas recommandé.
Au fait, il manque un tout petit détail : il faut
ajouter notre Framework au path de la machine. Pour faire simple, il s'agit de
faire reconnaitre Django comme un programme interne à notre ordinateur.
Procédez comme suit (sous Windows 10) :
- Ouvrez l'explorateur des fichiers (Touche
Windows+E) ;
- Dans le menu « Ordinateur », choisir
« Propriétés système » ;
- Allez dans les « paramètres système
avancés » ;
- Cliquer sur les « variables
d'environnement » ;
- Dans « variables système »,
cherchez la ligne « Path » et ajoutez ceci à la fin
de la ligne (celle-ci commence avec C :\ProgramData\...) :
;C:\Python34\;C:\Python34\Lib\site-packages\django\bin\
Faites bien attention à la version de Python que vous
avez. Les points virgules permettent de différencier votre nouveau
chemin d'accès de ceux préexistants.
Notez que l'installation en question, consiste seulement
à placer votre dossier décompressé
Django-X.Y.Z dans C:\Python3x. Ainsi, vous
pouvez très bien le faire manuellement, sauf que ça ne sera pas
si consistant ni aussi amusant !
Voilà, enfin vous en avez fini avec l'installation. Il
faut tout de même en avoir le coeur net. Nous allons vérifier,
ouvrez encore votre invite de commande (Ctrl+r puis taper
« cmd » et valider) :
C:\user\nomutilisateur> python
Dans le Shell python, taper :
>>> import django
Si après validation, vous n'avez aucun message
d'erreur ; c'est un très bon signe. Taper ensuite (sous Python
3x) :
>>> print
(django.get_version())
Après validation, vous devriez voir la version de votre
Django, par exemple :
2.7.1 # Django 2.7.1 est
installé sur votre ordinateur
Et vous pouvez à présent vous frotter les mains
car Django est désormais à votre disposition
III.2.4. FONCTIONNEMENT DE
DJANGO : LE MODELE MVC/MVT
Le Model-View-Controller (MVC pour les
intimes)
La plupart de Framework, offrant une interface graphique,
utilisent ce qu'on appelle « architecture
MVC ». Le MVC ou design pattern, est un
modèle de développement utilisé par plusieurs Framework
web. Il consiste en la séparation des tâches à effectuer
selon les différentes couches de développement.
Le « MVC » est donc
décomposé en trois couches :
- Modèle : le
modèle représente une information stockée quelque part,
dans une base de données ou simplement dans un fichier comme c'est le
cas de SQLite.
- Vue : la vue est la
présentation de cette information à l'utilisateur. Il s'agit donc
de ce que l'utilisateur voit, quelles actions effectue-il sur
l'interface ?
- Contrôleur : il prend
en charge tout évènement de l'utilisateur comme une
requête, interroge le modèle et puis se charge de renvoyer le
résultat à la vue correspondante afin que l'utilisateur
aperçoive le résultat.
Pour bien comprendre la logique MVC, il suffit de se
représenter un cas simple : une simple recherche sur le site de
Google, par exemple. L'utilisateur tape au clavier l'adresse
www.Google.com. En fait, il s'agit
d'une requête utilisant le protocole http que le navigateur
installé sur la machine (appelé Client) envoi au
contrôleur. A ce moment, le contrôleur se charge d'aller chercher
la page d'accueil (vue) correspondante dans la base de données
(modèle) de Google. S'il la trouve, il la renvoi
immédiatement au client. Celui-ci voit alors s'afficher la page
d'accueil de Google sur son écran.
Django et son Model-View-Template (MVT ou
MTV)
Django, fidèle à son esprit innovateur n'a pas
apprécié la philosophie MVC et a préféré
créer son propre modèle ; l'architecture
MVT. Le truc c'est que dans les faits, il n'y a pas vraiment
beaucoup des différences entre le MVT et le MVC.
En effet, Django s'est seulement approprier la partie
« Controller ». Django est donc le contrôleur dans
l'architecture MVT. Pour les développeurs de Django, la vue ne
représente pas la présentation des données
affichées. En d'autres termes, elle s'occupe des données à
affichées et non de quelle façon les affichées.
Ainsi, avec Django ; la vue est simplement une fonction
Python appellée par une adresse URL particulière. Alors que la
présentation ou affichage concrète se fait dans une couche
à part appelé
« template ». Ainsi, le contenu
est séparé de la présentation.
Donc, Django sera considéré comme un
Framework MVT ou MTV :
- Modèle : le
modèle décrit la structure de données (base de
données, etc.) ;
- Vue : la vue contrôle
ce que l'utilisateur voit ;
- Template : s'occupe de la
présentation de l'information.
Figure 22.
Fonctionnement du Framework MVT(LORENT, op.cit.)
Un template est aussi appelé
« gabarit ». Il s'agit simplement d'un
fichier Html que la vue récupérera avant de l'envoyer à
l'utilisateur par le truchement de Django.
On en revient donc au modèle MVT. Le
développeur se doit de fournir le modèle, la vue et le template.
Une fois cela fait, il suffit juste d'assigner la vue à une URL
précise, et la page est accessible. Si le template est un fichier HTML
classique, un modèle en revanche sera écrit sous la forme d'une
classe où chaque attribut de celle-ci correspondra à un champ
dans la base de données. Django se chargera ensuite de créer la
table correspondante dans la base de données, et de faire la liaison
entre la base de données et les objets de votre classe. Non seulement il
n'y a plus besoin d'écrire de requêtes pour interagir avec la base
de données, mais en plus le Framework propose la représentation
de chaque entrée de la table sous forme d'une instance de la classe qui
a été écrite. Il suffit donc d'accéder aux
attributs de la classe pour accéder aux éléments dans la
table et pouvoir les modifier, ce qui est très pratique !
Projet VS Application
Pour finir, parlons un tout petit peu de cette
spécificité intéressante de Django.
Un projet est diffèrent d'une application. En fait,
lorsque vous concevez un site web avec Django, vous êtes en train de
concevoir un projet Django. Un projet peut être constitué
d'une ou des plusieurs applications.
Une application Django est un ensemble des fichiers des codes
Python, Django, Css, etc. qui sont obligatoirement subdivisés de telle
sorte que chacun puisse avoir un rôle relatif à un aspect de
l'architecture MVT.
Concrètement, vous concevez un blog
avec Django. Votre blog constitue du point de vue de Django, un
projet. Maintenant, pour avoir un blog, on suppose qu'on aura besoin
des articles de publication, des adresses des utilisateurs, des
galeries photos, etc.
Dans ce contexte, les articles, adresses, galeries constituent
des applications de votre projet blog. Ainsi donc, vous aurez une
application `articles'qui contiendra un
modèle (la base de données contenant vos articles), un
fichier pour vos vues, un ou plusieurs templates (fichiers
Html, Python, css, etc.) et ainsi de suite.
Voyez l'avantage ce qu'une application bien
réalisée peut être utilisée dans un autre
projet simplement et sans causer des problèmes. Si un ami veut
réaliser un projet de média en ligne, par
exemple. Il aura besoin des articles comme pour notre projet de blog et
d'autres applications aussi.
Si notre application `articles' tourne merveilleusement bien,
il peut très bien nous l'emprunter et la réutiliser comme telle
en l'intégrant simplement dans son projet. C'est la force de Django.
III.2.5. AUTRES OUTILS
Pour le choix de l'éditeur, nous en avons
déjà parlé plus haut, il y en a beaucoup. Il suffit de
choisir un éditeur qui reconnait Python. Nous avons opté pour le
« Sublime Text3 ».
Figure 23. Capture de
l'écran de l'éditeur « Sublime Text
»
En ce qui concerne le système de gestion de base des
données (SGBD); django vous en propose un :
SQLite3. Il est installé en même temps que
django. C'est celui que nous utiliserons pour notre travail.
C'est un système de gestion de base des données
simple, souple et très pratique en développement
car il fonctionne avec un serveur local tournant avec des commandes
spécifiques sous MS-DOS.
Au fait, contrairement aux autres SGBD, SQLite3 est un simple
fichier Python dont django se sert pour le stockage des données dans des
tables. Avec SQLite3, on peut faire de très grandes choses. Il est
toutefois recommandé, en production d'utiliser un SGBD
standard comme MYSQL, PostgreSQL, Oracle Database ou encore Microsoft SQL
server.
Conclusion partielle
Nous venons de survoler rapidement les points saillants de
base pour commencer à programmer avec le langage Python. Nous avons
aussi évoqués le cas du framework Django qui est un outil
puissant du développement web.
Enfin, il ne s'agit pas d'un article consistant ni d'un
ouvrage spécialisé sur la programmation avec Python et Django,
des ouvrages entier pourraient y être consacrés.
CHAPITRE QUATRIEME :
ESSAI DE MISE EN PLACE DU SYSTEME
Introduction
Après avoir soulevés les principaux points
autour de la question qui nous intéresse, nous allons nous
épancher tout le long du présent chapitre sur
l'implémentation de notre plateforme d'aide aux étudiants, dans
le cadre de leurs recherches de fin de cycle.
La plateforme en question vient proposer une piste de solution
aux multiples péripéties qui encombraient jusque-là tous
les étudiants finalistes en Informatique (ou pas) dans le cadre de leurs
recherches ; plus particulièrement, ceux de l'ISP/Bukavu.
Il sera question d'un rapide survol des outils
utilisés, de l'environnement de travail pour tout le processus, depuis
la conception jusqu'à l'implémentation, en passant par le
développement.
IV.0. Vue d'ensemble du fonctionnement de
l'application
Nous allons ici récapituler en gros, comment fonctionne
la plateforme en question.
Le visiteur (étudiant) devra disposer d'un compte pour
accéder au contenu de la plateforme. S'il n'a pas encore de compte, il
devra en créer en suivant les instructions qui lui sont données
sur la page d'authentification.
Pour celui qui a un compte, il peut accéder à
tout le contenu de la plateforme en fournissant son login et son mot de passe.
Après avoir accéder à la page d'accueil de la plateforme,
il aura le choix entre aller directement sur la page des thématiques et
consulter ces dernières (il a également la possibilité de
commenter les thématiques) ou alors aller sur la page du modèle
et accéder à une thématique de son choix.
Le visiteur peut également décider de
télécharger les fichiers PDF, versions papier de toutes les
thématiques réunies dans un seul document. Il y a aussi quelques
ouvrages intéressants proposés au téléchargement
pour aider à la lecture postérieure. Voilà, c'est
là le gros du fonctionnement de la plateforme.
IV.1.L'Environnement de travail
Nous avons déjà eu l'occasion d'évoquer
un certain nombre d'outils qui nous ont aidés tout le long de ce projet.
Essayons de récapituler le tout.
IV.1.1.La conception
Concevoir revient à apporter, donner quelque chose de
nouveau. Comme nous l'avons déjà dit, il s'agit de l'étape
la plus importante et la plus critique de tout le projet. Car en fait, c'est
d'elle que dépendra le reste de celui-ci.
Pour rappel, l'étape de la conception consiste tout
simplement à définir un cadre général pour le
travail, sur base des attentes des clients. Ces dernières sont
confrontées aux contraintes techniques de l'environnement. On peut ainsi
arriver à se représenter un peu plus clairement, ce qu'on veut
réaliser.
Durant cette phase sont généralement
utilisés les outils comme :
- Les diagrammes spécialisés dans la conception
des projets tels que le diagramme bête à cornes
ou encore le diagramme ou arbre à objectifs et d'autres
encore.
- Des outils pratique de tout bon gestionnaire (les
diapositives, le bloc note, les pin-it,...).
IV.1.2 La
modélisation
Nous en avons longuement parlés dans la deuxième
partie de notre travail. La modélisation permettra de formaliser
à un plus haut niveau d'abstraction ; le système à
étudier.
Ici, on dispose essentiellement de diagrammes mais parfois, on
peut aussi simuler des modèles. Les diagrammes UML permettent de faire
de très bonnes choses à ce niveau. Et pour les réaliser,
nous nous sommes servis de Visual Paradigm 10.2.
Figure 24.
Icône de Visual Paradigm for UML 10.2
Figure 25.
Fenêtre de Visual Paradigm for UML 10.2
IV.1.3. Le
développement
Le développement est l'étape de codage,
c'est-à-dire, qu'on tape des lignes de codes dans un langage
informatique afin de concrétiser le modèle obtenu à
l'étape précédente. Pour cela, on dispose d'un certain
nombre d'outil.
IV.1.3.1.Le langage de programmation et accessoires
Encore une fois, nous avons déjà eu l'occasion
de creuser la question au Chapitre précèdent, passons seulement
de façon superficielle.
En ce qui concerne le langage de programmation, nous avons
jetés notre dévolu sur le langage Python.
Langage puissant, de haut niveau et orienté-objet ; il est à
la fois simple (syntaxe) et très flexible (apprentissage facile) mais
tout aussi rigoureux.
Dans la même optique, nous avons choisis l'un de ses
meilleurs frameworks (cadre de travail facilitant le travail pour le
développeur) : le framework Django. Django est
entièrement écrit en Python (il n'est pas le seul) et fonctionne
selon l'architecture MVT, une variante de l'architecture MVC. Voir le Chapitre
troisième pour les détails approfondis.
Pour ce travail, nous avons utilisés Python
3.4 et Django 1.8.19.
IV.1.3.2. L'éditeur de texte
Au risque de se répéter, rappelons encore que
nous avons optés pour le Sublime Text 3.
IV.1.3.3. SGBD et Serveur de développement
Pour le SGBD, nous avons fait le choix naturel : le
SQLite3. Il s'agit du SGBD par défaut, qui est livré avec
Django.
Au fait, il s'agit juste d'un simple fichier avec l'extension
« sqlite3 » : Très simple, il convient pour le
développement. Si vous voulez rentrez en production, il est
recommandé plutôt d'utiliser un SGBD classique comme Oracle,
MySql,...
Django est aussi équipé d'un serveur de
développement très pratique, accessible depuis la console. Pour
lancer le serveur, accédez au répertoire principal de votre
projet Django que vous avez créez. Ensuite, exécutez l'une de
commandes suivantes :
Attention : vous devez absolument vous
trouvez à la racine de votre projet (au niveau du fichier
« manage.py », fichier-commande
incontournable (Voir le tracé 1 en rouge) :
Figure 26. La racine
du répertoire en Django
Voici le résultat de la commande manage.py :
Figure 27. Lancement
du serveur de développement de Django
Il vous suffit alors, d'ouvrir votre navigateur et de taper
l'adresse (encadré en bleu dans la figure précédente) et
vous verrez la page d'accueil. Vous procédez ainsi à chaque fois
que vous voulez lancer le serveur. Pour couper le serveur (sous Windows),
faites « Ctrl+C ».
IV.1.3.4. Autres détails
Comme dans tout ce qui est programmation orientée web,
on ne peut se passer du langage HTML5 et son acolyte, le
CSS3 pour la structure externe de la plateforme.
Il ne reste plus qu'à préciser peut être
que Django utilise une technologie à la fois côté
serveur (backend) et côté client
(frontend).
En effet, les habitués des autres environnements de
travail ; se rendront compte que Django factorise un trop grand nombre des
fonctionnalités afin que le développeur n'ait à
rédiger que le moins de code possible. Et vous pouvez me croire,
ça n'a rien à voir avec Django, c'est du Python tout
craché.
Django génère automatiquement un
« Espace Administrateur » sympa et que
vous pouvez même personnaliser. Comme quoi DRY IS DJANGO AND DJANGO
IS DRY !!!
Vous vous souvenez de notre bon vieux principe DRY - non,
bien ; je vous rappelle ce principe cher à Django :
« Don't Repeat Yourself » (Ne réinventez
pas la roue). Non, pas la peine, avancez de l'avant, toujours.
Juste pour vous le prouvez. Après avoir
créé votre projet ; taper cette adresse dans votre
navigateur (n'oubliez pas de lancer d'abord le serveur) :
Et vous allez fournir les informations du
superuser :
Figure 28.
Authentification Admin Django
Et c'est bon, vous avez un espace dédié ;
sans une seule ligne de code !
Figure 29. Espace
Admin Django
IV.2. La structure des
tables
Afin de vous permettre de bien visualiser votre base de
données SQlite3 (en mode graphique, parce que les
ORM de Django font déjà des merveilles en mode
console), il existe beaucoup de bons outils.
Nous avons optés pour un très bon environnement,
le « DB Browser for SQLite » que
vous pouvez télécharger gratuitement sur Internet.
La table « Membres » servira au stockage
des informations de tous les visiteurs de notre plateforme,
c'est-à-dire, tout celui qui aura créé un compte sur la
plateforme.
Figure 30. La table
« Membres »
La table « Thématiques » servira au
stockage des toutes les thématiques publiées sur la plateforme et
proposées par les spécialistes.
Figure 31. La table
« thématiques »
La table « Commentaires » sera
dédiée au stockage de différentes commentaires
postées à la fois par les visiteurs ainsi que les
spécialistes, au sujet des thématiques traitées.
Figure 32. La table
« Commentaires »
La table « Spécialistes », reprend
les informations concernant les auteurs des thématiques publiées.
Figure 33. La table
« Spécialistes »
IV.3. Le guide d'utilisateur
Présentons promptement les interfaces de la plateforme
d'aide aux étudiants finalistes dans leurs travaux de recherches.
Lancer le serveur de développement comme illustrer plus
haut. Allez ensuite dans le navigateur et taper l'adresse comme on vous le
montre. Vous êtes alors dirigés vers la page
d'Authentification. Vous pouvez créer un compte, en cliquant
sur le lien « créez-en un tout de
suite » et vous remplirez tous les champs.
Après, vous pouvez-vous connecter comme membre :
Figure 34. Page
d'authentification
Si les données saisies sont correctes, vous êtes
redirigés vers le « Tableau de
bord ». Et vous avez l'embarras de choix. Le menu est
composé des sections comme « Tableau de bord »,
« Thématiques »,
« Modèles »,
« Téléchargements » ainsi que le
«portail elzihcom ».
Le menu
Figure 35. Le
Menu
Figure 36.Image
tableau de bord
Le tableau de bord vous éclaire sur le contenu de la
plateforme, en vous donnant un avant-goût de ce que vous allez pouvoir
découvrir sur notre plateforme.
Figure 37. Tableau de
bord : « ce que vous allez
découvrir »
Figure 38. Le tableau
de bord : les sections
Ici par exemple, vous avez un aperçu sur les sections
que vous allez retrouver sur la plateforme. Notamment les thématiques
(belle illustration avec l'évocation de l'idée de partage entre
personnes de tous horizons). Et plus bas, le collège de nos
spécialistes, en images.
Figure 39. Le tableau
de bord : Aperçu des spécialistes
Après, libre à vous de consulter les menu selon
votre choix et vos besoins. Sinon, le reste est évident. Par exemple,
vous pouvez vous rendre dans les thématiques et les
consulter.
Très important, les
« Tags ». Ce sont des outils puissants
pour la recherche. Le principe est simple : chaque thématique a
au moins un tag. Grâce à celui-ci, toute autre
thématique ayant au moins un de ses tags est
liée à celle-ci. Pour preuve, cliquer sur un des
tags (car, en réalité, il s'agit d'un lien) de la
thématique
Les Tags
Clic sur le tag « tfc » pour visualiser
toutes les thématiques ayant trait au tfc
Figure 40. Les
tags
Et c'est bon, vous avez le résultat :
Figure 41.
Thématiques tagées
Cliquer sur le premier titre en bleu, c'est-à-dire, le
titre de la thématique pour accéder à son contenu. Comme
ceci :
Figure 42. Les
thématiques
Et vous pouvez laisser un commentaire ou bien lire ceux
déjà disponibles.
Figure 43. Commenter
une thématique
Un autre menu, ce sont « les
modèles ». Ils sont là juste pour vous aider
à suivre l'enchaînement logique des thématiques dans
l'ordre. Vous pouvez encore d'ici, accéder aux thématiques mais,
vous ne pouvez commenter qu'en vous rendant directement dans la
thématique en question.
Figure 44.
Aperçu des modèles
Figure 45. Cas d'un
modèle
Prenons le cas du tfe (parce que pour l'autre
bouton -mémoire-, le raisonnement reste le même-). Cliquer donc
sur le bouton indiqué ci-haut :
Figure 46. Plan du
modèle
Figure 47. Lien vers
les thématiques à partir d'un modèle
Maintenant, cliquer sur un titre pour accéder
directement à la thématique (par exemple la
thématique : « Débuter la
rédaction » comme indiqué plus haut).
Figure 48. Vue d'une
thématique, dépuis un modèle
Effectivement, si vous vérifier à la fin de la
page, aucun commentaire et nulle place pour en laisser.
Enfin, vous pouvez aller dans la section des
« Téléchargements ».
Là, vous trouverez, en plus des guides de rédaction, des ouvrages
intéressants à votre disposition. Téléchargez-les
gratuitement en cliquant sur l'icône de l'ouvrage ou le lien dans le
titre en dessous de l'icône. Après la déconnexion, couper
le serveur (Ctrl+C).
Figure 49. La page de
télechargements
A tout moment pour vous déconnecter
Cliquer ici pour télécharger ce fichier ou alors,
en bas à droite
Figure 50. Fichier
téléchargeable
Conclusion partielle
Voilà, nous venons de voir les grandes
fonctionnalités de notre plateforme web d'aide à l'orientation
des étudiants, dans le cadre de leurs études de fin de cycle. Les
aspects abordés ont tous été inspirés par la
modélisation fais au deuxième chapitre.
Le résultat de ce chapitre, nous permet de
répondre à la question de savoir s'il serait possible de
concevoir une plateforme en ligne d'aide aux étudiants, dans
l'orientation de leurs recherches de fin de cycle.
Nous avons bon espoir que le présent travail arrivera
un tant soit peu, à pallier les grandes difficultés
qu'éprouvent les étudiants en Informatique dans le cadre de leurs
recherches.
CONCLUSION GENERALE
Chaque chose qui a un début, a forcément une
fin. C'est déjà la fin de notre travail de mémoire qui a
porté sur l'essai de conception et de l'implémentation d'une
plateforme d'aide à l'orientation des étudiants dans leurs
travaux de recherche de fin de cycle.
En début de notre travail, nous sommes partis du
constat selon lequel, il y avait une difficulté évidente pour les
étudiants finalistes en Informatique et d'autres. D'une part, une
difficulté dans l'orientation à donner aux recherches et d'autre
part, la difficulté de se tracer un chemin clair au travers duquel on
veut cheminer. De ce fait, trois questions ont été
soulevées :
- Quels sont les problèmes qui gangrènent
les étudiants dans la rédaction de leurs TFC et
Mémoires ?
- Serait-il possible de pallier le problème de
l'orientation des étudiants-chercheurs dans leurs travaux de
recherche ?
- Une solution purement informatique s'impose-t-elle ou
faut-il aussi y adjoindre une solution adjuvante ?
- Y aurait-il moyen de concevoir et mettre en place une
plate-forme web d'aide à l'orientation des étudiants dans leurs
recherches de fin de Cycle ?
Dans le souci de partir du bon pied, nous avons
été amenés à construire des hypothèses de
travail :
· Les problèmes majeurs que rencontrent les
étudiants résiderait plus dans l'orientation à prendre
dans la recherche, la méthodologie et la rédaction ;
· Il serait possible de pallier le problème
d'orientation des étudiants dans leurs travaux de recherche ;
· Une solution purement informatique devrait suffire pour
pallier cette difficulté ;
· Il pourrait être possible de concevoir et de
déployer une plate-forme web d'aide à l'orientation des
étudiants en Informatique dans leurs recherches de fin de cycle.
La validité des
hypothèses
Etant désormais à la fin de notre travail, nous
sommes en mesure de vérifier la validité de nos hypothèses
de départ.
1. Dans le cadre de la recherche que nous avons menée,
il s'est avéré clairement que les problèmes d'orientation
dans la recherche, la méthodologie ainsi que la rédaction
étaient une épine dorsale dans le chef des étudiants.
L'hypothèse 1 est validée.
2. Suite à nos recherches, nous avons effectivement
prouvés qu'il était tout à fait possible de pallier en
grande partie les problèmes d'orientation des étudiants dans
leurs recherches, de par une bonne organisation de travail ainsi qu'une
discipline rigoureuse. L'hypothèse 2 est donc
validée.
3. La solution informatique apporte de grands rendements en
termes de gain de temps, de la qualité du travail ou encore d'une bonne
qualité du processus. Cependant, même au coeur de la technologie,
le manuel dû à la réalité humaine, montre clairement
que rien n'est à 100% parfait. Même pour concevoir une
technologie, plein de ressources « non-informatiques »
interviennent à tous les niveaux.
« Chasser le naturel, il en revient au
galop », dit-on. Une solution « purement »
Informatique n'existe pas. D'où, l'hypothèse 3 ne
peut pas être validée.
4. Le résultat du présent travail, à
savoir la plateforme que nous venons de présenter ; prouve bien que
l'hypothèse 4 est validée.
Comme pour tout travail scientifique, nous avons
utilisés des méthodes scientifiques :
- La méthode analytique : nous a
aidés à faire une étude approfondie sur la
problématique.
- La méthode comparative : nous a
aidés à confronter nos sources d'information.
- La méthode descriptive : nous a
aidés à décrire les faits, les outils, ...
- La méthode historique : nous a
aidés à connaître le passé et l'origine des choses
afin d'en trace l'évolution dans le temps et dans l'espace.
- L'architecture MVT: nous a aidés
dans la conception des IHM avec notre framework Django.
- La méthode 2TUP : nous a
aidés pour le langage UML.
Et des techniques :
- La navigation Internet :
incontournable aujourd'hui.
- La technique documentaire : on a
été feuilleter dans les ouvrages et livres qui nous ont
précédés.
- La technique d'observation libre :
pour observer les éléments dans leur milieu naturel.
Grâce au Seigneur Dieu Tout-Puissant, à des
efforts continuels, au concourt de bien de personnes et aussi à la
persévérance, nous sommes parvenus à surmonter les
difficultés évoquées en début de ce travail.
Nous avons subdivisés notre travail en 4 chapitres
(mise à part l'Introduction, la conclusion et du reste de la
littérature) :
· Le chapitre premier, qui a
porté sur les généralités du milieu
d'études ;
· La chapitre deuxième, qui a
porté sur la modélisation du système grâce à
la méthode 2TUP et au langage UML ;
· Le chapitre troisième, qui a
porté sur l'architecture MVT et la programmation web avec Python et
Django.
· Le chapitre quatrième, qui a
porté sur l'essai de la mise en place du système.
Ne reste peut être plus qu'à signaler que comme
tout travail humain, oeuvre des mains d'hommes imparfaites, n'est pas exempt
des imperfections de diverses natures. Dans la mesure où le travail a
été conscrit dans une période de temps limitée, il
reste largement perfectible.
Les futurs chercheurs pourraient notamment penser à
étendre les fonctionnalités de la plateforme, en la
dotant par exemple ; d'une bibliothèque virtuelle
propre. Aussi, vu le développement fulgurant des
applications et plateformes mobiles, il pourrait aussi être
intéressant de développer cette approche pour la présente
plateforme.
Et le mot de la fin, est que nous sommes fiers de ce que nous
avons pu réaliser : ce document ainsi que l'application web qui
l'accompagne.
Au mieux de nos connaissances et en toute
honnêteté, nous pensons que le petit travail que voici, est notre
modeste contribution à l'avancement des connaissances et a toute sa
place parmi les travaux de mémoire déjà
réalisés au département d'Informatique de Gestion de
l'ISP/Bukavu.
REFERENCES
BIBLIOGRAPHIQUES
1°/ OUVRAGES PUBLIES
- MELÉ, A. (2015).Django
by Example : create your own line of successful web applications with
Django. Birmingham-Mumbai : PAKT Publishing.
- SWINNEN, G. (2012).Apprenez
à programmer avec Python 3. EYROLLES : Paris.
- PORTENEUVE, C. (2006).Bien
développer pour le web 2.0. EYROLLES : Paris.
- BRODARD ET TAUPIN (1998).La
Rousse de poche. Le livre de poche : Paris.
- Le Grand Robert de la langue française
version 2.0. (2005).Le Robert/SEJER. Bureau Van Dijke.
- LONTON, A. et THOMASSON, J-J.
(2006).Modélisation XML. EYROLLES :
Paris.
- GLEICK, J. (1991).La
théorie du chaos. Editions Flammarion. Collection
Champs : Paris.
- ROQUES, P. et VALLEE, F.
(2007).UML2 en action : de l'analyse des besoins à la
conception (4 éme Edition). EYROLLES : Paris.
- Prolifexe (2013).Apprenez
à programmer en Python[en ligne]. Openclassrooms :
Paris.
- Gabory, Y. (2013).Django
avancé : pour des applications web puissantes en
Python. EYROLLES : Paris.
- Xhonneux, M. et Lorent, M. (2013).
Concevez votre site web avec le Framework Django [en
ligne]. Openclassrooms : Paris.
2°/ THESES ET MEMOIRES
- MUDEKUZA, B.E. (2014-2015).
Développement et mise en place d'une base des données
WEB d'exposition et consultation des compétences.
Mémoire ISP/Bukavu.
- LWABOSHI, B.C. (2008-2009).
Elaboration du modèle PMB à la gestion de la
mini-bibliothèque du département d'Informatique de Gestion de
l'ISP/Bukavu. Mémoire ISP/Bukavu.
- ROSATI, A. (2014-2015).
Utilisation/exploitation des données ouvertes dans le
domaine de l'accessibilité en Wallonie. Département
d'Informatique de Gestion à la haute-école Provinciale des
Hainaut Condorcet en Belgique.
- C. MERONÉ, S. (2008). De
la représentation du français et du créole dans le
cinéma haïtien : le cas du film
« Barikard ». Mémoire de
Licence : Port-au-Prince. Université d'Etat d'Haïti.
3°/SUPPORT DE COURS
- ZIULU, E. (2018). COURS DE
PEDAGOGIE EXPERIMENTALE. ISP/Bukavu, inédit.
- TSHUND'OLELA, E.T. (2015). COURS
D'INITIATION A LA RECHERCHE SCIENTIFIQUE (IRS). Isp/Bukavu.
- ASSIE, G.R. et KOUASSI,
R.R. (2018). COURS D'INITIATION A LA METHODOLOGIE
SCIENTIFIQUE. Ecole Pratique de la Chambre de Commerce et Industrie.
Inédit : Abidjan.
4°/WEBOGRAPHIE
-
https://www.etudier.com/dissertations/Les-Differents-Types-De-Recherche-Et/46479714.html
, (consulté le 17/12/2018 à 12h30')
-
http://www.dynamique-mag.com/article/rd-coeur-entreprise.1996 ,
(consulté le 27-01-2019 à 22 : 55)
-
https://www.e-marketing.fr/Définitions-Glossaire/Recherche-developpement-242907.htm#oTA09qCWHooQIRY.97,
(Consulté le 27/01/2019 à 23 :13)
-
https://www.corep.fr/le-guide-du-mémoire/les-types-de-mémoire
, (Consulté Jeudi, le 20/12/2018, 11h45)
-
http://www.python.org(Consulté Vendredi, le 22/03/2019,
13h00)
-
http://djangosnippets.org(Consulté Vendredi, le 22/03/2019,
15h50)
5°/ARTICLES ET
TUTORIELS
- Etchecopar, P. et RIMOUSKI, C.De (2018).
[en ligne] Quelques éléments sur la théorie de
chao.
- Les tutoriels sur Django de Monsieur
Honoré HOUNWANOU sur le site
www.teachersdunet.com
LA TABLE DE MATIERES
Table des matières
IN MEMORIUM
Erreur ! Signet non
défini.
DEDICACE
II
REMERCIEMENTS
III
SIGLES ET ABBREVIATIONS
IV
LISTE DES TABLEAUX ET FIGURES
V
0. INTRODUCTION
- 1 -
0.1. PREAMBULE (CONTEXTE)
- 1 -
0.2. PROBLEMATIQUE
- 3 -
0.3. HYPOTHESES
- 4 -
0.4. ETAT DE LA QUESTION
- 4 -
0.4. OBJECTIFS
- 5 -
0.4.1. OBJECTIF GENERAL
- 5 -
0.4.2. OBJECTIFS SPECIFIQUES
- 6 -
0.5. CHOIX ET INTERET DU SUJET
- 6 -
0.6. DELIMITATION DU SUJET
- 6 -
0.7. METHODES ET TECHNIQUES
- 6 -
0.7.1. METHODES
- 6 -
0.7.3. TECHNIQUES
- 7 -
0.8. DIFFICULTES RENCONTREES
- 8 -
0.9. SUBDIVISION DU TRAVAIL
- 8 -
CHAPITRE PREMIER :
GENERALITES SUR LA RECHERCHE
- 9 -
I.I. DEFINITION DES CONCEPTS
- 9 -
1. LA SCIENCE
- 9 -
2. LA RECHERCHE
- 15 -
3. LA RECHERCHE SCIENTIFIQUE
- 17 -
LA RESOLUTION D'UN PROBLEME
SCIENTIFIQUE
- 18 -
PUBLICATION SCIENTIFIQUE VERSUS LITTERATURE
SCIENTIFIQUE
- 30 -
4. TRAVAUX DE FIN DE CYCLE
- 31 -
5. LE MEMOIRE
- 33 -
6. LE GUIDE DE REDACTION DE MEMOIRE
- 38 -
CHAPITRE DEUXIEME : MODELISATION AVEC
LE PROCESSUS UP
- 40 -
II.1. MODELE
- 40 -
II.2. LANGAGE DE MODELISATION ET METHODE DE
MODELISATION
- 41 -
II.3. LA METHODE DE DEVELOPPEMENT UP
- 42 -
II.3.1. Le 2TUP
- 43 -
II.3.2. MODELISATION AVEC LE LANGAGE
UML
- 44 -
CHAPITRE TROISIEME : EBAUCHE SUR LA
PROGRAMMATION WEB AVEC PYTHON/DJANGO
- 62 -
III.1. LE LANGAGE PYTHON
- 62 -
III.1.1. Présentation du langage
- 62 -
III.1.2. Caractéristiques
- 63 -
III.1.3. INSTALLATION ET DEPLOIEMENT
- 64 -
III.2. LE FRAMEWORK DJANGO
- 66 -
III.2.1. Présentation
- 66 -
III.2.2. Philosophie Django
- 67 -
III.2.3. Téléchargement et
installation
- 68 -
III.2.4. FONCTIONNEMENT DE DJANGO : LE
MODELE MVC/MVT
- 70 -
III.2.5. AUTRES OUTILS
- 72 -
CHAPITRE QUATRIEME : ESSAI DE MISE EN
PLACE DU SYSTEME
- 74 -
IV.1.1.La conception
- 75 -
IV.1.2 La modélisation
- 75 -
IV.1.3. Le développement
- 76 -
IV.2. La structure des tables
- 80 -
IV.3. Le guide d'utilisateur
- 82 -
CONCLUSION GENERALE
- 96 -
La validité des
hypothèses
- 96 -
REFERENCES BIBLIOGRAPHIQUES
- 99 -
1°/ OUVRAGES PUBLIES
- 99 -
2°/ THESES ET MEMOIRES
- 99 -
3°/SUPPORT DE COURS
- 100 -
4°/WEBOGRAPHIE
- 100 -
5°/ARTICLES ET TUTORIELS
- 100 -
LA TABLE DE MATIERES
- 101 -
ANNEXES
- 103 -
I/ LE FICHIER DE BASE
- 103 -
II/ MODELE MVT
- 105 -
1. Code du
modèle (thématiques) : fichier models.py des
thématiques
- 105 -
2. Code d'une vue
(thématiques) : fichier views.py des
thématiques
- 106 -
3. Code d'un
template (thématiques) : fichier base.html des
thématiques
- 108 -
ANNEXES
Code sources de fonctionnalités
clé :
I/ LE FICHIER DE BASE
Le fichier base.html est le modèle père
dont les autres templates vont hérités.
II/ MODELE MVT
1. Code du modèle
(thématiques) : fichier models.pydes thématiques
Voici un extrait du modèle
Modèle-Vue-Template sur lequel est basé Django.
2. Code d'une vue
(thématiques) : fichier views.py des thématiques
3. Code d'un template
(thématiques) : fichier base.html des thématiques
4. Pour rélier les modèles aux vues et aux
templates, on les urls.
Code d'urls : fichier urls.py du projet
|