Upload
paris-france
View
2.822
Download
0
Embed Size (px)
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
Citation preview
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)