• Aucun résultat trouvé

Installation des paquets Pré-requis

3. Installation de la solution

3.2. Installation de Plone

3.2.1. Installation des paquets Pré-requis

• Lancez la préparation à la compilation ./configure

• Lancez la préparation à la compilation des dépendances make depend

• Lancez la compilation des paquets make

• Lancez l’installation des paquets compilés make install

3.2.Installation de Plone

Il est possible d’installer Plone selon plusieurs méthodes. Celle présentée ici concerne l’installation

« standalone » en mode root à partir du « buildout ». Il s’agit de la méthode conseillée par les développeurs de Plone pour un environnement de production. L’installation « buildout » est une nouvelle fonctionnalité issue de Plone 3.2. Elle permet une compilation du produit à travers un fichier de configuration unique et des séries de commandes spécifiques. Ainsi, il est très facile d’upgrader son installation ou d’ajouter de nouveaux éléments (PlugIns).

La version de Plone utilisée dans ce manuel est la 3.2.2 disponible depuis avril 2009.

Attention, il n’est pas conseillé d’utiliser les paquets Plone précompilés disponible dans Debian.

3.2.1. Installation des paquets Pré-requis

Certaines dépendances peuvent être corrigées par l’installation des paquets Debian suivants :

• Installez les paquets suivants

aptitude install libsasl2-dev libssl-dev libdb-dev python-ldap 3.2.2. Installation du produit

• Placez-vous dans votre répertoire temporaire cd /tmp

• Récupérez l’installateur de Plone

wget http://launchpad.net/plone/3.2/3.2.2/+download/Plone-3.2.2-UnifiedInstaller.tgz

• Décompressez l’archive

tar -xvf Plone-3.2.2-UnifiedInstaller.tgz

• Placez-vous dans le répertoire

cd Plone-3.2.2-UnifiedInstaller

Projet : Plateforme Collaborative

M2IRT (Master 1)

9 Assurez-vous d’être en root pour la commande suivante :

• Lancez l’installation du produit ./install.sh standalone

L’option « Standalone » indique que les binaires et la base de données seront hébergés sur la même machine.

A la fin de l’installation, vous obtenez le login et le mot de passe attribué par défaut pour accéder à l’interface de management

Si vous avez raté cette étape, vous pouvez retrouver ces identifiants dans le fichier suivant :

/usr/local/Plone/zinstance/adminPassword.txt

A partir de ce point, le serveur dispose de tous les outils, binaires, librairies nécessaires au fonctionnement de Plone.

Il reste cependant à créer une instance Plone

• Création de l’instance

Plone reprend le principe de Zope sur lequel il est basé. Il est donc nécessaire de créer une instance. Une instance est un environnement spécifique avec une configuration dédiée qui permet d’utiliser les fonctionnalités de Plone.

Un serveur peut héberger plusieurs instances indépendantes les unes des autres ayant leur propre configuration (Une base de données par instance).

Dans le cadre du projet, une seule instance est nécessaire.

Chaque instance se configure selon un fichier spécifique buildout.cfg.

• Ouvrez le fichier de configuration de l’instance

nano /usr/local/Plone/zinstance/buildout.cfg

Dans la section “eggs”

rajouter la ligne suivante : plone.app.ldap

Cette section du fichier de configuration permet de spécifier les modules (plugin) à récupérer lors de la création de l’instance.

Dans le cadre du projet, cette ligne permet le support des annuaires LDAP.

Projet : Plateforme Collaborative

M2IRT (Master 1)

10

• Placez-vous à l’emplacement suivant cd /usr/local/Plone/zinstance/

• Lancez la création de l’instance ./bin/buildout

Ne tenez pas compte des alertes éventuelles affichées à l’écran, si l’opération aboutie, l’instance a correctement été créée.

3.2.3. Informations et structure

Une fois l’instance créée, Plone respecte la structure suivante :

/usr/local/Plone/zinstance/ : contient l’intégralité des données propres à l’instance de Plone /usr/local/Plone/zinstance/bin : contient les binaires (exécutables)

/usr/local/Plone/zinstance/products : contient les modules supplémentaires pour les anciennes versions de Plone (n’est pas utilisé lors de l’installation à partir du fichier de configuration buildout.cf)

/usr/local/Plone/zinstance/var/log : contient les logs propres à l’instance

/usr/local/Plone/zinstance/var/filestorage : Contient la base de données (Data.fs)

Pour ajouter de nouveaux plugins à votre instance, il suffit de mettre à jour votre fichier de configuration buildout.cfg (/usr/local/Plone/zinstance/buildout.cfg) puis relancer la commande ./bin/buildout

Si vous désirez mettre à jour votre version de Plone, il suffit de lancer la commande ./bin/buildout n.

Les nouveaux binaires seront automatiquement téléchargés depuis le site officiel de Plone et installés.

Dans la section “ZCML”

rajoutez la ligne suivante : plone.app.ldap

Cette section du fichier de configuration permet de spécifier les paramètres supplémentaires pour certains plugins.

Il est possible dans la section

« ports » de spécifier le port d’écoute pour l’instance.

Par défaut celui-ci est fixé à 8080.

Nous conserverons ce port pour la suite du manuel.

Projet : Plateforme Collaborative

M2IRT (Master 1)

11 3.2.4. Lancement/arrêt de l’instance

• Pour lancer l’instance, il suffit de taper la commande suivante : /usr/local/Plone/zinstance/bin/plonectl start

Pour tester si l’instance est correctement lancée, ouvrez un navigateur internet et tapez l’adresse suivante :

http://@duserveur:8080 (si le port configuré est celui par défaut) Vous devriez obtenir la capture suivante :

Pour stopper l’instance, il suffit de taper la commande suivante : /usr/local/Plone/zinstance/bin/plonectl stop 3.2.5. Interface de management

Pour configurer la plateforme, vous devrez utiliser deux interfaces de configuration :

• L’interface de management de Zope : Il s’agit de l’interface principale. Plone étant une surcouche de Zope, les premiers éléments de configuration devront s’effectuer dans l’interface de Zope.

http://@serveur:8080/manage

• L’interface de votre site : comme nous le verrons plus tard, il est possible de déclarer dans Zope, plusieurs sites Plone. Chaque site possède sa propre interface de configuration. Toute modification au sein de l’interface d’un site n’a d’impact que sur le site lui-même.

http://@serveur:8080/iddusite

Il est possible de passer d’une interface à une autre très facilement. L’interface d’un site étant hébergée dans Zope, vous pouvez directement configurer votre site depuis l’interface de Zope, mais cela s’avère moins conviviale.

L’interface d’un site, permet de basculer vers l’interface de Zope mais uniquement pour configurer les éléments du site lui-même.

Projet : Plateforme Collaborative

M2IRT (Master 1)

12 3.2.6. Modification du mot de passe d’administration

Il est intéressant de modifier le mot de passe par défaut donné lors de l’installation de Plone (/usr/local/Plone/zinstance/adminPassword.txt)

• Connectez-vous à l’interface d’administration http://@serveur:8080/manage

Tapez le mot de passe et le login par défaut

Vous pouvez le retrouvez dans le fichier suivant/usr/local/Plone/zinstance/adminP assword.txt

Cliquez sur « Root Folder »

Vous pouvez naviguer dans l’arborescence de l’interface de Zope. Vous trouverez tous les éléments hébergés par Zope sous la forme d’une architecture hiérarchisée comme pour un explorateur de fichier.

Tout est objet sous Zope. Chaque élément représente un objet qui peut en contenir d’autre.

Chaque objet à ses caractéristiques et ses attributs, obligatoires ou non.

Vous pouvez copier, couper, coller chaque objet.

De même que vous pouvez en créer de nouveau ou en supprimer.

Cliquez sur « acl_users » Cliquez sur « users »

Dans cette interface vous pouvez configurer de nouveaux utilisateurs et les utilisateurs existants.

Attention, ces utilisateurs impactent l’ensemble de tous les sites collaboratifs que vous hébergerez.

Cliquez sur l’utilisateur « admin »

Projet : Plateforme Collaborative

M2IRT (Master 1)

13 Changez le login de l’utilisateur et cliquez sur

« Update User »

Cliquez sur « Password »

Changez le mot de passe associé à votre utilisateur, puis cliquez sur « Update Password »

L’interface vous demandera alors de vous ré-authentifier en utilisant votre nouveau login et password.

Attention, l’utilisateur pour lequel vous venez de changer le mot de passe est un compte administrateur. Il a donc plein pouvoir sur Zope et par héritage sur tous les sites Plone hébergés.

Projet : Plateforme Collaborative

M2IRT (Master 1)

14

4. Déclaration du site Plone

Il est maintenant nécessaire de déclarer votre site de travail collaboratif. Zope est un logiciel reposant sur une base de données dans laquelle on stocke des objets d’un type particulier. Un site Plone est considéré comme un objet spécifique qu’il faut déclarer dans l’interface d’administration de Zope. Vous pouvez déclarer plusieurs objets de type Plone correspondant à plusieurs sites de travail collaboratif différents.

Dans notre cas, nous déclarerons un seul site.

Connectez-vous à l’interface d’administration http://@serveur:8080/manage

Cliquez sur « Root Folder »

Chaque objet dans Zope peut être créé, copié, coupé, supprimé. Un site Plone respecte ces règles. Il faut donc commencer par supprimer le site Plone créé par défaut lors de l’installation.

Cochez la case située à gauche du site « Plone (Portal) »

Cliquez sur « delete ». Le site de type Plone crée par défaut est maintenant supprimé.

Nous allons maintenant déclarer le site associé au projet

Dans le menu déroulant « ATContentTypes Tool », sélectionnez « Plone Site » puis cliquez sur « Add »

Projet : Plateforme Collaborative

M2IRT (Master 1)

15 Dans la nouvelle fenêtre qui vient d’apparaitre tapez l’id de votre site. Il s’agit du complément à taper dans l’adresse internet de votre serveur pour accéder à votre site. Il faut donc respecter la syntaxe d’une adresse web (pas d’espaces, pas de caractère spéciaux)

Par exemple « partage-utec ».

L’accès à votre site se fera donc par l’adresse http://@serveur:8080/partage-utec

Dans « Title » indiquez le titre de votre site.

Dans « Description » décrivez le but de votre site N’ajoutez pas d’extension

Cliquez sur « Add Plone Site »

Votre site apparait désormais dans la structure de Zope.

Pour tester l’accès à votre site, tapez dans votre navigateur

http://@serveur:8080/id_du_site

Projet : Plateforme Collaborative

M2IRT (Master 1)

16

5. Interconnexion avec l’annuaire LDAP

Par défaut, les utilisateurs associés à votre site sont stockés localement. Vous avez ainsi plusieurs niveaux d’utilisateurs.

• Les utilisateurs déclarés au niveau de Zope : c’est le cas de l’administrateur configuré précédemment. Ces utilisateurs ont accès à l’ensemble des objets déclarés dans votre instance de Zope (donc votre site).

• Les utilisateurs déclarés au niveau du site : il s’agit d’utilisateurs uniquement configurés pour utiliser votre site.

Dans le cadre du projet nous souhaitons que les utilisateurs déclarés au niveau du site soient issus de l’annuaire LDAP hébergé par la plateforme SambaEdu de l’établissement.

Il est donc nécessaire d’ajouter un nouveau module d’authentification basé sur les plugins LDAP déclarés lors de l’installation.

• Connectez-vous à l’interface d’administration http://@serveur:8080/manage

Cliquez sur votre site

La fenêtre de droite présente tous les éléments

« ou objet » associé à votre site.

Recherchez l’élément « acl_users ». Il contient la configuration d’authentification.

Cliquez sur l’élément.

Projet : Plateforme Collaborative

M2IRT (Master 1)

17 Dans l’interface suivante, cliquez sur le menu déroulant et sélectionnez « Plone LDAP plugin »

La fenêtre suivante permet de configurer les paramètres du plugin

ID : Donnez un identifiant simple pour déclarer votre plugin

Title : Décrivez rapidement le rôle du plugin

LDAP Server : Indiquez le nom ou l’adresse IP du serveur qui héberge l’annuaire (indiquez le port si celui-ci n’est pas standard (389 par défaut))

User Base DN : Indiquez l’emplacement LDAP où sont stockés les utilisateurs (donnez son nom absolu Distinguished Name)

Group storage : Choisissez « Groups not stored on LDAP server ». Les groupes seront stockés localement et non dans l’annuaire.

Groups Base DN : Indiquez l’emplacement LDAP où sont stockés les groupes (si les besoins futurs seraient de stocker les groupes dans LDAP) (donnez son nom absolu Distinguished Name)

Projet : Plateforme Collaborative

M2IRT (Master 1)

18 Manager DN : Indiquez l’utilisateur autorisé à se connecter à l’annuaire (donnez son nom absolu Distinguished Name)

Précisez le password associé

(Dans le cadre du projet, il n’est pas nécessaire de configurer un compte autorisé en écriture sur l’annuaire. Il a été convenu dans le cahier des charges, que Plone utiliserait uniquement le plugin LDAP pour de la consultation. Si par la suite vous souhaitez pratiquer des opérations d’écriture dans votre annuaire depuis Plone (création, suppression d’un utilisateur…), indiquez un compte autorisé en écriture)

User Password encryption : Sélectionnez le cryptage utilisé pour le stockage des mots de passe (crypt pour SambaEdu)

Laissez les options non décrites par défaut

Défault user role : Indiquez le rôle par défaut attribué aux utilisateurs inscrits dans l’annuaire (ici nous décidons que chaque utilisateur sera au moins membre du site)

Cliquez sur « Add »

La fenêtre suivante permet de choisir les fonctionnalités prises en charge par le plugin.

Nous vous conseillons de cocher les cases de la capture

En effet, il faut uniquement cocher les fonctions nécessaires.

Authentification : Le plugin sera utilisé pour authentifier les utilisateurs sur le site

Properties : Le plugin sera utilisé pour récupérer des informations sur l’utilisateur (adresse mail, prénom, nom..)

User_Enumeration : Va de paire avec l’authentification

Etant donné que les groupes seront gérés en interne par Plone, le plugin LDAP ne sera pas utilisé pour ces derniers.

Puis cliquez sur Update

Projet : Plateforme Collaborative

M2IRT (Master 1)

19 Cliquez sur l’onglet content

Cliquez sur votre plugin

Dans la nouvelle fenêtre, repérez la ligne « User object classes »

Indiquez les attributs à récupérer pour les utilisateurs

Pour SambaEdu : top,person Cliquez sur « Apply change »

Cliquez sur l’onglet « LDAP Schema »

Il s’agit ici de mapper les attributs LDAP avec les attributs utilisés en interne par Plone.

Par défaut, Plone cherche à récupérer les mails des utilisateurs au mauvais endroit.

Il faut donc cocher la case « mail » puis cliquez sur « delete »

Dans « Add LDAP schéma item »

Mapper l’attribut ldap « uid » au « Friendly Name » « login », comme sur la capture ci-jointe.

Cliquez sur « Add »

Projet : Plateforme Collaborative

M2IRT (Master 1)

20 Vous pouvez revenir à cette fenêtre de configuration si vous désirez mappez d’autres attributs de l’annuaire à des attributs Plone.

Il faut désormais mettre à jour la configuration du plug-in

Cliquez sur l’onglet « Configure »

Dans le menu déroulant « Login Name Attribute », sélectionnez « login(uid) ».

Il s’agit d’indiquez à Plone que le login correspond à l’attribut uid que vous avez mappez précédemment.

Faites de même pour « User ID attribute » et « RDN Attribute »

N’oubliez pas de cliquez sur « Apply Changes »

Plone utilise un système hiérarchique dans l’utilisation de ses plugins. Si plusieurs plugins remplissent les mêmes fonctionnalités, Plone utilise celui qui est placé en premier dans la liste des plugins disponibles. Afin d’être certains d’utiliser le plugin LDAP que vous avez définis, il est nécessaire de le placer en première position.

Cliquez sur votre site

Cliquez sur « acl_user » Faites de même pour l’attribut mail.

Rajoutez dans « Map to Name » email.

Cliquez sur « Add »

Projet : Plateforme Collaborative

M2IRT (Master 1)

21 Cliquez sur « plugins »

Cliquez sur l’onglet « Active »

Dans la nouvelle fenêtre, vous trouverez les plugins disponibles (« Available plugins ») par fonction (« plugin type »).

La colonne « Active plugins » vous indique le plugin actuellement actif.

Certaines lignes présentent plusieurs plugins comme étant actifs. Le plugin indiqué en

Cliquez sur l’onglet « Plugins »

Cliquez sur « Properties Plugins »

Dans la nouvelle fenêtre, repérez la case « Active Plugins ».

Sélectionnez votre plugin LDAP puis cliquez sur la flèche du haut pour faire remonter votre plugin en première position.

Une fois l’opération précédente terminée, cliquez à nouveau sur

« Plugins ».

Renouvelez l’opération précédente avec les autres fonctionnalités pour lesquelles votre plugin n’était pas prioritaire (notamment :

)

Projet : Plateforme Collaborative

M2IRT (Master 1)

22 Si vous cliquez à nouveau sur l’onglet « Active », vous observerez le même tableau que précédemment.

Mais votre plugin LDAP apparait désormais en première position.

Pour certaines fonctionnalités, votre plugin LDAP n’est pas utilisé et reste donc dans « Available plugins »

Le plugin LDAP créé est désormais correctement configuré et votre site prêt à l’utiliser.

Vous pouvez tester le fonctionnement de vos manipulations en vous rendant sur votre site :

• Connectez-vous sur votre site http://@serveur:8080/iddusite

Connectez-vous avec

l’administrateur de la plateforme Zope.

(Définit au niveau de Zope)

Cliquez sur « Configuration du site »

Cliquez sur « Utilisateur et Groupes »

Cliquez sur « tous »

Projet : Plateforme Collaborative

M2IRT (Master 1)

23 Vous devez voir apparaitre les utilisateurs définis dans l’annuaire avec les adresses mail associés.

Projet : Plateforme Collaborative

M2IRT (Master 1)

24

6. Configuration fonctionnelle

6.1. Création des workflow

Plone repose sur Zope qui permet de gérer des workflows. Un workflow représente le traitement et le chemin emprunté par une ressource documentaire pour gérer sa phase d’exploitation.

Plone fournit un certain nombre de workflows préconfigurés. Nous allons créer deux autres workflows personnalisés.

6.1.1. Workflow à 3 états

• Connectez-vous à l’interface d’administration http://@serveur:8080/manage

Cliquez sur votre site

Cliquez sur « portal_workflow » (En bas de page)

Cliquez sur « Contents »

La fenêtre suivante vous présente les différents workflows déclarés pour votre site.

« Simpl_publication_workflow » est le workflow par défaut. Il comporte trois états.

Nous allons copier ce dernier pour le modifier et créer un nouveau workflow.

Cochez le workflow à copier.

Cliquez sur « copy »

Cliquez sur « paste »

Projet : Plateforme Collaborative

M2IRT (Master 1)

25 Cochez le workflow copié « copy_.... » Puis cliquez sur « Rename »

Renommer le workflow.

Attention, n’employez pas d’accents ou d’espaces.

Cliquez sur OK

Cliquez sur votre workflow

Vous pouvez préciser des informations sur votre workflow.

Evitez les accents et les caractères spéciaux

Cliquez sur l’onglet « State »

Vous retrouvez ici les trois états possibles d’un document soumis à ce workflow.

Pour chaque état est associé plusieurs transitions possibles

Pending : En attente de publication Transitions possibles depuis cet état :

• publish : publié (accepter par le modérateur)

• rejeté : reject (rejeter par le modérateur)

• retiré : retract (demande de publication annulée)

Projet : Plateforme Collaborative

M2IRT (Master 1)

26 Private : Privé

Transitions possibles depuis cet état

• Publish : publié (le modérateur publie directement)

• Submit : demande de publication (l’auteur demande à être publié) Published : Publié

Transitions possibles depuis cet état

• retract : le document est retiré et rebasculé en privé

• reject: la demande de publication est rejetée et le document revient à sont état d’origine.

Vous pouvez décider d’agir sur un état précis ou une transition en cliquant directement sur l’élément souhaité.

Cliquez sur « Pending »

Cliquez sur « Permission »

Le tableau vous présente les actions possibles sur le document pour cet état par les différents rôles possibles donnés à vos utilisateurs.

Nous allons modifier les permissions comme sur la capture.

Dans ce cas, si le document est dans l’état en attente de publication (pending) : Le manager (Administrateur) peut supprimer, ajouter, modifier le document et la structure associée.

Le propriétaire (Owner) peut accéder à son document mais plus le modifier.

Le modérateur (Reviewer) peut supprimer, ajouter, modifier le document et la structure associée et le publier.

Cliquez sur « Save Change »

Projet : Plateforme Collaborative

M2IRT (Master 1)

27 Cliquez sur « states » pour revenir sur le choix d’état.

Nous allons maintenant modifier les droits pour l’état privé (private)

Cliquez sur « private » Cliquez sur « Permissions »

Nous allons placer les permissions suivantes pour empêcher la lecture du contenu en anonyme.

Cliquez sur « Save Change »

Dans l’état privé, seul le propriétaire et l’administrateur peuvent modifier le contenu de l’objet.

Le Modérateur (reviewer) n’a qu’un accès en lecture.

Pour résumer, ce workflow permet la gestion à trois états décrits dans le cahier des charges issu du projet.

Quand l’objet est crée il est dans l’état privé. Seul son propriétaire peut le modifier. Le modérateur n’aura qu’un droit de lecture.

Quand l’auteur le décide, il peut demander une publication de son document.

Dans cet état, le modérateur obtient les droits de modification et reste la seule personne avec l’administrateur à pouvoir passer l’objet dans l’état publié.

Une fois publié, chaque membre éditeur peut accéder et modifier le document (l’éditeur et le contributeur sont identiques dans ce cas)

6.1.2. Workflow à deux états

• Connectez-vous à l’interface d’administration http://@serveur:8080/manage

Projet : Plateforme Collaborative

M2IRT (Master 1)

28 Cliquez sur votre site

Cliquez sur « portal_workflow » (En bas de page)

Cliquez sur « Contents »

La fenêtre suivante vous présente les différents workflow déclarés pour votre site.

« Simple_publication_workflow » est le workflow par défault. Il comporte trois états.

Nous allons copier ce dernier pour le modifier et créer un nouveau workflow.

Cochez le workflow à copier.

Cliquez sur « copy »

Cliquez sur « paste »

Cochez le workflow copié

« copy_.... »

Puis cliquez sur « Rename »

Projet : Plateforme Collaborative

M2IRT (Master 1)

29 Renommez votre workflow et cliquez sur « Ok »

Cliquez sur votre workflow Cliquez sur « States »

Nous allons supprimer l’état

« pending » (en attente de publication).

Cochez la case « Pending » puis cliquez sur « Delete ».

Nous allons supprimer les transitions qui permettent de passer d’un état à un autre qui ne servent plus.

Cliquez sur « Transitions »

Sélectionnez la transition «retract (permet de refuser une publication)» et « submit (permet de demander une publication » Puis cliquez sur « Delete »

Projet : Plateforme Collaborative

M2IRT (Master 1)

30 Comme pour le workflow à trois états, nous allons modifier les permissions associées.

Cliquez sur « States », puis sur l’onglet « private »

Cliquez sur « Permissions »

Lorsque le dossier est dans l’état privé, nous souhaitons que seul

Lorsque le dossier est dans l’état privé, nous souhaitons que seul

Documents relatifs