Collecticiel pour la Presse Électronique
Collecticiel pour la Presse Électronique
abb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbc
d Collecticiel pour la presse électronique e
d e
fgg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggh
Réalisé par :
Mr Sami Aboubacar Samba Lamine (SIR)
Mr Oumarou Saley Ibrahim (ILTI)
Louange à Allah, que la miséricorde et la paix soient sur notre bien aimé le Messager
d’Allah(s-a-w), sur sa famille et ses compagnons. En tout premier lieu, nous remercions
le bon Dieu, tout puissant, de nous avoir donné la force, le courage d’étudier ainsi que
l’audace pour dépasser toutes les difficultés.
Nous adressons nos vifs remerciements à notre encadreur Monsieur ZERARGA Loutfi,
pour sa grande disponibilité et ses encouragements, et aussi de nous avoir encadré, orienté
et conseillé durant nos études et l’élaboration de ce travail.
En fin nous adressons nos plus sincère remerciements à nos familles : parents, frères,
amis et tous nos proches qui nous ont accompagné, aidé, soutenu et encouragé tout au
long de la réalisation de ce mémoire.
Merci !
i
Résumé
Pour réaliser cette plateforme, nous avons utilisé un processus de développement appelé
Processus Unifié (UP), qui se base sur UML comme langage de modélisation.
Mots clés : Travail coopératif, édition coopérative, Systèmes repartis, TCAO, presse
électronique.
Abstract
The goal of our work will be to design and implement a groupware for the electronic
press. This project is therefore in the field of Computer Supported Cooperative Work
(CSCW). The interest is to realize a cooperative work platform, offering journalists, cor-
respondents and editorial staff, a space for cooperation to achieve a common task and
share a common environment. This platform will take into account the three main func-
tions of a groupware (communicate, cooperate and coordinate)
Because, today the Internet has revolutionized the forms of conception, diffusion and
reception of information. Thanks to New Information and Communication Technologies,
the electronic press has become a media competitor of other media.
To realize this platform, we used a development process called Unified Process (UP),
which is based on UML as a modeling language.
Remerciements i
Résumé ii
Introduction générale 1
1 Organisation de la presse 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Le rôle de la presse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Les fonctions sociales de la presse . . . . . . . . . . . . . . . . . . . 3
1.2.2 Les fonctions politiques . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Les fonctions économiques . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 De la presse imprimée à la presse électronique . . . . . . . . . . . . . . . . 4
1.3.1 Le règne du papier . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Les débuts de la presse en ligne . . . . . . . . . . . . . . . . . . . . 5
1.4 Rôles des personnes au sein d’un organe de presse . . . . . . . . . . . . . . 5
1.4.1 Directeur de la publication . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.2 Rédacteur en chef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.3 Journaliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.4 Reporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.5 Photographe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.6 Correspondants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.7 Directeur de publicité . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.8 Chroniqueur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.9 Organigramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
i
TABLE DES MATIÈRES
3 Analyse et Conception 22
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Analyse et Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.3 Diagrammes des cas d’utilisation et leurs descriptions . . . . . . . . 25
3.2.4 Description textuelles des cas d’utilisation . . . . . . . . . . . . . . 31
3.3 Étude Conceptuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
ii
TABLE DES MATIÈRES
4 Implémentation 46
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Environnement de développement . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.1 NetBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.2 Wamp Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.3 Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3 Langages de développement, framework et les services web . . . . . . . . . 48
4.3.1 Langages de developpement . . . . . . . . . . . . . . . . . . . . . . 48
4.3.2 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.3 les services web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4 Les différentes Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.1 La page d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.2 Affichage de la page sur mobile . . . . . . . . . . . . . . . . . . . . 53
4.4.3 Interface Abonnement . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4.4 Inscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4.5 Interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.4.6 Interface du Photographe . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.7 Interface de création d’une galerie par le Photographe . . . . . . . 58
4.4.8 Interface Rédacteur en chef . . . . . . . . . . . . . . . . . . . . . . 59
4.4.9 Interface Jounaliste . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.10 Rédaction d’article . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.5 Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Appendices 63
iii
TABLE DES MATIÈRES
Appendices 64
B L’univers Android 69
B.1 L’informatique mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.2 Application mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.2.2 Les différents applications mobiles . . . . . . . . . . . . . . . . . . 70
B.3 Application Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
B.3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
B.3.2 Le système d’exploitation Android . . . . . . . . . . . . . . . . . . 71
B.4 La philosophie et les avantages d’Android . . . . . . . . . . . . . . . . . . . 71
B.4.1 Open source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
B.4.2 Gratuit (ou presque) . . . . . . . . . . . . . . . . . . . . . . . . . . 71
B.4.3 Facile à développer . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
B.4.4 Facile à vendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
B.4.5 Flexible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
B.4.6 Ingénieux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Références Bibliographiques 73
iv
Table des figures
v
TABLE DES FIGURES
vi
Liste des tableaux
vii
Introduction générale
Cependant cette nouvelle forme de média est née grâce à la ré-exploitation des informa-
tions sous différentes formes et sur différents marchés qui est le phénomène marquant et
l’aspect prépondérant depuis quelques années dans le développement de l’information de
presse en général. On considère le support en ligne comme sans contraintes temporelles
et spatiales. Sur l’Internet, toute action est possible : de l’information en temps réel et
en continu, à la publication de textes très longs dans leur intégralité rendu possible grâce
aux terminaux et les micro-ordinateurs permettant un accès immédiat aux informations,
et leur modification en temps réel dû à l’informatique.
1
LISTE DES TABLEAUX
C’est dans ce cadre que s’intègre ce projet qui consiste à développer un collecticiel
pour la presse électronique accompagné d’une application mobile pour les lecteurs. Cette
décision répond à trois préoccupations majeures : obtenir un traitement plus rapide et
plus sélectif de l’information, résoudre les problèmes de saturation des moyens classiques
de réception et d’émission des nouvelles, et réduire les coûts de fonctionnement. Le col-
lecticiel est un domaine récent de l’informatique dont l’objet est l’étude des logiciels de
groupe. Ce sont des applications qui assistent un groupe d’utilisateurs à la réalisation d’un
projet commun. Les membres du groupe collaborent à distance, soit au même moment
(activité synchrone), soit à des moments différents (activité asynchrone). Ce domaine
attire un nombre croissant de chercheurs d’horizons variés. Bien qu’il ait pris naissance
principalement dans le domaine de l’interaction homme-machine, l’objet du collecticiel est
plutôt la communication homme-homme par l’intermédiaire d’un système informatique.
Ce mémoire est organisé en cinq chapitres : Dans le premier chapitre, nous allons
présenter l’organisation de la presse, le deuxième chapitre se focalise sur l’étude des
systèmes coopératifs. Puis dans le troisième chapitre, nous illustrons l’étape de l’analyse
des besoins et de la conception, dans laquelle nous allons identifier les acteurs de notre
système et les besoins qui deviendront ensuite les fonctionnalités de notre application.
En fin, le quatrième chapitre, sera dédié à la réalisation de l’application où nous allons
présenter l’environnement de développement, les outils, langages de programmation et les
services web utilisés dans notre travail, puis nous montrons quelques interfaces graphiques
de notre application réalisée. Et nous terminons par une conclusion générale.
2
Organisation de la presse
1
1.1 Introduction
La presse est un moyen de diffusion d’informations, utilisé pour communiquer. Elle
permet une diffusion large et collective d’informations ou d’opinions, quel qu’en soit le
support(Imprimée ou électronique).
Avant de voir l’historique, le développement et les variétés de ce qui fait la presse,
demandons-nous comment ce média a pu jouer ou joue encore un rôle important dans
nos sociétés.[25]
3
Organisation de la presse
L’économie a une fonction tout aussi importante que la politique dans la société. Les
institutions, les entreprises ainsi que les consommateurs cherchent à rendre compte de
leurs choix et des évolutions économiques qu’ils représentent. Enfin la publicité joue un
rôle incontournable dans ce contexte et pour la santé financière de la presse.[25]
4
Organisation de la presse
plus large que celle des manuscrits de l’époque. Avec cette invention, la presse est entrée
dans la civilisation de l’imprimé.[22] [14]
La presse écrite a connu une véritable explosion comme vecteur d’information à la fin
du XIXe siècle et au début du XXe siècle. Elle occupa une position de monopole de fait,
avant que la radio et la télévision ne s’imposent, à leur tour, sur le marché des médias.
Cependant la presse écrite tend à reculer à la fin du XXe siècle et au début du XXIe
siècle, face à la fois à d’autres médias de masse, mais aussi aux médias citoyens. En effet le
coût élevé de l’impression et de la publication, le risque de voir les recettes publicitaires se
tourner vers d’autres supports, l’ apparition de la concurrence des journaux d’information
gratuits, poussent les organes de presse écrite à se tourner vers l’internet qui se présente
sous la forme d’une véritable confédération d’envergure mondiale des millions des réseaux
d’ordinateur public et privés reliés entre eux.[22][14]
Bien que les Etats-Unis soient des pionniers en la matière, la presse en ligne se développe
rapidement et de manière importante dans ce début du XXIe siècle, en utilisant les nou-
veaux modes de lecture et d’enquête et conquiert d’autres continents comme l’Afrique,
l’Europe...
5
Organisation de la presse
1.4.3 Journaliste
Le journaliste est un professionnel de l’information et spécialiste de l’écriture, le (la)
journaliste cherche des sujets, recueille des informations à destination d’un public choisi,
les vérifie, trie et rédige un ou des articles selon son analyse et l’intérêt de ses lecteurs.
1.4.4 Reporter
Le reporter est un journaliste de terrain. Il va chercher l’information, couvre des
événements, procède à des interviews, puis il transmet ces informations à sa rédaction.
1.4.5 Photographe
le photographe de presse a un rôle d’information très similaire à celui du journaliste,
puisqu’il a la lourde tâche d’illustrer les événements couverts par le journaliste.
1.4.6 Correspondants
Les correspondants, sont des reporters détachés d’un magazine pour couvrir l’actualité
sur la zone géographique qui leur ait attribuée.
6
Organisation de la presse
1.4.8 Chroniqueur
Dans un magazine, à la télévision, à la radio et même désormais sur le web, les chro-
niqueurs sont partout. Souvent spécialisés dans un domaine bien précis (beauté, culture,
politique, économie. . . ), ils rédigent leurs chroniques avant de les transmettre au public ou
aux lecteurs. A la différence d’un journaliste, le chroniqueur se doit d’user d’un ton parti-
culier afin d’attiser la curiosité et l’intérêt du public : partage de ses coups de cœur, billets
d’humeur ou encore utilisation de l’humour sont ses principales armes. On pense parfois
qu’il est simplement là pour amuser la galerie, pourtant le chroniqueur passe énormément
de temps en amont à rédiger et à peaufiner ses chroniques.[24]
7
Organisation de la presse
1.4.9 Organigramme
La figure suivante représente l’organigramme d’un organe de presse d’après les fonc-
tions et rôles des personnes précitées dans la section ci-dessus.
Directeur
General
8
Organisation de la presse
1.5 Conclusion
Ce chapitre nous a permis de retracer le rôle et l’histoire de la presse (de la presse
écrite à la presse électronique), mais aussi de voir les fonctions et rôles des personnes au
sein d’un organe de presse. En effet cette partie va nous aider à comprendre et analyser
les besoins applicatifs de notre système.
9
Études Systèmes Coopératifs
2
2.1 Introduction
Plusieurs technologies réseaux ont permis l’apparition des SIC. Parmi ces technolo-
gies nous citons les services de messageries, de conférences électroniques, du workflow et
des agendas. Ces outils renvoient à la notion de Groupware. Ce chapitre sera consacré
à l’étude des systèmes coopératifs, nous commençons par introduire les SICs (Systèmes
d’information coopératifs) et ensuite une présentation générale du travail coopératif sup-
porté par ordinateur et ses technologies. Et fin nous situons les outils informatique du
travail coopératif : les collecticiels.
Le paradigme des SIC est un domaine relativement récent qui a comme objectif le
développement des SIs distribués. Dans les premiers travaux de recherches, ce paradigme
a été identifié comme la future génération des SIs. Les SIC posent une série de défis
technologiques qui sont dûs selon le point de vue de certains scientifiques aux avancées
10
Études Systèmes Coopératifs
Le terme de coopération dans le domaine des SIs peut se définir comme la capacité pour
un ensemble de systèmes d’information autonomes, coexistant dans un environnement
virtuel commun, à accomplir une tâche. Chaque système possède sa propre existence,
indépendamment de la tâche globale à résoudre, dont l’accomplissement nécessite plus de
ressources que n’en possède chaque système séparément.
tifs avec d’autres systèmes d’information, des agents humains aussi bien avec l’or-
ganisation au sein de leur environnement opérationnel [17] ;
Dans l’approche des bases de données distribuées, un SIC : Intègre des sources
d’information distribuées, base de données ou systèmes à base de connaissance pou-
vant utiliser des représentations de connaissances et de données hétérogènes [6] ;
Dans le domaine du CSCW (Computer Supported Coopérative Work) un SIC est :
Un ensemble de composants plus ou moins autonomes, souvent préexistants qui
11
Études Systèmes Coopératifs
2.3.1 Définition
La littérature fournit deux grandes définitions du TCAO :
La première que l’on peut qualifier de sociale nous est donnée par Bannon et Schmidt
Le TCAO devrait être considérée comme une tentative de comprendre la nature et les
caractéristiques du travail coopératif, avec comme objectif la conception d’une technologie
informatique adéquate. [8]
La seconde est axée uniquement sur l’aspect informatique : Le TCAO est un ensemble
de systèmes informatiques qui assistent un groupe de personnes engagées dans une tâche
commune et qui fournissent une interface à un environnement partagé. [9]
12
Études Systèmes Coopératifs
La coordination
La coordination permet aux membres d’un groupe d’articuler les actions de chacun
pour concevoir et réaliser ensemble un produit collectif : elle regroupe l’ensemble des
mécanismes par lesquels les individus intègrent leurs activités productives . Elle inter-
vient soit au moment de l’assemblage final des contributions partielles dans le cadre d’une
coopération, soit pendant la réalisation d’une tâche lorsqu’il s’agit d’une collaboration. La
coordination est donc une activité indissociable des activités de coopération et de colla-
boration, qu’elle organise et qu’elle structure. Elle constitue le mode par lequel l’activité
collective s’assure d’être efficace [26].
13
Études Systèmes Coopératifs
On peut se poser la question : ”Pourquoi les gens coopèrent-ils” ? ou ”Pourquoi des pro-
cessus de production sont-ils effectués de manière coopérative ?”. Les individus coopèrent
à cause des capacités limitées de chaque individu. On considère essentiellement trois types
de coopération :
1. La coopération additive ;
2. La coopération intégrante ;
3. La coopération de débat.
La coopération additive
Les capacités humaines individuelles sont limitées, sur un plan physique ou physiolo-
gique, mais aussi au plan psychologique. Cette capacité limitée peut être compensée par
une ”coopération additive” : en combinant capacités et efforts, un ensemble d’individus
peut effectuer une tâche qui aurait été impossible à un individu seul.[13]
14
Études Systèmes Coopératifs
La Coopération Intégrante
La Coopération de Débat
La validité et la véracité d’une décision obtenue par un processus de travail basé sur
la connaissance est fragile et contestable [13]. La coopération de débat sert à sélectionner
les bons ajustements, les bonnes solutions parmi l’infinie variation des points de vue.
La Coopération permet aux travailleurs de coopérer dans un même lieu (dans la même
pièce, par exemple) ou à distance (géographiquement éloignés).
15
Études Systèmes Coopératifs
16
Études Systèmes Coopératifs
2.5.1 Définition
Dans le but de caractériser un Groupware, une variété de définitions ont été proposées.
Scientifiquement, nous citons la plus habituelle des définitions, celle donnée par C. Ellis :
Computer-based systems that support groups of people engaged in a common task (or
Les collecticiels sont des systèmes informatiques qui assistent un groupe de personnes
engagées dans une tâche commune (ou but commun) et qui fournissent une interface à un
environnement partagé Traduction de A.Karsenty. [16]
L’existence des collecticiels est trop récente pour que l’on puisse figer l’ensemble des
fonctionnalités qu’ils recouvrent . Néanmoins, ils ont en commun un certain nombre de
concepts fondamentaux et de mots-clés que nous allons passer maintenant en revue.
1. Environnement partagé : est un ensemble d’objets, où objets et actions sont visibles
par un groupe d’utilisateurs.
17
Études Systèmes Coopératifs
2. Fenêtre pour groupe : C’est une collection de fenêtres dont les instances apparaissent
(ou peuvent apparaı̂tre) sur différents supports.
3. Vue : est une représentation visuelle ou multimédia d’une partie donnée d’un envi-
ronnement partagé.
Ellis [6] a été parmi les premiers chercheurs qui se sont intéressés à la classification
des systèmes Groupwares. En effet, il proposa dans un premier temps, son modèle de
classification basée sur les deux dimensions : le temps et le lieu de participation (TABLE
2.1).
Temps
Même moment Moments différents
Espace
18
Études Systèmes Coopératifs
Le premier axe de cette classification est le temps. Il s’agit de caractériser la relation tem-
porelle existante entre deux utilisateurs d’un système. Ainsi, deux utilisateurs peuvent
utiliser le système au même moment, ce que l’on qualifie également d’usage synchrone,
ou à des moments différents, ce que l’on qualifie d’usage asynchrone.
Le deuxième axe de cette classification est l’espace. Cet axe vise à décrire la relation
spatiale existante entre deux utilisateurs d’un système. Les utilisateurs peuvent ainsi uti-
liser le système en étant Co-localisés au sein d’un même lieu ou l’utiliser à distance depuis
des lieux différents.
Dans Grudin [18], l’auteur étend cette classification avec une distinction sur l’imprévisibilité
de l’usage synchrone et de la localisation des utilisateurs d’un système. Ainsi, chacun des
axes est défini selon trois cas, deux cas prévisibles : même lieu et lieu diffèrent pour l’axe
Espace, et un cas imprévisible [19].
Temps
Même Moments Moments
moment différents(prévisible) différents(imprévisible)
Espace
19
Études Systèmes Coopératifs
Classification fonctionnelles
Le modèle du trèfle des collecticiels repose sur l’identification de trois classes de fonc-
tionnalités que remplit un collecticiel.
20
Études Systèmes Coopératifs
2.6 Conclusion
Nous avons présenté les différents outils TCAO ainsi que les terminologies les plus
utilisées au domaine TCAO. Les technologies de l’information et de la communication
accompagnent donc le travail de groupe pour répondre aux trois problèmes induits par
la division du travail, à savoir la collaboration, la coopération et la coordination. Elles
permettent ainsi d’être moins dépendant des contraintes de lieu et de temps induites par
la mondialisation et même d’accroı̂tre la productivité. Le travail coopératif assisté par
ordinateur est donc la réponse technique à une évolution managériale profonde.
21
Analyse et Conception
3
3.1 Introduction
Ce chapitre a pour but d’analyser les fonctionnalités de notre application, de définir les
droits d’accès pour les acteurs et de présenter les différents diagrammes de conception en
utilisant le langage UML. Nous allons procéder comme suit : dans la première partie nous
présenterons l’analyse et la spécification des besoins, ensuite les différents diagrammes des
cas d’utilisations accompagnés des descriptions textuelles. Et dans la seconde partie nous
présenterons les diagrammes de séquences et le diagramme de classes ; et les différentes
tables de la base de données qui seront exploitées lors de l’implémentation.
22
Analyse et Conception
Chaque utilisateur doit posséder un compte contenant son nom d’utilisateur ainsi qu’un
mot de passe et d’autres informations comme (le nom, le prénom, l’adresse, l’e-mail, son
numéro de téléphone, etc).
La plateforme est gérée par un administrateur. Celui-ci doit pouvoir attribuer des droits
d’accès et gérer les utilisateurs (ajouter ou supprimer un utilisateur) ; il doit également
pouvoir afficher la liste des utilisateurs. Chaque utilisateur en dehors de l’abonné (qui
possède des droits d’accès limité), possède un environnement de travail personnel( des fois
partagé) dans lequel il pourra effectuer des tâches le concernant ( envoyer des messages :
message public, message privé, envoyer des documents, travailler en coopération/collaboration
avec d’autres utilisations...).
L’abonné peut également afficher et modifier son profil (comme le nom, mot de passe,l’adresse
e-mail...).
Toute opération ne peut s’effectuer qu’après l’authentification.
Besoins fonctionnels
Dans cette partie nous détaillons les fonctionnalités, que le système doit couvrir à
savoir la gestion :
— Des utilisateurs et des droits d’accès : mettre à jour les utilisateurs ainsi que
l’attribution des droits d’accès aux données ;
— Des articles : la rédaction ( en situation collaborative ou non), modification et
possibilités de gestion des versions d’un article ainsi que le partage ;
— Des photos : permettre l’envoi et la suppression des photos ;
— Des abonnements : permettre à l’abonné de consulter, commenter et partager un
article sur les réseaux sociaux ;
— de la messagerie : permet aux utilisateurs de la plateforme de communiquer entre
eux, excepté les abonnés.
— Des publicités : permettre l’ajout ou la suppression d’une publicité ;
— Des publications : possibilité d’ajout, modication et archiver des publications.
23
Analyse et Conception
1. L’application devra être extensible, c’est-à-dire qu’il pourra y avoir une possi-
bilité d’ajouter ou de modifier de nouvelles fonctionnalités ;
2. Le code doit être clair, pour permettre des futures évolutions ou améliorations ;
3. L’ergonomie : l’application doit offrir une interface conviviale, explicite et simple
à utiliser ;
4. Authentication : l’application devra être hautement sécurisée car les informations
ne devront pas être accessibles à tout le monde ;
5. Le contrôle des champs : l’application doit avoir un contrôleur des champs de
saisis, pour éviter l’introduction des informations qui ne correspondent pas aux types
des champs.
Un acteur représente un rôle joué par des entités externes (utilisateur, dispositif
matériel ou autre système) qui interagissent directement avec le système étudié.
La section 2.3 (Rôles des personnes au sein d’un organe de presse) du premier chapitre
nous a permis d’identifier les acteurs potentiels (y compris l’abonné) qui interagissent avec
le système :
— Administrateur : Le rôle de l’administrateur est la gestion des utilisateurs qui
peuvent accéder au système ;
— Le rédacteur en chef,
— Le journaliste,
— Le reporter,
— Le photographe,
— Les correspondants,
— Le chroniqueur,
— L’abonné.
Un cas d’utilisation (use case), modélise un service rendu par le système. Il ex-
prime les interactions acteurs/système et apporte une valeur ajoutée “notable” à l’acteur
concerné. Pour chaque acteur identifié précédemment on associe les cas d’utilisation qui
lui correspond.
24
Analyse et Conception
Ce diagramme résume tous les cas d’utilisations associés à tous les acteurs de notre
système.
25
Analyse et Conception
”Administrateur ”
26
Analyse et Conception
27
Analyse et Conception
28
Analyse et Conception
29
Analyse et Conception
30
Analyse et Conception
S’authentifier
Acteur(s)
— Abonnés,
— Journaliste,
— Correspondant,
— Reporteur,
— Chroniqueur,
— Rédacteur en chef,
— Administrateur
Scénario nominal
1. L’utilisateur demande l’accès à l’application
2. Le système affiche la page de connexion
3. L’utilisateur introduit son identifiant et le mot de passe
4. Il valide
5. Le système vérifie les informations introduit par l’utili-
sateur [A1]
6. Le système donne l’accès à l’interface correspondante
31
Analyse et Conception
Rédiger un article
Acteur(s)
— Journaliste.
Scénario nominal
1. Le système affiche la page d’accueil
2. L’utilisateur clique sur créer un article
3. Le système lui affiche l’éditeur de rédaction d’article
4. L’utilisateur rédige son article
5. Après avoir fini il valide ce qu’il a fait
6. Le système enregistre le document dans la base de
données et crée une version du document
7. Le système lui affiche son article
Les scénarios
d’alternatifs 3a. l’utilisateur peut inviter un autre journaliste à rédiger
ensemble
4a. l’utilisateur peut sauvegarder à chaque fois qu’il veut
4b. l’utilisateur peut envoyer des messages à son collabora-
teur (journaliste)
32
Analyse et Conception
Commenter un article
Acteur(s)
— Abonnés
Scénario nominal
1. Le système affiche les différents articles sur
la page d’accueil
2. L’utilisateur choisit un article et le consulte
3. L’utilisateur choisit de commenter l’article
4. Le système lui fait apparaı̂tre un petit
éditeur de texte
5. L’abonné commente et valide
6. Apres validation le système enregistre et af-
fiche le commentaire
FIN :
— Scenario nominal — affichage du commentaire.
33
Analyse et Conception
Valider un article
Acteur(s)
— Rédacteur en chef,
Scénario nominal
1. Le système affiche la page du rédacteur en chef
2. Il consulte les articles qui lui ont été soumis.
3. Le rédacteur en chef choisit un article
4. Le système lui affiche le contenu
5. Le rédacteur en chef consulte le contenu.
6. Après consultation il valide l’article pour pouvoir être
publié.
Les scénarios
d’alternatifs 5a. Après consulter du contenu par le rédacteur en chef il
peut décider de le renvoyer au rédacteur.
5b. Il peut décider de l’archiver
5c. Il peut décider de le publier
34
Analyse et Conception
3.3.1 Introduction
Cette partie vise à illustrer la phase de conception et les modèles UML associés, nous
commençons par établir les diagrammes de séquences des cas d’utilisation, ensuite nous
élaborons le diagramme de classe, suivi du passage de ce dernier en Modèle Logique de
Données (MLD).
S’authentifier
35
Analyse et Conception
36
Analyse et Conception
Publier un article
37
Analyse et Conception
Consultation abonnement
Le diagramme ci-dessous montre les séquences pour consulter un article par un abonné
et aussi pour télécharger ou partager (fonctions optionnelles)
38
Analyse et Conception
Création un article
La figure ci-dessous nous montre comment un journaliste rédige son article après avoir
recueilli ces informations.
sd Frame
Visual Paradigm Online Express Edition
Systeme BD
Journaliste
ref
Authentification
Creer un article
chargement de la page
editeur de texte
sd Opt
ref
Ajouter Jounaliste
REdiger article
Valider
Creer et sauvegarde article
chargement
affichage d'article
39
Analyse et Conception
40
Analyse et Conception
Cette section présente les règles permettant de décrire un schéma logique dans les
modèles relationnel et objet-relationnel à partir d’un diagramme de classe UML. Nous
donnons ci-après quatre règles (de R1 à R4) pour traduire un schéma UML en un schéma
relationnel équivalent. Il existe d’autres solutions de transformation, mais ces règles sont
les plus simples et les plus opérationnelles.[22]
Chaque classe du diagramme UML devient une relation. Il faut choisir un attribut
de la classe pouvant jouer le rôle d’identifiant. Si aucun attribut ne convient en tant
qu’identifiant, il faut en ajouter un de telle sorte que la relation dispose d’une clé primaire
(les outils proposent l’ajout de tels attributs). [22]
Les règles de transformation que nous allons voir dépendent des cardinalités/multiplicités
maximales des associations. Nous distinguons trois familles d’associations.
— Association un à plusieurs (R2) : Il faut ajouter un attribut de type clé
étrangère dans la relation fils de l’association. L’attribut porte le nom de la clé
primaire de la relation père de l’association. La clé de la relation père migre dans la
relation fils.[22]
— Association plusieurs à plusieurs (R3) : L’association (classe-association) de-
vient une relation dont la clé primaire est composée par la concaténation des iden-
tifiants des classes connectés à l’association. Chaque attribut devient clé étrangère
si la classe connectée dont il provient devient une relation en vertu de la règle R1.
Les attributs de l’association (classe-association) doivent être ajoutés à la nouvelle
relation. Ces attributs ne sont ni clé primaire, ni clé étrangère. [23]
41
Analyse et Conception
Transformation de l’héritage
Trois décompositions sont possibles pour traduire une association d’héritage en fonc-
tion des contraintes existantes dont la décomposition par distinction, décomposition des-
cendante, décomposition.[22]
Dans notre projet nous allons utiliser que le deuxième cas.
— décomposition descendante (push-down) : s’il existe une contrainte de totalité
ou de partition sur l’association, il est possible de ne pas traduire les relations issues
de la sur-classe. Il faut alors faire migrer tous ses attributs dans les relations issues
des sous classes. [22]
42
Analyse et Conception
43
Analyse et Conception
Le patron d’architecture logicielle MVC, est un modèle destiné à répondre aux besoins
des applications interactives en séparant les problématiques liées aux différents compo-
sants au sein de leurs architectures respectives.
44
Analyse et Conception
3.5 Conclusion
Ce chapitre nous a permit de décrire d’une façon détaillée, le fonctionnement de notre
système à travers les diagrammes de séquence dans le but de faciliter la réalisation et
la maintenance. Ensuite nous avons conçu le diagramme de classes de notre système qui
illustre d’une manière globale la structure des éléments qui constituent la base de données
associée à notre application.
Dans le chapitre qui va suivre nous entamons l’étape finale de notre projet qui est l’étape
d’implementation.
45
Implémentation
4
4.1 Introduction
Après avoir élaboré la conception de notre application, nous abordons dans ce cha-
pitre le dernier volet de ce rapport, qui a pour objectif d’exposer la phase de réalisation.
La phase de réalisation est considérée comme étant la concrétisation finale de toute la
méthode de conception. Nous commençons par la présentation de l’environnement de
développement, les langages de programmation et Framework, ainsi que les services web et
les architectures utilisés dans notre application. En fin, nous terminons par la présentation
des réalisations effectuées au cours de ce projet.
4.2.1 NetBeans
46
Implémentation
47
Implémentation
PHP
JAVA
SQL
48
Implémentation
HTML,CSS et JAVASCRIPT
Les CSS, Cascading Style Sheets (feuilles de styles en cascade), servent à mettre en forme
des documents web, type page HTML ou XML. Par l’intermédiaire de propriétés d’ap-
parence (couleurs, bordures, polices, etc.) et de placement (largeur, hauteur, côte à côte,
dessus-dessous, etc.), le rendu d’une page web peut être intégralement modifié sans aucun
code supplémentaire dans la page web.
Javascript est un langage de programmation, c’est une forme de code qui permet,
quand on sait l’écrire, de dicter à l’ordinateur quoi faire. Le code Javascript sert donc à
donner du dynamisme à la page. Sans lui, la page ressemble à une page de livre.
XML
JSON
49
Implémentation
4.3.2 Framework
Bootstrap
Bootstrap, kit CSS créé par les développeurs de Twitter, est devenu
en peu de temps le framework CSS de référence.Il s’agit d’un ensemble
de composants structurés qui sert à créer les bases et à organiser le code
informatique pour faciliter le travail des programmeurs. Il nous aide à
mettre en forme les pages web : organisation, aspect, animation. . .
Avec le système de classe, Bootstrap propose la possibilité de po-
sitionné des éléments HTML sur une page sans toucher une seule fois du code CSS. De
plus, en utilisant différents types de classe Boostrap, ce même positionnement peut-être
différent en fonction de quel type d’écran est utilisé pour naviguer sur le site. On peut donc
avoir un site web adapté aux smartphones et aux tablettes rien qu’avec des classes.[34]
50
Implémentation
CKEditor
CKEditor est un éditeur de texte HTML prêt à l’emploi conçu pour simplifier la
création de contenu Web. C’est un éditeur WYSIWYG qui apporte directement des fonc-
tionnalités de traitement de texte directement sur vos pages Web.
CKEditor est une application source ouverte, ce qui signifie qu’il peut être modifié de
la manière souhaitée. Il bénéficie d’une communauté active qui évolue constamment avec
l’application avec des add-ons gratuits et un processus de développement transparent
(transparent development proces.[24]
51
Implémentation
52
Implémentation
Sur cette image, nous avons l’affichage de la page d’accueil de l’application sur mobile.
53
Implémentation
54
Implémentation
4.4.4 Inscription
Sur cette interface l’abonné doit remplir le formulaire d’inscription, pour adhérer à un
type d’abonnement choisi préalablement à travers l’interface précédente.
55
Implémentation
56
Implémentation
57
Implémentation
58
Implémentation
Sur cette interface le rédacteur en chef, aura accès aux articles envoyés par les journa-
listes qu’il pourra ensuite publier, il aura accès aussi aux chroniques, listes des journalistes,
chroniqueurs... Il doit pouvoir affecter un journaliste à une tache.
59
Implémentation
60
Implémentation
61
Implémentation
Pour réaliser ce travail de rétro-ingénierie, nous avons adapté une démarche qui repose
sur deux approches :
Le point de départ de la réalisation de ce projet était d’abord une récolte des infor-
mations nécessaires pour présenter l’organisation de la presse afin de bien comprendre le
mode de fonctionnement d’une maison de presse.
Puis, nous nous sommes intéressés aux systèmes coopératifs dans le but de voir les
mécanismes individuels et collectifs du travail coopératif qui fait l’objet d’un champ
d’étude pluridisciplinaire appelé Computer Supported Cooperative Work (CSCW),
littéralement : Travail Coopératif Assisté par Ordinateur.
Ensuite nous avons entamé l’étape d’analyse et conception, en commencé par l’identi-
fication des besoins qu’on a modélisé sous forme de diagrammes de cas d’utilisation,
diagrammes de séquences, diagramme de classe et terminer par la réalisation de notre
application.
62
Appendices
63
Études des techniques de communication
A
synchrone et asynchrone
A.1.1 Définition
Une communication synchrone peut être définie comme une communication en temps
réel entre deux personnes. Terme qui désigne une communication entre deux personnes
ou plus qui a lieu simultanément. Il est marqué par le fait que tous les communicants sont
impliqués dans le processus de communication en même temps, mais pas nécessairement
au même endroit.
A.1.2 Fonctionnement
64
Études des techniques de communication synchrone et asynchrone
Avant que l’échange de messages dans ce scénario synchrone puisse commencer, l’expéditeur
et le destinataire doivent établir une session de communication et convenir de la partie qui
contrôlera la situation. Une fois la session établie, la conversation bidirectionnelle, donner
et prendre, a lieu en temps réel. Lorsque vous tapez et envoyez un message de discus-
sion, la partie à l’autre bout est présente et attend activement de recevoir ou d’entendre
votre message, puis d’y répondre immédiatement. Les deux parties travaillent ensemble
en même temps, leurs horloges étant synchronisées (nonobstant les différences de fuseaux
horaires), autrement dit synchronisées.
Dans la transmission synchrone, les données circulent en mode duplex intégral sous
la forme de blocs ou de trames. La synchronisation entre l’expéditeur et le destinataire
est nécessaire pour que l’expéditeur sache où le nouvel octet commence (car il n’y a pas
d’espace entre les données).
Avantages
Inconvénients
65
Études des techniques de communication synchrone et asynchrone
A.2.1 Définition
La communication asynchrone consiste à échanger des messages, par exemple entre les
hôtes d’un réseau ou les périphériques d’un ordinateur, en lisant et en répondant selon la
planification, et non selon une horloge synchronisée pour l’émetteur et le destinataire, ou
en temps réel . Il est généralement utilisé pour décrire des communications dans lesquelles
des données peuvent être transmises par intermittence plutôt que dans un flux continu.
A.2.2 Fonctionnement
Dans les programmes informatiques, une opération asynchrone signifie qu’un processus
fonctionne indépendamment des autres processus.
Il est nécessaire que le récepteur puisse faire la distinction entre des données valides
et du bruit (c’est-à-dire des signaux aléatoires). Dans les communications informatiques,
cela se fait généralement par l’utilisation de bits spéciaux au début et à la fin de chaque
message.
Pour cette raison, la communication asynchrone est parfois appelée start-stop transmission
66
Études des techniques de communication synchrone et asynchrone
— e-mail,
— forum,
— sms.
Inconvénients
La messagerie synchrone
Messages asynchrones
67
Études des techniques de communication synchrone et asynchrone
68
L’univers Android
B
B.1 L’informatique mobile
La première façon de considérer l’informatique mobile, c’est de fournir aux utilisa-
teurs des appareils (portable). L’utilisation de ces appareils reste immersive, c’est-à-dire
que l’utilisation de ces appareils requiert l’attention de l’utilisateur et applique tout mou-
vement indépendamment de celui-ci. Cette approche est souvent appelée nomade.
B.2.1 Présentation
Une application mobile est un type de logiciel ou programme conçu pour s’exécuter
sur un appareil mobile, tel qu’un smartphone ou une tablette. Les applications mobiles
servent souvent à fournir aux utilisateurs des services similaires à ceux du PC.
69
L’univers Android
Il s’agit d’application conçue pour une grande partie de systèmes d’exploitation fiables
par les smartphones en se référant à un langage particulier à chacun d’eux et est distribuée
uniquement par l’intermédiaire de son store (AppStore IOS, PlayStore pour Android,
...). Pour développer une application pour deux plateformes différentes, il vaut mieux de
développer deux applications distincts. Ce mode d’application est accessible seulement
sur les plateformes d’applications suivent ses particularités et ses formules.
Le souci des applications natives est que les utilisateurs doivent avoir un système d’exploi-
tation mobile donné pour qu’ils puissent les utiliser. Pour assurer un usage plus exponentiel
de ces applications mobiles, il faut penser à lancer la même application mobile compatible
à tout système d’exploitation mobile.
Conçue avec HTML et CSS et accessible via un navigateur internet, l’avantage de ces
applications, c’est le gain de temps et d’argent réalisé grâce à leur développement unique
et leur déploiement multiplateformes. Dans un cas, vous développez une seul application
alors que dans l’autre, vous développez trois applications (pour Android, IOS et Windows
Phone).
Il s’agit d’une application mobile qui fusionne entre les caractéristiques de web appli-
cation (développement en HTML 5) et celles de l’application native. De cette manière,
l’application mobile sera accessible sur toutes les plateformes d’application. Ce type d’ap-
plication mobile minimise les charges et la durée de son développement même si cela sera
au détriment de perfectionnement et de la qualité qui caractérise l’application native. No-
tons que les applications hybrides sont accessibles exclusivement sur iPhone et Android.
Cette solution nous permet d’utiliser un seul et même outil pour le développement et les
langages issus du développement Web pour tous les mobiles.
B.3.1 Présentation
Notons que parmi les differents types d’application mobiles cités ci-dessus, nous avons
choisi de concevoir une application native conçu spécifiquement pour le système d’exploi-
tation Android.
70
L’univers Android
Une application Android est une application mobile spéciquement développée pour les
smartphones et les tablettes utilisant le système Android. Elles sont de nature très va-
riables tel que les applications jeux, commerce, utilitaire, service d’information .
Le contrat de licence pour Android respecte les principes de l’open source, c’est-à-dire
que vous pouvez à tout moment télécharger les sources et les modifier selon vos goûts.
Android utilise des bibliothèques open source puissantes, comme par exemple SQLite pour
les bases de données et OpenGL pour la gestion d’images 2D et 3D.
Android est gratuit, autant pour les développeurs que pour les constructeurs.
Toutes les APIs mises à disposition facilitent et accélèrent grandement le travail. Ces
APIs sont très complètes et très faciles d’accès. De manière un peu caricaturale, on peut
dire que vous pouvez envoyer un SMS en seulement deux lignes de code (concrètement, il
y a un peu d’enrobage autour de ce code, mais pas tellement).
71
L’univers Android
Le Play Store (anciennement Android Market) est une plateforme immense et très
visitée ; c’est donc une mine d’opportunités pour quiconque possède une idée originale ou
utile.
B.4.5 Flexible
B.4.6 Ingénieux
L’architecture d’Android est inspirée par les applications composites, et encourage par
ailleurs leur développement. Ces applications se trouvent essentiellement sur internet et
leur principe est que vous pouvez combiner plusieurs composants totalement différents
pour obtenir un résultat surpuissant. Par exemple, si on combine l’appareil photo avec le
GPS, on peut poster les coordonnées GPS des photos prises.
72
Références Bibliographiques
73
L’univers Android
74