33
Sujet : Réalisation d’une application D’ Réalisé par : Elaibi Abdelahaq Encadré par : Mr MIHRAJ Année Universitaire 2004/2005

Rapport de stage de la première année à l’ENSIAS · Historiquement la GED concernait le stockage électronique de documents papier. Cette approche, ... C’est un logiciel d’archivage

  • Upload
    dokhanh

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Rapport de stage de la première année à l’ENSIAS

Sujet :

Réalisation d’une application D’

Réalisé par : Elaibi Abdelahaq Encadré par : Mr MIHRAJ

Année Universitaire 2004/2005

مصعب البكدوري
Stamp

1 page texte

0.5 DH

1 page mixte

1 DH

1 page image

2 DH

1 CD vierge

2 DH

1 pochette double

0.5 DH

1 reliure (baguette + transparent + papier cartonné)

6 DH

3.1. Java Java est à la fois un langage de programmation et une plateforme d'exécution [7]. Le langage Java a la particularité principale d'être portable, puisqu'il peut tourner sur n'importe quelle machine disposant d'un interpréteur Java. Cette portabilité est fondamentale sur Internet,

4. Réalisation Au lancement de l’application, l’utilisateur a le choix entre deux menus : New Project et Load Project.

Rapport du stage

1

Nous tenons à remercier le directeur de POWERNET, Mr Mihraje Mohamed tout d’abord d’avoir accepté ma demande de stage et de m’avoir offert toutes les conditions nécessaires pour un stage enrichissant que ce soit au niveau technique ou au niveau humain.

Nous tenons à remercier plus particulièrement Mlle Hourya, Mlle IBtihale, Mr Youness et tous ceux qui nous ont aidé à réussir notre premier stage.

Dans ce stage nous avons beaucoup appris sur le domaine de travail, puisque c’était notre première expérience dans laquelle nous avons découvert le milieu de l’entreprise et le système hiérarchique dans les sociétés.

Nous remercions aussi tous les employés de POWERNET pour leur soutien pendant la période de mon stage.

Rapport du stage

Introduction………………………………………………………………………..…..3

Présentation de l’organisme : Power net……………...……………..….4 Partie 1 : Présentation de l’archivage (GED)…………………………….5

1- Définition de Gestion Electronique de Documents. (la GED)…………...6 2- Relation entre archivage et la GED………………………………….…...6 3- Principe de l’application…………………………………………….…....6 4- Description de l’application demandée…………………………………..6 5- Importance de l’archivage………………………………………………..7

Partie 2 : Les étapes de la réalisation……………………………………...8

1- Conception………………………………………………………….…….8

1.1. MCD de la base de données………………………………………8 1.2. Noyau de l’application…………………………………….……..14 1.3. Fonctionnalités de l’application………………………………..…15

2- Outils utilisés………………………………………………………..……16

2.1- Langages…………………………………………………………16 2.2- Plate forme (logiciels)…………………………………………...16

Partie 3 : Manuel d’utilisation……………………………………………...17

Conclusion ……………………………………………………………………………25 Bibliothèque ………………………………………………………………………….26 Annexe…………………………………………………………………………………27 Liste des schémas……………………………………………………………………29

2

Rapport du stage

Introduction

Dans le cadre de mon premier stage, nous avons été accueilli par la société

POWERNET située à Casablanca. Le travail demandé est la réalisation d’une application

d’archivage, vu l’importance de cette application ces dernières années le corps administratif

de POWERNET qui cherche toujours à adopter les nouvelles technologies a proposé ce sujet

comme projet de stage.

Notre encadrant le directeur de POWERNET nous a aidé énormément, il nous a donné

des conseils pendant notre période de stage que nous jugeons importants.

Ce livre décrit notre démarche lors de la réalisation de l’application. Après avoir

recherché à propos de la notion d’archivage et de la gestion électronique de documents nous

sommes passés à la partie conception et élaboration. Dans ce rapport nous essaierons de

décrire la dernière partie de notre travail de stage.

3

Rapport du stage

Présentation de l’organisme : Power net.

PRESENTATION POWERNET

POWERNET est une société de services en informatique, offrant ses services autour des nouvelles technologies de l’information.

Pour mieux prendre en charge les projets de ses clients, POWERNET est organisé autour de 3 Départements :

• Développements spécifiques assurant toutes les prestations

informatiques de l’étude fonctionnelle et la réalisation jusqu’au déploiement. • Technologies Informatiques fournit des prestations d’expertise

techniques pour les différentes activités de conseil et d’études spécifiques dans les environnements de développement, Bases de données, Portails d’entreprises, Messagerie, Sécurité (Sauvegarde, intrusion,.…)

• Formations spécifiques ou standard s’articulant autour de produits technologiques couvrant les différents aspects d’une informatique moderne.

Le personnel L’application de critères d’embauche très rigoureux concourt au succès de ses

projets. Trois éléments sont particulièrement recherchés : le professionnalisme, le leadership et l’expérience. Actuellement POWERNET compte parmis son effectif quatre ingénieurs et un technicien spécialisé :

1 ingénieur consultant Maîtrise des outils de productivité (Gestion de projets), éditique 1 Ingénieur e-Commerce Maîtrise Outils de développement et base de données, Mise en place et

modélisation des processus. 1 Ingénieur systèmes & réseaux Bonne maîtrise de la plateforme réseau et télécoms 1 Ingénieurs FST Mohammedia Bonne maîtrise des outils de développement Visual Basic, Visual C/C++,

SQL Server, Bonne maîtrise des outils Microsoft Office 1 Technicien ISGI Bonne maîtrise des outils Internet, portails d’entreprises, Office

4

Rapport du stage

Présentation de l’archivage (GED).

5

Rapport du stage

1- Définition de Gestion Electronique de Documents. (la GED).

La GED (Gestion Électronique de Documents) ou GEIDE (Gestion Électronique de

d'Informations et de Documents pour l'Entreprise) a pour fonction d'organiser et de gérer des informations et des documents électroniques au sein d'une organisation. À travers un ensemble d'outils et de techniques, elle permet de dématérialiser, classer, gérer et stocker des documents à partir d'applications informatiques dans le cadre normal des activités de l'organisation. Elle est un élément important pour le développement d'une culture apprenante dans les organisations car elle participe aux processus de travail collaboratif, de capitalisation et d'échanges informationnels.

Une définition qui a évolué

Historiquement la GED concernait le stockage électronique de documents papier. Cette approche, accompagnée par une législation ad hoc en matière de conservation des originaux, visait la dématérialisation des documents papier. On pouvait considérer alors la GEIDE comme un dispositif de Gestion Électronique d'Informations et de Documents Existants. Cette dématérialisation a permis notamment d'éloigner les lieux de stockage des documents papier des sièges sociaux des organisations (là où le mètre carré est très coûteux !). Les opérations de la GED (ou DEID) (voir annexe)

2- Relation entre archivage et la GED.

La gestion électronique de documents peut être répartie en trois parties principales :

L’acquisition de documents sous tous formats Le stockage des vos documents, dossiers, archives La consultation de vos documents archivés.

Ainsi on pourra remarquer que l’archivage constitue la troisième étape de la gestion électronique de documents et la plus importante, car elle va aider tout utilisateur des documents déjà numérisés. En effet l’application utilisée en archivage doit faciliter la gestion des archives en ce qui concerne l’ajout de document, la consultation, l’obtention, la recherche et même la suppression.

3- Principe de l’application

Pour bien expliquer le principe de fonctionnement de l’application demandée voici un schéma décrivant les différents processus :

6

Rapport du stage

fig00 : principe de l’application archivage

Il s’agit bien d’une application client/serveur où les utilisateurs auront besoin de communiquer avec un serveur, qui est un ordinateur qui contient l’application et la base de données. Chaque utilisateur aura un lien de l’application (l’interface) qui lui permet d’accéder aux données archivées et même d’ajouter ou supprimer

4- Description de l’application demandée

C’est un logiciel d’archivage de documents papiers, ces documents doivent être numérisés (en utilisant un scanner). Ensuite l’application se charge de les manipuler en permettant les fonctions suivantes :

- Ajouter un document. - Ajouter un dossier. - Visualiser les documents. - Rechercher les documents selon plusieurs critères. - Gestion des droits d’accès des utilisateurs. - Autoriser la suppression d’un document (pour un groupe précis). - Imprimer les documents - Seul l’administrateur peut supprimer les documents. - Il est nécessaire lors du chargement d’un document d’avoir le format

numérique ou l’image scannée du document. - ….

5- Importance de l’archivage.

7

Rapport du stage

L'importance cruciale de l’archivage des données et des documents n’est plus à démontrer. Les documents peuvent provenir de différentes sources notamment : documents papiers scannés, information digitale, document fax, emails, etc. ... (Voir fig01)

Fig01 : les différents types de documents archivés

8

Rapport du stage

Les étapes de la réalisation.

1- Conception

9

Rapport du stage

L’application demandée est de type client/serveur, pour cela nous aurons besoin d’une base de données pour stocker les documents numérisés, ensuite une librairie de gestion de cette base. Cette librairie constitue le noyau de l’application. Finalement nous passerons à la dernière étape qui est la réalisation d’une interface simple et intuitive pour faciliter l’utilisation de l’application.

1-1 MCD de la base de données.

L’objectif de cette application est d’archiver des documents qui sont caractérisés par

plusieurs caractères tels que le nom, la date de création, le dossier, les informations du document (le contenu), le propriétaire et d’autres propriétés. Alors nous avons pensé à une base de données qui contient les tables suivantes (voir fig02) :

- dossier - document - image - proprietaire - mot_cle - droits - groupe - annotation

Fig02 : schéma général de la base de données archive

10

Rapport du stage

Les tables :

i. dossier

s du dossier réel qui regroup si ps suivants :

chaine de caractères

e l’état du dossier (en cours d’élaboration ou fermé), de type

entier (0 ou 1)

ii. document

La table dossier est utilisée pour enregistrer toutes les informatione plu eurs documents. Cette table contient les cham Id : identificateur du dossier, de type entier Name : le nom du dossier, c’est une clef primaire, de type Date_creation : représente la date de création du dossier

Propriétaire : le client qui a déposé le dossier, de type entier Etat : représent

registrer toutes les informations du document réel. Cette tabl

nom du document, c’est une clef primaire, de type chaine de

utilise dans le cas où on a la

présente l’identificateur du dossier qui contient le document, de type entier

iii. image

La table document est utilisée pour en

e contient les champs suivants : Id : identificateur du document, de type entier Name : le caractères Date_creation : représente la date de création du document, de type datetime Document : c’est le contenu du document, on l’version numérique du document, de type binaire Doss_id : re

egistrer l’image du document réel (image scannée). Cette table contient les champs suivants :

nom du document, c’est une clef primaire, de type chaine de

présente l’identificateur du dossier qui contient le document, de

Type : le format de l’image (jpg, bmp, …), de type chaine de caractères

iv. propriétaire

La table image est utilisée pour enr

Doc_Id : identificateur du document, de type entier Name : le caractères

Image : c’est le contenu de l’image, de type binaire Doss_id : retype entier

les informations des utilisateurs de ants :

Id : identificateur de l’utilisateur, de type entier

La table propriétaire est utilisée pour enregistrer toutes

l’application. Cette table contient les champs suiv

11

Rapport du stage

Login : le nom utilisé par l’utilisateur pour accéder à l’application, de type string Psswd : le mot de passe utilisé par l’utilisateur pour accéder à l’application, de type string Nom : nom réel de l’utilisateur, de type string Prénom : prénom réel de l’utilisateur, de type string Adr : l’adresse de l’utilisateur, de type string Cin. : carte d’identité nationale, de type string (utilisé dans le cas de besoin : sécurité) Gp : représente le groupe de l’utilisateur, de type entier

v. groupe

La table groupe est utilisée pour enregistrer toutes les informations des groupes créés

des utilisateurs. Cette table contient les champs suivants :

Id : identificateur du groupe, de type entier Name : nom du groupe, de type string Description : une simple description du groupe (droits+limites), de type string

vi. annotation

La table annotation est utilisée pour enregistrer toutes les informations des annotations des documents. (Pour mieux comprendre le rôle des annotations voir fig03) Cette table contient les champs suivants :

Id : identificateur de l’annotation, de type entier Anotation : le texte de l’annotation, de type string Pointx : abscisse du sommet gauche_haut de l’annotation, de type entier Pointy : ordonné du sommet gauche_haut de l’annotation, de type entier Long : longueur de l’annotation, de type entier Larg. : largeur de l’annotation, de type entier Doc_Id : l’identificateur du document auquel on associe l’annotation, de type entier

12

Rapport du stage

Fig03 : exemple de document avec des annotations

vii. mot_cle

La table mot_cle est utilisée pour enregistrer toutes les informations des mots clef associés à chaque document. Cette table contient les champs suivants :

Id : identificateur du mot clef, de type entier Doc_id : identificateur du document associé au mot clef, de type entier Mot : le mot clef, de type string

viii. droits

La table -droits- est utilisée pour enregistrer toutes les informations concernant les

droits de suppression associés à chaque document. Cette table contient les champs suivants : Doc_id : l’identificateur du document, de type entier

13

Rapport du stage

User_rgt : représente l’identificateur du propriétaire du document, de type entier Gp_rgt : le droit de suppression pour le groupe de l’utilisateur, de type entier (0 ou 1) Others : le droit de suppression pour les autres utilisateurs, de type entier (0 ou 1)

Pour exprimer les relations entre les différentes tables voici un schéma qui montre le

modèle conceptuel de données de la base archive (fig04) :

Fig04 : schéma du MCD de la base de données archive

14

Rapport du stage

1-2 Noyau de l’application.

Comme notre application est une application client/serveur, elle aura besoin d’une base de données, nous avons pensé à créer un fichier DLL qui va nous servir comme noyau de notre application. Cette DLL contient toutes les classes nécessaires pour gérer notre base de données.

Voici un simple descriptif de cette DLL : fig04 (Pour avoir plus de détails voir annexe).

Structure générale de la DLL :

Fig05 : schéma général de la DLL

Chacune des classes développées dans cette DLL sont liées à chaque table de la base

de donnée. Aussi cette DLL contient plusieurs fonctions que nous n’avons pas utilisées lors de la réalisation de l’interface, mais nous estimons les utiliser plus tard dans le Web service. Les fonctions et les procédures communes entre toutes les classes :

- Connection () : c’est une procédure utilisée pour déclencher une connexion à la base de données.

- Close () : pour fermer la connexion

15

Rapport du stage

- get_nb () : c’est une fonction qui retourne le nombre d’éléments de la table - ajouter (paramètres…) : presque dans toutes les tables nous avons besoin de cette

fonction pour ajouter une ligne dans la table - delete (…) : cette procédure est utilisée pour supprimer une ligne de la table

1-3 Fonctionnalités de l’application.

L’application demandée, doit permettre les opérations suivantes :

- Ajout : ajouter un document à l’archive. Cette opération nécessite d’avoir le nom du document, le nom du dossier, la date de création, un mot clef associé au document et l’image du document obtenu du scanner. Avant d’insérer un élément nous devons vérifier que son nom n’existe pas puis la même chose en cas de création de nouveau dossier. Pour ce qui concerne le mot clef nous avons autorisé d’ajouter un seul mot clef au début mais l’utilisateur peut ajouter plus tard plusieurs (lors de la visualisation).

- Recherche : cette fonction est utilisée selon cinq critères :

a- Identificateur du document : l’utilisateur doit fournir le doc_id pour chercher si un document a ce numéro comme identificateur.

b- Identificateur du dossier : Après avoir tapé un nombre entier, l’utilisateur va avoir une liste de documents qui existent dans le dossier correspondant (s’il existe)

c- Name : rechercher par nom de document, l’application retourne tous les noms de document qui commence par les lettres tapées.

d- Mot clef : le résultat de ce critère est une liste de documents qui ont le mot clef indiqué.

e- Annotation : le résultat de ce critère est une liste de documents qui ont l’annotation indiquée.

Dans tous les cas l’application donne une possibilité d’afficher l’image du document trouvé.

- Visualisation : pour visualiser les documents, il suffit d’indiquer le nom du dossier et l’application se charge de trouver tous les documents de ce dossier et de les mettre dans une liste ainsi l’utilisateur peut voir l’image par un simple clique. Pour accélérer le déroulement de ce processus nous avons choisis de télécharger les images du dossier courant de la base de données dans un dossier temporaire (tmp) que nous supprimerons plus tard.

- Suppression : cette fonction a le même principe que la visualisation, elle offre une possibilité de voir le document avant la suppression et une demande de confirmation pour la suppression pour éviter d’effacer un document par erreur. Cette fonction est réservée seulement au groupe Admin.

- Configuration des utilisateurs : elle est réservée au SUPER_ADMIN pour changer les

groupes des utilisateurs.

16

Rapport du stage

2- outils utilisés.

Pour développer cette application, nous avons choisi d’utiliser la technologie .net, suite à la demande de notre encadrant

2-1 Langages.

Nous avons choisi comme langage le VB.net, qui est un langage de programmation orienté objet. Pour la gestion de la base de données nous avons adopté Ado.net pour mieux adapter notre application à tout genre de système de gestion de base de données (SGBD). 2-2 Plate forme (logiciels)

Pour développer cette application nous avons utilisé la plate forme visuel studio .net (VS.NET) et SQLSERVER (2000) comme système de gestion de base de données (SGBD).

VS.NET : c’est une plate forme de MICROSOFT utilisée pour la

réalisation de différents projets que ce soit dans le domaine du web ou autre. SQLSERVER (2000) : gestionnaire de base de données relationnelle créé

par Microsoft

17

Rapport du stage

Manuel d’utilisation.

18

Rapport du stage

Après avoir lancé l’application une fenêtre d’identification s’ouvre pour que l’utilisateur puisse s’identifier (fig05). Sinon le nouvel utilisateur peut s’inscrire en utilisant le bouton Nouvel Utilisateur (fig06).

Fig06 : identification de l’utilisateur

19

Rapport du stage

Fig07 : inscription d’un nouvel utilisateur

Si l’identification s’est bien passée l’utilisateur va avoir une autre fenêtre, c’est la fenêtre principale de l’application qui contient toutes les options déjà citées dans la partie conception.

Tous les utilisateurs n’ont pas les mêmes droits d’accès, les deux fonctions de suppression et configuration sont accessibles juste par les administrateurs.

20

Rapport du stage

Fig08 : l’accueil de l’application

La première fonction est la fonction ajouter qui permet d’archiver un document dans la base de données. Il est nécessaire d’indiquer le nom du dossier qui contient le document. Ce nom doit être différent de new. En plus on doit indiquer un chemin réel du document.

21

Rapport du stage

Fig09 : comment ajouter un document

22

Rapport du stage

Fig10 : recherche de documents

23

Rapport du stage

Fig11 : visualisation des documents

24

Rapport du stage

Fig12 : suppression des documents

25

Rapport du stage

Fig13 : visualisation agrandie des documents, ajout d’annotations et mots clef

26

Rapport du stage

Conclusion

Notre premier stage était un stage enrichissant et très important car il nous a permis de

découvrir la vie dans la société qui se base sur le travail en groupe et le respect des points de vue des autres. Aussi nous avons beaucoup appris en ce qui concerne le coté technique grâce aux conseils de notre encadrant qui nous a facilité le travail par ses recommandations.

Nous avons atteint nos objectifs en ce qui concerne la réalisation de l’application, et la

découverte du domaine du travail, mais nous estimons que nous améliorerons notre application en développant un web service qui rend le programme opérationnel sur le web.

Finalement nous tenons à remercier encore une fois le corps administratif de

POWERNET qui nous a accueilli dans le cadre du stage d’été de la première année à l’ENSIAS.

27

Rapport du stage

Bibliothèque * cours du VB.net développé dans le site web : http://plasserre.developpez.com * cours VB.net du site web www.developpez.com*cours Ado.net du site web www.developpez.com*le forum dédié au langage VB.net dans le site develppez.com http://www.developpez.net/forums/viewtopic.php?p=2117401#2117401 http://www.developerfusion.co.uk/show/2692/

28

Rapport du stage

Annexe

Voici les deux fonctions les plus importantes du DLL Charger une image dans la base de donnée : 'Charger une image en dB '* Public Function chargerimg(ByVal file As String, ByVal doss_id As Integer, ByVal doc_id As Integer, ByVal name As String) As Boolean file = file.Replace("\", "\\") Dim cmd As SqlCommand Dim image As FileStream Dim fi As FileInfo image = New FileStream(file, FileMode.Open) Dim img(image.Length) As Byte image.Read(img, 0, image.Length) fi = New FileInfo(file) Try cmd = New SqlCommand("insert into image values (" + doss_id.ToString + ",'" + name + "',@image,'" + fi.Extension + "'," + doc_id.ToString + ")", con) cmd.Parameters.Add("@image", img) cmd.ExecuteNonQuery() Catch ex As Exception Console.Out.WriteLine(ex.ToString + ex.Message) Return False End Try Return True End Function Charger une image depuis la base de donnée 'Charger un document_image de puis dB '* Public Sub load(ByVal id As Integer) Dim lecteur As SqlDataReader Dim image As FileStream

29

Rapport du stage

Dim img() As Byte Dim name As String Try cmd = New SqlCommand("SELECT image ,name FROM image where doc_id=" + id.ToString, con) lecteur = cmd.ExecuteReader() While lecteur.Read() img = lecteur(0) name = lecteur(1) End While lecteur.Close() If Not Directory.Exists("tmp") Then Directory.CreateDirectory("tmp") End If image = New FileStream("tmp/" + name, FileMode.Create) image.Write(img, 0, img.Length) image.Close() Catch e As Exception Console.Out.WriteLine ("erreur de connexion : " + e.ToString) End Try End Sub

30

Rapport du stage

Liste des schémas.

Nom de la figure Page(s) fig00 : principe de l’application archivage

6

Fig01 : les différents types de documents archivés

7

Fig02 : schéma général de la base de donnée archive

9

Fig03 : exemple de document avec des annotations

11

Fig05 : schéma générale du DLL 13

Fig04 : schéma du MCD de la base de donnée archive

14

Fig06 -12 imprimés écran de l’application

17-24

31