Concevoir, développer et sécuriser des micro-services avec Spring Boot
Gestion électronique des documents
1. GESTION ÉLECTRONIQUE DES
DOCUMENTS
GED
RÉALISE PAR :
• BELAZIZ MOHAMMED
• MEKKORI OUSSAMA
ENCADRÉ PAR:
• BELKASMI REDOUANE
• ECHCHEDLI BELKASSEM
ÉCOLEDESHAUTESÉTUDES
D’INGÉNIERIE
Projet de fin d’année
ANNÉE SCOLAIRE : 2015-2016
2. PLAN
1. Introduction
2. Conduite de projet
3. Les technologies Utilisées
1. Framework Spring
2. Spring Security
4. Les fonctionnalités clé de l’application
1. La reconnaissance optique de caractères
2. Solr - Indexation
5. Démonstration
6. Conclusion et perspectives
4. « Alimenter » les
bases de données
de l’organisation
4
Acquérir par
numérisation
1b
Intégrer et entrer des
documents dans le
système GED
Fichiers
1a
1a
ENRICHISSEMENT
Utiliser des
documents dans
l’organisation
52b
classer dans une
arborescence
Organiser l’accès aux
documents
Indexer et
2a
Stocker et
protéger les
documents
3
5. Méthode de travail SCRUM
Conduite de projet :
•Objectifs:
Satisfaire au mieux les besoins du client
Maximiser les chances de réussite du projet
•Scrum terme en anglais signifiant mêlée , notamment en rugby
• désigne une méthode agile dédiée à la gestion de projet
9. Framework Spring
TOUT D’ABORD : QUE FAITES VOUS?
JAVA
Hibernate
Struts
JDBC
JPA
JSF
TapestryGWT
Flex
JMSAxis
CXF
Metro
Junit
JMX
AOP
AspectJ
TestNG
Unitils
DBUnit
JDO
JSP / Servlet
XSLT
Portlet
RMI
Mail
Quartz
Ibatis
JCA
Itext
Restlet
Groovy
Jruby
Grails
10. Framework Spring
Spring Core
IOC AOP
Spring DAO Spring Context
Spring
Remoting
…
Spring
ORM
Spring
JDBC Spring Web
JMS
WebServices
…
JDO
Hibernate
…
Spring
MVC
Struts
JSF
…
Test
12. Spring Security : Authentification
Authentication
Manager
Provider
Manager
CAS Authentication
Provider
DAO
Authentication Provider
JAAS
Authentication Provider
X.509
Authentication Provider
LDAP
Authentication Provider
13. Spring Security : Authorization
Access decision manager How it decides to grant/deny access
ifAllGranted Permet d'accéder si l'utilisateur a tous les rôles indiqués
ifAnyGranted Permet d'accéder si l'utilisateur a un des rôles indiqués
ifNotGranted Permet d'accéder si l'utilisateur n'a aucun des rôles indiqués
17. SOLR - INDEXATION
• Exemple : contenu des fichiers utilisés par les filtres
a
à
et
un
une
de
des
le
La
les
…
voiture,automobile,véhicule
VW, Volkswagen
…
synonyms.txtstopwords.txt
18. SOLR - INDEXATION
une voiture
une voiture
WhitespaceTokenizer
StopFilter ignoreCase=true
un automobile pas cher
WhitespaceTokenizer
StopFilter ignoreCase=true
Requête
Correspondance
Document
un automobile pas cher
un automobile pas chervoiture
automobile chervoiture
voiture
SynonymFilter ignoreCase=true expand=true
La gestion électronique des documents ou GED est l’ensemble des outils, des matériels et des technologies logicielles qui permettent :
d’acquérir*,
d’organiser,
de gérer,
de stocker,
et de distribuer
des documents sous forme électronique.
1a On peut intégrer dans le système de GED des documents électroniques par nature.
Ce sont tous les documents issus des applications informatiques de l’entreprise :
sous forme d’états (états comptables : balance, journaux, grand livre, bulletins de salaires ; documents commerciaux : factures clients, bons de commande et de livraison) ;
sous format texte (courriers, rapports, notes, etc.) ;
sous toutes les autres formes de fichier électronique natif (photographie, image, son, courrier électronique, etc.)
1b Il s’agit de tous les documents que l’entreprise utilise et qui ne sont pas des documents électroniques.
Pour pouvoir faire entrer ces documents dans le système de GED, il faut les « dématérialiser » c’est-à-dire transformer ces documents papier en documents électroniques.
Cette transformation se réalise en utilisant un scanner qui va permettre de numériser le document papier pour en faire un fichier image. Cette opération est aussi appelée « acquisition » par numérisation.
Après la numérisation, on peut transformer l’image obtenue en texte en utilisant un logiciel de reconnaissance de caractères ou OCR. Ceci permet de reprendre le document sur traitement de textes ou d’en indexer* le contenu.
2a La gestion électronique des documents n’est utile que si on peut trouver facilement et rapidement les documents pour les utiliser en fonction des besoins de l’entreprise. Pour pouvoir accéder aux documents, il faut qu’ils soient indexés.
L’indexation va identifier le contenu du document électronique pour qu’il puisse être compris et exploité directement par le système GED.
L’indexation est l’opération, manuelle ou automatique, qui consiste à repérer et définir des mots-clés* qui vont définir le contenu du document.
*Il existe d’autres techniques d’indexation.
2b Lorsqu’ils ont été indexés, les documents doivent être classés.
L’entreprise va définir le système de classement qui convient à son système d’information, à ses processus de gestion et aux besoins des utilisateurs du système GED.
Ce système de classement est représenté par une arborescence.
3 Les documents indexés et classés sont stockés dans des serveurs de stockage.
Ces serveurs doivent être protégés des menaces extérieures ou intérieures (virus, mauvaises manipulations, etc.)
Des solutions logicielles permettent de protéger les documents électroniques :
logiciels d’anti-virus,
logiciels pare-feu ; etc. ;
mais aussi administration de droits d’accès hiérarchisés (lecture, écriture, modification, contrôle total) aux modules du système GED.
4 Tous les documents indexés, classés et stockés doivent enrichir le système d’information de l’entreprise et permettre le bon déroulement des processus de gestion.
Les documents sont utilisés dans les bases de données de l’entreprise.
5 Les salariés de l’entreprise doivent pouvoir chercher, trouver et utiliser facilement et rapidement les différents documents électroniques.
L’indexation, le classement et le stockage des informations doivent être complétés par des moteurs de recherche faciles à utiliser et efficaces :
le délai pour accéder à un document doit être court ;
le système de GED doit être compatible avec les applications logicielles de l’entreprise ;
le système GED doit pouvoir évoluer à long terme sans que les documents soient perdus ou deviennent illisibles.
Scrum est une méthode agile qui permet de produire la plus grande valeur métier dans la durée la plus courte.
Méthode itérative et incrémentale:
Réalisation d’un ensemble de fonctionnalités par itération
Itération d’une durée fixe (d’2 à 4 semaines)// sprint
Livraison d’un produit partiel fonctionnel par itération
Participation du client:
Définition des fonctionnalités prioritaires
Ajout de fonctionnalités en cours de projet (pas pendant un sprint !)
1. Backlog produit (ou catalogue des besoins)
Besoins priorisés par le product owner
Besoins évalués par l’équipe
2. Backlog de sprint
Extrait du backlog produit
Besoins éclatés en tâches
3. Sprint
Développement des fonctionnalités du backlog de sprint
Aucune modification du backlog de sprint possible
4. Mêlée quotidienne
Point de contrôle quotidien de l’équipe
Interventions régulées – 2 min. par personne
Qu’est-ce que j’ai fait hier ?
Qu’est-ce que je fais aujourd’hui ?
Quels sont les problèmes ?
Incrément logiciel : livré au product owner à la fin du sprint.
Retrospective
elle s'effectue à chaque fin de Sprint. L'idée ici est de réfléchir régulièrement à ce qui marche et ce qui ne marche pas.
Review
L'objectif de la revue de sprint est de valider le logiciel qui a été produit pendant le sprint
Json
Dans notre cas, il constitue un format léger d’échange de données entre le contrôleur de l’application et les pages JSP, et les réponses reçues du serveur Solr.
Bootstrap
est une collection d'outils utile à la création de sites et d'applications web. C'est un ensemble qui contient des codes HTML et CSS
Le développeur doit Maîtriser toutes ces API
Aussi il doit savoir comment les integré dans son application
Et a la fin connaitre les bonnes pratiques de chacune
Spring est un framework créé et supporté par l'entreprise SpringSource , Il permet de simplifier le développement d'applications Java et est devenu un standard dans l'industrie du développement logiciel basé sur la plateforme Java, surtout dans le développement Java EE.
un des projets les plus avancés de Spring qui est Un verrou qui protège les ressources sécurisées, pour permettre à l’utilisateur de saisir un username et un mot de passe
1. Le client par exemple demander une page :
2. Ensuite Spring prend la main et verifier si l’utilisateur connecter a le droit d acces a ce service ou nn
3. Si le contrôle a efffectué spring sec demande le service et il doit afficher
On a deux concept dans spring sec :
L’authentification consiste à garantir que la personne connectée est bien celle qu’elle prétend être alors que les autorisations consistent à vérifier que la personne connectée a bien les permissions d’effectuer une action donnée ou d’accéder à une ressource.
Les gestionnaires d'authentification dans notre fichier de configuration, précisent toute la configuration qui doit être utilisée dans le processus d'authentification de chaque balise <http /> verifier le principal (souvent un username et un password) Spring Security est livré avec des gestionnaires d'authentification flexibles qui couvrent les stratégies d'authentification les plus courantes
Chargé de décider si l'utilisateur a l'accès approprié aux ressources
Spring Security est livré avec trois implémentations du gestionnaire de la décision d'accès
Un OCR est un logiciel qui a pour but de traduire une image de texte scannée en un Fichier de texte. Autrement dit, le texte doit pouvoir être utilisable, ce qui n'est pas le cas sur un fichier image.
Il a pour but d'isoler dans l'image les lignes de texte et les caractères à l'intérieur des lignes.
Serveur de recherche Basé sur la librairie Open source Lucene
Interface d’administration Web
Configuration avec des fichiers XML
Utilisé dans plusieurs sites : www.whitehouse.gov, Apple, Inc, tsr.ch, NASA, etc.
Format des documents pris en charge
XML et CSV (par défaut dans la version Solr distribuée)
PDF, DOC, XLS, PPT, flux RSS, HTML, etc.
Importation des données depuis une base de données
Un index est un ensemble de documents "analysés" suivant un "schéma" défini
Un Document = un ensemble de champs (fields) – valeurs
ex. prix – 1500
stopwords.txt : Ce sont des mots insignifiants qui seront ignorés. Ce sont en général les pronoms, les auxiliaires et les prépositions.
Synonymes : On peut étendre la recherche aux synonymes s’ils sont déjà répertoriés.
On peut résumer le fonctionnement Solr dans la figure suivante :