République Tunisienne
Ministère de l'enseignement
supérieur
Et de la recherche scientifique et de la
technologie
Université de la Manouba
![](Developpement-d-une-application-de-contrle-parental1.png)
251657728
Institut supérieur de la comptabilité
et d'administration des entreprises
Licence Fondamentale en Informatique de
Gestion
Projet de fin d'étude
Développement d'une application de contrôle
parental
Réalisé par : Mzoughi
Marouene
Kamoun Malik
Encadré par : Jalila Ben
Ghorbel(ISCAE)
Abd Essabour
Arous(ANSI)
Organisme d'accueil :
L'Agence Nationale de la Sécurité
Informatique
Dédicace
De plus profond de mon coeur et avec le plus grand
plaisir de ce monde, je dédie ce travail :
A mes chers parents pour tous les sacrifices qu'ils ont
consentis pour mon éducation et pour tout ce qu'ils ont enduré
pour satisfaire toutes mes sollicitations.
Que le dieu les préserve en bonne santé
et longue vie
A toute la famille Mzoughi
A mes chers amis toujours la pour moi
Mzoughi Marouene
Dédicace
A mon père,
A ma mère,
Leurs sacrifices et leur amour
ont fait de moi ce que je suis.
Ce travail est une occasion pour
leur exprimer mon éternelle
reconnaissance.
Avec tous mes souhaits de
réussite et de bonheur à mon
frère et à tous mes amis.
Kamoun Malik
Remerciements
Nous voulons adresser nos profonds remerciements et toute
notre gratitude à nos honorables encadrant ;
Monsieur Abd Essabour Arous
« l'ANSI »,
Mademoiselle Jalila ben Ghorbel, à
l'Institut Supérieur De La Comptabilité et d'Administration des
Entreprises pour la disponibilité, l'aide, l'encouragement et le
témoignage ce qui nos a permis de mener ce projet dans des bonnes
conditions.
Je tiens à remercier aussi mes professeurs et
enseignants de l' institut supérieur de comptabilité et
d'administration des entreprises de Tunis qui n'ont pas hésité
durant notre formation de nous faire part de leurs connaissances et
conseils.
Je ne peux pas oublier d'adresser mes remerciements à
tous nos enseignants durant notre éducation de l'école primaire
et secondaire.
Enfin, nous adressons vivement nos remerciements à
tous ceux qui ont participé de près ou de loin à la
réalisation de ce travail.
Sommaire
Introduction
générale...............................................................................12
Chapitre 1 : contexte générale du
projet
Introduction............................................................................................15
I Présentation du cadre du
projet...................................................15
I.1 Contexte
générale .........................................................................15
I.2 Présentation générale de
l'agence nationale de la sécurité
informatique .......16
I.3 Présentation général du
projet .........................................................18
II Etude de l'existant
.........................................................................................................19
II.1 Description de l'existant
................................................................19
II.2 Limite de
l'existant ........................................................................20
III. Spécification des
besoins ..................................................................22
III.1 Les besoins
fonctionnels .................................................................22
III.2 Les besoins non
fonctionnels ...........................................................23
Conclusion..............................................................................................24
Chapitre 2 : conception
Introduction ...........................................................................................26
I.
Conception...................................................................................26
II. Vue
statique.................................................................................27
II.1 Modèles de cas
d'utilisation............................................................27
III.1.1
Généralités ............................................................................27
II.1.1.1 Vue de cas
d'utilisation ........................................................27
II.1.1.2
Acteur .............................................................................27
II.1.1.3 Cas
d'utilisation .................................................................28
II.1.2 Identification des
acteurs............................................................28
II.1.3 Diagramme de cas
d'utilisation .....................................................28
II.1.3.1 Diagramme de cas d'utilisation
général ....................................29
II.1.3.2 Identification des cas d'utilisation par
paquetage ........................31
II.1.3.3 Descriptions des cas
d'utilisation ............................................33
II.1.3.3.1 Cas d'utilisation
« Inscription » ............................................33
II.1.3.3.2 Cas d'utilisation
« création d'un
profil ».............................35
II.1.3.3.3 Cas d'utilisation
« contrôler les plages
horaires »..................37
II.1.3.3.4 Cas d'utilisation
« édition du
profil ».................................38
II.1.3.3.5 Cas d'utilisation
« l'historique des sites
visitées »..................39
II.1.3.3.6 Cas d'utilisation «
configuration des alertes ».....................40
II.1.3.3.7 Cas d'utilisation « choisir
les fonctions activées ».................42
II.1.3.3.8 Cas d'utilisation « blocage
des applications ».......................43
II.1.3.3.9 Cas d'utilisation
« définition des mots
clés »........................44
II.1.3.3.10 Cas d'utilisation
« édition des
listes »...............................47
II.1.3.3.11 Cas d'utilisation « navigation
sur internet ».......................48
II.3.3.12 Cas d'utilisation« utilisation
des applications » ...................49
II.1.4 Diagramme de
classe...............................................................50
III. Les vues
dynamiques...................................................................51
III.1 Les diagrammes de
séquences ........................................................51
III.1.1 Diagramme de séquence
« inscription » ........................................52
III.1.2 Diagramme de séquence
« configuration des
alertes » .......................54
III.1.3 Diagramme de séquence
« authentification »...................................55
III.1.4 Diagramme de séquence
« alerte » ...............................................56
III.2 Diagramme
d'activité....................................................................57
III.2.1 Diagramme d'activité
« Alerte » ..................................................58
III.2.2 Diagramme d'activité
« Edition
profil » .......................................60
Conclusion..............................................................................................60
Chapitre 3 : Réalisation
Introduction:.....................................................................................................62
I. Environnement du
travail ..........................................................62
I.1 Environnement
matériel ................................................................62
I.2 Environnement
Logiciels ................................................................63
I.3 Outils de
développement .................................................................63
II. Interfaces de
l'application ...........................................................63
II.1 Interface
« Inscription »..................................................................63
II.2 Interface «
Authentification »...........................................................67
II.3 Interface «
Accueil »......................................................................68
II.4 Interface « Création du
profil ».........................................................69
II.5 Interface « Edition
profil »
..............................................................72
II.6 Interface « Fonctions
activées ».........................................................74
II.7 Interface «
Option ».......................................................................75
II.8 Interface
« Planification »................................................................78
II.9 Interface « Configuration des
alertes »................................................79
II.10 Interface « Edition des
listes »...........................................................80
II.11 Interface « Mots
clés » ...................................................................83
II.12 Interface « Blocage des
applications »..................................................84
II.13 Interface « site
visités »...................................................................87
Conclusion ...........................................................................................88
Conclusion
générale..........................................................................89
Bibliographie ....................................................................................91
Annexe A : Outils et techniques de
programmations
I. Environnement Qt creator
SDK .........................................................92
II. XML (eXtensible Markup
Language) ..................................................94
III. Le langage
C++ ..............................................................................95
Annexe B : Outils de conception
I. Intérêt d'une méthode
orienté
objet ......................................................96
II. Pourquoi
UML ...............................................................................96
III. Entreprise Architect
(Sparx) ...............................................................97
Liste des figures
Figure 1 : « interface Log
Protect ».............................21
Figure 2 « Cas d'utilisation
général ».............................29
Figure 3 « Paquetage
administrateur »..........................31
Figure 4 « Paquetage
Enfant/adolescent »............................32
Figure 5 « Cas d'utilisation
Inscription »............................33
Figure 6 « cas d'utilisation création
profil »..............................35
Figure 7 « cas d'utilisation contrôle plage
horaire »....................37
Figure 8 « Cas d'utilisation Edition
profil ».........................38
Figure 9 « Cas d'utilisation l'historique des sites
visitées »....................39
Figure 10« Cas d'utilisation configuration
alertes ».......................40
Figure 11 « Cas d'utilisation fonctions
activées »....................41
Figure 12 « Cas d'utilisation Blocage des
application »...................43
Figure 13 « Cas d'utilisation mots
clés »........................45
Figure 14 « Cas d'utilisation Editions des
listes »...................47
Figure 15 « Cas d'utilisation navigation
internet »......................48
Figure 16 « Cas d'utilisation utilisation des
application »..............49
Figure 17 « Diagramme de
classe ».............................50
Figure 18 « Séquence
inscription ».............................52
Figure 19 « Séquence activation
Alerte»..........................54
Figure 20 « Séquence
Authentification»..........................55
Figure 21 « Séquence
Alerte»...................................56
Figure 22 « Activité
Alerte».....................................58
Figure 23 « activité édition
profil»..............................59
Figure 24« Interface
inscription».................................64
Figure 25 « Interface
inscription»................................65
Figure 26 « Interface inscription»
..............................66
Figure 27 « Interface Authentification»
.........................67
Figure 28 « Interface accueil»
...............................68
Figure 29 « Interface création profil»
............................69
Figure 30 « Interface création profil»
............................70
Figure 31 « Interface création profil»
............................71
Figure 32 « Interface Edition profil»
..............................72
Figure 33 « Interface Edition profil»
..............................73
Figure 34 « Interface Fonctions activées»
..........................74
Figure 35 « Interface Fonctions surveillance»
.......................75
Figure 36 « Interface Fonctions Authentification»
....................76
Figure 37« Interface Authentification»
..............................77
Figure 38 « Interface Plages horaires»
.........................78
Figure 39« Interface alertes »
....................................79
Figure 40 « listes blanches »
...............................80
Figure 41« listes noires»
........................................82
Figure 42« listes mots clés»
.................................83
Figure 43« listes Blocage des applications»
...........................86
Figure 44« Sites visitées»
.......................................87
Figure 45« Qt multiplateforme»
..............................93
Figure 46« société de Qt»
....................................94
Figure 47« Sparx»
........................................98
Introduction générale
Internet est un gigantesque réseau qui utilise
l'ensemble de câbles et de fils du réseau
téléphonique, une immense toile d'araignée, qui relie
près de 10.000.000 d'ordinateurs hôtes, ce qui permet à
plus de 100.000.000 de personnes dans le monde de se relier à internet
par modem à partir de leur micro-ordinateur.
Ce monde virtuel est le paradis pour ceux qui souhaitent
apprendre, améliorer leur culture,
découvrir des nouveaux domaines, ou encore communiquer.
Mais, tout comme dans la vie réelle, Internet est aussi un monde
peuplé de dangers. Si les adultes en sont, généralement,
bien conscients, ce n'est malheureusement pas le cas des jeunes, pour qui
Internet peut très vite se révéler dangereux puisqu'ils
forment la population la plus exposée et la plus ciblée par les
prédateurs et qui tombe le plus souvent dans leurs pièges.
En effet, c'est l'âge, où l'on commence à
vouloir échapper à la surveillance des parents pour se faire des
relations hors du cercle familial.
Trop confiants dans l'anonymat apparent d'Internet, les jeunes
adolescents prennent souvent des risques dont ils ne comprennent pas
réellement la portée.
D'où arrive la nécessité d'une solution
pour contrôler et restreindre l'accès de nos enfants à
l'internet en les limitant à certaines catégories de contenus,
ces solutions sont généralement désigner par
« logiciel de contrôle parental ». Et dans ce cadre,
s'inscrit notre projet de fin d'étude intitulé
« développement d'une application de contrôle
parentale », réalisé au sein de l'organisme
« Agence National de la Sécurité
Informatique ». Ce projet a été encadré par
« M. Abd Sabour AROUS » au sein de l'agence et par
« Mlle Jalila BEN GHORBEL » au sein de l'institut. La
réalisation de ce projet a duré deux mois et demi
Pour l'élaboration de notre application, nous avons
été amené à réalisé plusieurs
étapes. Ces étapes nous ont permit d'acquérir des
connaissances et des compétences pour mieux réaliser notre
objectif. Pour cela nous avons suivi la méthodologie suivante :
Tout d'abord, dans un premier chapitre nous avons mis en
évidence, les motivations, atouts, problématique qui nous a
amené à réaliser ce projet. Ainsi, une description de
l'état de l'art de notre projet.
Ensuite, après avoir réalisé une
étude exhaustive du cadre général, nous avons
entamé le deuxième chapitre qui va décrire la partie
conception de notre projet. Pour cela, nous avons présenté des
diagrammes de modélisation pour mieux gérer et concevoir notre
projet.
Enfin, le dernier chapitre a été
dédié a la partie réalisation où nous avons
présenté la partie applicative du projet et les
différentes interfaces de notre logiciels
Ce rapport a été conclu par une conclusion
générale.
Chapitre 1:
Contexte général du projet
I. Présentation du cadre du projet
II Etude de l'existant
III Spécification des besoins
Introduction:
Dans ce chapitre nous présentons l'organisme au sein
duquel nous avons effectué notre projet de fin d'étude, ses
activités et ses missions. Nous présenterons par la suite
Les spécificités de notre projet et son cadre
général
I Présentation du cadre du projet:
I.1 Contexte générale:
En Tunisie, l'accès à internet, par les enfants
et dans les familles a beaucoup augmenté depuis ces dernières
années. Il est donc nécessaires que les parents prennent
conscience de l'importance de protéger leurs enfants contre toute type
d'agression sur internet ,alors l'agence national de la sécurité
informatique désire proposer un logiciel de contrôle parental
pour convaincre les fournisseurs d'accès d'interne F.A.I en
Tunisie de le proposer dans leurs packs en prenant exemple sur les fournisseurs
d'accès à internet internationaux. , puisque ce produit
représentent déjà une grande valeur pour ces derniers.il
est même offert avec chaque packs ADSL.
Planification :
![](Developpement-d-une-application-de-contrle-parental2.png)
I.2 Présentation générale de
l'agence nationale de la sécurité informatique :
![](Developpement-d-une-application-de-contrle-parental3.png)
L'agence effectue un contrôle général des
systèmes informatiques et des réseaux relevant des divers
organismes publics et privés.
C'est en 1999 qu'à lieu le lancement, sur la base du
décret n°99-2768 du 6 décembre 1999, d'une
« unité de gestion par objectifs pour la réalisation du
développement de la sécurité informatique » au
sein du secrétariat d'État à l'informatique, dont le
rôle est de suivre les derniers développements en matière
de sécurité informatique et de veiller à
l'amélioration de la sécurité des applications et
infrastructures nationales critiques.
Le rôle et la structure de l'unité est
modifiée en 2002 pour devenir une direction générale, en
charge (en plus des fonctions précédentes) du
développement d'une stratégie nationale et d'un plan national
dans le domaine de la sécurité informatique et de la
définition des instruments exécutifs pour une mise en oeuvre
efficace. L'année suivante, un conseil des ministres restreint,
présidé par le « président Zine
el-Abidine Ben Ali », est dédié
à l'informatique et à la sécurité des
systèmes d'information.
Il prend les décisions suivantes :
· Création d'une agence nationale
spécialisée dans la sécurité des systèmes
d'information (outil exécutif de la stratégie et du plan
national) ;
· Introduction d'un audit obligatoire et
périodique dans le domaine de la sécurité
informatique ;
· Création d'un corps d'auditeurs certifiés
en sécurité des systèmes d'information.
C'est donc en 2004 qu'a lieu la création de
« l'Agence nationale de la sécurité
informatique »sur la base de la
loi n°2004-5. [Ref06]
Mission:
L'agence est chargée des missions
suivantes:
ü Veiller à l'exécution des orientations
nationales et de la stratégie générale en systèmes
de sécurité des systèmes informatiques et des
réseaux
ü Suivre l'exécution des plans et des programmes
relatifs à la sécurité informatique dans le secteur public
à l'exception des applications particulières à la
défense et à la sécurité nationale et assurer la
coordination entre les intervenants dans ce domaine
ü Assurer la veille technologique dans le domaine de la
sécurité informatique
ü Etablir des normes spécifiques à la
sécurité informatique et élaborer des guides techniques en
l'objet et procéder à leur publication
ü OEuvrer pour encourager le développement de
solutions nationales dans le domaine de la sécurité informatique
et à les promouvoir conformément aux priorités et aux
programmes qui seront fixés par l'agence
ü Participer à la consolidation de la formation et
du recyclage dans le domaine de la sécurité informatique
ü Veiller à l'exécution des
réglementations relatives a l'obligation de l'audit périodique de
la sécurité des systèmes informatiques et des
réseaux. [Ref06]
I.3 Présentation général du
projet :
L'arrivée d'internet est une immense
opportunité, mais malheureusement il présente aussi des risques
pour les mineurs, ce qui augmente la nécessité d'avoir des
solutions adéquates pour sécuriser/contrôler la navigation
des ces derniers sur internet.
Ce type de solution est souvent désigné par
"Logiciel de contrôle parental». De ce fait, notre projet consiste
à développer une application qui doit permettre aux parents de
limiter l'accès à des sites internet pour adulte ou dont le
contenu aborde la pornographie, les armes, les drogues ou incite a la violence
ou a des sites dont le contenu peut provoquer une perte de temps (chat, jeux en
ligne....).
Notre application offre à l'utilisateur un historique
des sites visités sur le net, il protège l'ordinateur contre les
infections informatiques par des fichiers malveillants, assure la vie
privée des enfants par l'interdiction de transmettre ses
coordonnées personnelles et surveille le comportement des enfants sur
internet et même peut interdire l'accès à certain sites
considéré comme « incorrecte » par les
parents.
Notre problématique consiste à réaliser
ces objectifs, donc nous avons opté pour des solutions professionnelles
et complètes.
Les fonctionnalités sur lesquels nous avons
travaillé sont :
· Blocage des applications
· Filtrage des sites
· Filtrage par mot clés (Interdire l'accès
a des sites sensibles par mots clés)
· Limiter les heures de navigations
· Filtrer les téléchargements
L'objectif que nous avons fixé tout le long de ce stage
est d'assurer le succès de l'application en offrant la qualité
requise grâce, en premier lieu, à l'intégration d'une
interface conviviale et ergonomique qui facilitera l'apprentissage du
système, qui incitera l'utilisation et l'intégration des
nouvelles technologies de l'information.
II Etude de l'existant
Cette partie est consacrée à l'étude de
l'existant, qu'est une étape essentielle avant tout travail de
développement dans le domaine informatique puisque elle
représente le premier contact du concepteur avec le projet à
réaliser. Nous allons passer ensuite à critiquer l'état
présent en donnant une vue sur les différentes étapes
conduisant à la réalisation de notre projet.
II.1 Description de l'existant :
Notre projet consiste à réaliser une
application de contrôle parental qui permet pendant l'absence des parents
de bloquer ou interdire l'accès a des sites, des applications et des
téléchargements. L'apparition de cette idée est du a
l'évolution de l'internet, qui a influé, d'une part sur la
mentalité de la société et sur le comportement des jeunes,
ce changement a modifié la vie familiale en général est
surtout la communication entre les parents et les enfants qui est devenu
presque absente. Et qui a rendu d'une autre part la surveillance et le
contrôle de l'utilisation de cette technologie un peu difficile puisque
les enfants passe beaucoup de temps sur Internet, principalement la nuit, et
fréquente les salons de conversations. Il n'y a pas d'identification des
personnes qui fréquentent ces zones réservées aux jeunes.
Ceux-ci cherchent à entrer en contact avec des mineurs en dehors des
heures scolaires et ils le font le soir et la nuit.
Il est donc nécessaire que les parents prennent
conscience de l'importance de protéger leurs enfants contre toute
nature d'agression sur Internet d'où la création des solutions
qui protège et limite l'accès a internet afin de garantir une
bonne éducation et de profiter de cette ressource dans les bonnes
conditions.
Plusieurs solutions sont disponibles aujourd'hui que se soit
en open source, free ou payant.
Pour les contrôles parentaux commerciaux qui sont
développé par une entreprise, dont le but est de gagner de
l'argent sur l'utilisation du logiciel, On cite
« Parental Filtre 2 ».
C'est le seul contrôle parental qui prend en compte tous
les aspects de l'utilisation de l'ordinateur et d'internet, il filtre les
contacts, protège les informations bloque les
téléchargements des applications et surtout il offre aux
utilisateurs l'administration et le suivi a distance .on peut dire que ce
logiciel est presque parfait il possède une interface ergonomique et
conviviale, ainsi que des fonctionnalités importantes qui garanti un
contrôle efficace. [Ref13]
Nous pouvons parler aussi de « Windows
Vista control » qui est intégrer avec Windows
mais ce dernier reste un peut limiter. Nous ne pouvons pas dire vraiment que
c'est un logiciel de contrôle parental.
Passant maintenant aux applications free qui sont des logiciel
fourni avec l'autorisation pour quiconque de l'utiliser, de le copier, et de le
distribuer, soit sous une forme conforme à l'original, soit avec des
modifications, ou encore gratuitement ou contre un certain montant.
Parmi ces derniers on trouve « Log
Protect » qui permet de bloquer des applications et des
programmes, filtrer les informations personnelles .......Ce logiciel
possède une configuration des alertes très efficace, en cas ou
votre enfant essaye de faire une recherche avec un mot clé
définit dans la liste des mots interdites, « Log
Protect » le stoppe, affiche un message et ainsi de
suite sur trois alertes. Puis il déclenche une action. Il permet aussi
de définir des plages horaires pour chaque application. [Ref04]
Un autre contrôle gratuit « Free
Angel », qui permet de créer ou éditer
des profils adolescent et enfant pour personnaliser l'utilisation du logiciel
en fonction de vos besoins, définir les plages horaire de connexion et
plein d'autre fonctionnalités. [Ref05]
Ce logiciel a démontré son efficacité en
termes de filtrage lors de test « ONG E-enfance »
et « Action Innocence ». En termes de
fonctionnalité le logiciel a également été
distingué par « Action Innocence » en se classant
second sur le marché des logiciels de contrôle parental.
Apres cette étude globale de l'existant nous allons
dégager les problématiques de contrôle parental et
montré ses insuffisances et ses limites.
II.2 Limite de l'existant :
Plusieurs insuffisances sont constatées dans le
fonctionnement des contrôles parentaux actuel, Nous allons essayer de
traiter quelques unes (les insufficences majeurs qui peuvent gêner les
utilisateurs) pour satisfaire les clients et atteindre la performance dans ce
produit.
Nous commençons par « Log Protect »
qui oblige les utilisateurs de crée un profil de contrôle standard
c'est-à-dire que l'utilisateur n'a pas le droit de préciser a
chaque enfant ces fonctionnalités (bloque tous, passe tous) en plus son
interface graphique mal présenté et les couleurs sont mal choisi,
elle manque de l'innovation et n'attire pas les utilisateurs
![](Developpement-d-une-application-de-contrle-parental4.png)
Figure 1 : « interface Log
Protect »
Pour Free Angel, on constate des messages d'erreur indiquant
l'impossibilité d'activé la protection parental qu'après
la fermeture du MSN Messenger, même si que ce dernier est
fermé, ceci peut gêner énormément les utilisateurs.
Enfin, certains contrôle parental offert ou
proposé par les FAI (Orange Wanadoo.......) refusent les connexions
a leur serveur SMTP donc ils sont paramétrer par default d'où ils
impliquent ses choix aux clients, par contre les applications disponible sur
internet donnent la liberté aux utilisateurs de les configurer selon
leurs besoins.
III. Spécification des besoins :
Dans cette partie nous allons analyser les besoin fonctionnel
ainsi que non fonctionnel de notre logiciel.
III.1 Les besoins fonctionnels :
Nous présentant dans cette partie les besoins
fonctionnels classés par acteurs. Nous définissons un acteur
comme étant une personne, un matériel ou un logiciel qui
interagie avec le système dans le but de réaliser une plus
value.
Dans notre application on a deux types d'acteurs à
savoir:
-Administrateur
-Enfant/ Adolescent
v Administrateur:
Le système doit permettre aux parents de:
-Créer un profil administrateur identifie par un nom et
un mot de passe.
-Créer, modifier et supprimer un profil d'enfant/
adolescent.
-Définir les règles de filtrage (une liste noire
pour adolescent, une liste blanche pour enfant, téléchargement,
application, mots-clés, de donner ses coordonnées personnels),
----fixer des plages horaires et consulter l'historique des sites
visités.
v Enfant/ Adolescent:
Le système doit garantir:
-Une navigation sécurisée
-Organisation et gérer le temps de la navigation et
l'utilisation de l'ordinateur
-Protection contre le contenue abusif et choquant de violence
et de pornographie.
III.2 Les besoins non fonctionnels :
Les besoins non fonctionnels spécifient les
propriétés du système telles que les contraintes
d'environnement et d'implémentation, la performance, la
maintenabilitè, l'extensibilité, la flexibilité et la
sécurité des données.
-Temps de réponse:
Les interfaces de notre application doivent réagir en
l'espace de deux secondes au maximum.
-Besoin d'une interface
conviviale:
En effet, l'application devra être facile à
comprendre, facile à gérer et à manipuler.
-L'implémentation :
Nécessite d'avoir une implémentation modulaire
claire et simple pour permettre par la suite la maintenabilitè,
l'extensibilité, et l'amélioration de l'application d'une
manière facile. Il faut donc faire un développement par
composition et se conformer à des standards.
-Confidentialité:
Les utilisateurs de notre application sont identifiés
par le système en fonction de leur Pseudo (login), de leur mot de
passe.
-Extensibilité:
L'application devra supporter des plugins dans lequel on peut
ajouter des nouvelles fonctionnalités.
Conclusion:
Tout au long de ce chapitre nous avons présenté
l'organisme d'accueil et les besoins nécessaires a la réalisation
de notre projet en passant par plusieurs étapes commençons par
l'étude de l'existant tout en comprenant les besoins de l'entreprise et
déterminant les problématiques actuelles a fin de proposer les
solutions adéquates ainsi que les technologies nécessaires pour
la réalisation de nos objectifs.
Mais, avant d'entamer la phase de la réalisation de
l'application, il est primordial de présenter une conception
détaillée de notre travail qui fera l'objet du chapitre
suivant
Chapitre 2:
Conception
I Conception
II Vue statique
III Les vues dynamiques
Introduction :
L'étude conceptuelle est une phase importante du cycle
de développement de tout système informatique. Dans ce chapitre,
nous exposants les éléments conceptuels de notre travail et nous
détaillons l'architecture retenue pour construire notre logiciel.
I Conception :
UML (Unified Modeling Langage) est une approche oriente objet
de modélisation qui permet de modéliser un problème d'une
manière standard. Le langage définit neufs diagrammes pour
représenter les différents points de vue de la
modélisation. Ils permettent de visualiser et de manipuler les
éléments de la modélisation, ces diagrammes seront
classifiés selon leur but en deux vues.
· Vue Statique :
Représenter par des diagrammes qui définissent l'avis
statique de conception (les diagrammes des cas d'utilisations, les diagrammes
de classes, les diagrammes d'objet et les diagrammes de déploiement).
· Vue Dynamique : se
décompose de quatre diagrammes : (les diagrammes de séquence, les
diagrammes d'activité, les diagrammes de collaboration ainsi que les
diagrammes d'états transitions).
II . Vue statique :
Les vues statiques représentent des schémas de
conception à caractère stable ou immobile pour les
différents processus de l'application. Nous allons s'intéresser
au cas d'utilisation.
II.1 Modèles de cas d'utilisation:
II.1.1 Généralités
II.1.1.1 Vue de cas d'utilisation :
La vue de cas d'utilisation joue un rôle particulier en
ce qui concerne l'architecture. Elle
contient quelques scénarios ou des cas d'utilisation
qui sont utilisés initialement pour la découverte et la
conception de l'architecture lors de la création et l'élaboration
des phases, mais plus tard, ils seront utilisés pour valider les
différentes vues du système.
Un scénario est un chemin particulier à travers
la description abstraite et générale fournie parle cas
d'utilisation.
Les cas d'utilisation donnent une vue d'altitude des
interactions visibles d'un système, ils ne fournissent pas
d'informations sur la structure interne. Ils mettent en évidence les
rôles de ses utilisateurs, et contribuent à catégoriser ces
derniers, définir leurs attentes (objectifs du système) et leurs
obligations (pilotage du système). La recherche des cas d'utilisation
permet, en particulier, de formaliser les réponses aux questions :
"Pourquoi" (les intentions du système) et "Pour qui" (les acteurs).
II.1.1.2 Acteur :
Un acteur est une entité externe au système, en
interaction avec ce dernier. L'entité est un rôle joué par
un utilisateur, par exemple un comptable, ou par un autre système, un
capteur par exemple.
Un acteur peut consulter et/ou modifier directement
l'état du système, en émettant et/ou en recevant des
messages susceptibles d'être porteurs de données.
II.1.1.3 Cas d'utilisation :
Un cas d'utilisation spécifie une séquence
d'actions, avec variantes éventuelles, réalisée par le
système en interaction avec ses acteurs.
Le cas d'utilisation décrit le comportement attendu des
utilisateurs et du système.
II.1.2 Identification des acteurs:
-Un acteur représente l'abstraction d'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é.
-Un acteur peut consulter et/ou modifier directement
l'état du système, en émettant et/ou en recevant des
messages éventuellement porteurs de données.
Dans le cadre de notre projet,, deux acteurs entre en jeu:
-Administrateur (parent) : il assure la configuration de
l'application.
-Enfant/Adolescent : il utilise les applications et
navigue sur internet
II.1.3 Diagramme de cas d'utilisation :
Les diagrammes de cas d'utilisations décrivent sous la
forme d'actions et de réactions le comportement du système du
point de vue utilisateurs .ils permettent de définir les limites et les
relations entre le système et son environnement et ils recouvrent toutes
les phases de développement depuis le cahier des charges jusqu'à
l'implémentation .un cas d'utilisation représente l'utilisation
et le fonctionnement du système
II.1.3.1 Diagramme de cas d'utilisation
général :
![](Developpement-d-une-application-de-contrle-parental5.png)
Figure 2 « Cas d'utilisation
général »
Dans notre projet le diagramme ci -dessus représente
les différents cas d'utilisations offertes à l'utilisateur du
contrôle parental (un administrateur ou un enfant/adolescent) et qui sont
les suivants :
- Pour l'administrateur :
Ø L'inscription
Ø Les créations du profil
Ø L'édition du profil
Ø La consultation de l'historique des sites
visités
Ø Le choix des fonctions activées
Ø L'édition des listes
Ø La configuration des alertes
Ø La configuration des blocages d'application
Ø La définition de mots clés
-Pour l'enfant/adolescent :
Ø La navigation sur le web
Ø L'utilisation des applications
II.1.3.2 Identification des cas d'utilisation par
paquetage :
![](Developpement-d-une-application-de-contrle-parental6.png)
Figure 3 « Paquetage
administrateur »
Ces paquetages représentent les interfaces accessibles
par l'administrateur, en effet seul l'administrateur à le droit
d'accéder à ces interfaces
![](Developpement-d-une-application-de-contrle-parental7.png)
Figure 4 « Paquetage Enfant/adolescent »
II.1.3.3. Descriptions des cas
d'utilisation :
II.1.3.3.1 Cas d'utilisation
« Inscription » :
![](Developpement-d-une-application-de-contrle-parental8.png)
Figure 5 « Cas d'utilisation
Inscription »
Lorsque l'utilisateur installe le logiciel de contrôle,
un formulaire de création d'un profil administrateur apparaît.
La création de ce profil inclus :
- la saisie du nom
- la saisie du prénom
- la saisie d'un mot de passe
-la confirmation du ce mot de passe
Scenario principal :
§ L'utilisateur installe l'application
§ Le système affiche un formulaire
d'inscription
§ L'utilisateur doit remplir le formulaire puis il
valide
§ Le système l'ajoute dans la base de
données (fichier), attribue à ce dernier un compte
Administrateur
II.1.3.3.2 Cas d'utilisation
« création d'un profil » :
![](Developpement-d-une-application-de-contrle-parental9.png)
Figure 6 « cas d'utilisation Création d'un
profil »
Apres l'authentification l'administrateur peut crée les
profils qui représentent les personnes à contrôler.
La création doit inclure la :
-Saisie du pseudo
-Saisie du mode de profil c'est à dire Enfant ou
adolescent
-Saisie du mot de passes et la confirmation de ce dernier
Scenario
principal :
§ L'administrateur s'authentifie
§ L'administrateur doit remplir le formulaire (les tous
les champs sont obligatoires) puis enregistrer
§ Le système ajoute ce nouveau personnel dans la
base de données (fichier)
II.1.3.3.3 Cas d'utilisation
« Contrôler les plages horaires »
![](Developpement-d-une-application-de-contrle-parental10.png)
Figure 7 « cas d'utilisation contrôle plage
horaire »
Après l'authentification, l'administrateur peut fixer
les plages horaires pour l'utilisation de l'ordinateur
Scenario principal :
§ Authentification
§ Choix de la configuration de plages horaires
§ Fixer les heures
II.1.3.3.4 Cas d'utilisation « Edition du
profil »
![](Developpement-d-une-application-de-contrle-parental11.png)
Figure 8 « Cas d'utilisation Edition
profil »
L'application permet a l'administrateur de modifier les
profils crée précédemment ou de supprimer totalement un
profil
Scenario
principal :
§ L'administrateur s'authentifie
§ L'administrateur doit choisir le pseudo du profil qui
désire le modifier ou le supprimer
§ Après la modification des champs il valide
II.1.3.3.5 Cas d'utilisation « consultation
de l'historique des sites visitées »
.
![](Developpement-d-une-application-de-contrle-parental12.png)
Figure 9 « Cas d'utilisation consultation de
l'historique des sites visitées »
L'administrateur peut consulter les sites visités par
ses enfants bien sur après l'authentification
II.1.3.3.6 Cas d'utilisation «
configuration des alertes »
![](Developpement-d-une-application-de-contrle-parental13.png)
Figure 10« Cas d'utilisation
configuration alertes »
L'administrateur peut activer les alertes pour empêcher
les enfants de ne pas utilisé des mots définit par les parents
dans leurs recherches sur internet.
Scenario
principal :
§ L'administrateur s'authentifie
§ Il active l'alerte
§ Puis il choisi l'action (arrêt de la connexion ou
fermeture de la session)
II.1.3.3.7 Cas d'utilisation « choisir les
fonctions activées »
![](Developpement-d-une-application-de-contrle-parental14.png)
Figure 11 « Cas d'utilisation fonctions
activées »
L'administrateur peut choisir les fonctions à activer
il peut décocher ou cocher une fonctionnalité selon le profil et
ses envies.
Scenario
principal :
§ Authentification
§ Choix de pseudo
§ Décocher ou cocher une fonction
§ Enregistrement
II.1.3.3.8 Cas d'utilisation « blocage des
applications »
![](Developpement-d-une-application-de-contrle-parental15.png)
Figure 12 « Cas d'utilisation Blocage des
application »
L'administrateur peut bloquer des applications installé
sur l'ordinateur. Il ajout des applications ou il supprime des applications de
la liste.
Scenario principal :
§ L'administrateur s'authentifie
§ Il choisi l'onglet du blocage des applications
§ En cliquant sur ajouter, l'administrateur peut choisir
des applications installer sur son poste a fin d'empêcher l'utilisation
de cette dernière par son enfant ou supprimer une application de la
liste en la sélectionnant puis en cliquant sur supprimer
II.1.3.3.9 Cas d'utilisation
« définition des mots clés »
![](Developpement-d-une-application-de-contrle-parental16.png)
Figure 13 « Cas d'utilisation mots
clés »
L'application permet au profil administrateur de
définir des mots pour interdire aux autres profils l'utilisation des ces
derniers dans leurs recherches sur internet. En cas ou l'enfant/adolescent
utilise une des ces mots une alertes apparaît déclarant qu'il faut
arrêter la recherche immédiatement, s'il persiste et après
3 essaye successives une action est déclenché.
L'administrateur peut utiliser le dictionnaire
c'est-à-dire pour un mot ajouter en français par exemple,
l'application bloque l'utilisation de ce dernier même avec son synonyme
en arabe
Scenario principal :
§ L'administrateur s'authentifie
§ Il écrit un mot dans la zone de texte puis
clique sur ajouter, pour supprimer il sélectionne un mot de la liste
puis il clique sur supprimer
§ Il peut aussi activer/désactiver le dictionnaire
des mots clés
II.1.3.3.10 Cas d'utilisation
« édition des listes »
![](Developpement-d-une-application-de-contrle-parental17.png)
Figure 14 « Cas d'utilisation Editions des
listes »
Après l'authentification, l'administrateur peut
configurer les listes selon ses besoins mais la chose la plus importante c'est
que la liste blanche pour les profils enfants c'est-à-dire que
seulement les sites de cette liste sont autorisés, et la liste noire
pour les adolescents c'est-à-dire ils peuvent utiliser tous le contenu
de l'internet sauf les sites de la liste noire et pour mieux contrôler
les adolescent l'application permet l'ajout des adresse IP a la liste noire
Scenario principal :
§ Authentification du profil administrateur
§ Ajout des sites a la liste blanche / suppression des
sites de la liste blanche
§ Ajout/suppression des sites de la liste noire ou
ajout/suppression des adresses IP des sites
II.1.3.3.11 Cas d'utilisation « navigation
sur internet »
![](Developpement-d-une-application-de-contrle-parental18.png)
Figure 15 « Cas d'utilisation navigation
internet »
Acteur :
- Enfant
Scenario principal :
Apres la sélection du pseudo l'enfant doit
s'authentifier par son pseudo et mot de passe
Puis il peu utiliser internet
II.3.3.12 Cas d'utilisation« utilisation des
applications » :
![](Developpement-d-une-application-de-contrle-parental19.png)
Figure 16 « Cas d'utilisation utilisation des
application »
Acteur :
- Enfant
Scenario principal :
Après la sélection du pseudo l'enfant doit
s'authentifier par son mot de passe
Puis il peut utiliser les applications autorisées.
II.1.4 Diagramme de classe :
![](Developpement-d-une-application-de-contrle-parental20.png)
Figure 17 « Diagramme de classe »
Notre diagramme de classe comporte 9 classes, la classe
personne qui a comme attributs le nom, prénom mot_pass est la
conf_mot_pass, les classes administrateur/enfant/adolescent qui
héritent de la classe mère personne, la classe liste qui admet
l'adresse de site comme attribut, les classes listes
noire/blanche héritant de la classe liste et finalement les classes
mots clés et application.
Le diagramme de classe n'a pas été
utilisé à cette phase de réalisation mais nous l'avons
conçu comme même car il va être utile dans un
deuxième temps
III. Les vues dynamiques :
Les vues dynamiques représentent une vision
microscopique du fonctionnement de l'application. Elles servent mettre en
évidence les relations temporelles inter objets et la
représentation sous forme d'un automate du comportement de chaque objet.
Elles interviennent après la définition du modèle
statique.
Dans cette partie, nous allons s'intéresser au
diagramme de séquence et au diagramme d'activités.
III.1 Les diagrammes de séquences :
Les diagrammes de séquence sont la
représentation graphique des interactions entre les acteurs et le
système selon un ordre chronologique dans la formulation UML.
Les objets dans ce projet l'administrateur, l'enfant,
l'interface et la base de données (fichier)
Les objets étudiés sont placés sur la
première ligne et pour chaque objet, on lui associe une barre verticale
en pointillée appelée « ligne de vie » de
l'objet.
III.1.1 Diagramme de séquence
« inscription »
![](Developpement-d-une-application-de-contrle-parental21.png)
Figure 18 « Séquence
inscription »
Le scenario inscription se déclenche par l'application,
en effet un formulaire d'inscription s'affiche automatiquement suite à
l'installation de l'application, après la saisie des informations le
système déclenche un ensemble de vérification (les
entrés de l'utilisateur).
En premier lieu, le système vérifie si tout les
champs sont remplis si c'est le cas il vérifie la conformité des
mots de passe. Puis une interface s'affiche indiquant que l'inscription est
faite avec succès. Enfin il enregistre ces données dans un
fichier XML.
III.1.2 Diagramme de séquence
« Activation des alertes »
![](Developpement-d-une-application-de-contrle-parental22.png)
Figure 19 « Séquence Alerte»
Le scenario de configuration des alertes est
déclenchée par l'administrateur, après l'authentification,
l'administrateur demande la configuration, une interface affiche, s'il active
les alerte le système fait apparaît la partie de l'activation de
l'action.
III.1.3 Diagramme de séquence
« authentification »
![](Developpement-d-une-application-de-contrle-parental23.png)
Figure 20 « Séquence Authentification»
Ce scenario est déclenché par l'administrateur
ou par l'enfant. Un formulaire s'affiche en premier lieu contenant le pseudo et
le mot de passe, âpres l'envoi de la requête le système
vérifie le pseudo et le mot de passe dans la base de données, si
ils sont conforme le contrôle s'active sinon le système affiche
une interface indiquant que le mot de passe est invalide.
III.1.4 Diagramme de séquence
« alerte » :
![](Developpement-d-une-application-de-contrle-parental24.png)
Figure 21 « Séquence Alerte»
Lorsque l'enfant essaye d'effectuer une recherche avec un mot
enregistrer dans les mots interdite le système affiche une alerte
indiquant qu'il faut s'arrêter, en cas ou il continue d'utiliser ce mot
pour 3 fois successives le système déclenche l'action choisi par
l'administrateur.
III.2 Diagramme d'activité :
UML permet de représenter graphiquement le comportement
d'une méthode ou le déroulement d'un cas d'utilisation, à
l'aide de diagrammes d'activités (une variante des diagrammes
d'états-transitions).
Une activité représente une exécution
d'un mécanisme, un déroulement d'étapes
séquentielles
Le passage d'une activité vers une autre est
matérialisé par une transition. Les transitions sont
déclenchées par la fin d'une activité et provoquent le
début immédiat d'une autre (elles sont automatiques).
III.2.1 Diagramme d'activité
« Alerte »
![](Developpement-d-une-application-de-contrle-parental25.png)
Figure 22 « Activité Alerte»
Acteur :
-Enfant
Scenario :
Lorsque l'enfant ou l'adolescent mène une recherche a
l'aide d'un moteur ou annuaire l'application vérifie ce mots dans la
liste des mots clés, si ce mots est
définit comme interdit un message d'alerte apparaît
sinon l'enfant ou l'adolescent continue sa recherche
III.2.2 Diagramme d'activité « Edition
profil »
![](Developpement-d-une-application-de-contrle-parental26.png)
Figure 23 « activité édition
profil»
Acteur :
-Administrateur
Scenario :
L'administrateur commence par l'authentification,
si le mot de passe est incorrect l'administrateur doit
se re _authentifier sinon il choisi le pseudo puis
modifie ou supprime le profil
Conclusion :
Dans ce chapitre nous avons essayé de modéliser
notre application à l'aide d'UML, en nous intéressant d'une part
aux vues statiques et d'autre part aux vues dynamiques. Nous finissons ainsi
l'étape de conception élaboré dans ce chapitre et dans
laquelle nous avons préparé tout ce qu'il fallait pour commencer
la réalisation qui sera le sujet du chapitre suivant
Chapitre 3 :
Réalisation
I Environnement du travail
II Interfaces de l'application
Introduction :
Cette partie constitue le dernier volet de notre rapport. Elle
a pour objectif d'exposer notre travail achevé. Pour ce faire nous
allons commencer tout d'abord par une description de l'environnement de
travail .ensuite, nous allons présenter les outils de conception et de
programmation .Nous terminons par mettre en relief le travail effectué,
en se basant sur des figures d'illustration.
I Environnement du travail
I.1 Environnement matériel :
L'implémentation de cette application a
été effectuée sur 2 machines ayant la configuration
matérielle suivante :
Machine 1 :
- Modèle : HP pavillon dv6700
- Processeur : Intel ® Core 2 Duo CPU T7252 @
2.00 GHz
- Mémoire vive : 2.00 GB
- Système d'exploitation : Microsoft Windows
Vista
- Disque dur : 250 Go
Machine 2 :
- Modèle : HP Compaq 6830s
- Processeur : Intel ® Core 2 Duo CPU T5870 @
2.00 GHz
- Mémoire vive : 4.00 GB
- Système d'exploitation : Microsoft Windows Vista
Home Premium
- Disque dur : 250 Go
I.2 Environnement Logiciels :
Notre projet a été réalisé dans
l'environnement logiciel suivant :
-Architect Entreprise
-Qt Creator Sdk
I.3 Outils de développement :
Les logiciel et les les environnements de développement
utilisé dans ce stage sont :
-le langage de programmation orientée objet C++ avec
l'environnement Qt faisant partie de la bibliothèque logicielle Qt
II. Interfaces de l'application :
Dans cette partie nous présentant les interfaces de
notre application :
II.1 Interface
« Inscription » :
Cette interface s'affiche après l'installation de
l'application, elle permet a l'utilisateur de crée un profil
administrateur, ce profil est crée qu'une seul fois et il donne a son
créateur le droit de configurer et de créer des profils dans
lesquels il définit les règle de filtrage et les configurations
selon ses besoins.
L'inscription regroupe la saisie du nom, prénom, mot de
passe et sa confirmation puis la validation.
![](Developpement-d-une-application-de-contrle-parental27.png)
Figure 24 « Interface inscription»
Si le remplissage des champs est incomplet, un message
d'information apparaît indiquant qu'il faut remplir tous les champs
![](Developpement-d-une-application-de-contrle-parental28.png)
Figure 25 « Interface inscription»
-Si la confirmation du mot de passe est
incorrecte, un message d'erreur apparaît indiquant qu'il faut confirmer
le mot de passe
![](Developpement-d-une-application-de-contrle-parental29.png)
Figure 26 « Interface inscription»
II.2 Interface «
Authentification »
La phase d'authentification consiste à choisir le
pseudo et le mot de passe du profil qui doit être déjà
existant dans la base de données, si le pseudo correspond à
l'administrateur, alors il peut utiliser l'application (configurer les
paramètres....) si le pseudo correspond a un enfant ou un adolescent,
son profil s'active.
En cas ou le mot de passe ne correspond pas au pseudo choisi,
un message d'erreur apparaît indiquant que le mot de passe est
incorrect.
![](Developpement-d-une-application-de-contrle-parental30.png)
Figure 27 « Interface Authentification»
II.3 Interface « Accueil »
Une fois connecté, l'administrateur a accès a
l'interface d'accueil qui lui présente les options de l'application
ainsi que le récapitulatif des fonctions activées pour chaque
pseudo choisi.
![](Developpement-d-une-application-de-contrle-parental31.png)
Figure 28« Interface accueil»
II.4 Interface « Création du
profil »
Cette interface permet a l'administrateur de crée un
profil enfant ou adolescent.
Ce profil est caractérisé surtout par son pseudo
et son mot de passe puisqu' il va se connecter avec ses deux paramètres
et pour que l'ajout d'un profil se fasse avec succès il faut remplir
tous les champs puis il faut valider.
A ce stade, nous avons trouvé plusieurs difficultés
techniques pour enregistrer le formulaire dans le fichier XML, puisque on n'a
pas trouvé une fonction prédéfinis pour l'enregistrement
sans écraser le contenue déjà existant dans le fichier.
Donc nous étions obligés de développer un
algorithme.
Cet algorithme consiste à relire le fichier dans le slot
et réécrire en parallèle les éléments dans
un fichier temporaire jusqu'à arriver à la fin
réécrire les nouvelle données, l'élément
enfin remplacer le fichier d'origine par le fichier temporaire.
![](Developpement-d-une-application-de-contrle-parental32.png)
Figure 29 « Interface création profil»
-Si les champs sont incomplets, un message d'erreur
apparaît indiquant qu'il faut remplir tous les champs. Il faut noter que
la vérification se fait au niveau des interfaces.
![](Developpement-d-une-application-de-contrle-parental33.png)
Figure 30 « Interface création profil»
-Si la confirmation est différente du mot de passe
saisi précédemment, un message d'erreur apparaît indiquant
que la confirmation est incorrecte.
![](Developpement-d-une-application-de-contrle-parental34.png)
Figure 31 « Interface création profil»
II.5 Interface « Edition profil »
L'administrateur peut a travers cette interface modifier les
profils déjà crée,
En choisissant le pseudo, le formulaire se charge
automatiquement après la lecture à partir du document XML et
l'administrateur peut modifier les champs.
![](Developpement-d-une-application-de-contrle-parental35.png)
Figure 32 « Interface Edition profil»
L'administrateur peut supprimer tout un profil après
la sélection du pseudo.
![](Developpement-d-une-application-de-contrle-parental36.png)
Figure 33 « Interface Edition profil»
II.6 Interface « Fonctions
activées »
Cette interface donne a l'administrateur la possibilité
de choisir les fonctions a activées pour chaque pseudo d'un profil
choisi.
![](Developpement-d-une-application-de-contrle-parental37.png)
Figure 34 « Interface Fonctions
activées»
II.7 Interface « Option »
Cette interface est composée de trois onglets :
-Surveillance : avec cette interface l'administrateur
peut choisir les paramètres de surveillance.
![](Developpement-d-une-application-de-contrle-parental38.png)
Figure 35 « Interface Fonctions surveillance»
-Authentification : cette interface
donne à l'administrateur la possibilité de modifier son ancien
mot de passe après le saisi de l'ancien.
![](Developpement-d-une-application-de-contrle-parental39.png)
Figure 36 « Interface Fonctions
Authentification»
Si l'administrateur tape une confirmation différente du
nouveau mot de passe, un message d'erreur apparaît indiquant que la
confirmation est incorrecte
![](Developpement-d-une-application-de-contrle-parental40.png)
Figure 37« Interface Authentification»
II.8 Interface
« Planification »
L'administrateur peut à travers cette interface fixer
des plages horaires pour chaque pseudo de profil choisi, il choisi les jours et
l'heure de début et de fin de blocage ou d'utilisation de l'ordinateur
et il enregistre.
Un message d'information apparaît indiquant que
enregistrement est fait avec succès.
![](Developpement-d-une-application-de-contrle-parental41.png)
Figure 38 « Interface Plages horaires»
II.9 Interface « Configuration des
alertes »
Cette interface donne la possibilité à
l'administrateur d'activer les alertes et de choisir une action après
trois alertes successive.
La partie du choix d'action n'apparaît que si
l'activation des alertes est cochée
![](Developpement-d-une-application-de-contrle-parental42.png)
Figure 39« Interface alertes »
II.10 Interface « Edition des
listes »
A travers cette interface l'administrateur peut
définir et configurer les listes.
Cette interface comporte deux onglets :
- liste blanche : (naviguer sur les
sites autorisées, cette liste est associé aux enfants)
L'administrateur peut ajouter des adresses des sites ou
supprimer des sites
![](Developpement-d-une-application-de-contrle-parental43.png)
Figure 40 « listes blanches »
- liste noire : (accès à
tout le web sauf les sites interdits, la consultation de ces sites est interdit
pour les profils adolescents).
L'administrateur peut ajouter ou supprimer des adresses sites
ou des adresse IP
Pour le filtrage des sites, nous allons
proposés des méthodes différentes. La première
solution est d'éditer le fichier « host » de Windows
en ajoutant l'adresse du site à bloquer, mais cette méthode ne
résoudre pas complètement notre problème puisque elle ne
définit qu'une liste noire. La deuxième méthode est
d'intégrer un plugin dans notre application comme le plugin
« BlockSite » est une extension pour
« firefox » qui coupe l'accès aux sites inscrits
dans une liste noire où autorise uniquement l'accès aux sites
d'une liste blanche mais dans notre cas Qt n'a pas la possibilité
d'intégrer un plugin, en effet Qt permet de créer un plugin mais
la mise en place d'un système de plugin est parfois assez lourde et
nécessite par exemple de vérifier dans le programme principal si
un plugin contient telle ou telle fonction. .[Ref10]
La troisième méthode est la solution la plus
satisfaisante à nos besoins, qu'elle consiste a éditer le fichier
de configuration d'un proxy, ce fichier contient des règles de filtrages
que nous allons les modifiés. Nous allons prendre le
« SquidNT » comme un proxy a utiliser.
SquidNT est un proxy cachant le plus célèbre qui
supporte les protocoles HTTP, FTP et SSL. Un proxy est un mandataire. Lorsque
votre passerelle fait proxy, cela signifie que ses clients ne se connectent pas
directement à Internet, mais demande au proxy de
télécharger pour eux les pages dont ils ont besoin. Ce
didacticiel n'a pas vraiment pour but l'installation d'un proxy transparent,
mais plutôt la configuration d'un proxy avec
« blacklist » et restriction d'accès par IP.
[Ref08] [Ref14] [Ref15] [Ref16]
![](Developpement-d-une-application-de-contrle-parental44.png)
Figure 41« listes noires»
II.11 Interface « Mots
clés »
L'administrateur peut ajouter ou supprimer des mots
clés à travers cette interface.
On ajoutant un mot clés l'administrateur empêche
les autres profils de les utilisé dans leurs recherche.
Pour supprimer un mot clés il suffit de
sélectionner ce mot a partir de la liste puis cliquer sur supprimer.
L'utilisation du proxy SquidNT avec la manipulation de ses
fichiers de configuration, nous permettons de filtrer les
téléchargements par le blocage du port le protocole
FTP.
![](Developpement-d-une-application-de-contrle-parental45.png)
Figure 42« listes mots clés»
II.12 Interface « Blocage des
applications »
Cette interface propose à l'administrateur d'ajouter
des applications a partir de son ordinateur pour empêcher ses
utilisations.
Une fois qu'il clique sur parcourir une sous fenêtre
apparaît dans laquelle il trouve les logiciels installé sur sa
machine.
Pour la suppression il suffit de sélectionner une
application dans la liste puis cliquer sur supprimer. Nous avons
remarqué qu'il existe déjà des méthodes concernant
le blocage des applications, cette méthode est
activé d'une manière manuelle et représente plusieurs
difficultés pour un simple utilisateur. Elle se base sur la
méthodologie suivante : Un administrateur peut interdire
l'exécution de certains logiciels dans d'autres comptes à
accès limité. Il faut passer par le registre Windows et le
modifier après avoir ouvert la session de l'utilisateur pour lequel nous
souhaitons mettre en place ces restrictions. Voici comment on peut
l'exécuter
Etape 1 : Donner temporairement les droits
d'administration
Ouvrir le Panneau de configuration, double clique sur
l'icône Compte d'utilisateurs puis sélectionner le compte à
modifier.
Etape 2 : Appliqué la restriction
Appuyer sur la touche Windows et la touche R pour faire
apparaître la fenêtre d'exécution, puis taper « regedit
» pour lancer l'éditeur de base de registre.
Parcourir l'arborescence jusqu'à la clé
« HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion
Policies Explorer ». Dérouler alors le menu Edition, Nouveau,
Valeur « DWORD » pour créer une nouvelle valeur
DWORD. Nommer-la « DisallowRun » puis double clique dessus
pour lui affecter la valeur 1.
Dérouler ensuite le menu Edition, Nouveau, Clé.
Nommer la nouvelle clé « DisallowRun ». Ouvrir
ensuite la clé, le nouveau chemin devient :
« HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion
Policies Explore0rDisallowRun ». Cliquer sur le menu Edition,
Nouveau, Valeur Chaîne. Nommer la nouvelle valeur 1. Double clique
ensuite dessus puis saisir le nom du fichier exécutable que
l'utilisateur n'aura pas l'autorisation d'exécuter. Valider enfin par
OK. Pour interdire l'utilisation d'autres programmes pour cet utilisateur, il
suffit alors de créer une valeur chaîne pour chaque
exécutable et incrémenter le nom : 2, 3, 4, 5, .... [Ref12]
Alors pour utiliser cette méthode qui parait
très performante et pour rendre son utilisation accessible par tout le
monde, nous avons créé un raccourci, afin de manipuler cette
procédure en code en utilisant l'environnement Qt. Nous avons
utilisé la classe « QFile » pour stocker nos
données dans un fichier « .bat » et utiliser la
commande « reg » qui est une console qui possède sa
propre série de sous-commandes.
Elle permet d'ajouter, modifier et afficher les entrées
du registre.
Les sous-commandes sont définit dans ce tableau :
[Ref09]
Sous-commande
|
Fonction
|
add
|
Ajoute une nouvelle sous-clé ou valeur au Registre
|
delete
|
Supprime une sous-clé ou des valeurs du Registre
|
query
|
Affiche les données dans une sous-clé ou une
valeur
|
compare
|
Compare les sous-clés ou valeurs
spécifiées
|
copy
|
Copie une sous-clé dans une autre sous-clé
|
save
|
Enregistre une copie des sous-clés, entrées ou
données spécifiées du registre dans un format binaire
|
restore
|
Réécrit les sous-clés et valeurs
sauvegardées au format binaire dans le Registre
|
load
|
Réécrit les sous-clés et valeurs
sauvegardées au format binaire dans une autre sous-clé
|
unload
|
Décharge une section du registre qui a
été chargée avec reg load
|
export
|
Crée une copy des sous-clés, valeurs ou
données spécifiées dans un fichier au format REG
(texte)
|
import
|
Fusionne un fichier REG contenant des sous-clés ou
valeurs dans le registre
|
Une autre méthode de manipulation est d'utiliser la
classe « QSettings » qui a été
spécialement créée pour enregistrer des options et elle
persistante des paramètres d'application indépendant de la
plateforme. Sur Windows systèmes, « QSettings »
utilise le registre du système pour stocker des paramètres.
[Ref01]
![](Developpement-d-une-application-de-contrle-parental46.png)
Figure 43« listes Blocage des applications»
II.13 Interface « site
visités »
Cette interface affiche tous les sites
visités par les autres profils lorsque le contrôle parental est
actif.
![](Developpement-d-une-application-de-contrle-parental47.png)
Figure 44« Sites visitées»
Conclusion :
Dans ce chapitre nous avons présenté
l'environnement de développement matériel et logiciel avec
lesquels notre application a été réalisée. Nous
avons présenté aussi les différentes étapes de
réalisation de l'application et cela à travers les interfaces et
les scenarios d'execution, cette démonstration met en oeuvre
l'intérêt de l'application et les choix adoptés pour sa
réalisation.
Conclusion
Générale
Le stage que nous avons suivi dans le cadre de ce travail,
nous a offert un grand apport à plusieurs niveaux.
Sur le plan technique, le stage a été une
expérience enrichissante surtout au niveau des outils de
développement que nous avons pu découvrir et
maîtriser : il nous a permis de manipuler des outils de
programmation tels que les Qt Creator.
Sur le plan professionnel, le stage a été une
meilleure occasion permet de nous préparer pour la vie professionnelle
et de mieux connaître notre rôle dans l'architecture
générale de la société, et aussi d'être en
contact avec les professionnels et les personnes les plus
expérimentées ce qui nous a permis d'avoir une idée assez
large sur le marché extérieur.
Dans ce contexte, et sous le souci d'apporter des services
à valeurs ajoutées à leurs partenaires et clients tout en
gardant son image de marque, l'agence nationale de la sécurité
informatique nous a confié le développement d'une application de
contrôle parental.
Notre rapport de projet de fin d'étude, a
été élaboré selon la structure suivante :
Dans un premier chapitre, nous avant présenté
les motivations, atouts, problématique qui nous a amené à
réaliser ce projet. Ainsi, une description de l'état de l'art de
notre projet.
Ensuite un deuxième chapitre a été
dédié à décrire la partie conception de notre
projet, présenté par des diagrammes de modélisation pour
mieux gérer et concevoir notre projet.
Et nous avons conclus notre rapport par un troisième
chapitre qui se réfère à la partie réalisation
où nous avons présenté la partie applicative du projet et
les différentes interfaces de notre logiciel
L'amélioration des fonctionnalités de notre
application est toujours en cours pour répondre à des besoins
futurs.
Nous pouvons encore envisager des options pour rendre notre
application adaptable sur plusieurs navigateurs. Aussi on peut envisager
l'ajout des modules complémentaires pour permettre à
l'administrateur de contrôler les profils à distance.
Bibliographie :
[Ref01] http://doc.qt.nokia.com/
[Ref02] http://www.sparxsystems.com/
[Ref03]
http://www.developpez.com/
[Ref04]
http://www.logprotect.net/
[Ref05] http://www.freeangel.fr/
[Ref06] http://www.ansi.tn/
[Ref07]
http://www.siteduzero.com/
[Ref08]
http://fr.wikipedia.org/wiki/Squid
[Ref09]
http://windows.developpez.com/cours/ligne-commande/?page=page_17
[Ref10]
http://doc.qtfr.org/post/2007/02/18/Creation-de-plugin-avec-Qt
[Ref11]
http://gsyka.blogspot.com/2008/01/blocksite-bloquer-laccs-un-site.html
[Ref12]
http://www.pcinpact.com/astuces/windows-xp/68-windows-xp-interdire-logiciels.html
[Ref13]
http://www.profiltechnology.com/fr/familles/parentalfilter2/index.aspx
[Ref14]
http://www.squid-cache.org/Versions/v2/2.5/
[Ref15] http://www.bofi.camelot.de/squid.htm
[Ref16]
http://doc.ubuntu-fr.org/tutoriel/comment_mettre_en_place_un_controle_parental
[Ref17] http://qt.nokia.com/downloads
Annexe A
Outils et techniques de
programmations
Devant la diversité des outils de développement
, nous devant justifier les choix technique concernant les langages de
programmation utilisées et les technologies adoptés pour la
réalisation de notre projet
I. Environnement Qt creator SDK :
Qt est un environnement de développement
intégré C++ multi plateforme faisant partie de la
bibliothèque logicielle Qt, c'est un Framework développé
initialement par la société « Trolltech »,
qui fut racheté par Nokia par la suite, son développement a
commencé en 1991 et il a été dès le début
utilisé par KDE, un des principaux environnements de bureau de
Linux.
Qt signifie "Cute" (prononcez "Quioute"), ce qui signifie
"Mignonne", parce que les développeurs trouvaient que la lettre Q
était jolie dans leur éditeur de texte.
Qt est une bibliothèque
multiplateforme pour créer des GUI (programme sous forme de
fenêtre) écrite en C++ et faite pour être utilisée
à la base en C++, mais il est aujourd'hui possible de l'utiliser dans
d'autres langages comme Java, Python, etc.
Il est donc constitué d'un ensemble de
bibliothèques, appelées "modules". On peut y trouver entre autres
ces fonctionnalités:
· Module GUI : c'est toute la partie
création de fenêtres. Nous nous concentrerons surtout sur le
module GUI dans ce cours.
· Module OpenGL : Qt peut ouvrir une
fenêtre contenant de la 3D gérée par OpenGL.
· Module de dessin : pour tous ceux qui
voudraient dessiner dans leur fenêtre (en 2D), le module de dessin est
très complet !
· Module réseau : Qt fournit une
batterie d'outils pour accéder au réseau, que ce soit pour
créer un logiciel de Chat, un client FTP, un client Bittorent, un
lecteur de flux RSS...
· Module SVG : possibilité de
créer des images et animations vectorielles, à la manière
de Flash.
· Module de script : Qt supporte le
Javascript (ou ECMAScript), que vous pouvez réutiliser dans vos
applications pour ajouter des fonctionnalités, sous forme de plugins par
exemple.
· Module XML : pour ceux qui connaissent
le XML, c'est un moyen très pratique d'échanger des
données avec des fichiers formés à l'aide de balises, un
peu comme le XHTML.
· Module SQL : permet un accès
aux bases de données (MySQL, Oracle, PostgreSQL...).
Qt est un Framework multiplateforme,
voilà un schéma qui illustre le fonctionnement de Qt
:
![](Developpement-d-une-application-de-contrle-parental48.png)
Figure 45« Qt multiplateforme»
Qt est utilisée par de nombreuses entreprises
célèbre ce qui montre son sérieux.
![](Developpement-d-une-application-de-contrle-parental50.png)
![](Developpement-d-une-application-de-contrle-parental54.png)
Figure 46« société de Qt»
[Ref07] [Ref17]
II. XML (eXtensible Markup Language) :
Nous allons utiliser le fichier XML comme une base de
données dans notre application
XML est l'abréviation d'Extensibles Markup Language. Il
n'est pas un langage de programmation, on ne peut pas faire de tests, ni
inclure un fichier dans un autre. En très gros, XML est simplement une
méthode pour représenter les donnés .celles ci sont
écrites entre des balises ou sous forme d'attributs, et l'ensemble est
écrit sous forme d'un arbre
Pour la lecture et l'écriture d'un document XML nous
allons utilisé la méthode SAX.
SAX (Simple API for XML) est une API basée sur
un modèle événementiel, qui transforme un document XML en
un flux d'évènements déclenchés par la lecture
d'éléments syntaxiques XML (balise ouvrante, balise fermante, etc
...).Le modèle est un quelque peu calqué sur celui des interfaces
graphiques, l'application cliente devenant un "écouteur
d'événement". SAX a comme avantage, grâce à son
fonctionnement, de ne lire le code que par petites portions, ce qui lui
évite de le charger en mémoire intégralement.
Qt fourni, la classe « QXmlStreamReader »
qui permet de lire rapidement des fichiers XML. Comme SAX, on parcourt l'arbre
XML et l'on ne peut le remonter
Pendant son parcours.
« QXmlStreamReader » repose sur le principe d'une
boucle dans laquelle on va parcourir le fichier à l'aide de la
méthode « readNext () » et vérifier sur quel
type de token on est positionné.
Pour écrire des fichiers XML, Qt fournit la classe
« QXmlStreamWriter » pour. Celle-ci est relativement
Simple et fonctionne sur le même principe que
« QXmlStreamReader » pour la lecture.
Qt, fournit la classe QXmlStreamWriter pour
écrire des fichiers XML. Celle-ci est relativement simple et fonctionne
sur le même principe que QXmlStreamReader pour la lecture.
III. Le langage C++ :
Le langage C++ est
une « amélioration » du langage C (Le langage C
a été mis au point par « M.Richie » et
« B.W.Kernighan » au début des années 70)
.Bjarne Stroustrup, un ingénieur considère comme l'interveneur du
C++, a en effet décidé d'ajouter au langage C les
propriétés de l'approche orienté objet .Ainsi, vers la
fin des années 80 un nouveau langage, C « with »
classes (traduisez « C avec des classes »), apparait.
Celui-ci a ensuite été renommé en C++, clin d'oeil au
symbole d'incrémentation ++ du langage C, a fin de signaler qu'il s'agit
d'un langage C améliorer (langage C+1).
Le C++ reprend la quasi-intégralité des concepts
présents dans le langage C, si bien que les programmes écrits en
langage C fonctionnent avec un compilateur C++.En réalité le
langage C++ est un sur ensemble du C, il y ajoute, entre autres, des
fonctionnalités objet :
- L'encapsulation
- L'héritage (simple et multiple)
- Le polymorphisme
Ainsi qu'un ensemble de nouvelles fonctionnalités,
parmi lesquelles :
- le contrôle de type
- les arguments par default
- la surcharge de fonctions
- les fonctions inline
Annexe B
Outils de conception
I. Intérêt d'une méthode
orienté objet :
Les langages orientés objet constituent chacun une
manière spécifique d'implémenter le paradigme objet. En
conséquence, une méthode objet permet de définir le
problème a haut niveau sans rentrer dans les spécificités
d'un langage.il représente ainsi un outil permettant de définir
un problème de façon graphique, a fin par exemple de le
présentera tous les acteurs d'un projet (n'étant pas forcement
des experts en langage de programmation)
Pour notre application nous avons opté pour
l'utilisation de la méthodologie UML de spécification et de
conception (Unified Modeling Language) que nous avons jugé la plus
adéquate et la mieux qualifiée pour le processus de
spécification et de conception.
II. Pourquoi UML :
Par rapport a toutes les méthodes orientées
objet utilisées (BOOCH, OOSSE....), seul UML (Unified Modeling Language)
a la capacité de satisfaire tous les besoins de conception requises par
les entreprises et les boites informatiques.
En effet, il unifie les notions nécessaires aux
différentes activités d'un processus de développement et
offre en plus, par ce biais, le moyen d'établir le suivi des
décisions prises, depuis la spécification jusqu'au codage.
Enfin, UML (Unified Modeling Language) que l'on peut traduire
par « le langage de modélisation
unifié » est une notion permettant de modéliser un
problème de façon standard .ce langage est né a la fusion
de plusieurs méthode existantes auparavant, et est devenu
désormais la références en termes de modélisation
objet
.
III. Entreprise Architect (Sparx) :
Enterprise Architect est outil pour la conception et la
construction de systèmes logiciels, la modélisation des processus
d'affaires, et pour la modélisation généralisée.
Cet outil UML est basé sur la dernière
spécification « UML 2.1 ».Enterprise Architect est
un outil évolutif qui couvre tous les aspects du cycle de
développement, offrant une traçabilité complète de
la phase de conception initiale jusqu'au déploiement et la maintenance.
Il fournit également un soutien pour les essais et le changement de
contrôle.
Enterprise Architect fournit complète une
modélisation complète du cycle de vie pour:
· systèmes commerciaux et informatiques
· Génie logiciel et des systèmes
· le développement en temps réel et
embarqués
En effet, grâce à la capacité de gestion
des exigences, Enterprise Architect nous permet de suivre les
spécifications de haut niveau à l'analyse, la conception, la mise
en oeuvre, d'essai et de maintenance en utilisant UML, Sys ML, BPMN et d'autres
normes ouvertes pour la modélisation.
Enterprise Architect est un multiutilisateur, l'outil
graphique conçu pour aider l'équipes de construire des
systèmes robustes et maintenables et à l'aide de haute
qualité, intégrés dans les rapports et la documentation,
vous pouvez offrir une vision véritablement partagée facilement
et avec précision. [Ref02]
![](Developpement-d-une-application-de-contrle-parental55.png)
Figure 46« Sparx»
Il soutien l'ingénierie inverse du code source pour de
nombreux langages populaires, y compris:
· Action Script
· Ada
· C et C + +
· C #
· Java
· Delphes
· Verilog
· PHP
· VHDL
· Python
· Système C
· VB.Net
· Visual Basic
· et plus encore ...
Ce qui différencie Enterprise Architect à
partir d'autres outils UML?
· Vaste projet de gestion de soutien, y compris les
ressources, les mesures et les tests
· support de test: les cas de test, JUnit et le soutien
NUnit
· · options flexibles de documentation: HTML et RTF
(RTF)
· soutien technique de Code pour plusieurs langages
· environnement de modélisation extensible pouvant
accueillir des profils définis par l'utilisateur et des technologies
· Utilisabilité
· Vitesse: Enterprise Architect est un artiste
spectaculaire rapide
· Evolutivité: Enterprise Architect peut traiter
des modèles extrêmement vastes et de nombreux utilisateurs
simultanés avec une facilité
· Prix: Enterprise Architect est un prix pour
équiper toute l'équipe, ce qui rend la collaboration et le
développement en équipe une réelle possibilité.
Résumé
Ce présent travail s'inscrit dans le cadre du projet de
fin d'étude pour l'obtention du diplôme de la
« licence fondamentale en informatique de
gestion » à l'institut supérieur de
comptabilité et d'administrateur des entreprises. Le travail consiste
à concevoir et à développer une application de
contrôle parental
Mots clés : Qt creator, C++, XML
Abstract
The present work, achieved within the «National Security
Agency computer», puts in details the different steps taken to design and
realise our graduate final project named:
«développement d'une application de contrôle
parental ».
To lead this work, we used the C++ language for its
realization.
Keywords: Qt creator, C++, XML![](Developpement-d-une-application-de-contrle-parental56.png)
|