Embed
Email

memoire_master1

Document Sample

Shared by: linzhengnd
Categories
Tags
Stats
views:
69
posted:
12/4/2011
language:
French
pages:
49
Mémoire de stage : Master1



Mention : Responsable Etude et Développement du système d’information







Intitulé du mémoire









Année Scolaire Auteur Tuteur de stage Société

2009 – 2010 Ly Mamadou Makhtar Mr. Patrick Valliamee STRUCTIS









Le 31 – 08 - 2010

Table des matières

I. Présentation du groupe STRUCTIS ................................................................................................... 7

I.1. Bouygues-Construction : ............................................................................................................... 7

I.1.2. Organisation : ............................................................................................................................. 7

I.1.3. Savoir-Faire : ............................................................................................................................... 7

I.1.4. Valeurs : ...................................................................................................................................... 8

I.1.5. Chiffres clés: ............................................................................................................................... 8

I.1.6. Stratégie : ................................................................................................................................... 8

I.2. Structis : ......................................................................................................................................... 9

I.2.1. Organigramme :.......................................................................................................................... 9

I.2.2. Implantation : ............................................................................................................................. 9

I.2.3. Missions et axes stratégiques : ................................................................................................ 10

I.2.4. Organisation de STRUCTIS : ...................................................................................................... 10

II. Alfresco : Présentation : .................................................................................................................... 13

II.1. Les fonctionnalités d’Alfresco : .................................................................................................. 13

II.1.1. Alfresco : fonctionnalités, composants, architecture : ............................................................ 13

II.2. Installation Alfresco : ...................................................................................................................... 16

II.2.1. Alfresco archive : ..................................................................................................................... 16

I.2.2. Configuration Tomcat : ............................................................................................................. 17

II.2.3. Authentification SSO : Kerberos : .......................................................................................... 20

II.2.3.1 : Création de fichiers .keytab : .............................................................................................. 20

II.2.3.2 : krb5.conf et java.login.config : ........................................................................................... 22

II.2.4. alfresco-global.properties : ..................................................................................................... 22

II.2.5. SQL Server : ............................................................................................................................. 22

II.2.5.1 : Création d’un compte de connexion : ................................................................................. 22

II.2.5.2 : Création de la base de données : ......................................................................................... 23

II.2.5.3 : Activation des niveaux d’isolement : ................................................................................. 24

II.2.6. Module alfresco-mssql.amp: ................................................................................................... 24

II.2.7. Démarrage Alfresco : ............................................................................................................... 25

III .Médiathèque : Présentation : ...................................................................................................... 28

III.1. ExtJS : ......................................................................................................................................... 29

III.1.2. Les composant de la mediatheque : ...................................................................................... 30

III.2. Interface de la mediatheque : ................................................................................................... 31

III.2.1. Bandeau de recherche :.......................................................................................................... 32









Structis Page 1

III.2.2 Filtre des types : ...................................................................................................................... 32

III.2.3 Filtre par notation : ................................................................................................................. 32

III.2.4. Présentation des facettes : ..................................................................................................... 33

III.2.5. Affichage des résultats : ......................................................................................................... 34

IV. Alfresco : Les avantages ............................................................................................................... 36

Montée en charge Java ............................................................................................................. 37

Architecture agrégée avec REST .......................................................................................... 37

Normes ........................................................................................................................................... 37

Lecteur réseau partagé ............................................................................................................ 37

Intégration avec Microsoft Office.......................................................................................... 37

Règles pour la gestion de contenu ....................................................................................... 37

IV.1. Comparatif des ECM.................................................................................................................. 38

IV.2. Les partenaires d’Alfresco : ....................................................................................................... 39

Conclusion ......................................................................................................................................... 42

Bilan Personnel : ................................................................................................................................ 42

Glossaire : .......................................................................................................................................... 43

Bibliographie :.................................................................................................................................... 44

ANNEXES............................................................................................................................................ 45









Structis Page 2

Avant-Propos Remerciements



Ce travail a été réalisé dans le cadre du stage de master1 à HITEMA, école

supérieure d’informatique et de management, dispensant des formations en alternance

qui visent la double compétence : informatique et management.



Le stage s’est déroulé au sein de l’entreprise STRUCTIS à Guyancourt sous la

tutelle de Mr. Valliamee Patrick pour une durée de 7 mois.



STRUCTIS est une filiale informatique de Bouygues Construction qui a pour

mission d’apporter aux collaborateurs de Bouygues Construction des services

informatiques de qualité adaptés à leurs métiers et aux meilleurs coûts.



Ce mémoire traite des systèmes de gestion de contenu d’entreprise (Enterprise

Content Management) et plus précisément de l’outil open source Alfresco ainsi que de la

AVANT-PROPOS REMERCIEMENTS









mise en place d’un prototype d’application web appelé médiathèque.



Le présent stage a pu être réalisé grâce à l’aide et la collaboration de l’ensemble du

personnel de STRUCTIS et particulièrement à mon maître de stage Mr Valliamee

Patrick mais aussi de Mlle Leclerc Laurène.



A l’issue de cette nouvelle expérience, je tiens tout d’abord à remercier toute

l’équipe de la direction du Bureau d’études de STRUCTIS dirigé par Mr CHAPMAN

Andy, Mme Marchand Andree, à Mr MOUTY Laurent de m’avoir accepté en tant que

stagiaire dans leurs locaux et pour la confiance qu’ils m’ont accordée.



Je tiens tout particulièrement aussi à remercier d’une part Leclerc Laurène et

Jonathan Marie-Reine pour leur disponibilité, leur patience et l’aide efficace qu’ils ont

su m’apporter régulièrement lors du stage et d’autre part à Mr Oysel Pierre, professeur

de développement à HITEMA, pour la qualité de ses cours de J2EE, Mme Geneviève

TERRENOIRE directrice d’HITEMA.



Je remercie plus particulièrement mon maître de stage Mr. VALLIAMEE

Patrick. Je lui suis particulièrement reconnaissant de m’avoir fait confiance lors des

différentes tâches qu’il m’a données et également de m’avoir aidé à résoudre les

problèmes qui n’ont pas manqué de se présenter au quotidien. Sa philosophie, sa méthode

de travail, son encadrement m’a permis d’acquérir une compétence à la fois de

management et de technique.



Je voudrais également remercier tous les autres employés de STRUCTIS pour la

bonne humeur générale qui régnait au sein de l’entreprise.



Je suis extrêmement reconnaissant à toutes ces personnes d’avoir fait de mon stage

une expérience riche et inoubliable.









Structis Page 3

Introduction

Ce stage d’une durée de 7 mois, a consisté à mettre en place une application de gestion de

contenu (ECM, Enterprise Content Management) qui vise à gérer l’ensemble des contenus

d’une entreprise sous forme électronique.



La gestion de contenu est un terme générique ciblant un large spectre de fonctionnalités

couvrant des domaines tels que : la création, l’approbation, l’agrégation, la communication, la

diffusion, la publication, la réutilisation, l’archivage d’informations structurées et non

structurées ainsi que la collaboration, le workflow, le record management, etc.



Comme nous le verrons par la suite, il est primordial pour un responsable d’entreprise de

prendre les décisions les plus adaptées en matière de fonctionnalités et services attendus de la

gestion de contenu.

L’Enterprise Content Management (ECM) est devenu une préoccupation stratégique

d’investissement comme l’a été le PGI (Progiciel de Gestion Intégré ou encore ERP) dans le

passé. Le manque de gestion de contenu est déjà en train de pénaliser la profitabilité de

INTRODUCTION









nombreuses entreprises.



Dès lors, il n’y a aucune surprise à constater qu’il existe aujourd’hui des centaines de

systèmes de gestion de contenu (CMS), y compris un certain nombre de solutions Open

Source, et que de nombreuses consolidations d’éditeurs, par opérations de fusion/acquisition,

voient le jour dans ce marché très dynamique.

Il s’avère aujourd’hui que les entreprises et les administrations publiques doivent faire face à

l’explosion du volume de contenus électroniques, non structurés ou semi-structurés, et à leur

diversité, qu’ils soient issus de documents bureautiques (textes, tableaux, etc.), d’applications

web (portails, intranets, extranets, sites web, etc.), de documentations techniques (photos,

vidéos …), des e-mails, etc.



Les enjeux majeurs de la gestion de contenu ont en effet trait à l’amélioration du travail

collaboratif, à une meilleure accessibilité aux contenus, au partage des connaissances et à une

recherche facilitée et accélérée.

Comme exemple d’application nous étudierons l’outil ECM Open Source Alfresco.



Ainsi je m’emploierai dans un premier temps à vous présenter la société STRUCTIS.



Dans un second temps, j’analyserai les outils d’ECM et plus précisément d’Alfresco sous un

angle théorique en me référant à de nombreuses sources d’informations et ouvrages différents

traitant du sujet ; à savoir comment mettre en place une application web basée sur le moteur

de gestion de contenu Alfresco.



La troisième partie exposera les applications faites durant mon stage (la médiathèque), dans la

construction de la nouvelle entité, de l’analyse de la problématique.









Structis Page 4

La quatrième partie mettra en relief les avantages d’Alfresco ainsi que la présentation d’autres

outils ECM comme SharePoint, Documentum.

Pour finir, je résumerai mon bilan personnel de ce stage



Ce mémoire permettra donc de découvrir et de suivre d’une façon globale l’évolution,

l’importance et la portabilité de l’outil open source Alfresco ainsi que la mise en pratique

d’une solution web pour illustrer la flexibilité des systèmes de gestion de contenu.









Structis Page 5

Structis Page 6

I. Présentation du groupe STRUCTIS :

Structis est le Groupement d’Intérêt Economique de Bouygues-Construction crée en Janvier

2001afin d’assurer la mise en commun des informatiques existantes. Le GIE est basé sur le

site de Challenger à Guyancourt et emploie plus de 200 collaborateurs. Dans le cadre de sa

mission Structis propose des services de différentes natures tels que : la mise disposition

d’infrastructures informatiques, le développement, l’intégration et maintenance

d’applications, l’assistance aux utilisateurs ainsi que le pilotage des systèmes d’informations.



I.1. Bouygues-Construction :

Bouygues Construction, filiale du groupe Bouygues, est un des leaders mondiaux dans les

domaines du bâtiment, des travaux publics, de l'électricité et de la maintenance. Organisé en

grandes entités opérationnelles, il met en œuvre ses savoir-faire en matière de financement, de

conception, de construction, de maintenance et d'exploitation pour offrir à ses clients des solutions

globales et innovantes.



Face aux enjeux environnementaux de ses métiers, Bouygues Construction s'est engagé dans une

démarche pragmatique et structurante, qui porte à la fois sur la conception, la réalisation et

l'exploitation des ouvrages qui lui sont confiés. Il affirme ainsi une ambition : être un leader en

matière de construction durable.



Avec 52 600 collaborateurs répartis à travers le monde, le Groupe a réalisé en 2009 un chiffre

d'affaires de 9,5 milliards d'euros.



I.1.2. Organisation :









I.1.3. Savoir-Faire :

 Bâtiment (financement, conception, construction/rénovation, exploitation,

développement immobilier) :

Immeubles de logements et de bureaux / Ouvrages publics / Centres commerciaux / Hôtels /

Centres d’expositions et de congrès/ Ensembles logistiques / Bâtiments industriels et

scientifiques / Aéroports…

Entreprises : Bouygues Bâtiment Ile-de-France, Bouygues Entreprises France-Europe,

Bouygues Bâtiment International, VSL, ETDE



 Travaux Publics (financement, conception, construction/rénovation, exploitation,

concession) :







Structis Page 7

Ponts / Tunnels / Routes et autoroutes / Aménagement urbain / Lignes de chemin de fer et de

métro / Barrages / Digues et ports / Centrales nucléaires…

Entreprises : Bouygues Entreprises France-Europe, Bouygues Travaux Publics, VSL, DTP

Terrassement, Pôle Concessions, ETDE







 Électricité/maintenance (ingénierie, travaux, maintenance et exploitation) :

Réseaux extérieurs aériens ou enfouis / Éclairage public / Systèmes de communication / Génie

électrique / Génie mécanique / Génie thermique / Facility management…

Entreprise : ETDE



I.1.4. Valeurs :

La réussite de Bouygues Construction repose sur ses équipes, leur savoir-faire et leur état

d’esprit. Elle est également fondée sur des valeurs fortes la marque distinctive du Groupe.



Exigence du résultat Écoute et satisfaction du client Entrepreneur et professionnel







Courage et vérité Sens de l'intérêt commun et solidarité Respect des hommes et des engagements









I.1.5. Chiffres clés:

Le groupe Bouygues c’est :



 52 600 collaborateurs dont 29 000 hors de France

 9,5 milliards d'euros de chiffre d'affaires en 2009, en progression de 0,5 %

 Une présence dans 80 pays





I.1.6. Stratégie :

La stratégie de Bouygues Construction repose sur quatre axes prioritaires, complémentaires

de ses métiers de base.



 Partenariats public –privé / Concessions

 Développement immobilier

 Développement des activités en Europe

 Energies et Services









Structis Page 8

I.2. Structis :

Crée en 2001 Structis a pour mission d’apporter aux collaborateurs de Bouygues

Construction des services informatiques de qualité adaptés à leurs métiers et aux meilleurs

coûts.



Durant mon stage j’ai intégré l’équipe Bureau d’études de Structis. Donc cette partie abordera

juste la présentation et les valeurs de Structis.



I.2.1. Organigramme :

Ci-dessous j’ai représenté une partie de l’organigramme de la direction bureau d’étude de

Structis avec à sa tête Mr Chapman Andy. Cet organigramme illustre un peu ma place au sein

de l’équipe de Structis.





Chapman Andy







Marchand Andree Mouty Laurent Planes Isabelle



Mon maitre de stage

Valliamee Patrick



Stagiaire

Ly Mamadou







I.2.2. Implantation :



Ce stage s’est déroulé à Challenger

(siège central de Bouygues)

construit en 1985 par l'architecte

américain Kevin Roche sur un

terrain de 30 hectares à

Guyancourt, il accueille,

environ 3.000 personnes y

travaillent. Situé au milieu d'un

écrin de verdure taillé au cordeau

(14 jardiniers y travaillent chaque

jour), Challenger est composé de

deux bâtiments "triangles" et d'un

grand bâtiment principal









Structis Page 9

I.2.3. Missions et axes stratégiques :

Structis regroupe et mutualise les moyens informatiques du Groupe pour apporter les services

suivants aux collaborateurs de Bouygues Construction :

 Mise à disposition d'infrastructures informatiques (micro-ordinateurs, serveurs,

réseaux, messagerie, logiciels, supervision, administration...) ;

 Développement, intégration et maintenance d'applications créées spécifiquement par

nos équipes ou à partir de logiciels du marché ;

 Assistance aux utilisateurs (installation ou remplacement, assistance téléphonique,

gestion des incidents et réclamations) ;

 Pilotage des Systèmes d'Information - composés de 8 domaines : RH Paye, Finances,

Achats, Partage de la connaissance, Commercial, Matériel, Technique Travaux

et « Autres ».



I.2.4. Organisation de STRUCTIS :

 La Direction des Opérations et Services (DOS) est la Direction la plus importante

en nombre de collaborateurs (plus de 135). Elle a pour principales missions d’assurer

l'installation et le remplacement des équipements informatiques, de fournir une

assistance aux utilisateurs, de concevoir et déployer les infrastructures S.I, de

développer et maintenir les infrastructures techniques, etc.

 La Direction des Études se compose d'une soixantaine de personnes, principalement

des chefs de projet informatique, des ingénieurs d’études et des développeurs. Elle

prend en charge : l'intégration de progiciels (avec ou sans développement spécifique),

le développement de petits, moyens ou grands projets (de quelques jours à plusieurs

centaines), la maintenance des applications, le support applicatif.

 La Direction de Service et d’Assistance à Maîtrise d’Ouvrage se compose de 2

fonctions :

- Les Assistants de Domaine (AD) qui ont pour mission de définir et de mettre en

œuvre le plan SI à trois ans en garantissant la cohérence, la pertinence et la

performance du SI du domaine ;



- Les Architectes des Systèmes d’Information (ASI) qui organisent le système

d’information en adéquation avec les entités/métiers dont ils sont responsables, dans le

respect des objectifs fixés par les Directions Générales des entités concernées et la

stratégie des SI Bouygues Construction fixée par le DCSI. Ils sont relayés sur le terrain

par des Correspondants Système d’Information (CSI).

 La Direction e-Services a pour mission, au sein de Structis, de déployer des

offres de solutions «Software as a Service » – appelées e-services – qui répondent

à des besoins propres au cœur de métier de la construction. e-Services a accumulé

au fil des années une forte expertise dans le domaine de l’ouverture du Système

d’Information sur l’extérieur : saisies en mobilité à l’aide de tablettes PC,

plateformes d’échange via Internet, portails chantiers ou sous-traitants, etc.



I.2.5. Projets :

Quelques projets informatiques sont mise en place chez Structis parmis les quels l’on peut

citer

 EDIFICE : Refonte et harmonisation du système d’information financier de

Bouygues Construction à l’aide du progiciel SAP.









Structis Page 10

 MOBILITE : Déploiement de PDA renforcés pour la maîtrise ETDE afin de

moderniser et de faciliter la saisie des pointages et des demandes d’achat.

 La médiathèque :

On peut élargir la liste mais nous allons parler du projet qui nous intéresse le plus qui est à

l’origine de ce mémoire à savoir le projet nommé la médiathèque.



Ainsi après présentation du groupe Bouygues et de Structis, nous pourrons aborder désormais

la partie II qui traitera l’outil de gestion d’entreprise : Alfresco









Structis Page 11

Structis Page 12

II. Alfresco : Présentation :

Alfresco est l'alternative open source de référence pour la gestion de contenu d'entreprise crée

en 2005. Alfresco combine l'innovation du monde open source avec la stabilité et les

performances d'une plateforme dédié à l'entreprise. Le modèle open source permet à Alfresco

d'utiliser les composants de référence existants et d'obtenir des contributions de la

communauté afin d'obtenir un logiciel de plus innovant, plus rapidement, de grande qualité et

à moindre coût.



L’objectif d’Alfresco n'est pas seulement de fournir une alternative open source, mais aussi de

surpasser les offres commerciales comme Documentum ou Microsoft SharePoint tant en

terme de fonctionnalités que de bénéfices pour les utilisateurs.



C’est une solution basée sur un système ouvert et basé sur la technologie J2EE JSF (Java

Server Faces) permettant la gestion de contenu d’entreprise et l’accès fluide et aisé au contenu

pour les différents utilisateurs. Elle utilise de nombreux outils libres reconnus comme Tomcat

(serveur Web et compilateur JSP), HSQLDB (base de données relationnelle en Java), Lucene

(moteur de recherche libre en Java), Hibernate, Spring et bien d’autres…



II.1. Les fonctionnalités d’Alfresco :

Alfresco permet de gérer les documents électroniques (GED) au sein d’une entreprise et

fournit des services de recherche et de catégorisation du contenu.



 Gestion de Contenu d'Entreprise (ECM)

 Gestion Documentaire

 Gestion de Contenu Web

 Collaboration

 Plateforme de Contenu

 Gestion des Connaissances

 Gestion des Archives

 Gestion des Documents Numérisés

 Référentiel Open Source JSR-170



II.1.1. Alfresco : fonctionnalités, composants, architecture :

 Alfresco propose de nombreuses fonctionnalités: voir figure1









Structis Page 13

Figure 1: Vue d'ensemble Alfresco





 Alfresco utilise les composants suivants :



Spring Framework orienté aspects

ACEGI Framework de sécurité orienté

aspects

MyFaces Implémentation de JSF

Hibernate Mapping Objet-Relationnel et

Persistance

Lucene Moteur de recherche textuelle

JLAN serveur CIFS, FTP, NFS

POI Conversion de fichiers

PDFBox Conversion PDF

OpenOffice Suite bureautique

Axis services web

Freemarker - langage de modèles

Rhino Moteur javascript

EHCache Cache distribué

Log4J Gestion de logs

XFire Framework SOAP

Quartz Planificateur

TinyMCE Editeur riche

Jaxen Moteur XPATH

Chiba Moteur XForms

Quercus Moteur PHP









Structis Page 14

 Architecture Alfresco

Alfresco présente une architecture très avancées et apporte les bénéfices suivants.



 Facile à utiliser

 Facile à administrer

 Intégration des meilleures pratiques de collaboration

 Recherche documentaire et Gestion de Connaissance Avancée

 Architecture distribuée

 Productivité des développeurs

 Open Source

Accès aux données

CIFS/SMB Protocole de partage de

fichiers Microsoft

FTP Framework de sécurité orienté

aspects

NFS Implémentation de JSF

WebDav Mapping Objet-Relationnel et

Persistance

WebServices Moteur de recherche textuelle

Interface Web serveur CIFS, FTP, NFS









Structis Page 15

II.2. Installation Alfresco :

Alfresco utilise les derniers outils open-source pour optimiser les performances, et la

programmation Orientée Aspects (AOP) facilitant ainsi la modularité et l’adaptabilité de

l’application.

La procédure d’installation d’Alfresco sera réalisée en fonction de l’environnement (Windows

Server), du serveur d’application (Tomcat), du système de stockage (SQL Server), du

framework (Spring, JSF)… choisis.



Donc dans cette section j’explique la procédure d’installation que j’ai effectué durant mon

stage car le projet mediatheque nécessite obligatoirement le fonctionnement de la plateforme

Alfresco.



II.2.1. Alfresco archive :

Alfresco offre deux éditions différentes : la version Enterprise et la version Community. A

l’origine le projet mediatheque a été réalisé avec la version Enterprise qui nécessite une

licence, depuis le début de mon stage l’objectif était de migrer la mediatheque vers la version

community et que les développements et nouveautés soient assurés en interne et ne plus faire

appel au support.









Alfresco Enterprise Edition est testée et certifiée Alfresco Community Edition fonctionne dans un

dans des environnements applicatifs open source environnement applicatif open source. Son

et propriétaires. Elle inclut également un support support est assuré par la communauté Alfresco et

commercial complet. à travers les forums de développeurs.





La procédure d’installation d’alfresco que je vais étudier et expliquer par la suite, concerne

bien la version community et la version enterprise, néanmoins il existe des différences dont

nous tiendrons bien sûr en compte.

Récupérons par ici, l’archive.zip d’alfresco qui englobe un serveur d’application Tomcat

préconfiguré.

Pour faciliter le lecteur, je nommerai ALF_HOME le répertoire de cet archive et il présente

l’arborescence suivant.









Structis Page 16

I.2.2. Configuration Tomcat :



Tomcat est un serveur d'applications Java. Il permet de générer une réponse HTML à une requête

après avoir effectué un certain nombre d'opérations (connexion à une base de données, à un annuaire

LDAP...). Pour le client (un navigateur web en général), il n'y a pas de différence avec une page web

statique : il reçoit toujours du HTML, seul langage qu'il comprend. Seule la manière dont la réponse

est formée côté serveur change.



Les requêtes, pour le client, ne diffèrent pas non plus. Qu'il souhaite accéder à une ressource statique

ou à une application web, il utilise toujours une URL au même format (standard HTTP). C'est donc

côté serveur que la distinction doit s'opérer. Le schéma suivant montre le déroulement classique d'une

requête vers un serveur d'applications :









Structis Page 17

Remarque: CATALINA_HOME =ALF_HOME\tomcat



Dans le répertoire CATALINA_HOME\bin contient les fichiers exécutables de Tomcat. En

l'occurrence, principalement les fichiers batchs Windows permettant le démarrage et l'arrêt du

serveur. Mais également l'archive bootstrap.jar, contenant les classes permettant le

démarrage et l'initialisation du serveur.



 catalina.bat



J’édite le fichier CATALINA_HOME\bin\catalina.bat, pour ajouter/modifier les lignes que

vous pouvez repérer via les tableaux ci-dessous. Ce fichier permet de démarrer la machine

virtuelle de tomcat avec un connecteur RMI activé.



Alfresco Home

set ALF_HOME= D:\InetPub\Dev\catalina_alfresco_community

set ALF_HOME_URI=%ALF_HOME:\=/%





PATH Configuration

set PATH=%ALF_HOME%bin;%PATH%





JAVA Configuration

set JAVA_HOME=D:\runtime\jdk1.6.0_19

set JAVA_OPTS=-Xms512m -Xmx1024m -Xss96k -XX:MaxPermSize=512m -server -

Dcom.sun.management.jmxremote







 service.bat



Le fichier CATALINA_HOME\bin\service.bat nous permet de configurer Tomcat en

tant que service Windows, donc il nous permettra de démarrer ou arrêter tomcat en

exécutant respectivement les scripts startup.bat et shutdown.bat. Pour ce faire j’ai édité

éditez le fichier puis j’ai ajouté/modifié les lignes suivants



JAVA Configuration

set JAVA_HOME=Path de la JDK (example C:\mly\jdk1.6.0_19)





TOMCAT Home

set CATALINA_HOME= Path de tomcat (example:

D:\InetPub\Dev\catalina_alfresco_community\tomcat)





Service Configuration

set SERVICE_NAME=Nom du service (example CatalinaAlfrescoCommunity)

set PR_DISPLAYNAME=example(Catalina_Alfresco_Community)

set PR_DISPLAYNAME=example (Catalina_Alfresco_Community %2)

set PR_DESCRIPTION=description du service (example Service Catalina pour Alfresco Maison)

Kerberos, JVM Configuration

"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-XX:MaxPermSize=128m;-

Djava.io.tmpdir=%CATALINA_BASE%\temp;-

Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-

Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;-

Djava.security.auth.login.config=%CATALINA_HOME%\kerberos\java.login.config;-









Structis Page 18

Djava.security.krb5.conf=%CATALINA_HOME%\kerberos\krb5.conf" --JvmMs 128 --JvmMx 512 -

-JvmSs=96

"%EXECUTABLE%" //US//%SERVICE_NAME% --DisplayName "Catalina_Alfresco_Maison"

"%EXECUTABLE%" //US//%SERVICE_NAME% --Environment

PATH=C:/mly/catalina_alfresco_community/bin;%PATH%

"%EXECUTABLE%" //US//%SERVICE_NAME% --

Install="D:\InetPub\Dev\catalina_alfresco_community\bin\tomcat6.exe" --Jvm auto







Après avoir configurer ces fichiers, j’exécute le fichier service.bat via le cmd pour que mon

serveur Tomcat soit installé comme service de Windows



CATALINA_HOME\bin>service.bat install





 server.xml



La configuration du serveur Tomcat s'effectue en majeure partie dans le

fichier server.xml, situé dans le répertoire CATALINA_HOME/conf. Celui-ci contient

les éléments de configuration du serveur.

Editons le fichier CATALINA_HOME\conf\server.xml et ajustons le numéro de port

sur lequel Tomcat est à l'écoute des requêtes http.

Port HTTP









 sqljdc4.jar



Le pilote JDBC Microsoft SQL Server, permet d’accéder aux données de la base de données

SQL Server.



La bibliothèque de classes sqljdbc4.jar requiert la version 6.0 de l'environnement d'exécution

Java (JRE, Java Runtime Environment) ou une version ultérieure. L'utilisation

de sqljdbc4.jar dans JRE 1.4 ou JRE 5.0 lève une exception.



J’ai déployé cette librairie dans le répertoire CATALINA_HOME\lib.



 mediatheque.war



L’application mediatheque.war est à déployer dans le répertoire

CATALINA_HOME\webapps qui contient les applications web. C'est en tout cas le

répertoire par défaut pour ce faire. Je reviendrai cette application dans la partie III car elle

représente une grande partie de mon stage.









Structis Page 19

II.2.3. Authentification SSO : Kerberos :



Avec un nombre croissant d'applications à leur disposition, et donc avec autant de mots de

passe à mémoriser, les utilisateurs font de leur mieux : ils inscrivent ces codes secrets dans

leur agenda papier, les notent sur des Post-it qu'ils collent autour de leur écran ou, plus

simple, laissent leurs connexions ouvertes lorsqu'ils quittent leur poste de travail. Et ce, afin

de ne pas avoir à répéter le rituel quotidien de l'accès sécurisé à leurs applications.



Pour juguler cette prolifération de mots de passe, un remède existe : le Single Sign-On (SSO).

Il s'agit d'une gamme d'outils qui mémorise à la place des utilisateurs l'ensemble de leurs

codes secrets et les présente automatiquement à chaque application qui en fait la demande.

L'utilisateur n'a qu'à s'authentifier une seule fois, le plus souvent à l'ouverture de sa session de

travail, le reste est pris en charge par le SSO. Les mots de passe peuvent être stockés de façon

centralisée ou localement, sur une carte à puce, par exemple.



Cependant vous l’avez deviné finalement mon maître de stage m’a demandé de mettre en

place ce type d’authentification SSO basé sur Kerberos et Active Directory. Je me suis basé

donc sur l’infrastructure Microsoft (AD, Windows qui utilise Kerberos pour l’authentification

depuis la version 2000) et la sécurité java.



Remarques : Le fichier CATALINA_HOME\shared\classes\alfresco-global.properties est

le fondamental et pratique pour la configuration d’alfresco, car c’est dans ce dernier que je

spécifierai tous les paramètres de connexion à la base de données, d’authentification (SSO

Kerberos)…



 Configuration Kerberos :



Mon maître de stage m’a beaucoup apporté lors de la mise en place de kerberos, il m’a bien

expliqué et détaillé le processus des authentifications kerberos, cependant j’ai mis en place

des authentifications pour notre instance d'alfresco (Enterprise ou Community), Kerberos

(avec Active Directory) utilise un système de tickets au lieu de mots de passe en texte clair.

Ce principe renforce la sécurité du système et empêche que des personnes non autorisées

interceptent les mots de passe des utilisateurs.



Rappel : Dans le fichier CATALINA_HOME\bin\service.bat, nous avions ajouté les lignes

ci-dessous qui permettent de déclarer les fichiers (java.login.config et krb5.conf) de

configuration de kerberos.



Djava.security.auth.login.config=%CATALINA_HOME%\kerberos\java.login.config;-

Djava.security.krb5.conf=%CATALINA_HOME%\kerberos\krb5.conf"



II.2.3.1 : Création de fichiers .keytab :



Pour définir des hôtes KDC (Contrôleurs de domaines) et des mappages utilisateur/service, il

faut obligatoirement générer un fichier d’extension. keytab, d'où l'utilisation de l'utilitaire

Ktpass, fourni avec le kit de ressources Microsoft Windows 2000.



Pour cette tâche j’ai travaillé avec mon maître de stage ainsi qu’un membre de l’équipe DOS

pour la création des utilisateurs sous Active Directory ainsi que les commandes que

nécessaires que j’expliquerai juste après.







Structis Page 20

Remarques : La commande Ktpass peut être exécutée à partir du serveur Active Directory



Encryption Type Windows Windows Windows Windows

2000 2003 2008 2008 R2

DES-CBC-CRC Yes Yes Yes Disabled

DES-CBC-MD5 Yes Yes Yes Disabled

RC4-HMAC Yes Yes Yes Yes

AES128-CTS-HMAC- No No Yes Yes

SHA1-96

AES256-CTS-HMAC- No No Yes Yes

SHA1-96





Nous (mon maître de stage et moi) avions choisi l’encryptage RC4-HMAC.









A la suite de la création de deux utilisateurs (user_cifs et user_http) par l’équipe de la DOS,

j’utilise finalement l’outil Ktpass pour générer les 2 fichiers que j’appellerai cifs.keytab et

http.keytab grâce aux commandes ci-dessous :



Création de cifs.keytab

>ktpass -princ cifs/alf_media_int.bouygues-construction.com@BOUYGUES-

CONSTRUCTION.COM -pass **** -mapuser BCNDOMAIN\user_cifs -crypto RC4-HMAC-

NT -ptype KRB5_NT_PRINCIPAL -out c:\temp\cifs.keytab





Création de http.keytab

>ktpass -princ HTTP/bcnssrv505.bouygues-construction.com@BOUYGUES-

CONSTRUCTION.COM -pass **** -mapuser BCNDOMAIN\user_http -crypto RC4-HMAC-

NT -ptype KRB5_NT_PRINCIPAL -out c:\temp\ http.keytab









Structis Page 21

Remarques : A noter que le nom de domaine (exemple BOUYGUES-CONSTRUCTION) est en

majuscule



II.2.3.2 : krb5.conf et java.login.config :



Le contenu de ces 2 fichiers de configuration qui sont très importants pour la mise en place de

kerberos est à retrouver aux annexes pages 44.



II.2.4. alfresco-global.properties :

Le fichier CATALINA_HOME\shared\classes\ alfresco-global.properties définit

l’ensemble des paramètres de l’architecture tels que :



 l’accès à la base de données

 la synchronisation et la gestion de la base des utilisateurs (via des annuaires LDAP,

Active Directory) par une authentification (SSO).

 Les modèles de données (la modélisation des contenus avec le dictionnaire de

données Alfresco)

 Les webscripts …



Vous trouverez un exemple en annexe.



II.2.5. SQL Server :

La mise en place de la base de données alfresco sera effectuée en 3 étapes grâce à SQL Server

Management Studio 2008 :

 Création un compte de connexion user/login

 Création de la base de données

 Activation des niveaux d’isolements



II.2.5.1 : Création d’un compte de connexion :



La procédure à suivre pour la création d’un compte de connexion SQL Server qui utilise

l'authentification SQL Server est la suivante :

 Dans SQL Server Management Studio, ouvrez l'Explorateur d’objets

 Cliquez avec le bouton droit sur le dossier Sécurité/Connexions, puis cliquez sur

Nouvelle connexion comme l’illustre la figure ci-dessous.









Structis Page 22

 Dans la page Général, entrez un nom pour le nouveau compte de connexion dans la

zone Nom d'accès (Ce nom doit correspondre à la variable db.username défini dans le fichier

alfresco-global.properties).

 Sélectionnez Authentification SQL Server. L'authentification Windows est l'option la plus

sécurisée.

 Entrez un mot de passe pour le compte de connexion (Ce mot de passe doit correspondre à la

valeur de la variable db.password défini dans alfresco-global.properties).

 Sélectionnez les options de stratégie de mot de passe à appliquer au nouveau compte de

connexion. En général, conserver l'expiration du mot de passe est l'option la plus sécurisée.

Cliquez sur OK pour finir



II.2.5.2 : Création de la base de données :



 Dans l'Explorateur d'objets, connectez-vous à une instance du moteur de base de données

SQL Server, puis développez-la

 Cliquez avec le bouton droit sur Bases de données, puis cliquez sur Nouvelle base de

données.









Structis Page 23

 Dans Nom de la base de données, entrez le nom de la base de données qui doit correspondre

à la valeur de la variable db.name défini dans le fichier alfresco-global.properties.

 Dans Propriétaire, entrez le nom de l’utilisateur créé précédemment dans la partie II.2.3.1

 Cliquez sur OK.



II.2.5.3 : Activation des niveaux d’isolement :

L’activation des niveaux d’isolement sera effectuée via l’exécution de la requête suivante :

avec alfresco comme nom de la base de donnée. Référence.



Requête transaction

ALTER DATABASE alfresco SET ALLOW_SNAPSHOT_ISOLATION ON;



II.2.6. Module alfresco-mssql.amp:

Le module alfresco-mssql.amp disponible ici, permet d'utiliser IBATIS comme couche de

persistance pour mapper et exécuter dynamiquement les données de l’objet dans la requête

SQL.



Ce module est à déployer dans le répertoire CATALINA_HOME\amps



A noter que pour installer un module pour Alfresco il faut exécuter le fichier

CATALINA_HOME\bin\alfresco-mmt.jar avec la commande ci-dessous







Install Module Alfresco

 java –jar CATALINA_HOME\bin\alfresco-mmt.jar install







Structis Page 24

CATALINA_HOME\amps\alfresco-mssql.amp

CATALINA_HOME\webapps\alfresco.war



Remarque : vous pouvez voir la liste des modules installés sur votre instance alfresco grâce à

la commande ci-dessous :

Liste Modules Alfresco

 java –jar ALF_HOME\bin\ alfresco-mmt.jar list CATALINA_HOME\

webapps\alfresco.war



II.2.7. Démarrage Alfresco :

Désormais la configuration étant terminée je peux démarrer le service alfresco pour déployer

l’application alfresco.war



Pour ce faire j’exécute la commande ci-dessous



Lancement Service Windows

 services.msc









Figure 8: Services.msc





Cliquez sur Démarrer pour lancer le service Alfresco



 log4j



Pour debugger l’application alfresco, j’utilise l’API log4j ce dernier est paramétrable via le fichier

CATALINA_HOME\webapps\WEB-INF\classes\log4j.properties après déploiement de l’archive

alfresco.war.



Editez le fichier et activer/désactiver les logs en fonctions de vos besoins



Finalement alfresco est désormais fonctionnel via l’url : http://server_name:port/alfresco









Structis Page 25

Figure 9: alfresco web









Pour donner un peu de saveur à ce rapport, je vais vous présenter en partie III ce qui constitue

le cœur de ma mission durant ce stage il s’agit bien sûr du projet mediatheque.









Structis Page 26

Structis Page 27

III .Médiathèque : Présentation :

La médiathèque est une application de gestion de contenu (ECM, Enterprise Content

Management) qui vise à gérer l’ensemble des contenus d’une entreprise sous forme

électronique.



L’application sera composée de différentes « couches » communicant entre elles et assurant

chacune un aspect de l’application.

Ainsi on trouve le référentiel Alfresco qui apporte les fonctionnalités de GED et la couche

présentation qui prend en charge l’interface avec l’utilisateur.

Ces deux couches échangent des informations à travers des communications s’appuyant des

appels http et des réponses au format JSON sur http, sauf dans le cas des fichiers médias qui

transitent en binaire.









Structis Page 28

http, get, post









Web Scripts

alfresco mediatheque

html, json, xml





Les étapes de configuration et d’installation de la médiathèque va se reposer sur

 Un principe général : qui permet d’avoir des paramètres généraux Véga (modèle de

données général des contenus de la médiathèque voir annexe page 45), des paramètres

s’appliquant à l’ensemble des médiathèques, et des paramètres propres à une

médiathèque.

A noter que des adaptations du client Alfresco ont été apportées pour permettre l’utilisation

des catégories comme taxons et optimiser leur utilisation par la mise en place d’un cache de

données.

Avant d’entrer dans le vif du sujet il est important que je vous présente les api qui sont utilisés

pour le développement de cette application web :



III.1. ExtJS :

Ext est une bibliothèque Javascript permettant de construire des applications web

interactives. C'était au départ une extension à la bibliothèque Javascript YUI de Yahoo, Ext

peut maintenant être utilisée avec les bibliothèques Prototype, JQuery ou encore toute seule.

Ext apporte un certain nombre de composants visuels d'une grande qualité comme des champs

de formulaires avancés, des arbres, des tableaux, menu et barre d'outils, onglets, boites de

dialogue. La version 2.0 est de sortie le 4 décembre 2007. Il s'agit d'une amélioration majeure

de la bibliothèque. D’ailleurs la mediatheque a été développé avec cette version.





 Le SDK d’ExtJS



La première phase consiste à télécharger le SDK complet contenant toutes les sources du

framework via cet url http://extjs.com/products/extjs/download.php



Ensuite, deux fichiers seront impérativement appeler dans nos pages, à partir

desquels, presque toutes les fonctionnalités pourront être utilisées (excepté l’Ajax avec les

jquery, se trouvant dans un dossier annexe du Sdk, ou la bibliothèque

scryptaculous permettant du design …).



Voici donc les lignes à rajouter dans toutes les pages :









Structis Page 29





Ensuite, un design complet est fourni d’office dans le kit, il est donc préférable de copier le

contenu des ressources d’extjs ainsi que le CSS ext-all.css











Ce second CSS concerne le design des popups du site



III.1.2. Les composant de la mediatheque :

Les différents types de composant proposés par ExtJS sont listés dans le tableau ci-dessous.

Nous les avons utilisés et en avons ajouté quelques-uns par assemblage de ces composants

élémentaires.



Type Class

Box Ext.BoxComponent

Button Ext.Button

Colorpalette Ext.ColorPalette

Component Ext.Component

Container Ext.Container

Cycle Ext.CycleButton

Dataview Ext.DataView

Datapicker Ext.DatePicker

Editor Ext.Editor

EditorGrid Ext.grid.EditorGridPanel

Grid Ext.grid.GridPanel

Paging Ext.PagingToolbar

Panel Ext.Panel

Progress Ext.ProgressBar

Propertygrid Ext.grid.PropertyGrid

Slider Ext.Slider

Splitbutton Ext.SplitButton

Toolbar Components

Toolbar Ext.Toolbar

Tbbutton Ext.Toolbar.Button

Tbfill Ext.Toolbar.Fill

Tbitem Ext.Toolbar.Item

Tbseparator Ext.Toolbar.Separator

Tbspacer Ext.Toolbar.Spacer

Tbsplit Ext.Toolbar.SplitButton

Tbtext Ext.Toolbar.TextItem





Form Component

Form Ext.FormPanel







Structis Page 30

Checkbox Ext.form.Checkbox

Combo Ext.form.ComboBox

panel Ext.

Datefield Ext.form.DateField

Field Ext.form.Field

Fieldset Ext.form.FieldSet

Hidden Ext.form.Hidden

Htmleditor Ext.form.HtmlEditor

Label Ext.form.Label

Numberfield Ext.form.NumberField

Radio Ext.form.Radio

Textarea Ext.form.TextArea

Textfield Ext.form.TextField

Timefield Ext.form.TimeField

Trigger Ext.form.TriggerField





Les composants sont présentés selon différents « layout » qui définissent la manière dont les

composants sont assemblés : côte à côte, les uns au-dessus des autres, … Les différents types

de layout sont : absolute, accordion, anchor, border, card, column, fit, form, table



III.2. Interface de la mediatheque :

Après avoir présenté la couche Extjs, l’image ci-dessous montre vraiment l’interface

graphique de l’application mediatheque qui est réalisable facilement grâce à l’API ExtJS.

Cependant après cette présentation photographique, il est important de savoir comment est

établie la relation mediatheque alfresco ? Effectivement cette relation est rendue possible

grâce à une technologie appelée Webscripts cette dernière permet de composer des

« services », similaires à des services web, capables de retourner divers formats de données :

XML, JSON, ATOM, etc... Ainsi, ces interfaces ne sont qu'un retour au format HTML d'un

service de navigation.









Structis Page 31

III.2.1. Bandeau de recherche :

Le bandeau de recherche se présente ainsi :





Un style globale est ajouté pour ce bandeau dans le fichier « resources\css\extension-all.css »

avec le nom « searchBar » permettant de spécialiser les éléments contenu.



 Recherche plein text

Cette zone est constituée d’un composant Ext.form.TextField et d’un composant Ext.Button.

Aucun style spécifique n’a été ajouté sur ces éléments.



Cette recherche s’effectue sur un ensemble de propriété configurable par médiathèque à l’aide

du paramètre « FULL_TEXTE_ATTR » dans le fichier config. Ce paramètre doit lister

l’ensemble des propriétés sous forme d’un tableau. Un exemple de syntaxe est le suivant :

"FULL_TEXTE_ATTR" : ["@cm\\:name","@cm\\:description","@cm\\:title"]

Ces syntaxes sont écrites en Lucene (Lucene est un moteur de recherche libre écrit en Java qui permet

d'indexer et de rechercher du texte. C'est un projet open source de la fondation Apache mis à disposition sous

licence Apache. Il est également disponible pour les langages Ruby, Perl, C++, PHP.)

Par ce paramètre, les propriétés utilisées seront le nom, la description ainsi que le titre.



III.2.2 Filtre des types :

Cette zone est constituée de quatre composants Ext.form.Checkbox. Aucun style spécifique

n’a été ajouté sur ces éléments.





Donc elle offre une recherche spécifique selon les critères suivants :

 Tous pour visualiser tous les contenus d’un espace

 Photos retourne que les medias de type Photos

 Logos retourne que les medias de type Logos

 Vidéos retourne que les medias de type Vidéos

A noter que les type de medias sont définis dans le modèle de données voir annexe page 46



III.2.3 Filtre par notation :







Cette zone est constituée de quatre images cliquables représentant les notations des éléments

de la médiathèque. Trois styles déclarées dans le fichier « resources\css\extension-all.css sont

utilisés :

rating-filter (1): style générique pour les images.

rating-filter-no (2): style de spécialisation pour l’option aucun filtre.

rating-filter-gold (3): style de spécialisation pour le choix d’un filtre.









Structis Page 32

III.2.4. Présentation des facettes :

Les facettes sont représentées à l’aide de panneau affiché les uns au-dessous des autres ainsi :









Les facettes sont vraiment pratiques pour avoir une vision plus globale des contenus de

l’entreprise. La structure obtenue respecte bien celle définies par les collaborateur et

administrateurs d’une entité opérationnelle.









Structis Page 33

III.2.5. Affichage des résultats :

 Mode vignette

L’affichage des résultats d’une recherche (depuis les facettes, la recherche plein texte ou

l’espace privé) les éléments peuvent être présentés sous la forme de vignette :



Grande vignette









 Petite vignette









Les copies d’écran ci-dessus présentent l’affichage d’un espace privé

Le principe de présentation pour ces deux modes est identique, la différence concerne

uniquement la taille des vignettes. L’enchainement des css est le suivant :









Structis Page 34

Les css utilisées sont :

Zone 1 : thumb-wrap (dans tous les cas) et high-res pour les grandes vignettes ou

high-small-res pour les petites vignettes. Lors de la sélection d’un élément la css « xview-

selected » est ajoutée. Lorsque la souri survole cette zone, la css « x-view-over »

est ajoutée.

Zone 2 : thumb (dans tous les cas) et private lorsque l’élément n’est pas encore publié ou

public dans le cas contraire. La classe private est responsable du cadre rouge autour de

l’élément. Leur définition se trouve dans le fichier « resources\css\extensionall.css ».

Zone 3 : Affichage du type d’élément. L’icône présentée est le résultat de la définition des

css photo, logo, video dont la définition se trouve dans le fichier

« resources\css\extension-all.css ». A noter que leur définition a été spécialisée pour la css

thumb-wrap, par exemple « .thumb-wrap .photo »

Zone 4 : Affichage de la case à cocher. Le principe retenu est celui de ExtJs, à savoir une

css définissant l’image de la case « imgItemSel ». Celle-ci est spécialisée pour représenter la

case à cocher par la définition « .x-view-selected .imgItemSel ».

Zone 5 : Affichage de l’outil de téléchargement. L’icône présentée est le résultat de la

définition de la css « imgDownload ». Sa définition est spécialisée ainsi « .thumbwrap

.imgDownload » dans le fichier « resources\css\extension-all.css ».

Zone 6 : Affichage de l’outil d’envoi de lien. L’icône présentée est le résultat de la

définition de la css « imgForward ». Sa définition est spécialisée ainsi « .thumb-wrap

.imgForward » dans le fichier « resources\css\extension-all.css ».

Zone 7 : Affichage de l’outil de suppression d’un élément, disponible uniquement si

l’utilisateur n’est pas simple lecteur de la médiathèque. L’icône présentée est le

résultat de la définition de la css « imgDelete » dans le fichier

« resources\css\extension-all.css ». Aucune spécialisation n’est faite pour celle-ci car elle est

utilisée sur d’autre fonctionnalité.

Cette présentation utilise le mécanisme de « DataView » d’ExtJs et repose sur la définition

des css définies dans le fichier « resources/css/data-view.css ». Les définitions sont

spécialisées finement par l’ajout du préfix « # main-content » correspondant à la zone centrale

de l’affichage, y compris la barre d’outil.

 Mode diaporama

Le mode diaporama permet de présenter les objets à l’aide d’un carousel avec un zoom sur la

vignette en bas de page. La sélection est unique dans ce mode d’affichage. Les fonctionnalités

de téléchargement, envoi, suppression ne sont disponibles que depuis la barre d’outils dans ce

mode de navigation :









Structis Page 35

Chacune des vignettes par un div auquel est ajouté le style fixe « x-carousel-item » et dont la

taille est fixée. Celui-ci permet la sélection des éléments avec les mécanismes d’ExtJs. Lors

de la sélection de l’élément le style « x-view-selected » est ajouté.

Un autre div est encapsulé avec le style « private » ou « public » ajouté en fonction de l’objet,

classe définie dans le fichier « resources\css\extension-all.css ».

Aucune spécificité n’est mise en place pour le zoom sur l’image.



La génération des vignettes, ainsi que la personnalisation de l’affichage a été effectuée en java

avec des outils comme ImageMagik (pour la génération des vignettes), ffmpeg (pour la

transformation d’une vidéo en flash).



IV. Alfresco : Les avantages

La gestion de contenu d'entreprise (ECM) est extrêmement coûteuse à déployer et à faire

évoluer et demande souvent du matériel et des logiciels complémentaires coûteux. Les sites

les plus évolutifs du monde s'exécutent maintenant sur du logiciel Open Source. Les sites

Web 2.0 ont banalisé le processus de montée en charge afin de se focaliser sur :

- la voie Open Source

- l’évolution sur un ensemble de matériels et logiciels génériques, faiblement liés et de

faible coût.

Alfresco Content Platform offre le contenu en tant que service à partir du référentiel de

contenu Java le plus extensible, qui est clusterisé, fédéré et répliqué.



Comme vous pouvez le constater le choix de la plateforme Alfresco pour le projet de la

médiathèque n’est pas fait au hasard car elle offre un service orienté contenu extrêmement

puissant :









Structis Page 36

Montée en charge Java

 Alfresco Content Platform offre le Java CMS le plus apte à monter en charge, avec

environ 100 millions de documents selon un benchmark certifié indépendamment et

réalisé par Unisys Corporation.



Architecture agrégée avec REST

 Le Web nouveau repose sur REST (REpresentational State Transfert). Pour intégrer

les applications externes et internes et le contenu, vous devez adopter la même

architecture : accès par URL, scripts légers et standards partagés.



Normes

 Alfresco repose sur des standards tels que REST, RSS, Atom publishing, JSON,

OpenSearch, OpenSocial, OpenID, Web Services, JSR 168, JSR 170 Level 2,

MyFaces, CIFS, FTP, WebDAV, SQL et ODF. Le respect de ces standards simplifie

fortement l'intégration dans votre architecture et vous permet de diminuer les coûts.



Lecteur réseau partagé

 Le référentiel Alfresco est identique à un lecteur réseau partagé. Vous pouvez donc

immédiatement continuer à utiliser vos outils d'édition préférés, de Microsoft Office à

Open Office, Dreamweaver ou AutoCAD, sans installation de logiciel complémentaire

sur le poste de travail ni de formation supplémentaire. Vous obtenez juste ce que vous

souhaiter : la capacité d'enregistrer, de contrôler les versions, de partager, de

rechercher et de contrôler l'accès aux données.



Intégration avec Microsoft Office

 Alfresco s'intègre avec Microsoft Office et Open Office. Vous pouvez donc continuer

à travailler dans votre environnement bureautique sans formation supplémentaire.

Vous obtenez juste ce que vous et votre société voulez : la capacité d'enregistrer, de

contrôler les versions, de partager, de rechercher et de contrôler l'accès aux données, et

utiliser des workflows simples à mettre en place.



Règles pour la gestion de contenu

 Alfresco transforme le simple lecteur réseau partagé en un système de fichiers virtuel

où vous pouvez créer les applications de gestion de contenu dont vous avez besoin

grâce à de simples assistants. Si vous glissez-déposez un document dans un dossier,

vous pouvez démarrer un workflow, éventuellement convertir le document en un autre

format, le déplacer dans un autre dossier ou notifier un ensemble d'utilisateurs par

email. Le workflow peut même extraire des propriétés telles que le nom de l'auteur ou

d'autres mots clés à partir du document, vous permettant de les utiliser ultérieurement

pour rechercher le document. Vous utilisez juste les fonctionnalités dont vous ou votre

service avez besoin, aussi simplement que vous créez des règles de filtrage de mail.



La médiathèque est un exemple d’application qui prouve encore une fois que l’on peut faire

beaucoup de chose avec Alfresco.









Structis Page 37

Néanmoins l’objectif de cet outil n'est pas seulement de fournir une alternative opensource,

mais aussi de surpasser les offres commerciales comme Documentum® ou Microsoft®

SharePoint® tant en terme de fonctionnalités que de bénéfices pour les utilisateurs



IV.1. Comparatif des ECM

Ci-dessous je vous présente un tableau comparatif des GED collaboratifs [EMC

Documentum, OPENTEXT ECM (ex : Livelink), SharePoint] et leurs concurrents

opensource : Alfresco, OpenText et Nuxeo

Logiciel/Editeur Prix Forces/Faiblesse Fonctionnalités OS Compatibles

Abonnement Points forts: Process/Workflow Serveurs:

obligatoire Rapidité, robustesse Gestion des Windows Server 2003,

à partir de Etendue fonctionnelle emails 2008

16 125 euros Recherches fulltext Red Hat Enterprise

par CPU Points faibles: Sauvegarde de Linux 5

(environ 50 Complexe à recherches Sun Solaris 10

utilisateurs). configurer (fichiers

Alfresco/Alfresco XML) Gestion des droits Clients:

A version

community est Authentification Windows 2000,

gratuite LDAP/SSO XP,Vista

Records Mac OS X

management

Archivage

légal

Web Content

Management

Gratuit (licence Points forts: Business Serveurs:

LGPL) Gratuité des licences, Process/Workflow Windows Server 2000,

pas d'abonnement Gestion des 2003,2008

obligatoire emails RedHat Linux 3.x, 4.x,

Etendue fonctionnelle Recherches fulltext 5.x

Nuxeo DM/ Flexibilité Sauvegarde de Sun Solaris 9.x, 10.x

Nuxeo

Capacités d'extension et recherches

d'intégration aux Clients:

systèmes d'informations Gestion des droits Windows XP, Vista,

existants Authentification Mac OS X

Points LDAP/SSO

faibles: Records

Complexe à configurer management

Archivage

légal

Web Content

Management

License Serveur Points forts: Business Serveurs:

MOSS 2007: Portail collaboratif Process/Workflow Windows Server 2003,

3730€ performant et simple à Gestion des 2008

Licence Client utiliser emails

(CAL): Solution moins Recherches fulltext Clients:

SharePoint/

Microsoft 80€ couteuse et moins Sauvegarde de Windows XP, Vista

complexe à mettre en recherches Mac OS X

œuvre que Opentext et Gestion des droits

Documentum Authentification

LDAP/SSO

Points faibles: Records

fonctionnalités GED management

moins avancées que ses

concurrents, notamment Web Content







Structis Page 38

en termes d'archivage Management

légal et longue durée

Prix minimum Points forts: Business Serveurs:

de départ non Fonctionnalités GED Process/Workflow Windows Server 2003,

communiqué optimisées grâce à Gestion des 2008

(Cout de 1000 l'intégration MS Office, emails Red Hat Enterprise

licences:475400 SharePoint, SAP,etc. Recherches fulltext Linux 5

OpenText €) Sauvegarde de Sun Solaris 10

ECM Suite (ex Points faibles: recherches

Livelink)/ cout des licences et de Clients:

OpenText mise en œuvre Gestion des droits Windows 2000,

Authentification XP,Vista

LDAP/SSO Mac OS X

Records

management

Archivage

légal

Web Content

Management

Prix minimum Points forts: Business Serveurs:

de départ non Rapidité, robustesse: le Process/Workflow

communiqué temps de réponse Gestion des Windows Server 2003,

(Cout de 1000 moyen est de 0,86s pour emails 2008

licences: 100000 utilisateurs Recherches fulltext Red Hat Enterprise

557300 €) connectés Sauvegarde de Linux 5

simultanément pendant recherches Sun Solaris 10

12H

EMC Gestion des droits Clients:

Documentum/

Points faibles: Authentification Windows 2000,

EMC

GED la plus chère du LDAP/SSO XP,Vista

marché, complexe et Records Mac OS X

longue à mettre en management

œuvre Archivage

légal

Web Content

Management







Comme nous pouvons le constater Alfresco n’est pas seul sur le marché mais possède une

longueur d’avance considérable par rapport aux autres systèmes opensource.



IV.2. Les partenaires d’Alfresco :

La demande croissante pour les produits et services Alfresco a donné naissance à un large

réseau de partenaires. Cette communauté d'intégrateurs, éditeurs de logiciels et revendeurs est

en mesure de vous apporter des services à forte valeur ajoutée et une aide au déploiement

d'Alfresco.



En tant qu'utilisateur final, vous pouvez être assurés qu'Alfresco va collaborer avec ses

partenaires pour vous proposer une large gamme de solutions et services autour de nos

produits. En tant que partenaire, vous pouvez toucher une communauté d'utilisateurs qui a

téléchargé Alfresco plus d'un million de fois !









Structis Page 39

Intégrateurs Exemples Sociétés

Les intégrateurs fournissent une expertise en

conseil, en intégration, en développement, et en

migration vers la solution ECM Alfresco. Tous

les intégrateurs ont une équipe formée et certifiée

par nos soins.





Editeurs et Solutions OEM Exemples Sociétés

Les partenaires éditeurs fournissent des solutions

complémentaires à Alfresco ou utilisent Alfresco

comme composant de leurs logiciels. Dans les

deux cas, nous certifions la compatibilité de leurs

travaux.



Partenaires Technologiques Exemples Sociétés

Les partenaires technologiques fournissent

l'infrastructure ou les plateformes requises pour

l'installation d'Alfresco. Les clients peuvent

déployer des environnements critiques en toute

confiance sachant que les solutions de ces

partenaires sont certifiées et validées avec les

solutions Alfresco.





Hébergeurs Exemples Sociétés

Les partenaires hébergeurs fournissent

l'infrastructure managée necessaire à un

déploiement d'Alfresco en mode ASP. Ces

partenaires fournissent aussi un support pour la

version Alfresco Entreprise.



Partenaires Formateurs Exemples Sociétés

Ces partenaires peuvent délivrer des formations

certifiées Alfresco en français en utilisant des

supports développés par Alfresco. Les formateurs

sont certifiés par Alfresco.









Structis Page 40

Structis Page 41

Conclusion





Bilan Personnel :



Après plus de six mois passés au sein de Structis, je peux établir un bilan plus que

satisfaisant sur ce que tout cela m’a apporté. En premier lieu, j’ai pu mettre en application

toutes les notions qui m’ont été enseignées à HITEMA, tant sur le plan technique que sur le

plan de la communication dans l’entreprise.



En effet, je tiens à souligner que les cours de développement et de gestion de projet

dispensés ont un réel intérêt, car ils m’ont servis pour dialoguer régulièrement avec les

différents interlocuteurs, collègues, maître de stage…notamment lors des réunions techniques

avec mon maître de stage qui m’a aussi beaucoup aidé dans la communication, la

méthodologie…



Je suis pleinement satisfait de ce stage qui m’a enrichi car j’ai eu à manipuler des

concepts que je ne connaissais pas ou peu auparavant. J’ai pu acquérir au niveau technique

des connaissances indéniables sur les outils et notions utilisés.



Je tire un bilan vraiment très positif de ce stage qui fut conforme à mes attentes. Ce fut

une expérience très fructueuse car je pense pouvoir tirer bénéfice de l’apport de celui-ci lors

de mon insertion future dans la vie professionnelle.





Apport pour Structis



Pour résumer :

Alfresco est un outil libre très employé pour gérer intelligemment les documents en entreprise

Il offre la possibilité de créer des workows adaptées à ses besoins

Il supporte le passage l'échelle et peut être hautement disponible.



Le projet mediatheque de Structis sur lequel je travaillé durant mon stage, est le fruit

qu’Alfresco peut fournir sans pour autant être un expert dans les domaines des GED.



En ce qui concerne le travail réalisé, j’ai tâché d’accomplir les missions que l’on m’a

confiées avec sérieux et efficacité.



La mise en place d’une application alfresco a été réalisée et mise en place assez

rapidement ainsi que la migration de la base de données sur SQL Server 2008.

J’ai également rédigé quelques documents techniques pour les futures intervenants sur

le projet mediatheque.



La mise en place d’une authentification SSO Kerberos est aussi fonctionnelle et

permettra à tous les collaborateurs de Structis d’accéder au portal mediatheque. Une

documentation technique a aussi été rédigée pour les futurs administrateurs de la

médiathèque.



Enfin, le travail considérable consister à faire fonctionner la mediatheque avec une

version récente d’Alfresco (3.2r2 Community), ce travail s’est abouti avec succès avec la mise







Structis Page 42

en place de WebServices spécifiques à la médiathèque, ainsi que des librairies qui permettront

de gérer les différents traitements qui font la beauté de l’application mediatheque parmis les

quels l’on peut citer la génération des vignettes, la conversion des vidéos en flv, la

catégorisation des contenus en fonction du modèle de données.



En annexe, j’ai ajouté quelques capture d’écran pour voir l’interface de la médiathèque



Glossaire :

Ce glossaire définit les termes spécifiques utilisés dans le document et sert à compléter la partie

concepts et outils utilisés. Ma principale source a été wikipédia.



Open Source :



La désignation Open Source (Code source accessible en français) s'applique aux

logiciels dont la licence respecte des critères précisément établis par l'Open Source Initiative.

Les principaux critères étant la libre redistribution, un code source disponible et les travaux

dérivés possibles.

Licence GNU GPL:



La licence GNU (General Public License) offre la liberté d'utiliser, d'étudier, de modifier et de diffuser

le logiciel et ses versions dérivées librement. C’est la licence la plus utilisée dans le monde des

logiciels libres



Gestion Electronique de Documents :



La GED (Gestion Electronique de Documents) est un système informatisé d'acquisition,

classement, stockage et d’archivage de documents. Elle est utilisée dans l’entreprise pour

partager et avoir accès facilement aux documents communs.

Single Sign On :



L'authentification unique ou identification unique (en anglais Single Sign-On ou SSO)

est une méthode permettant à un utilisateur de ne procéder qu'à une seule authentification

pour accéder à plusieurs applications informatiques (ou sites web sécurisés).



ECM : Gestion de contenu d’Entreprise (Enterprise Content Management)

La gestion de contenu (en anglais Enterprise Content Management : ECM) vise à

gérer l'ensemble des contenus d'une entreprise. Il s'agit de prendre en compte sous forme

électronique les informations qui ne sont pas structurées, comme les documents électroniques,

par opposition à celles déjà structurées dans les bases de données.









Structis Page 43

Bibliographie :

Cette bibliographie reprend les sites principaux utilisés lors de mes recherches.



Site officiel d’Alfresco : http://www.alfresco.com

Wiki (Forum, Blog, API Service…) : http://wiki.alfresco.com

Transformation contenus alfresco : http://wiki.alfresco.com/wiki/Content_Transformations

Projets community : http://forge.alfresco.com/

ImageMagick : http://www.imagemagick.org/script/index.php

Ffmpeg : http://www.ffmpeg.org/









Structis Page 44

ANNEXES





Krb5.conf

[libdefaults]

default_realm = BOUYGUES-CONSTRUCTION.COM

efault_tkt_enctypes = rc4-hmac

default_tgs_enctypes = rc4-hmac

permitted_enctypes = rc4-hmac

udp_preference_limit = 1



[realms]

BOUYGUES-CONSTRUCTION.COM = {

kdc = bcnssys101.bouygues-construction.com

default_domain = BOUYGUES-CONSTRUCTION.COM

admin_server = bcnssys101.bouygues-construction.com

}



[domain_realm]

bcnssys101.bouygues-construction.com = BOUYGUES-CONSTRUCTION.COM

.bcnssys101.bouygues-construction.com = BOUYGUES-CONSTRUCTION.COM









Java.loging.config

Alfresco {

com.sun.security.auth.module.Krb5LoginModule sufficient;

};



AlfrescoCIFS {

com.sun.security.auth.module.Krb5LoginModule required

storeKey=true

useKeyTab=true



keyTab="D:/InetPub/Dev/catalina_alfresco_community/tomcat/kerberos/adminbe_cifs.keytab"

principal="cifs/alf_mediatheque_dev.bouygues-construction.com";

};



AlfrescoHTTP {

com.sun.security.auth.module.Krb5LoginModule required

storeKey=true

useKeyTab=true



keyTab="D:/InetPub/Dev/catalina_alfresco_community/tomcat/kerberos/adminbe_http.keytab"

principal="HTTP/bcnssrv505.bouygues-construction.com";

};



com.sun.net.ssl.client {

com.sun.security.auth.module.Krb5LoginModule sufficient;

};



other {

com.sun.security.auth.module.Krb5LoginModule sufficient;

};







Structis Page 45

 VegaModel



Type/Aspect Nom Description

Type vega:content Type principal des documents Véga contenant les

attributs

génériques comme le titre, l’auteur, le statut du

document, …

Type vega:blogcontent Type des billets de blog

Type vega:static Type des pages rédactionnelles : aide, contacts, liens,

info

légale.

Type vega:space Type des espaces Véga contenant les éventuels

attributs

génériques.

Rq. : les attributs désignant les fichiers de

configuration de

cet espace n’est plus utile par la mise en place du

cache

des fichiers de données.

Aspect vega:aspCateg Extension des catégories pour gérer les libellés en

différentes langues

Aspect vega:aspFacette Aspect racine des facettes. Permet de définir des

attributs

s’appliquant à toutes les facettes.

Aspect vega:aspTypeOuv Aspect définissant la facette « Type d’ouvrage »

rage

Aspect vega:aspLocalisat Aspect définissant la facette « Localisation »

ion

Aspect vega:aspOrganisa Aspect définissant la facette « Organisation »

tion

Aspect vega:aspTypeTra Aspect définissant la facette « Type de travaux »

vaux

Aspect vega:aspDomaine Aspect définissant la facette « Domaine »

Type vega:config Type des fichiers de configuration n’est plus utile car

l’identification de ces fichiers se faisant par leur nom

et

leur emplacement

Type vega:dico Type des fichiers dictionnaire : n’est plus utile car

l’identification de ces fichiers se faisant par leur nom

et

leur emplacement









Structis Page 46

 MediathequeModel



Type/Aspect Nom Description

Type mtq:space Type des espaces médiathèques qui complète le type

vega:space

Type mtq:content Type des contenus médiathèques qui complète le type

vega:content. On y trouve les attributs spécifiques aux

médiathèques comme le crédit photo et le type de

média, ainsi

que les aspects correspondants aux facettes.

Aspect mtq:aspCommun Aspect contenant les attributs communs aux

médiathèques

Aspect mtq:aspXXXX Aspect contenant les attributs de la médiathèque

XXXX. Il doit

y avoir un aspect par médiathèque, éventuellement

sans

attributs dédiés.

Contraintes mtq :typeMedia Définit 3 types de médias : Photos, Logos ou Vidéos









Structis Page 47

Structis Page 48



Other docs by linzhengnd
Comment_organiser_une_manifestation_sportive
Views: 2  |  Downloads: 0
Report
Views: 0  |  Downloads: 0
professionalismprogramfinaldraft
Views: 0  |  Downloads: 0
Testing _ Certification
Views: 0  |  Downloads: 0
Community Art Murals
Views: 1  |  Downloads: 0
p1-9
Views: 3  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!