Passer au contenu

Créez un site de news avec Zope CMF

Proposé par Zope Corporation et fourni sous licence open source, Content Management Framework (CMF) sert à construire des sites de type portail collaboratif ou communauté en ligne.

Après avoir découvert comment installer Zope et la façon de sécuriser un site web développé sur ce serveur d’application, voici comment créer un site éditorial doté d’un moteur de news avec Content Management Framework. Cet outil de développement rapide offre par défaut tous les composants nécessaires à la conception d’un site professionnel. L’intégrateur du site doit simplement mettre en ?”uvre ces composants qui collaborent intelligemment au service du gestionnaire de contenu. Dans sa version 1.1, CMF s’appuie sur des composants chargés de fournir des services transversaux tels que la gestion des types de contenu (content types), une interface utilisateur composée de plusieurs couches ou “peaux” optionnelles (skins), l’authentification et la gestion des droits d’accès (membership), un système de métadonnées fondé sur le standard Dublin Core (metadata) et enfin, une machine à états (workflow). Reste au développeur à utiliser les fonctions de ces composants pour son application.Dès l’installation, le site est construit et son interface personnalisable, à la fois globalement et localement. Globalement, en offrant à l’administrateur la possibilité de changer la charte graphique et de franciser le site en modifiant la skin principale. Localement, en autorisant chaque membre à sélectionner une skin optionnelle dans sa page de “Preferences“, de façon à toujours afficher le site avec celle-ci.

1. Installez Zope

Téléchargez la dernière version stable de Zope, à savoir la 2.4.0, que l’on trouve à l’adresse zope.org/Products/Zope. Créez ensuite un compte Linux spécifique pour la mise en ?”uvre de Zope si vous n’en avez pas encore, et lancez Linux sous ce compte. Suivez les instructions indiquées dans l’illustration de code ou dans le fichier “/docs/INSTALL.txt“. Le script d’installation se lance et se termine en générant le compte “Zope” initial, dont il affiche à l’écran le nom et le mot de passe. Démarrez alors Zope avec le script “start“, puis pointez votre navigateur sur l’URL http://localhost:8080/manage afin d’accéder à l’interface de management. Authentifiez-vous grâce au compte initial qui vient d’être ouvert.

2. Mettez en place CMF et ses modules additionnels

Téléchargez l’archive de CMF 1.1 depuis le site http://cmf.zope.org/download, puis décompressez-la. Vous obtenez alors un répertoire “CMF-1.1” renfermant, entre autres, les répertoires “CMFCore“, “CMFDefault” et “CMFTopic“. Copiez-les sous “Zope/lib/python/Products/“. Téléchargez ensuite l’archive du produit complémentaire CMFOptions 1.11 à l’adresse zope.org/Members/jeffsasmor/CMFOptions. Après l’avoir décompressée, copiez le répertoire “CMFOptions” obtenu sous “Zope/lib/python/Products/“. Enfin, arrêtez le processus Zope en recourant au script “stop” (disponible dans le répertoire Zope), puis relancez-le avec “start“. Zope est désormais capable de prendre en compte les nouveaux produits et modules installés.

3. Générez votre premier site CMF

À partir de l’interface de management de Zope, utilisez le menu de sélection indiquant “Select Type to Add…” pour ajouter un objet de type “CMF Site“. Remplissez le formulaire affiché en renseignant les champs demandés. Cliquez ensuite sur le bouton “Add” pour générer votre site. Cette procédure très courte vient de mettre en place l’infrastructure d’un site portail, fournissant par défaut des services d’authentification et de gestion de contenu avec des types de contenu standard (“Dossier“, “Document“, “News“, “Lien“, “Favori“). Il ne reste plus qu’à enrichir le site en y insérant du contenu extérieur.

4. Insérez les types de contenu de CMFOptions

Cliquez sur l’objet représentant le portail, puis sur celui intitulé “portal_types” (dans la partie droite de l’interface Zope) et enfin sur l’onglet “Contents“. Sélectionnez et ajoutez un objet de type “Factory-based Type Information“. Nommez-le “CMFExternalImage” puis choisissez “CMFOptions:Portal External Image” pour le champ “Use Default Type Information“. Répétez cette étape avec les noms “CMFExternalFile” et “Blark“, en sélectionnant respectivement “CMFOptions:Portal External File” et “CMFOptions:Blark Weblog“. Activez ensuite l’objet “portal_skins“, au sein du portail, puis l’onglet “Contents“. Ajoutez un objet de type “FileSystem Directory View“. Intitulez-le “CMFOptions” (à l’aide du champ “Id“) et choisissez “lib/ python/Products/CMFOptions/skins” comme chemin physique correspondant. Cliquez ensuite sur l’onglet “Properties“. Cette page contient un tableau présentant les skins disponibles pour l’utilisateur (Basic, No CSS, Nouvelle). Chaque skin “utilisateur” se compose d’un ensemble de différentes skins fournies par le système et disposées en couches. Tous les éléments graphiques sont gérés de cette manière, de même que les actions et la personnalisation du contenu. CMFOptions étant un module qui vient avec sa propre skin, vous devez l’ajouter aux skins “utilisateur” existantes. La technique consiste à insérer son nom (CMFOptions) juste après “custom” dans chaque ligne du tableau. Une fois cette opération terminée, n’oubliez pas de cliquer sur le bouton “Save” situé au bas de la page.

5. Créez le moteur de news du site

Fermez votre navigateur afin de clore complètement votre session, puis relancez-le et connectez-vous à l’adresse http://localhost:8080/acme news. Cliquez sur le lien “Log in” et authentifiez-vous avec votre compte de management de Zope. Activez ensuite le lien “Folder Contents” et le bouton “New“. Vous pouvez ainsi ajouter différents types de contenu à la racine du site. Sélectionnez le dernier, “Blark“, et nommez-le “index_ html“. Grâce à ce paramétrage spécifique, l’espace de news du site est en même temps la page d’accueil du portail (accessible à l’adresse http://localhost:8080/acmenews).

6. Paramétrez le site

Les objets CMF utilisent le mécanisme de sécurité de Zope. Selon la politique de sécurité prise en compte par défaut dans CMF, les membres qui s’inscrivent sur le site obtiennent automatiquement le rôle nommé “Member“. D’autre part, il faut que l’utilisateur ait la permission “Add Portal Content” pour produire du contenu. Dans le cas d’un intranet ou d’une communauté, les membres d’un site doivent avoir la possibilité de créer des articles et de les commenter. Vous devez donc vous assurer que la permission “Add Portal Content” est affectée au rôle “Member“.À l’aide d’une deuxième fenêtre, lancez l’interface de Zope via l’adresse http://localhost:8080/manage. Positionnez-vous à la racine du site CMF, puis cliquez sur l’onglet “Security“. Cherchez “Add Portal Content” dans la colonne “Permission” et vérifiez toute la ligne correspondante. Vous vous rendez alors compte que la case d’affectation est cochée pour les rôles “Manager“, “Member” et “Owner“. Tout est donc en place et vous n’avez plus rien à faire, jusqu’au jour où vous déciderez de modifier la politique de sécurité du site.Lancez alors le navigateur à l’adresse du site, authentifiez-vous en tant qu’administrateur en passant par le lien “Log in“, puis cliquez sur “Weblog Properties” de la colonne gauche. Cette page donne accès à un certain nombre d’options. Contentez-vous de cocher les cases correspondant aux options “Global Posting” et “Global Viewing” afin que tout visiteur puisse consulter les articles et que tout membre authentifié puisse en créer. Pour l’option “Action After Posting“, sélectionnez “Edit” à la place de “Article List“. En effet, il est plus logique que le lien de création d’un nouvel article ouvre directement la page d’édition du document. Enfin, cliquez sur le bouton “Change” en bas de la page. Votre site de news est désormais opérationnel. Pour le tester, fermez toutes les fenêtres du navigateur, puis retournez sur la page d’accueil du site. Enregistrez-vous en tant que nouvel utilisateur via le lien “Join“, puis suivez les instructions. Une fois authentifié, vous devez voir apparaître les liens contextuels du site dans la colonne gauche.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Kamon Ayeva