Plone - Déployer un intranet collaboratif avec intégration d'un annuaire LDAP

Post on 28-Nov-2014

2.820 views 0 download

description

Pilot Systems présente une étude sur le déploiement d\'un intranet collaboratif sous Plone. Support du tutoriel Plone, présenté lors de Solutions Linux 2008

Transcript of Plone - Déployer un intranet collaboratif avec intégration d'un annuaire LDAP

Tutoriel Plone :Déployer un intranet collaboratif

avec intégration d’un annuaire LDAP

Damien BATY (Pilot Systems)

Solutions Linux 2008

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plan

1 Introduction à Plone

2 Politique de sécurité dePlone

3 Introduction à LDAP etOpenLDAP

4 Connexion à l’annuaireLDAP

5 Workflow

6 Rôles locaux et espacespartagés

7 Intégration d’autresproduits

8 Apparence graphique

9 ArchGenXML

10 Montée en charge

11 ConclusionDamien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Pilot Systems

Pilot Systemsapplications web : sites web, intranet, applications métierdéveloppement, maintenance/support, formation,hébergementpartenaire d’IBM Global Technology Services : serveur demessagerie pour 80.000 comptesexpertise globale en logiciels libres, plus particulièrementPython, Zope et Plone

Damien Batydamien CHEZ pilotsystems POINT net

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Cyclimse

Ce tutoriel n’est pas un tutoriel sur le cyclimse.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Architecture applicative

Zopeserveur d'applications

(ou framework)

CMF : Content Management Frameworkframework pour système degestion de contenu (CMS)

PloneCMS (ou framework)

Pythonlangage de programmation

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Python

Python : langage de programmation, depuis 1990souvent comparé à Java, Perl ou Rubyinterprété, orienté objet, syntaxe claire, développementrapideportable : UNIX, Windows, MacOScommunauté open sourceréférences : Google, IBM, . . .

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Zope

Zope : serveur d’applications, open source depuis 1999similaire à JBoss ou WebSphereadapté à la gestion de contenu, mais pas exclusivementtransactionnel, multi-plateformelivré avec une base de données objet, mais peut seconnecter à des SGBDR : SQL Server, MySQL,PostgreSQL, Oracle

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plone

Plone : gestion de contenu et travail collaboratif opensource depuis 2001extension de CMF, puis véritable brique fonctionnelledésormais le produit-phare du monde Zopenombreux modules d’extension disponibles (plus de 250)

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Points forts de Plone

packaging standard très completrapidité de mise en placemodularitéde nombreux modules complémentaires stablesdisponiblescommunauté = prestataires de services + développeursindépendants + autresmises à jour simplifiéesévolutivitéinter-opérabilité : XML-RPC, connecteur de base dedonnées, connecteur LDAP, Citrix, etc.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Cas d’utilisation

Sites web (Internet) à forte volumétrieCIANovellEADS Astrium (ex-EADS Space)BRED (Groupe Banque populaire)Oxfam International, America, UK & Canadaville de Berne (Suisse)parlement et gouvernement du Brésil et de laNouvelle-ZélandeNASA - Jet Propulsion LabsNHS (National Health Service, Grande-Bretagne)eBay, Nokia

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Cas d’utilisation

Intranet, extranet & portail d’entreprise

ÉNADaikin FranceCrédit Municipal de ParisFNCUMA et CUMA (Coopératives d’Utilisation de MatérielAgricole)ApaveUniversité d’OrléansLufthansa

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Cas d’utilisation

Applications métierbanque en ligne (CMP-Banque)éditique (fiches de paie) & suivi des courriers (mairie)place de marché spécialisée dans le transport (Négociatis)gestion des financements de projets de recherche enagronomie (ACTIA)e-learning : université d’Orléans, Éducastream(visio-conférence), Ifredoc

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Cas d’utilisation

De nombreux autres exemples et études de cas surhttp://plone.net (liste non exhaustive)

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Politique de sécurité de Plone

Conceptsutilisateur : nom d’utilisateur (identifiant, login) et mot depassegroupe : ensemble d’utilisateurs (service/direction, unitéfonctionnelle, groupe projet, . . . )permission : à chaque action est associée une permission(Voir, Modifier, Supprimer, Administrer le portail, . . . )rôle (profil) : à chaque permission est associée un rôle(ex. : Administrer le portail <-> Administrateur)

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Politique de sécurité de Plone

utilisateur

action(modifier le document)

permission(modifier)

rôle(éditeur)

groupe d'utilisateurs

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Multiplication des applications

Multiplication des applicationsde plus en plus d’applications à accès restreint,personnaliséesprincipalement des applications web, mais pas uniquement

Exemple d’un portail d’entrepriseintranet documentaire, espaces de travail partagésannuaire d’entreprisegestion des clients et prestatairesmessageriecalendrier partagé

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Informations disséminées

Risque majeurmultiplier les bases de données utilisateur, une pourchaque applicationdes bases de données pas ou peu réutilisables pard’autres applications, car très spécifiques

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Centralisation des informations

Une source unique d’utilisateursun seul système, donc une seule maintenancemise à jour unique (arrivées, départs, changements dansl’entreprise)pas de doublon, donc pas d’informations contradictoires

Répartition des informationsinformations globales dans cette source uniqueinformations spécifiques dans chaque application

Bonus : Single Sign-On (SSO), pour une authentificationunique pour accéder à de multiples applications.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

LDAP, un protocole standard

LDAP, qu’est-ce que c’est ?Lightweight Directory Access Protocolstandardpeut être sécurisé via SSLde nombreuses implémentations, tant côté serveur quecôté client

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Implémentations

Côté serveurOpenLDAPMicrosoft Active Directoryquelques autres : Novell eDirectory (ex-NDS, NovellDirectory Services), Fedora Directory Server, . . .

Côté clientC, Python, PHP, Java, . . .Zope/Plone : LDAPUserFolder, Pluggable AuthenticationService (PAS)

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Connexion à l’annuaire LDAP

développementintégration et configuration de plusieurs composantsutilisation de PloneLDAP

Présentation à l’écran.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Connexion à l’annuaire LDAP : résumé

1 Télécharger PloneLDAP et décompresser l’archive dans lerépertoire Products/ de l’instance Zope.

2 Passer en ZMI, à la racine du site Plone.3 Cliquer sur acl_users.4 Ajouter un élément de type Plone LDAP plugin et le

configurer.5 Cliquer sur l’élément nouvellement créé et cocher toutes

les cases.6 Revenir dans acl_users puis cliquer sur plugins.7 Pour les fonctionnalités suivantes et selon nos besoins,

placer le plugin nouvellement créé en première positionpour Group_enumeration, Group_management,Properties, User_adder et User_management.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Introduction au workflow

Définitiondescription d’un processus métier

Conceptsétat : étape transitoire d’un documenttransition : action sur un document, changeantgénéralement l’état

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Workflow standard de Plone

publier

soumettre à la publication

privé en attentede modération

publié

retirer

renvoyer

Présentation à l’écran du workflow standard de Plone.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Personnalisation simple d’un workflow

publier

soumettre à la publication

privé en attentede modération

publié

retirer

renvoyer

archivé

archiver

publier

Personnalisation à l’écran du workflow standard.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Personnalisation avancée du workflow

actions pré- ou post-transitionstransitions automatiques. . .

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Rôles locaux et espaces partagés

Objectifsrestreindre l’accès de certaines rubriques à certainsutilisateurs (ou groupes)déléguer les droits de gestion de contenu à certainsutilisateurscréer des espaces de travail par service, par projet, . . .

Principe et exempleAdministrateur : typiquement global au portail. . . mais peut aussi être local à un dossier

Démonstration à l’écran.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Plone est modulaire

Composants de Plone remplaçables

catalogue : permet d’effectuer des recherchesmoteur de workflowcomposants techniques interchangeables

Composants complémentairessondage, blog, quizz, vidéo, newsletter, suivi desdemandes, contenus multilingues, etc.la majorité provient de développements pour des clients :gage de qualité et de maintenancehttp://plone.org/products

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

PloneFormGen : gestion de formulaires

produit extrêmement complet de création de formulairesconfigurable et extensible

Installation et configuration à l’écran.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

CMFNotification : notification mail

permet d’envoyer des notifications par mail lorsqu’undocument est créé, modifié, quand une transition deworkflow est actionnée, . . .permet également de s’abonner à un dossier ou à undocumentconfiguration par un système de règlessimilaire aux content rules de Plone 3, en plus extensible

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Ploneboard : forum

Un module de forum, configurable et extensible.

Installation et configuration à l’écran.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Concepts de base

HTML et CSSHTML : langage de description du contenu d’une page webCSS : décrit la présentation d’une page web

Skinpermet de personnaliser la CSS (couleur, logo,agencement des informations, . . . )permet de personnaliser le HTML (agencement desinformations, ajout/suppression d’informations sur desmodèles de page standard : listing, formulaired’authentification, . . . )permet de personnaliser la logique du site

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Personnalisation de la skin

Présentation à l’écran de la façon dont on peut rapidementmassacrer personnaliser l’apparence graphique d’un site

Plone : position des portlets, logo, couleurs, etc.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Utilisation avancée des skins

personnalisation de la skin par rubriquepersonnalisation de la skin selon le profil de l’utilisateur. . .

À l’écran : quelques exemples.

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

ArchGenXML

Générer automatiquement un module utilisable à partir d’unsimple schéma.

fichier XMI

schéma UML

module Plone

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Intérêt et limitations d’ArchGenXML

Limitationsutilisation de vues génériques (mais personnalisables)ne génère pas la logique de l’application

Intérêtsla modélisation réalisée est utiliséepossibilité de prototyper très rapidement une applicationpeut servir de base à un développement plus poussé

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

ZEO : un cluster applicatif à portée de main

Clients et serveur ZEOserveur ZEO connecté à la ZODB

client ZEO prend en charge les requêtes du navigateur,effectue les traitements et accède aux donnéesvia le serveur ZEO

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Architecture simple

Internet ou intranet

Client ZEO #1

Serveur ZEO

(ZODB)

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Exemple d’architecture avancée

Internet ou intranet

Serveur de cache / Répartiteur de charge

(load balancer)

Client ZEO #1

Client ZEO #2

Client ZEO #3

Serveur ZEO

(ZODB)Base de données MySQL

Annuaire OpenLDAP

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

Conclusion

Ploneun système complet out of the box, modulaire et évolutifun système qui monte en chargeun système open source, développé par une communautémondiale pour des clients

Le futur de Ploneamélioration constante des performances et de l’interfaceutilisateurutilisation des concepts et techniques de Zope 3 pour plusde réutilisabilité. . . également chez vous ?

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)

En savoir plus

Sites officielssite communautaire http://plone.org

site business http://plone.net

Pilot Systems, prestataire de services autour de Plonesite web http://www.pilotsystems.net

sur Plone http://www.pilotsystems.net/technologies/plonecontact info CHEZ pilotsystems POINT net

Damien BATY (Pilot Systems) Tutoriel Plone : intranet collaboratif (Solutions Linux 2008)