Mohamed OUALI 1 Projet de fin d’étude 2009/2010
Mohamed OUALI 2 Projet de fin d’étude 2009/2010DédicaceA mes très chers parents,Aucun mot, aucune dédicace ne peut exprime...
Mohamed OUALI 3 Projet de fin d’étude 2009/2010RemerciementMerci à toute personne qui m’a aidé à acheminer à bon port le p...
Mohamed OUALI 4 Projet de fin d’étude 2009/2010RésuméPloneGov est l’extension internationale du projet CommunesPlone quies...
Mohamed OUALI 5 Projet de fin d’étude 2009/2010INTRODUCTION……………………………………………………………………….Chapitre I : CONTEXTE GENERAL DU PR...
Mohamed OUALI 6 Projet de fin d’étude 2009/2010IV.1 SITE COMMUNAL : ………………………………………………1.1 Obstacles : ……………………………………………………...
Mohamed OUALI 7 Projet de fin d’étude 2009/2010Introduction généraleLe Maroc vient de franchir un pas décisif dans le doma...
Mohamed OUALI 8 Projet de fin d’étude 2009/2010 Le troisième chapitre est consacré à la présentation du projet"CommunesPl...
Mohamed OUALI 9 Projet de fin d’étude 2009/2010Chapitre I : CONTEXTE GENERAL DU PROJETCe chapitre est une présentation gén...
Mohamed OUALI 10 Projet de fin d’étude 2009/2010I.1 PRESENTATION DE NEXTMA :1.1 NEXTMA En Bref :NEXTMA est une Société de ...
Mohamed OUALI 11 Projet de fin d’étude 2009/2010Il constitue le cœur métier de NEXTMA et comprend ledéveloppement sur la b...
Mohamed OUALI 12 Projet de fin d’étude 2009/2010Il s’agit d’un système informatisé dacquisition, classement, stockage,arch...
Mohamed OUALI 13 Projet de fin d’étude 2009/2010Figure 1.1 : Planning du stageComme on peut remarquer sur la figure 1.1 mo...
Mohamed OUALI 14 Projet de fin d’étude 2009/2010Chapitre II : PRESENTATION DU CMS PLONEDans ce chapitre je présente les Sy...
Mohamed OUALI 15 Projet de fin d’étude 2009/2010II.1 CONTENT MANAGEMENT SYSTEM (CMS) :1.1 Quest ce quun CMS ?Les CMS ou Sy...
Mohamed OUALI 16 Projet de fin d’étude 2009/2010d’unifier les développements, une librairie additionnelle nommée CMFajoute...
Mohamed OUALI 17 Projet de fin d’étude 2009/20101.3.1 Séparation de la forme et du contenu :Le principe fondamental que re...
Mohamed OUALI 18 Projet de fin d’étude 2009/20101. Authentification : tous les utilisateurs de l’outil doivent êtreidentif...
Mohamed OUALI 19 Projet de fin d’étude 2009/2010Figure 2.3 : fonctionnement du CMS1. le Visiteur demande au moteur du CMS ...
Mohamed OUALI 20 Projet de fin d’étude 2009/2010 Un framework riche Objets typés : les documents sont organisés en type....
Mohamed OUALI 21 Projet de fin d’étude 2009/2010Pour mettre en place le système de gestion de contenu (Plone) la procédure...
Mohamed OUALI 22 Projet de fin d’étude 2009/2010a.3 Stratégies de configuration de Zope :Le programme dinstallation unifié...
Mohamed OUALI 23 Projet de fin d’étude 2009/2010Avant dexécuter linstallateur il faut sassurer que les éléments suivants s...
Mohamed OUALI 24 Projet de fin d’étude 2009/2010Figure 2.4 : interface d’un site Ploneb. Installation séparée :Pour instal...
Mohamed OUALI 25 Projet de fin d’étude 2009/2010Figure 2.1 : Page d’accueil de Zope­ Au site Plone par l’url suivante : ht...
Mohamed OUALI 26 Projet de fin d’étude 2009/2010Figure 2.2 : La ZMIA. Création d’une instance Plone :La création d’une ins...
Mohamed OUALI 27 Projet de fin d’étude 2009/2010Figure 2.4 : Formulaire d’ajout d’un site PloneUn formulaire est, composé ...
Mohamed OUALI 28 Projet de fin d’étude 2009/2010Figure 2.5 : Page d’accueil de PlonePlone est maintenant déployé, il est d...
Mohamed OUALI 29 Projet de fin d’étude 2009/2010partage cette authentification. C’est pourquoi de nombreux utilisateurs de...
Mohamed OUALI 30 Projet de fin d’étude 2009/2010Figure 2.7 : Formulaire d’inscriptionAprès l’inscription, un message de bi...
Mohamed OUALI 31 Projet de fin d’étude 2009/2010La navigation est un aspect indispensable au bon fonctionnement d’un site....
Mohamed OUALI 32 Projet de fin d’étude 2009/2010 Image : juste une image ; Lien : un lien vers une autre page. Il peut ê...
Mohamed OUALI 33 Projet de fin d’étude 2009/2010Figure 2.12 : Rôles locauxRemarque : il existe une interface dans la ZMI p...
Mohamed OUALI 34 Projet de fin d’étude 2009/2010Figure 2.13 : les métadonnées- Le workflow :Le workflow est l’un des point...
Mohamed OUALI 35 Projet de fin d’étude 2009/2010Figure 2.14 : transitions autorisésAinsi, pour faire apparaître la transit...
Mohamed OUALI 36 Projet de fin d’étude 2009/2010C.2 Code source :Le code source des produits développés dans le cadre du p...
Mohamed OUALI 37 Projet de fin d’étude 2009/2010Figure 2.15 : Ajout/suppression des programmesIl suffit dès lors de cocher...
Mohamed OUALI 38 Projet de fin d’étude 2009/2010Figure 2.16 : outils Plone­ MailHost :Est un formulaire permettant de conf...
Mohamed OUALI 39 Projet de fin d’étude 2009/2010- portal_catalog (Indexes all content in the site) :Cette partie d’un Site...
Mohamed OUALI 40 Projet de fin d’étude 2009/2010­ portal_memberdata (Handles the available properties onMembers) :Permet d...
Mohamed OUALI 41 Projet de fin d’étude 2009/2010Dans ce dossier on trouve les scripts d’édition dont les noms sont du type...
Mohamed OUALI 42 Projet de fin d’étude 2009/2010Dans ce dossier on trouve les ZopePageTemplates d’affichage des objets des...
Mohamed OUALI 43 Projet de fin d’étude 2009/2010"navigation_tree_builder" qui va construire le slot navigation_tree en fon...
Mohamed OUALI 44 Projet de fin d’étude 2009/2010Chapitre III : LE PROJET PLONEGOVCe chapitre est une présentation générale...
Mohamed OUALI 45 Projet de fin d’étude 2009/2010III.1. PRESENTATION & OBJECTIFS DU PROJET:L’Union européenne compte plus d...
Mohamed OUALI 46 Projet de fin d’étude 2009/2010capitale fédérale, Berne, 1 Argentine et 1 américaine ainsi que lesgouvern...
Mohamed OUALI 47 Projet de fin d’étude 2009/2010­ Mise en commun des ressources humaines :Par l’échange de savoir faire, f...
Mohamed OUALI 48 Projet de fin d’étude 2009/2010regroupés en 100.000 villes et régions. CommunesPlone est un desrares proj...
Mohamed OUALI 49 Projet de fin d’étude 2009/2010 Rien ne s’oppose à cette internationalisation. En effet, lemode de fonct...
Mohamed OUALI 50 Projet de fin d’étude 2009/2010numérique et de favoriser la promotion et l’activité de la vieéconomique e...
Mohamed OUALI 51 Projet de fin d’étude 2009/2010Le CMS Plone permet de mettre en ligne un site Internet communal avectoute...
Mohamed OUALI 52 Projet de fin d’étude 2009/2010Figure 3.5 : site Plone avec CPSkin35.2 Applications métiers :CommunesPlon...
Mohamed OUALI 53 Projet de fin d’étude 2009/2010­ Après sêtre connecté, le citoyen peut effectuer de nouvelles demandes àd...
Mohamed OUALI 54 Projet de fin d’étude 2009/2010­ les permis de lotir­ les lettres aux notaires environnement­ ...En plus,...
Mohamed OUALI 55 Projet de fin d’étude 2009/2010Le projet PloneGov, extension internationale de CommunesPlone, est unproje...
Mohamed OUALI 56 Projet de fin d’étude 2009/2010IV.1 SITE COMMUNAL :1.1 Obstacles :Les petites et moyennes communes sous­e...
Mohamed OUALI 57 Projet de fin d’étude 2009/2010Actuellement, plusieurs communes ne sont pas convaincues de l’utilité et d...
Mohamed OUALI 58 Projet de fin d’étude 2009/2010Un site communal peut contribuer à rapprocher les élus et les citoyens, le...
Mohamed OUALI 59 Projet de fin d’étude 2009/2010Figure 4.2 : Portail officiel de la ville de Casablanca Portail de la vil...
Mohamed OUALI 60 Projet de fin d’étude 2009/2010Figure 4.4 : Portail d’IfraneAprès l’analyse de ces portails j’ai constaté...
Mohamed OUALI 61 Projet de fin d’étude 2009/2010Figure 4.5 : site communal de Seneffe Site communal de Sambreville :Figur...
Mohamed OUALI 62 Projet de fin d’étude 2009/2010De l’analyse effectuée est né un cahier des charges pour la réalisation du...
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Plonegov projet egov
Upcoming SlideShare
Loading in...5
×

Plonegov projet egov

2,385

Published on

CommunesPlone gestionnaire de contenu opensource adapté aux contexte marocain

PloneGov est l’extension internationale du projet CommunesPlone qui
est un projet à l'initiative de communes wallonnes désireuses de diminuer leur
dépendance aux fournisseurs informatiques et de retrouver une plus grande
indépendance technologique. Pour cela, elles ont choisi de développer un
ensemble des outils informatiques et sites internet véritablement adaptés à leurs
besoins en ayant recours à des technologies open source.
Les outils actuellement proposés dans le cadre du projet CommunesPlone
s'appuient sur un logiciel de gestion de contenu (CMS) appelé Plone.
Plone est un CMS Open Source, convivial et puissant qui vous permet de
facilement ajouter et éditer tout type de contenu via le web, de produire de
navigation et de recherche de ce contenu et appliquer la sécurité et de workflow
à ce contenu.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,385
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
64
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Plonegov projet egov

  1. 1. Mohamed OUALI 1 Projet de fin d’étude 2009/2010
  2. 2. Mohamed OUALI 2 Projet de fin d’étude 2009/2010DédicaceA mes très chers parents,Aucun mot, aucune dédicace ne peut exprimer mon respect, ma considération etl’amour éternel pour les sacrifices que vous avez consentis pour mon instructionet mon bien être.Votre générosité et votre bonneté ont toujours été un exemple pour nous tous.Trouvez en ce travail le fruit de votre dévouement, de votre patience etl’expression de ma gratitude et mon Profond amour.Je t’aime papa ; je t’aime maman et sachez que je vous suis très reconnaissant.A mes très chères sœurs,Vous m’avez toujours soutenu durant toutes mes études, je vous souhaite une viepleine de joie de bonheur et de réussite.A toute ma chère famille,A mes professeurs,A mes chers amis,A tous ceux qui m’aiment,A tous ceux que j’aime,A tous ceux qui m’ont aidé de près ou de loin,Je dédie ce travail avec hommage.Mohamed OUALI
  3. 3. Mohamed OUALI 3 Projet de fin d’étude 2009/2010RemerciementMerci à toute personne qui m’a aidé à acheminer à bon port le présentProjet de Fin d’Études.Je tiens aussi à remercier mon encadrant externe du projet, MonsieurAbderrahmane ELKAFIL le Directeur de la société NEXTMA, pour son accueilchaleureux, sa disponibilité, sa patience et ses conseils précieux quil m’aprodigués tout au long de ce stage.Mes remerciements sont également adressés, avec tout le respect, aupersonnel de la société NEXTMA pour leur aide et leur soutien.Je voudrais également exprimer mes remerciements et mes profondesgratitudes à mon encadrant interne, M. Abdlekbir AFRAITES pour sasympathie, sa compréhension, ses conseils et son aides pour mener à bien montravail.Que messieurs les membres de jury trouvent ici l’expression de mesreconnaissances pour avoir accepté de juger mon travail.Enfin, mes sincères remerciements, avec tout le respect, à M. AhmedDERJA le directeur de L’Ecole Nationale des Sciences Appliquées de Safi, àl’ensemble du corps professoral du département Génie informatiques pourm’avoir communiqué leur savoir et leur savoir faire et à tous mes enseignantsqui ont assuré ma formation tout au long de ma période d’études.
  4. 4. Mohamed OUALI 4 Projet de fin d’étude 2009/2010RésuméPloneGov est l’extension internationale du projet CommunesPlone quiest un projet à linitiative de communes wallonnes désireuses de diminuer leurdépendance aux fournisseurs informatiques et de retrouver une plus grandeindépendance technologique. Pour cela, elles ont choisi de développer unensemble des outils informatiques et sites internet véritablement adaptés à leursbesoins en ayant recours à des technologies open source.Les outils actuellement proposés dans le cadre du projet CommunesPlonesappuient sur un logiciel de gestion de contenu (CMS) appelé Plone.Plone est un CMS Open Source, convivial et puissant qui vous permet defacilement ajouter et éditer tout type de contenu via le web, de produire denavigation et de recherche de ce contenu et appliquer la sécurité et de workflowà ce contenu.NEXTMA, société dans laquelle j’ai effectué mon stage de fin d’étudesest une des nouvelles SSLL (Société de Services en Logiciels Libres). Ellepropose à ses clients plusieurs solutions Open Source pour les intranetsd’entreprise et les gestions de contenu (CMS).Ma mission au cours de ce stage était, tout d’abord, de prendre en main leCMS Plone et d’adapter la plateforme offerte par le projet " PloneGov " aucontexte marocain. Cette adaptation consiste à réaliser un site web communal età intégrer quelques outils ou produits développés dans le cadre de ce projet.En effet, ce projet de fin d’études m’a permis de capitaliser un savoirfaire en matière de CMS, de mieux comprendre comment fonctionne une sociétéde services et comment une SSLL peut vivre du logiciel libre.Mots clés : PloneGov : l’extension internationale du projet CommunesPlone CMS : Content Management System Site communal Outils CommunesPlone
  5. 5. Mohamed OUALI 5 Projet de fin d’étude 2009/2010INTRODUCTION……………………………………………………………………….Chapitre I : CONTEXTE GENERAL DU PROJET : …………………...I.1 PRESENTATION DE NEXTMA : …………………………………………1.1 NEXTMA en Bref : ………………………………………………….1.2 Prestations et services : ……………………………………………….1.3 Secteurs d’activités : …………………………………………………I.2 DEFINITION DES OBJECTIFS DU PROJET : ……………………………I.3 PLANIFICATION DU PROJET : ………………………………………….Chapitre II : PRESENTATION DU CMS PLONE :………………….II.1 CONTENT MANAGEMENT SYSTEM (CMS) : …………………………1.1Quest ce quun CMS ? : ……………………………………………….1.2 Pourquoi les CMS ? : …………………………………………………1.3 Principe et fonctionnement : ………………………………………..1.3.1 Séparation de la forme et du contenu : …………………….1.3.2 Structuration des contenus : ……………………………….1.3.3 Fonctionnement : ………………………………………….II.2 ZOPE ET CMF : …………………………………………………………….2.1 ZOPE : ……………………………………………………………….2.2 CMF : ………………………………………………………………..II.3 PLONE : ………………………………………………………3.1 Définition : ……………………………………………..3.2 Installation : …………………………………………….3.3 Premiers pas avec Plone : …………………………………….Chapitre III : LE PROJET PLONEGOVIII.1. PRESENTATION & OBJECTIFS DU PROJET : ……………………..III.2. HISTORIQUE DU PROJET : ………………………………………….III.3 LE CHOIX DE L’OPEN SOURCE : …………………………………...3.1 Définition : ………………………………………………………...3.2 La valeur ajoutée des projets open source : ……………………….III.4 UN PROJET AU CŒUR DE L’EUROPE : ……………………………III.5 ASPECTS TECHNIQUES : ……………………………………………5.1 Site web : ………………………………………………………….5.2 Applications métiers : ……………………………………………..Chapitre IV : REALISATION DU SITE COMMUNAL : ………….
  6. 6. Mohamed OUALI 6 Projet de fin d’étude 2009/2010IV.1 SITE COMMUNAL : ………………………………………………1.1 Obstacles : ……………………………………………………1.2 Objectifs d’un projet site communal : ……………………….IV.2 ANALYSE ET CAHIER DES CHARGES : ……………………..2.1 Analyse de l’existant : ………………………………………….2.2 Le cahier des charges : …………………………………………IV.3 CONCEPTION ET REALISATION : ………………………………3.1 Rassembler les informations à publier : ………………………..3.2 Organiser linformation collectée : ……………………………..3.3 Planifier la future vie du site de la commune : ………………...3.4 Laspect présentation : …………………………………………3.5 Les portlets : annuaire, infos pratique : ……………………….Chapitre V : LES OUTILS INTEGRES DANS LE SITE : ………V.1 APPLICATION DE GESTION DES ORGANES DELIBERATOIRES : …1.1 Description fonctionnelle : …………………………………………1.2 Caractéristiques de lapplication : …………………………………..1.2.1 Organisation en groupes : ………………………………….1.2.2 Rôles prédéfinis : …………………………………………..1.2.3 Interface générale : …………………………………………1.2.4 Ecrans de gestion d’un point : ……………………………..1.2.5 Ecrans de gestion dune séance : …………………………..1.2.6 Ecrans de gestion dun procès­verbal : …………………….1.3 Installation et configuration de lapplication : ……………………1.3.1 Installation : ……………………………………………….1.3.2 Panneau de configuration général : ……………………….1.3.3 Gestion des configurations de séance : …………………...V.2 CONTACT : ……………………………………………………………V.3. AUTRES MODULES : ………………………………………………..3.1 Système de géolocalisation : …………………………………….3.2 Versionning : ……………………………………………………3.3 Forum : ………………………………………………………….CONCLUSION …………………………………………………………....
  7. 7. Mohamed OUALI 7 Projet de fin d’étude 2009/2010Introduction généraleLe Maroc vient de franchir un pas décisif dans le domaine destechnologies d’information et de communication (TIC). Conscient des défis dela société de l’information et des enjeux de l’économie du savoir, le Royaumemise beaucoup plus sur le génie et la richesse de son potentiel humain. En effet,sous l’impulsion Royale, le Maroc vient d’élaborer une stratégie nationale pourla société de linformation et léconomie numérique baptisée "Maroc Numeric2013". Présentée le 10 Octobre 2009 à Rabat devant Sa Majesté le RoiMohammed VI, "Maroc Numeric" ambitionne de faire des technologies delinformation (TI) un véritable vecteur de développement humain.Cette stratégie s’assigne également comme objectifs d’augmenter l’accessibilitéde lInternet haut débit aux citoyens, de faciliter laccès à la connaissance et derapprocher ladministration des besoins des citoyens en termes defficacité, dequalité et de transparence à travers le programme « e­gouvernement ».D’autre part, le projet PloneGov, l’extension du projet CommunesPlone,est un projet né dun groupe de communes wallonnes qui ont choisi davancerensemble pour développer des outils informatiques répondant à leurs besoinsspécifiques. Celles­ci ont ainsi opté pour une base technologique ouverte, Plone,profitant ainsi du savoir­faire et de lexpérience dune large communautédacteurs de par le monde. Bien plus quun choix technologique,CommunesPlone sapparente à un choix philosophique: la collaboration plutôtque lisolement et la maîtrise plutôt que la dépendance.CommunesPlone, en se basant sur des outils open source, a pour objectifle développement dapplications informatiques par et pour les communes.Autrement dit, les outils développés dans le cadre du projet peuvent être utiliséspar qui que soit.En conclusion, l’adaptation de la plateforme PloneGov au contexte marocain,tout le monde peut en tirer des bénéfices.Le présent rapport est une synthèse des travaux menés dans le cadre de ceprojet. Il est réparti en cinq chapitres : Le premier chapitre intitulé "Contexte général du projet", estconsacré à la présentation de l’organisme d’accueil, donner une vuegénérale sur les objectifs de mon sujet ainsi que le planning suividurant ce stage. Le second chapitre présente le CMS "Plone" utilisé.
  8. 8. Mohamed OUALI 8 Projet de fin d’étude 2009/2010 Le troisième chapitre est consacré à la présentation du projet"CommunesPlone". Le cinquième chapitre traites la démarche suivie et la réalisationd’un site communal. Le dernier chapitre illustre les outils développés dans le cadre duprojet CommunesPlone et intégrés dans le site communal.
  9. 9. Mohamed OUALI 9 Projet de fin d’étude 2009/2010Chapitre I : CONTEXTE GENERAL DU PROJETCe chapitre est une présentation générale du Contexte de monprojet. J’y aborderai : Présentation de l’organisme d’accueil NEXTMA Définition des objectifs du projet. Planification du projet.
  10. 10. Mohamed OUALI 10 Projet de fin d’étude 2009/2010I.1 PRESENTATION DE NEXTMA :1.1 NEXTMA En Bref :NEXTMA est une Société de Services en Logiciels Libres (SSLL) quiaccompagne les entreprises et institutions dans le choix de solutions open sourceainsi que dans lintégration, le développement, ladaptation aux besoinsspécifiques, la maintenance et le support. Afin de bénéficier des meilleuressolutions libres dans la gestion des systèmes dinformation, NEXTMA offre auxPME marocaines des services qui sont orientés sur le modèle « ONE STOPSHOPPING ». Cest­à­dire en offrant une gamme étendue des servicescomplémentaires sur mesure, car chaque entreprise à sa spécificité, afin quellespuissent faire face aux échéances du libre échange et soient à niveau par rapportaux normes de qualité et de performance internationalement reconnues.1.2 Prestations et services :NEXTMA offre une large palette de prestations et de services basés surdes composants libres adaptés aux systèmes et aux réseaux des clients. Laprincipale tâche de cette société est d’offrir des solutions sur mesure, en matièrede formation et d’assistance, concernant les problématiques relevant dessystèmes d’informations, moyennant des outils libres.La gamme de services de NEXTMA est articulée autour de quatre axes majeursqui permettent daccompagner les clients durant toutes les phases dun projetafin den assurer sa réussite.SupportEn plus des offres de formations. La société propose aux équipesdédiées au développement, des prestations de support d’aide à lamaintenance, afin de réduire le temps de résolution desinterrogations ou des difficultés que les entreprises pourraientrencontrer lors de la mise en œuvre de certains logiciels.ConseilNEXTMA possède une équipe formée de consultants techniques etfonctionnels qui assure soit dans le cadre de projets, soit en amont,des missions de conseil dans les domaines suivants: gestion decontenu, travail collaboratif, dématérialisation des procédures,migration vers le libre, architecture et dimensionnementdapplications basées sur open ERP…etc.Développement
  11. 11. Mohamed OUALI 11 Projet de fin d’étude 2009/2010Il constitue le cœur métier de NEXTMA et comprend ledéveloppement sur la base de logiciels libres, de portailscollaboratifs internet ou intranet, avec des composantes depublication web, de travail collaboratif, de gestion électronique dedocuments et de workflow.FormationL’offre des formations, techniques et fonctionnelles, permetdaccompagner les organisations qui disposent d’équipesopérationnelles capables de mener à bien des projets. Cesformations peuvent être établies sous forme de transferts decompétences, en phases avals des projets.1.3 Secteurs d’activités :De part les multiples projets que NEXTMA a mené, elle a acquis unsavoir faire susceptible de lui permettre l’implantation de logiciels libres dansles différents secteurs :Enterprise Ressource Planning (ERP) :En français Progiciels de Gestion Intégré (PGI). NEXTMA est lepartenaire officiel de l’ERP open source Open ERP au Maghreb depuis2006. Elle adapte celui­ci à la législation marocaine et aux besoinsspécifiques des entreprises.Customer Relationship Management (CRM) :NEXTMA propose l’offre SUGARCRM qui permet la gestion de larelation clientBusiness Intelligence (BI) ou informatique décisionnelle.Intranet des entreprises et gestion des contenus.Création d’identités visuelles et sites internet institutionnels et e­commerce :La solution proposée est SMARTSHOP qui une solution libre de e­commerce (commerce électronique) qui sappuie sur le gestionnairecontenu Joomla!Gestion électronique des documents :
  12. 12. Mohamed OUALI 12 Projet de fin d’étude 2009/2010Il s’agit d’un système informatisé dacquisition, classement, stockage,archivage des documents.I.2 DEFINITION DES OBJECTIFS DU PROJET :PloneGov est l’extension internationale du projet CommunesPlone quiest un projet à linitiative de communes wallonnes désireuses de diminuer leurdépendance aux fournisseurs informatiques et de retrouver une plus grandeindépendance technologique. Pour cela, elles ont choisi de développer unensemble des outils informatiques et sites internet véritablement adaptés à leursbesoins en ayant recours à des technologies open source.Les outils actuellement proposés dans le cadre du projet CommunesPlonesappuient sur un logiciel de gestion de contenu convivial appelé Plone.Mon projet de fin d’étude intitulé " L’adaptation de la plateformePloneGov au contexte Marocain " a pour objectifs la réalisation des tâchessuivantes : Prise en main du CMS Plone Analyse des portails des villes marocaines existants Proposition et réalisation d’un site communal (démo) Intégration de l’application de gestion des organes délibératoiresdans le site Intégration du système de géolocalisation dans le site Intégrer le multilinguisme dans le siteI.3 PLANIFICATION DU PROJET :Dans ce qui suit, je vais essayer d’établir la planification de mon projet,qui est scindé en plusieurs tâches.La figure 1.1, représente le planning que j’ai suivi pour réaliser mon stage :
  13. 13. Mohamed OUALI 13 Projet de fin d’étude 2009/2010Figure 1.1 : Planning du stageComme on peut remarquer sur la figure 1.1 mon stage se divise en 5 phases : Phase1 : Dans cette phase j’ai fait tout ce qui est recherche dedocumentation et installation des outils (Ubuntu, CMS Plone et sesdépendances). Cette étape a été conclue par une rédaction d’un manueld’utilisation. Phase 2 : dans cette étape j’ai fait l’analyse de plusieurs portails desvilles, des arrondissements marocains et des communes belges. A la finde cette phase j’ai proposé un cahier de charge pour notre site communal(démo). Phase 3 : c’est la phase de réalisation durant laquelle j’ai pu réaliser unsite communal à l’aide du CMS Plone. Phase 4 : durant cette phase j’ai pu intégrer dans le site une application degestion des organes délibératoires, un système de géolocalisation et autresmodules afin d’améliorer les fonctionnalités du site. Phase 5 : Dans cette dernière phase j’ai rédigé mon rapport de PFE.
  14. 14. Mohamed OUALI 14 Projet de fin d’étude 2009/2010Chapitre II : PRESENTATION DU CMS PLONEDans ce chapitre je présente les Systèmes de Gestion de Contenuen particulier le CMS Plone. Il est réparti comme suit : Content Management System (CMS) Zope et CMF Plone
  15. 15. Mohamed OUALI 15 Projet de fin d’étude 2009/2010II.1 CONTENT MANAGEMENT SYSTEM (CMS) :1.1 Quest ce quun CMS ?Les CMS ou Systèmes de Gestion de Contenu sont des outils de conception etde mise à jour de site web dynamique disposant de fonctionnalités depublication. Ils offrent en particulier une interface dadministration destinée àladministrateur du site pour créer et modifier le contenu et les fonctionnalités dusite. Les CMS partagent les fonctionnalités suivantes : Ils permettent le travail collaboratif sur un même document. Ils fournissent une chaîne de publication (workflow) offrant la possibilitéde mettre en ligne le contenu des documents. Ils permettent de séparer les opérations de gestion de la forme et ducontenu. Ils permettent de structurer le contenu (utilisation de document, FAQ,blogs, forums, etc.). Certains SGC permettent la gestion de versions. …Les CMS sont de plus en plus nombreux (quils soient gratuits, Open Sourcesous licence GNU/GPL ou payants) et offrent de plus en plus de fonctionnalités.Voici quelques uns des CMS les plus connus : Plone : présenté dans la suite de ce document. Spip : il s’agit d’un outil simple de gestion de contenu développéen PHP. Il permet la création de rubriques dans lesquelles lesrédacteurs peuvent définir du contenu. Le contenu est ensuite validé ourejeté par un modérateur. PhpNuke : il s’agit d’un outil de gestion de news en PHP. Il permet decréer des sites semblables à Slashdot. OpenCMS : il s’agit d’un outil Open Source complexe disposant d’unéditeur WYSIWYG. Il écrit suivant la norme J2EE. Lutece : il s’agit de l’outil des mairies d’arrondissement développé par laville de Paris. Il offre un workflow limité et permet la création depages avec les portlettes. Zope et CMF : Zope est un serveur d’applications développé en Pythonorienté gestion de contenu. Son approche base d’objets en fontaujourd’hui l’une des solutions les plus puissantes du marché. Afin
  16. 16. Mohamed OUALI 16 Projet de fin d’étude 2009/2010d’unifier les développements, une librairie additionnelle nommée CMFajoute les outils de la gestion de contenu. DotClear Mambo Joomla …1.2 Pourquoi les CMS ?La gestion des contenus d’une entreprise ou d’un organisme estaujourd’hui une problématique fondamentale : la réussite est souventconditionnée par la qualité de l’informations et plus encore par les échangesd’informations.Les premiers Intranet et Internet développés sont constitués de pages Webécrites avec des outils de conception web. Rapidement, cette gestion del’information trouve ses limites : Création de documents limitée : Elle ne peut être réalisée que par leswebmasters (ou les personnes maîtrisant les outils de création de pages). Manque d’organisation : les documents sont organisés au mieux dansdes répertoires; Manque de cohérence : les documents ne sont pas soumis a une chartegraphique et ne peuvent parailleurs être stockés sous différents formats. Pas de moteur de recherche : l’accès à l’information est ainsi difficile.En plus, le principal problème que rencontrent les administrateurs de sites webest celui de leur administration. Ladministration dun site web peut êtredécomposée en plusieurs tâches : lajout de contenus, la mise à jour de contenu, la suppression de contenu, la réorganisation des données, la gestion des accès et des autorisations aux pages du site.Comme on peut le constater, la problématique concernant la gestion des sitesweb peut vite rendre le travail des administrateurs de ces sites infernal.Enfin, rapidement ces sites sont soit abandonnés car trop difficiles d’accès soitdeviennent surchargés par la masse d’informations. De ces constatations, denombreux CMS sont développés pour répondre à ces problématiques.1.3 Principe et fonctionnement:
  17. 17. Mohamed OUALI 17 Projet de fin d’étude 2009/20101.3.1 Séparation de la forme et du contenu :Le principe fondamental que respectent tous les CMS est la séparation desopérations de gestion de la forme et du contenu. En effet : Le contenu est stocké dans une base des données, structurée en tables eten champs. Cest le contenu des champs de la base qui est créé et/oumodifié par le rédacteur, et non pas la page elle même. On parle de site"dynamique". La présentation est définie dans une « Template ou un gabarit » qui définitla mise en page des pages web (voir annexe 2.1).Le CMS joue un rôle de frontières entre ces deux mondes (forme et contenu).Lorsquun client va demander une page du site au CMS, ce dernier va rechercherles données demandées, ainsi que les gabarits associés et les fusionner ensemblepour rendre la page du site.Cest ce que présente le schéma suivant :Figure 2.1 : séparation de la forme et du contenu1.3.2 Structuration des contenus :Pour créer un contenu, tous les CMS adoptent les mêmes étapes :
  18. 18. Mohamed OUALI 18 Projet de fin d’étude 2009/20101. Authentification : tous les utilisateurs de l’outil doivent êtreidentifiés.2. Cette identification peut être utilisée, par la suite, pour définir lesdroits et les rôles.3. Création de documents : la création de documents doit être réalisée àtravers une interface web.4. Publication : les documents doivent être visibles dans des espacesdéterminés. Par ailleurs, cette opération doit pouvoir être contrôlée. Onintroduit ici souvent la notion de Workflow.Après la création, les contenus dun site sont structurés en articles. Les CMSmanipulent ces articles pour constituer les pages dun site. Chaque page dun sitepeut contenir différents articles, et un article peut apparaître dans plusieurspages. Cette abstraction du contenu permet de manipuler les articles comme desobjets.Figure 2.2 : Manipulation des articles1.3.3 Fonctionnement :Maintenant que nous savons ce qui constitue les pages web gérées par un CMS,nous allons voir comment elles sont présentées aux utilisateurs qui lesconsultent.Ce mécanisme seffectue en trois étapes :
  19. 19. Mohamed OUALI 19 Projet de fin d’étude 2009/2010Figure 2.3 : fonctionnement du CMS1. le Visiteur demande au moteur du CMS une page particulière (icinommée X)2. le moteur du CMS récupère le gabarit de la page et les données quilcontient3. le moteur du CMS fusionne les données dans le gabarit et renvoie lerésultat au visiteur qui les affichera dans son navigateur web.La gestion de contenu ne doit pas être envisagée dans tous les cas car elleentraîne souvent des modifications dans l’organisation de l’organisme etimpose des contraintes importantes.II.2 ZOPE & CMF :2.1 ZOPE :Zope est un serveur d’applications web libre, Open Source. C’est une plateformede développement constituée de différentes technologies et langages. Il peut êtreainsi caractérisé : Serveur d’applications atypique. Il ne respecte pas la norme J2EEdéveloppée par Sun. Développé en python : Zope s’appuie sur un langage de script moderne.Toutefois, une partie du code sensible est écrit en C. Le python permet undéveloppement rapide et professionnel. Basé sur la ZODB : le serveur d’applications s’appuie sur le concept debase d’objets. L’intégration de bases de données tierces est toutefoispossible. Interface Web : tout peut être réalisé depuis un navigateur. Cette approchepermet une prise en main rapide de l’outil.
  20. 20. Mohamed OUALI 20 Projet de fin d’étude 2009/2010 Un framework riche Objets typés : les documents sont organisés en type.2.2 CMF :Zope est un framework extensible et sa couverture des applications de gestion decontenu est large. Toutefois, de nombreux éditeurs ont développé leurs solutionsde CMS. Afin d’offrir une base commune plus large et permettre une meilleureinteropérabilité des produits CMS en Zope, Zope Corporation a développé leCMF.Il s’agit d’une architecture de services orientée CMS. Ses principalescaractéristiques sont : Gestion d’un espace membre Gestion d’un processus de création de contenu : le workflow Gestion de l’indexation : un moteur de recherche est intégré Gestion de l’interface graphique : l’outil offre un moyen de définirdifférents thèmes disponibles pour les utilisateurs. Gestion de metadonnées : afin d’organiser les documents, il est possiblede créer des données sur les données. Gestion de la syndication : les documents doivent pouvoir être exploitéssur des sites externes.Zope et CMF constituent ainsi une plateforme idéale pour la créationd’applications de CMS.II.3 PLONE :3.1 Définition :Plone est un système de gestion de contenu web Open Source publié selon lesnormes de la GNU GPL. Il est construit au dessus du serveur dapplicationZope et de son extension CMF. Plone est un produit à destination des utilisateursfinaux ayant pour objectif de simplifier la mise en place d’un outil de gestion decontenu. Il est développé par Alexander Limi, Alan Runyan, Vidar Andersen etpar une communauté de développeurs passionnés.3.2 Installation :Le présent document décrit l’installation de Plone sur les plateformes Linux (enparticulier Ubuntu), plateformes de production par excellence pour Plone. Deplus, les plateformes windows et MacOS disposent d’un installeur simplifiant àl’extrême cette étape.Plone est un produit Zope. Il est donc nécessaire de disposer d’un serveur Zopeopérationnel sur la plateforme utilisée. Les plateformes Linux, Windows etMacOS disposent d’un installeur unifié intégrant Zope, CMF et Plone.
  21. 21. Mohamed OUALI 21 Projet de fin d’étude 2009/2010Pour mettre en place le système de gestion de contenu (Plone) la procédure dinstallation la plus simple est lutilisation de lInstallateur Unifié (IU). Toutefois,l’installation séparée de chaque composante reste, aussi, possible mais doitrespecter un certain ordre.a. Installation par l’IU :a.1 Installateur unifié :Le programme dinstallation unifiée est un kit dinstallation source pour installerpython, Zope, Plone et leurs dépendances sur les plateformes de type Linux.Elle a deux composantes principales: Les paquets source pour Python, Zope, Plone, un couple desbibliothèques du système et certaines bibliothèques Python; Un script dinstallation qui utilise les paquetages pour créer unready­to­run ou un fichier dinstallation.Remarque:La nouvelle installation (Zope / Plone) utilisera sa propre version de Python, etle python installé par linstallateur unifié ne remplacera pas la copie de pythonde la plateforme utilisée (OS).a.2 Root ou User installation :Le script install.sh pour linstallateur unifié peut être exécuté en tant que root(généralement sudo) comme un utilisateur normal. Les principales différencessont les suivantes :En tant que root: Est le meilleur choix pour une installation de production de Plone. Installation est par défaut dans / usr / local / Plone. Installateur unifié crée un utilisateur Plone, le définit en tant que propriétaire des fichiers de données et configure Zope pour être exécuté avec lutilisateur effectif "Plone". Les programmes et les fichiers de configuration sont la propriété de lutilisateur root, et ne devrait pas être accessible en écriture par le processus deZope. ...En tant quutilisateur normal: Installation par défaut est dans $ HOME / Plone. Peut être un bon choix pour tester ou développer une instance ...
  22. 22. Mohamed OUALI 22 Projet de fin d’étude 2009/2010a.3 Stratégies de configuration de Zope :Le programme dinstallation unifié offre deux stratégies différentes pour laconfiguration de votre Zope : Le stand-alone instance Zope : est plus simple à comprendre, à intégreret à contrôler, et est probablement le meilleur choix pour un simpleenvironnement ou un environnement de test. Un ZEO Client / Serveur : ZEO (Zope Enterprise Objects) vous permetdavoir plusieurs processus clients Zope (ou des serveurs distincts) quipartagent un objet commun de processus de base de données du serveur.a.4 Exécution de linstallateur unifié (IU) :a.4.1 Téléchargement de lU (Installateur Unifié):Le téléchargement de l’archive de l’installateur unifié peut être fait de deuxmanière différentes :­ Via la ligne de commande (Terminal):Se déplacer dans le répertoire où nous souhaitons enregistrer l’archive (par lacommande # cd chemin/répertoire) et en tapant la commande suivant :# wget URL de votre archiveComme exemple :# wget http://launchpad.net/plone/3.3/3.3.1/+download/Plone3.3.1UnifiedInstaller.tgzPour utiliser cette commande il est nécessaire, si on n’a pas l’url de l’archive,de le récupérer en passant la souris sur le lien de l’archive fourni dans le siteofficiel.­ A partir du site officiel de plone : http://plone.org/products/plone/releasesa.4.2 Décompressez larchive :Maintenant, il faut choisir un répertoire de travail commode et décompresserlarchive de linstallateur unifié par :# tar zxf PloneVERSIONUnifiedInstaller.tar.gzPuis, il faut se déplacer dans le répertoire nouvellement créé pour lancerl’installation.a.4.3 Exécution de « install.sh » :
  23. 23. Mohamed OUALI 23 Projet de fin d’étude 2009/2010Avant dexécuter linstallateur il faut sassurer que les éléments suivants sontinstallés:­ gcc,­ g++,­ GNU make,­ GNU tar,­ bzip2 et gzip.Si on a choisi l’installation avec les privilèges root, soit "su" pour devenir rootou de faire précéder ces commandes avec "sudo". ZEO Installation :# . / install.sh Zeo StandAlone Installation Zope:# ./install.sh standalonea.4.4 Fin de l’installation :Si l’installation a réussi, il est préférable de commencer la vérification ensuivant les instructions affichées à la fin du processus dinstallation (ou dans lefichier README.txt dans le répertoire dinstallation). Le fichier README.txtcontient des instructions qui suggèrent dajuster les ports et le mot de passeadministrateur si cest nécessaire. Pour se connecter à Plone les informations(user/password) fournies à la fin de linstallation et stockées dans fichier"adminPassword.txt" (chemin/.../zeocluster/adminPasswoed.txt) sontnécessaires.Si le début est réussi, en ouvrant un navigateur web et en naviguant surhttp://localhost:PORTCHOISI (Si nous testons sur une autre machine, il fautremplacer "localhost" par le nom, ou IP, de notre serveur hôte), nous devrionsvoir un message de bienvenue de Zope. Pour la version 3 de Plone, un site Plonede test devraient être disponibles à http://localhost:8080/Plone (Pour la version2, il faut d’abord ajouter le site Plone afin de pouvoir y accéder), et la ZopeManagement Interface à http://localhost:8080/manage (pour toutes les versionset si on n’a pas changé le port 8080).a.4.5 A quoi ressemble Plone ?Après avoir ajouté un site Plone à son instance ZOPE, l’utilisateur peut voir sonsite sous plusieur vue selon son rôle. La figure ci­dessous montre la vueanonyme affichée à un utilisateur non connecté :
  24. 24. Mohamed OUALI 24 Projet de fin d’étude 2009/2010Figure 2.4 : interface d’un site Ploneb. Installation séparée :Pour installer chaque composante indépendamment des autres il faut suivrel’ordre suivant :1. Créer un utilisateur zope et se connecter sous cet utilisateur :­ # useradd new_user –p password­ # su new_user2. Télécharger un binaire Zope-XXX.tgz, le décompresser, lancer lescript install puis lancer le script start.py, noter le mot de passe ducompte admin et arrêter Zope avec le script stop.py.3. Télécharger CMF­XXX.tar.gz, le décompresser et déplacer lesrépertoires CMFCore, CMFDefaut, CMFCalendar et CMFTopic danslib/python/Product du serveur Zope.4. Téléchargez Plone­tar.gz, le décompresser et déplacer les répertoiresCMFPlone, DCWorkflow et Formulator dans lib/python/Product.5. Démarrer ensuite Zope pour découvrir Plone.3.3 Premiers Pas avec Plone :En suivant les instructions précédentes, il est possible dorénavant de seconnecter avec notre navigateur préféré :­ A la ZMI par l’url suivante : http://mon ip:Port (par défaut 8080).Une page semblable à la figure 2.1 doit apparaître.
  25. 25. Mohamed OUALI 25 Projet de fin d’étude 2009/2010Figure 2.1 : Page d’accueil de Zope­ Au site Plone par l’url suivante : http://mon ip:Port/site-plone (un siteou une instance Plone est générée automatiquement par IU pour la version3.X.X, alors que pour la version 2.X.X c’est à l’utilisateur de créer sonpropre instance).La page de la figure 2.1 n’est nullement spécifique à Plone : il s’agit de lapage d’accueil de Zope. Il est ensuite nécessaire de se connecter à la ZMI,l’interface d’administration de Zope. Pour cela, il est possible de cliquersur le lien Zope Managemement Interface ou d’utiliser l’url http ://mon ip:Port/manage. Le compte admin ainsi que le mot de passe fournitprécédemment sont nécessaires. Une page semblable à la figure 2.2 doitapparaître.
  26. 26. Mohamed OUALI 26 Projet de fin d’étude 2009/2010Figure 2.2 : La ZMIA. Création d’une instance Plone :La création d’une instance Plone est réalisée à travers la ZMI. Il suffit de seplacer à la racine de Zope et d’ajouter un objet de type ‘‘ Plone Site ’’. Commele montre les figures :Figure 2.3 : Ajout d’un site Plone
  27. 27. Mohamed OUALI 27 Projet de fin d’étude 2009/2010Figure 2.4 : Formulaire d’ajout d’un site PloneUn formulaire est, composé de quelques champs, ensuite présenté semblable à lafigure 2.4 :Les différents champs permettent de paramétrer notre objet Plone :­ Id : l’identifiant de l’objet. Attention, il s’agit d’un identifiant qui doit êtrecorrect d’un point de vue url ;­ Title : le titre associé à cet objet. Il n’y a pas de restriction ;­ Membership source : Plone est un site collaboratif qui permet à chaqueutilisateur de s’enregistrer. Les utilisateurs peuvent être stockés dans unobjet acl_users local à notre Plone site ou dans l’objet acl_users global. Ilest conseillé de laisser la valeur par défaut : create a new user folder ;­ Description : cette description est utilisée dans certaine page afind’expliquer le rôle de votre site Plone ;­ Site Type : il existe deux types de site Plone. Les sites publics où lesdocuments créés par les utilisateurs sont visibles de tous si l’on connaîtleurs url et les sites privés où les documents restent privés tant quel’utilisateur ne les a pas rendus publics.Une fois le formulaire complété, la page d’accueil de Plone est alors présentée :
  28. 28. Mohamed OUALI 28 Projet de fin d’étude 2009/2010Figure 2.5 : Page d’accueil de PlonePlone est maintenant déployé, il est donc possible de découvrir son interface etses nombreuses fonctionnalités.B. Tour d’horizon de Plone :Cette partie permet de découvrir les fonctionnalités de Plone est de prendre enmain l’outil.B.1 Les utilisateurs :Un portail ou une application Plone distingue les visiteurs en différentescatégories offrant plus ou moins de fonctionnalités à ces derniers.- Les rôles :Plone est une application de type communautaire, dont on peut distinguer deuxprincipaux acteurs :• Les visiteurs : ces acteurs ne sont pas authentifiés et ne sont pas desproducteurs de contenu. Leur unique tâche est la consultation de pages. On leurassigne le rôle anonymous, le rôle le plus limité ;• Les membres : ces acteurs sont identifiés et disposent d’un compte sur le sitePlone. Ils peuvent créer de nouveaux contenus, les modifier et publier ducontenu selon leurs droits. Ils existent différents rôles leurs offrant plus oumoins de droits. Le rôle member permet de disposer d’un compte sur le sitePlone. Le rôle Reviewer offre les droits membres et permet la modération decontenus. Les acteurs Reviewer sont couramment appelés modérateurs. Enfin, lerôle manager est équivalent à root sous Unix et l’utilisateur admin (généré pardéfaut) dispose de ce rôle. Par ailleurs, la vue du site est différente selon le(s)rôle(s).- L’authentification :Comme nous l’avons vu précédemment, il existe différents rôles. Pour essayerces rôles, il convient de fermer le navigateur utilisé. En effet, l’authentification àla ZMI est une authentification HTTP et toutes les instances du navigateur
  29. 29. Mohamed OUALI 29 Projet de fin d’étude 2009/2010partage cette authentification. C’est pourquoi de nombreux utilisateurs de Zopeutilisent deux navigateurs distincts : l’un avec le rôle manager et l’autre pourvisualiser avec un autre rôle les modifications apportées.Après avoir fermé et relancé le navigateur, l’url http ://mon ip :8080/site-ploneprésente le site Plone sous la vue des anonymous.Figure 2.6 : Vue anonyme du site PloneCette vue anonyme permet de visiter les quelques pages fournies par un sitePlone par défaut. Il est aussi possible de se connecter à nouveau en tantqu’admin grâce à la portlette d’authentification (cadre bleu à gauche nommélogin) ou créer un nouvel utilisateur membre avec le lien nouveau utilisateur ?de ce même slot. Dans ce cas, un formulaire d’inscription est présenté :
  30. 30. Mohamed OUALI 30 Projet de fin d’étude 2009/2010Figure 2.7 : Formulaire d’inscriptionAprès l’inscription, un message de bienvenue vous est alors présenté et vouspermet de vous connecter sous ce nouvel utilisateur.B.2 Les actions :Cette section a pour objectif de réaliser une présentation fonctionnelle de l’outilPlone.- Le menu principal :Le menu principal est constitué de divers onglets comme le montre la figure 2.8.Figure 2.8 : menu principalChacun de ces onglets est un lien vers une url :• accueil : la page d’accueil• members : la page listant les membres du site• news : la page des actualités du site• events : la page des événements du siteIl s’agit en fait d’actions. Cette notion sera décrite plus longuement dans ce quisuit.- La navigation :
  31. 31. Mohamed OUALI 31 Projet de fin d’étude 2009/2010La navigation est un aspect indispensable au bon fonctionnement d’un site.Plone offre différents éléments permettant de faciliter la navigation. Labreadcrumbs ou barre de navigation est une liste indiquant l’endroit où l’on setrouve sur le site et dont chacun des éléments qui constituent le chemin estcliquable. La figure suivante permet de comprendre immédiatement :Figure 2.9 : breadcrumbsPar ailleurs, un autre élément est fourni afin d’offrir un déplacement rapide dansl’arborescence d’un site Plone : la boite (un slot) de navigation. Elle se présentesous la forme suivante :Figure 2.10 : boite de navigationB.3 La gestion du contenu :Plone s’appuie sur les concepts Zope pour la gestion de contenu et sa based’objets. Toutefois, les objets disponibles pour la création de contenu sontdistincts de ceux présentés dans la ZMI.- La création de contenu :La création de contenu est une opération disponible aux membres de votre site etcelle­ci est limitée à certains espaces. L’espace privilégié pour cette opérationest le répertoire mon dossier. Par défaut, Plone fournit les types suivants : Document : ou page web est le type de contenu le plus utilisé. Il permetde stocker un titre, une description et un texte. Il est possible delui associer des métadonnées ; Fichier : le fichier est le document qui permet de placer le plus facilementdes fichiers Word ou PDF en téléchargement sur le site ; Evénement : un événement est un objet caractérisé par sa date. Cet objets’il est publié apparaît sur le calendrier fourni dans le slot calendrier ; Actualité : une nouvelle est un objet permettant de définir une actualité.Ces dernières sont visibles au travers de la page news qui les classe parordre de publication ;
  32. 32. Mohamed OUALI 32 Projet de fin d’étude 2009/2010 Image : juste une image ; Lien : un lien vers une autre page. Il peut être utilisé pour ranger sesobjets. Dossier automatique : ‘Topic’ ou ‘smart folder’ est un thème permet dedéfinir une page virtuelle offrant un listing des fichiers ou documentssélectionnés au travers de critères définis ; Dossier : un répertoire.Pour créer un nouveau document, il suffit se placer dans un répertoire où l’onpossède des droits suffisants, et de disposer de l’affichage du contenu. Une listedéroulante vous permet alors de choisir un type de contenu comme le montre lafigure 2.11.Figure 2.11 : Ajout d’un élément- Les rôles locaux :Les rôles locaux sont une fonctionnalité avancée de la ZODB. La ZODB, based’objets de Zope, dispose de mécanisme de sécurité semblable à un système defichiers. Ainsi, lorsqu’un répertoire est crée, seul le propriétaire peut créer ducontenu et seul un modérateur peut valider les documents. Toutefois, il peut êtrejudicieux pour certaines raisons d’autoriser localement un utilisateur à disposerde droits particuliers. Cette fonctionnalité est apportée par les droits locaux. Lesrôles locaux peuvent être définis dans les répertoires. Il suffit de sélectionnerl’onglet partage puis de sélectionner les utilisateurs et le rôle qu’on désire leurattribuer. Il est ensuite possible de supprimer les rôles attribués comme lemontre la figure2.12:
  33. 33. Mohamed OUALI 33 Projet de fin d’étude 2009/2010Figure 2.12 : Rôles locauxRemarque : il existe une interface dans la ZMI permettant de contrôler demanière fine les rôles locaux.- Les métadonnées :Les métadonnées ou les données sur les données sont une caractéristiqueintéressante de Zope. Il s’agit d’informations que l’on peut attacher au contenu.Les métadonnées peuvent être le titre, l’auteur, la date de création d’undocument, etc. Ces informations permettent de caractériser de manière fine lescontenus. Elles sont notamment utilisées lors de recherches. Les métadonnéespeuvent être définies avec l’onglet propriété d’un document comme le montre lafigure 2.13 :
  34. 34. Mohamed OUALI 34 Projet de fin d’étude 2009/2010Figure 2.13 : les métadonnées- Le workflow :Le workflow est l’un des points forts de Plone. Tout document peut être en effetêtre attaché à un workflow. Par défaut, Plone fournit plusieurs worflows : folder workflow : le workflow des répertoires est un workflowsimplifié ; plone workflow : il s’agit du workflow classiquecréateur/modérateur.Les workflows permettent d’associer aux documents des états et de gérer lestransitions entre les états. Par défaut, les workflows fournis avec Plone utilisentles états suivants :• Privé : le document n’est accessible qu’à son créateur ;• Visible : le document est accessible si on dispose de son url ;• En attente : le document attend une modération pour être public ;• Public : le document est accessible et rendu visible par un certainnombre d’élémentsLe fonctionnement du workflow est simple. Il suffit de sélectionner l’objet puisde choisir l’onglet Etat. Cet onglet présentant l’état de l’objet, permet de choisirune transition et ainsi de faire passer un objet d’un état à un autre.Remarque :Seules les transitions autorisées sont affichées comme le montre la figure 2.14 :
  35. 35. Mohamed OUALI 35 Projet de fin d’étude 2009/2010Figure 2.14 : transitions autorisésAinsi, pour faire apparaître la transition Publish, il faut disposer du droitReview Content.Par ailleurs, le travail de validation est simplifié pour le modérateur. En effet,lorsque ce dernier est connecté, il dispose d’une action nommée pending luipermettant de sélectionner les objets en attente et de les modérer.C. Les produits Plone :Plone est un produit Zope extensible, c’est une maquette évoluée qu’on peutétendre ses fonctionnalités et ses contenus grâce à l’ajout de nombreux produits.Cependant, ces produits ne sont pas obligatoirement compatibles avec n’importequelle version de Plone. Pour cela, il est nécessaire, avant de se plonger dansl’installation des produits, de bien lire les fichiers install.txt et Readme.txt.C.1 AddonProducts :Les produits complémentaires ou add­on products sont les produits quon peuttélécharger, installer et tester gratuitement (sous la licence GPL) comme:­ Les produits qui peuvent être utilisés pour le traitement des photos,création des galeries photo et lobservation de diaporamas de photos surles sites Plone : PloneSWFSlideshow, ATPhoto, FriendlyAlbum , etc.­ Les produits Plone qui peuvent être utilisés pour créer son propre site departage vidéo et la manipulation du contenu vidéo sur lui commeSevenVideo, ATVideo, etc.­ Les produits Plone utilisés pour modifier l’apparence, ou le look, de sonsite web Plone. Ces thèmes sont destinés à rendre le site unique etspéciale: Lite Plone skin, Schools Plone Theme, etc.­ Les produits Plone qui permettent de créer plusieurs versions dun mêmecontenu ou de faire un changement à une copie de lobjet de publication,tout en laissant intacte la version originale publiée : PVSForPlone,CMFEditions, StagingAddOn, etc.­ Les outils qui peuvent être utilisés pour créer son propre skin ou look pourson site plone. Ils mettent en œuvre certaines fonctionnalités visuellesspéciales, changer les couleurs ou des bordures de forme : DIYPloneStyle,Plone Skin Dump , etc.­ Les outils développés dans le cadre du projet CommunesPlone :PloneMeeting, TeleServices, urban, CPEtatcivil, etc.
  36. 36. Mohamed OUALI 36 Projet de fin d’étude 2009/2010C.2 Code source :Le code source des produits développés dans le cadre du projet CommunesPloneest contenu dans un outil de gestion des sources appelé SVN, diminutif deSUBVERSION. Le SVN est accessible à ladresse http://svn.communesplone.org/svn/ . En utilisant un navigateur internet avec ladresse susmentionnée, vouspourrez visualiser les produits présents dans le projet ainsi que leur arborescencemais vous ne pourrez pas télécharger globalement un produit.Afin de copier localement un produit et son arborescence, il est nécessairedutiliser un client subversion. Sous Linux, vous trouverez parmi tous lespackages disponibles, un package nommé "Subversion", à installer (# sudoaptget install subversion).Sur le svn, chaque produit est localisé sous ladresse :http://svn.communesplone.org/svn/communesplone/Dans chaque produit, il y a un dossier : "trunk": qui correspond à la dernière version en cours de développement. "branches": qui correspond à des version particulières ou en cours dedéveloppement. tags : contenant des versions stables bien définies.Une fois le client installé, vous devez, dans une fenêtre "invite de commande",vous positionner dans le répertoire Products de votre instance Plone. Pourinstaller un outil on tape la commande suivante :svn co http://le chemin de l’outil dans le serveur svn/ destinationCette commande correspond au téléchargement du contenu de lURL dans lerépertoire de destination qui sera créé. Pour mettre à jour par la suite un produit,il est nécessaire de se positionner dans le répertoire du produit et de taper lacommande :# sudo svn upUne fois un produit copié sur le système de fichiers, on redémarre linstance eton se rendre dans le panneau de configuration pour installer le produit.C.3 Installation dun produit :Linstallation dun outil se fait de manière classique via le panneau deconfiguration de Plone.En sélectionnant Ajout/Suppression de produit dans le menu du panneau deconfiguration (configuration du site Ajout/Suppression), un écran présente lesproduits que lon peut installer et les produits qui le sont déjà.
  37. 37. Mohamed OUALI 37 Projet de fin d’étude 2009/2010Figure 2.15 : Ajout/suppression des programmesIl suffit dès lors de cocher la case se trouvant à côté du nom du produit et decliquer sur le bouton "Installer".D. L’architecture de Plone :D.1 Les outils :CMF a introduit le concept des outils. Il en fournit d’ailleurs un grand nombre.Plone s’appuie sur ces outils et introduit quelques nouveaux outils poursimplifier certains concepts. Par ailleurs, il est à noter qu’il existe d’autresproduits offrant de nouveaux outils et que la figure ci­dessous ne montre pastous les outils :
  38. 38. Mohamed OUALI 38 Projet de fin d’étude 2009/2010Figure 2.16 : outils Plone­ MailHost :Est un formulaire permettant de configurer le SMTP qui va être utilisé pourenvoyer les emails lors des oublis de mots de passe par exemple.- Members :Dossier où chaque utilisateur aura son espace personnel *** (si autorisé voirdans la suite du document pour plus d’informations sur la configuration dePlone)­ acl_users (User Folder) :Dossier contenant la liste des utilisateurs du portail. On ajoute un utilisateur encliquant sur "Add" on doit alors entrer son nom d’utilisateur (sans espace) sonmot de passe et la confirmation de ce dernier.­ portal_actions (Contains custom tabs and buttons) :Les actions qu’on trouve ici sont celles qui sont appelées par le header despages :­ portal_calendar (Controls how Events are shown) :L’onglet intéressant dans cette partie est "Configure". On va pouvoir définir queltype d’objet sera visible dans le calendrier. Pour qu’un type soit vu dans lecalendrier (en plus de configurer cet onglet) il faudra remplir les champs début(date de publication) et fin (date d’expiration) de chaque objet que l’on veut voirdans le calendrier. On va aussi choisir si on veut utiliser **** les sessions pourse rappeler des états du calendrier.
  39. 39. Mohamed OUALI 39 Projet de fin d’étude 2009/2010- portal_catalog (Indexes all content in the site) :Cette partie d’un Site Plone est très utile pour connaître le contenu du site.- L’onglet Contents :Ce dossier contient un objet appelé "Vocabulary" qui est en fait le recensementde tous les mots, numéros... écrits dans les pages du site.- L’onglet Catalog :Cet onglet permet de gérer les items du catalogue du site. En cliquant sur un desitems de type /id_du_portail/x/... on obtient une page de renseignements trèscomplets sur cet objet du portail.Ces informations renseignent entre autres sur : le metatype, les dates de création,de parution, d’expiration, le créateur, l’id de l’objet, l’état, la description, letype, le titre, les allowedRolesAndUsers ...- L’onglet Properties :Donne la valeur de title pour l’objet portal_catalog.- L’onglet Indexes :Il présente le résultat de l’indexation, suivant des types par exemple :– les FieldIndex donc les champs (pour le type, les dates d’expiration, decréation...),– les mots clés (KeyWordIndex),– les textes (TextIndex) pour les descriptions ...- L’onglet Metadata :Contient les types de données qui vont être cataloguées (vus dans l’ongletIndexes).- L’onglet Find Objects :Permet de trouver des objets et / ou bien de cataloguer des types d’objets suivantdes champs correspondant aux types, ids, contenus, droits, permissions...- L’onglet Advanced :Permet la gestion du catalogue en le mettant à jour (réindexation) le nettoyerpour le recréer ensuite.Une partie de cet onglet permet aussi de gérer les "subtransactions". Celaentraine une réduction de la demande en mémoire du catalogue, au détriment dela rapidité de recherche.- L’onglet Undo :Annuler des transactions (les défaire)- L’onglet Security :La sécurité sur l’objet portal_catalog- L’onglet Ownership :L’appartenance de l’objet portal_catalog.- L’onglet Actions :Si l’on veut ajouter des actions possibles correspondant à cet objetportal_catalog.
  40. 40. Mohamed OUALI 40 Projet de fin d’étude 2009/2010­ portal_memberdata (Handles the available properties onMembers) :Permet de gérer des données sur chaque utilisateur, rajouter des actions degestion de membres ...­ portal_membership :- L’onglet Configuration :La partie haute de cet onglet concerne les rôles des membres du portail(manager, reviewer...).La partie basse de cet onglet va autoriser ou non la création lors de l’ajout d’unutilisateur d’un espace réservé à cet utilisateur.- L’onglet Actions :La catégorie de ces actions est "user", c’est à dire qu’elles ne concernent qu’unutilisateur authentifié.- portal_migration :Cet outil sert lorsqu’une nouvelle version de Plone sort. Le reste du temps on ale message que notre objet Plone site est up to date. La procédure en cas denouvelle version de Plone, est d’extraire de l’archive la nouvelle version.D’arrêter Zope, puis de copier le contenu de CMFPlone­Version, sauf ActivePack si on a un Zope de type 2.6.x, danschemin_de_Zope/lib/python/Products (afin de remplacer les anciens scripts)et ensuite d’aller dans portail fait sous l’ancienne version de Plone, de se rendredans portal_migration qui dit cette fois que le portail est out of date et il faudraitcliquer sur upgrader.Remarque : la réussite de la migration dépend aussi de la compatibilité desproduits installés avec la nouvelle version de Plone.­ portal_registration (Handles registration of new users) :Dans cette section on a une seule action par défaut : autoriser ou nonl’inscription de nouveaux utilisateurs au portail. Cocher ou décocher la case àgauche de l’interrogation "Visible ?" permet à cette action d’être réalisée dans leportail.­ portal_skins (Control skin behaviour (search order etc) :Les dossiers de portal_skins sont :- Images :Ce dossier contient les images de Zope (Le logo de Zope que l’on voit dans laZMI par exemple).- Content :
  41. 41. Mohamed OUALI 41 Projet de fin d’étude 2009/2010Dans ce dossier on trouve les scripts d’édition dont les noms sont du type"métatype_edit" et des dtml­method pour l’affichage, l’édition des métatypesdans un objet de type CMF Site.- control :Ce dossier contient les scripts et quelques dtml­method correspondant auxactions (folder_cut par exemple) réalisables sur les objets d’un site de type CMFSite.- custom :Ce dossier est spécial. C’est le seul dossier de portal_skins (en dehors de laracine de portal_skins ) où l’on possède le droit d’écriture.C’est donc le seul endroit où l’on va pouvoir créer des objets images, desdossiers, des ZPT (Zope Page Templates), etc. Ce dossier est spécial aussi carpour modifier (customiser / personnaliser) un objet (ZPT, dtmlmethod...)existant, on va ouvrir l’objet à modifier et l’interface de Plone va proposer unbouton appelé customize. A la gauche de ce bouton se trouve une liste déroulantqui permet de choisir l’endroit où va être copié l’objet à modifier. Par défautcette destination est le répertoire custom. Si l’on crée d’autres répertoires danscustom alors on pourra les choisir comme destination de la copie de l’objet.Ainsi on comprend que pour que la modification d’un objet prenne effet, ledossier custom sera lu avant les autres répertoires de portal_skins.- generic :On va trouver dans ce dossier les formulaires (d’édition, d’ajout, desmétadonnées) ainsi que les RSS d’un objet de type CMF Site.- no_css :Ce dossier ne contient qu’un objet stylesheet_properties qui doit correspondre àla version imprimable des pages.- nouvelle :Ce dossier contient deux objets, l’un intitulé nouvelle_stylesheet et l’autrestylesheet_properties. Ils correspondent à des feuilles de styles.**** Les feuillesde styles seront détaillées dans le chapitre "Design du site" dans la section X.2intitulée "les css". ***.- plone_3rdParty :Contient des objets de type Filesystem Directory View correspondant à desproduits Zope intégrables dans un Plone site (CMFCalendar, CMFCollector,CMFTopic, CMFWeblog, CMFWiki, ratings).- plone_content :Dans ce dossier on trouve les ZopePageTemplates correspondant à l’affichagedes objets des différents métatypes ainsi que les métatype_edit_form- plone_ecmascript :Les scripts javascripts : plone_formtooltips.jp et plone_javascripts.js.- plone_forms :
  42. 42. Mohamed OUALI 42 Projet de fin d’étude 2009/2010Dans ce dossier on trouve les ZopePageTemplates d’affichage des objets desdifférents métatypes ainsi que les actions_form. Par exemple, personalize_formou bien member_search_form ou encore login_form ... On va aussi trouver unscript appelé logged_in (permet le login d’un utilisateur avecgetAuthenticatedMember)- plone_images :On va y trouver les objets images : le logo de plone, les metatype_icons ...Toujours la même chose, pour les personnaliser : les ouvrir, cliquer surCustomize (l’objet est alors copié dans le dossier custom, on nous proposed’entrer un titre, de parcourir le contenu d’un disque et d’uploader l’image quel’on souhaite avoir en remplacement).- plone_scripts :Comme son nom l’indique ce dossier contient des scripts python tels que laréalisation d’actions concernant les objets du Plone Site (folder_delete) ainsi quedes scripts pour le classement des objets (filter et sort), la création des objets(createObject), la fonction Undo pour l’annulation des modificationseffectuées...Ce dossier contient aussi le dossier form_scripts qui lui contient lesscripts de validation d’un formulaire d’édition/création d’un objet tel que levalidate_id et les scripts servant à l’édition d’un métatype en particulier.- plone_styles :Contient un stylesheet_properties, plonePrint.css, plonePresentation.css,plone.css, ploneNS4.css et des dossiers contenant les mêmes feuilles de stylesainsi que des images de navigation (user, bullet...) sur un autre thème que celuipar défaut.- plone_templates :On retrouve entre autres le footer et le header de toutes les pages dans cerépertoire.Dans le header on trouve :– appel de la skin du site– la searchBox– le logo du site– les portal_tabs– les actions de la personnalBar– le chemin de la page en coursDans le footer on trouve des références à Plone, et un logo plone_powered. Dansce répertoire, on va aussi avoir les ZopePageTemplates (ZPT) correspondant à" main_template ", " folder_contents ", etc.Ce dossier contient aussi un dossier qui contient les ZopePageTemplates desslots (carrés situés à gauche et à droite du centre de l’affichage du site Plone)tels que news_slot qui va afficher les 5 derniers titres des 5 dernières newscomme des liens cliquables. On y trouve aussi un script python
  43. 43. Mohamed OUALI 43 Projet de fin d’étude 2009/2010"navigation_tree_builder" qui va construire le slot navigation_tree en fonctionde ce qui a été configuré dans le dossier portal_properties dans l’espacenavtree_properties.- plone_wysiwyg :Il contient wysiwyg_popup et wysiwyg_support.- topic :Ce dossier contient les scripts, ZPT et les dtml­method correspondant à l’ajout,affichage des commentaires (affichés si autorisés).- zpt_calendar :La version du dossier "calendar" mais il est réalisé avec des ZPT et des scriptspython.- zpt_content :La version du dossier content mais il est réalisé avec des ZPT et des scriptspython.- zpt_control :La version du dossier control mais il est réalisé avec des ZPT et des scriptspython.- zpt_forum :Apparait si on a ajouté le produit CMFForum, on y trouve les ZPT et scriptspython corespondants.- zpt_generic :La version du dossier generic mais il est réalisé avec des ZPT et des scriptspython.­ portal_undo (Defines actions and functionality related to undo) :Cette partie du Plone Site est utilisée pour défaire les actions réalisées. Dans lepremier onglet "Actions" deux actions sont proposées : liste des changements oubien une annulation rapide de la dernière modification. L’onglet Undo listetoutes les modifications depuis la création du portail.­ portal_workflow (Contains workflow definitions for your portal) :Cette partie du Site Plone contient les actions correspondant à l’action derelecture puis validation des contenus ...La plus grande partie du workflow intégrée à Plone est déjà paramétrée.
  44. 44. Mohamed OUALI 44 Projet de fin d’étude 2009/2010Chapitre III : LE PROJET PLONEGOVCe chapitre est une présentation générale du projet PloneGov. Ilest divisé comme suit : Présentation et objectifs du projet Historique du projet Le choix de l’open source Un projet au cœur de l’Europe Aspects techniques Sites web Applications métiers
  45. 45. Mohamed OUALI 45 Projet de fin d’étude 2009/2010III.1. PRESENTATION & OBJECTIFS DU PROJET:L’Union européenne compte plus de 100.000 villes et communes dont laplupart n’ont ni les ressources budgétaires ni les ressources en terme decompétences pour mettre en place un projet d’e­government. Toutes pourtantsont confrontées aux mêmes types de besoins, aux mêmes difficultés. C’est ceconstat qui est à la base du projet PloneGov, un projet qui s’étend déjà au­delàdes frontières de l’Union européenne elle­même.Le projet PloneGov a pour objectif le développement dapplicationsinformatiques par et pour les collectivités locales. Ce projet offre la possibilitéaux villes et communes mais également à tous les autres niveaux de pouvoirspublics, par la mutualisation de leurs moyens humains et matériels, de retrouverune plus grande indépendance technologique et de construire des outilsvéritablement adaptés à leurs besoins.Le nombre de partenaires impliqués dans le projet PloneGov ne cesse des’agrandir. Il touche aujourd’hui plus de 100 collectivités. Tirant sa force de sonouverture, PloneGov a tissé des liens de coopération et de mutualisation avecdes collectivités locales issues de nombreux pays mais aussi avec des PMEactives dans la communauté en Europe, en Afrique et en Amérique latine.Aujourdhui, de nombreuses applications métiers et web ont été finalisées ousont en cours de finalisation par les différents partenaires. Grâce à PloneGov,même les plus petites collectivités territoriales sont à même de réduire leurscoûts de fonctionnement, d’améliorer leurs méthodes de travail et leur efficacitéet de profiter des avancées de l’e­government en sautant la facture numérique.III.2. HISTORIQUE DU PROJET :Parti de deux villes, Seneffe et Sambreville, le projet CommunesPlone aconnu un agrandissement rapide jusqu’à toucher aujourd’hui plus de 80 villes etcommunes en Belgique et en France, un gouvernement régional et denombreuses PME. Plusieurs autres villes, dans différents pays, sont en phased’évaluation pour intégrer le projet d’ici peu. Le projet reste très dynamique enWallonie où atteint déjà plus de 30% des collectivités. Le nombre de modulesdéveloppés ne cessent de croître et touche des domaines aussi variés que lagestion des conseils municipaux, l’authentification par eID, le site communal clésur porte, le module de co­marquage avec la Région wallonne, les services enligne, etc.Grâce à l’organisation d’un workshop les 31 mai et 01 juin 07, CommunesPlonea commencé à mutualiser ses développements avec les deux principaux projetsd’e­government européens basés sur Plone, UdalPlone et Plonegov.ch. Cestrois projets se dirigent désormais vers un seul, PloneGov. Ce dernier touche, en2007, 65 municipalités belges, 20 françaises, 18 espagnoles, 2 suisses dont la
  46. 46. Mohamed OUALI 46 Projet de fin d’étude 2009/2010capitale fédérale, Berne, 1 Argentine et 1 américaine ainsi que lesgouvernements de la Région Wallonne et de la Communauté françaiseWallonie­Bruxelles.Le succès du projet CommunesPlone est le résultat dune étroite collaborationentre des collectivités territoriales belges et françaises, la communauté OpenSource Plone et ZeaPartners, un réseau international de PME.Copiant son organisation sur celle des grands projets open source,CommunesPlone est une véritable communauté où toutes les propositions decollaborations sont les bienvenues. Toutes les collectivités sont donc invitées àparticiper à ce projet dont la structure est extrêmement décentralisée.CommunesPlone est également ouvert à la collaboration avec d’autres projetscomme UdalPlone et PloneGov.ch.Un facteur essentiel du succès réside également dans la similarité des besoinsentre les acteurs cibles du projet. La plupart des collectivités font en effet face àdes besoins extrêmement semblables et les résoudre chacun de son coté peutparaître complètement absurde.III.3 LE CHOIX DE L’OPEN SOURCE :Une bonne compréhension du modèle de développement open source etdes facteurs qui génèrent la valeur ajoutée sont nécessaires pour structurer unprojet tout en tenant compte de son potentiel économique.Selon le responsable informatique de sambreville (Joël Lambillotte), le choix aété fait après l’évaluation du marché des solutions propriétaires et open source :les coûts étaient prohibitifs côté ‘propriétaire’, alors que, côté ‘open source’, lescoûts étaient intéressants et le CMS Plone a satisfait à tous les tests d’intégrationet réussi à séduire plusieurs communes.Définition :Un logiciel open source est un logiciel qui donne à toute personne qui enpossède une copie le droit de lutiliser, de létudier, de le modifier et de leredistribuer.la valeur ajoutée des projets open source :­ Mutualisation des développements et réutilisation de développementsexistants :Une bonne connaissance des développements en cours permet d’éviter deréinventer la roue. Cette coordination technique permet dans de nombreuxcas de réutiliser l’équivalent d’années de développement, réduit les coûts etaccélère la production de résultats.
  47. 47. Mohamed OUALI 47 Projet de fin d’étude 2009/2010­ Mise en commun des ressources humaines :Par l’échange de savoir faire, formation réciproque et complémentarité descompétences. Augmenter le potentiel humain demande la réalisationrégulière d’activités collectives visant à échanger le savoir faire et ouvrirl’expérience aux nouveaux participants.­ Qualité de l’intégration :Une intégration de qualité et générique demande une connaissance enprofondeur des logiciels. Réaliser une bonne intégration prend du temps etdemandes de l’expertise de haut niveau. Cet investissement est rentable car ilréduit la quantité de code non générique à maintenir et facilite les migrationsdu logiciel.­ Ouverture à la collaboration internationale et facteur d’échelle :De nombreux pouvoirs locaux ont des besoins très similaires. Lacollaboration avec d’autres régions ouvre un potentiel d’économie d’échelleimportant et la possibilité d’accéder à des financements. Développer unprojet demande d’apporter un soin particulier à la communication et à lacirculation d’une information de qualité.­ Participer activement à une Communauté est un investissementrentable :Le rapport Flossimpact (impact économique des logiciels libres en Europe ­www.flossimpact.eu) met en évidence que la participation active à unecommunauté open source apporte un avantage compétitif aux personnes etorganisations impliquées. Cette valeur ajoutée est bénéfique autant pour lesPME offrant des services basés sur le code que pour les utilisateurs enréduisant leurs coûts de développement et maintenanceIII.4 UN PROJET AU CŒUR DE L’EUROPE :Le projet PloneGov s’inscrit à plusieurs titres parmi les objectifsstratégiques de l’Union européenne en matière d’e­government défini par l’i2010 (société européenne de linformation pour 2010) initiatives. A ce titre, ilapporte les avantages de l’économie immatérielle aux petites collectivités quin’auraient pas pu y prétendre auparavant en l’absence de moyens humains etfinanciers suffisant : Ne laisser aucun citoyen a l’arrière :o 100.000 villes et régions : L’Union européenne représente ungigantesque ensemble de près de 500 millions d’habitants
  48. 48. Mohamed OUALI 48 Projet de fin d’étude 2009/2010regroupés en 100.000 villes et régions. CommunesPlone est un desrares projets qui s’adresse prioritairement à ces petites collectivitésterritoriales et qui leur offre la possibilité de rentrer de plain­pieddans l’ère numérique, d’y apporter les bienfaits, notammentéconomiques, de l’e­gov. En 2008, plus de 25% des communeswallonnes auront déjà adhéré au projet.o e-inclusion : Le projet est susceptible, par son implication auprèsdes collectivités territoriales, connues pour leur proximité avec lescitoyens, de renforcer de façon significative l’e­inclusion2. Faire de l’efficacité des services publics une réalité :o Efficacité : Grâce à CommunesPlone, les petites collectivitésterritoriales sont à même de réduire leurs coûts de fonctionnement,d’améliorer leurs méthodes de travail et leur efficacité.o Adaptabilité : La structure technique de Zope et Plone sur lesquelssont basés CommunesPlone permet l’adjonction constante denouveaux modules interconnectables et interchangeables. Cetteflexibilité fournit au projet une adaptabilité hors­norme et uneassurance d’être constamment apte à s’adapter aux nouvellesconditions d’évolution technique. Réunir les partenaires-clé :o Partenaire des PME : CommunesPlone est un projet qui est menépar et pour les collectivités territoriales. Leurs partenaires naturelssont les petites PME locales qui disposent d’équipes et de méthodesde travail semblables aux leurs. Le projet implique dès lors denombreuses PME dans plus d’une dizaine d’états en Europe maisaussi dans des pays tiers et notamment ACP. En cela,CommunesPlone favorise l’emploi local.o Partenaire des communautés open source : Les développeurs decollectivités territoriales impliquées dans le projet CommunesPlonesont en étroite interaction avec les communautés open source. Cetteinteraction est un important facteur d’innovation, d’efficacité et dedissémination.o International : CommunesPlone est un projet ouvert à lacollaboration internationale qui, par essence, transcende lesfrontières : Les partenaires initiaux ont tout intérêt à ce que le projetacquière une dimension internationale et s’enrichisse desexpériences de chacun. En effet, plus les contributeurs serontnombreux, plus grand sera le retour sur investissement qu’ilspourront espérer.
  49. 49. Mohamed OUALI 49 Projet de fin d’étude 2009/2010 Rien ne s’oppose à cette internationalisation. En effet, lemode de fonctionnement des collectivités territoriales, aucontraire de celui des états, ne diffère pas fondamentalementd’un pays à l’autre. Les techniciens du projet ont tout intérêt à se tenir au courantde ce qu’il se passe au­delà de leurs frontières. En effet,divers développements menés par d’autres projets peuventtrès certainement être réutilisés mais cela implique depouvoir passer les frontières physiques et psychologiquesafin d’aller à la rencontre de ces autres projets. Cetteopportunité, les techniciens de CommunesPlone l’ont biencomprise.o Logique de « bottom up » : CommunesPlone dépasse lesfrontières mais passe également au­delà des hiérarchies qui divisentgénéralement les différents niveaux de pouvoirs. Rien ne s’opposeà ce que le projet qui est aujourd’hui principalement destiné auxpetites collectivités territoriales ne s’étendent à d’autres niveaux depouvoirs. Des gouvernements régionaux et leurs parlements, desprovinces ont ainsi contacté les gestionnaires du projet pour évaluerla faisabilité d’adapter certaines applications à leurs propresservices. Renforcer la démocratie participative et représentative :o Démocratie participative : Les outils fournis parCommunesPlone permettent aux collectivités de favoriser sur leurterritoire une culture de démocratie participative saine et durablepar le biais de l’e-democracy. En effet, elles sont désormais àmême de diffuser intégralement et en direct les séances du conseilcommunal, les procès­verbaux des différents réunions, les ordres dujour, de lancer des forums accessibles à la population, d’assurer lapromotion des conseils consultatifs, etc. Internet reste et restera unlien essentiel entre une collectivité et ses citoyens.o Fracture numérique : Le projet CommunesPlone s’engage dansla lutte contre la fracture numérique en Europe et au­delà : Le projet CommunesPlone offre la possibilité aux multiplescommerces, entreprises, écoles, associations, etc., situés surle territoire des collectivités participantes de disposer d’unepage web regroupées sous une URL commune.L’infrastructure technique permet en effet de créer sansaucune compétence technique particulière une nouvelle page,de la mettre à jour en y ajoutant textes et images, d’y tenir unagenda, etc. afin de combattre directement la fracture
  50. 50. Mohamed OUALI 50 Projet de fin d’étude 2009/2010numérique et de favoriser la promotion et l’activité de la vieéconomique et associative locale. Par l’intermédiaire des coopérations nord­sud établies par lesvilles et régions, CommunesPlone dispose de la possibilitéde combattre la fracture numérique qui risque de renforcerencore les inégalités économiques séparant les sociétésindustrialisées des économies émergentes. L’infrastructuredéveloppée par CommunesPlone peut en effet être adaptéeet installée au profit des collectivités de ces pays sans aucunsfrais de licence. Mettre en place des outils stratégiques a haut impact :o Carte d’identité électronique : CommunesPlone prend encompte les notions d’e­privacy et d’e­security. Dès l’origine duprojet, ses techniciens ont intégré les fonctionnalités offertes par lesnouvelles cartes d’identité électroniques belges. L’e­ID permet desécuriser totalement les connections mais aussi les donnéespersonnelles qui pourraient être récoltées sur les utilisateurs. L’e­IDpermet un usage éthique de l’Internet en matière de respect de lavie privée.III.5 ASPECTS TECHNIQUES :Le projet CommunesPlone est construit sur un vaste logiciel, Plone. Il s’agitd’un projet centré sur la création d’un des meilleurs CMS open source et mettantl’accent sur l’aspect démocratique (égalité des chances, méritocratie), sur lestyle (attractivité, facilité d’utilisation), sur l’adaptabilité (personnalisation detypes de contenus, possibilité d’ajout de nombreux modules). D’un point de vueorganisationnel, Plone a une forte expérience dans la consultanceprofessionnelle; nombre de ses développeurs travaillant pour des petitesentreprises d’intégration.Plone est à 100 % open source. Tous les éléments qui rentrent dans saconstruction sont entièrement libres et compatibles avec la licence GPL. Lelangage de programmation python est généralement reconnu comme un desenvironnements les plus productifs et les plus professionnels pour lesorganisations importantes. Cela fait déjà 9 années que Zope mène le marché desserveurs d’application open source avec la reconnaissance de nombreux **awards **. Plone s’est implanté quant à lui comme étant le CMS open sourceleader et comme l’un des produits, open source ou commercial, parmi les plussolides.5.1 Site web :
  51. 51. Mohamed OUALI 51 Projet de fin d’étude 2009/2010Le CMS Plone permet de mettre en ligne un site Internet communal avectoutes les fonctionnalités attendues (gestion décentralisée des pages, gestion desphotos, outil de sondage, outil de géo localisation, forum, téléchargement defichiers, moteur de recherche,…).Toutefois, un site Plone ne répond pas nécessairement aux attentes que l’onpourrait avoir pour un site communal tant d’un point de vue graphique que dupoint de vue de la navigation.Pour permettre à des communes qui découvrent cette technologie de mettre lepied à l’étrier rapidement, Communesplone a conçu un produit site Internet,dénommé CPSkin, orienté site communal. Le produit comprend une interfacequi permet de modifier plusieurs propriétés du site (couleur, images). Ilcomprend une navigation ainsi qu’un graphisme par thème. Une refonte duheader du site pour afficher le logo à gauche ainsi qu’un banner illustrant lapartie consultée à droite. Le banner peut ainsi changer en fonction des pagesconsultées.Plusieurs communes utilisent actuellement ce produit grâce auquel un sitecommunal de qualité peut ainsi être mis en ligne en quelques semaines.Remarque : le produit, site communal, compatible avec Plone2.X est CPSkin2alors que pour Plone 3, CommunesPlone a développé un produit beaucoup plusévolué dénommé CPSkin3. Les figures ci­dessous donnent une idée sur lerésultat de l’utilisation de ces deux produits :Figure 3.4 : site Plon avec CPSkin2
  52. 52. Mohamed OUALI 52 Projet de fin d’étude 2009/2010Figure 3.5 : site Plone avec CPSkin35.2 Applications métiers :CommunesPlone vise à adapter Plone aux besoins spécifiques des communes.Différents modules ont été développés à cet égard comme : Le guichet virtuel du citoyen :Le produit TeleServices permet au citoyen deffectuer des demandes en ligne àson administration et permet à lagent communal de gérer ces demandes.Lapplication peut être utilisée suivant plusieurs profils dutilisateurs :­ le citoyen non connecté, qui peut visualiser une liste des documents ouprocédures;­ le citoyen connecté, qui peut effectuer en ligne de nouvelles demandes et consulter leur suivi ;­ le rôle dagent communal, qui permet de traiter les demandes ;Le principe général est le suivant :­ Dans un premier temps, le citoyen peut accéder à une liste des documentsou procédures disponibles dans les différents services de ladministrationcommunale. Cette liste précise pour chaque demande les modalitésdobtention.­ Pour effectuer une demande en ligne, le citoyen doit préalablementsinscrire en complétant ses données personnelles (dont son numéro deregistre national qui servira de clé unique pour la connexion par cartedidentité électronique). Cette inscription ne doit être effectuée quuneseule fois.­ Une fois inscrit, le citoyen peut se connecter soit au moyen dunidentifiant/mot de passe soit au moyen de sa carte didentité électronique.
  53. 53. Mohamed OUALI 53 Projet de fin d’étude 2009/2010­ Après sêtre connecté, le citoyen peut effectuer de nouvelles demandes àdifférents services de la commune mais aussi consulter le suivi desdemandes déjà introduites. Au cours de son traitement, une demandechange en effet de statut suivant les étapes de traitement effectuées.­ De son côté, lagent communal responsable du traitement des demandes deson service consulte les nouvelles demandes ou les demandes en cours quinécessitent un traitement.­ Lagent au cours du traitement de la demande change son statut suivant lesactions quil effectue. Il indique par exemple que la demande est en coursde traitement, que la demande est finalisée, que la demande est rejetée, ...­ Suivant les options choisies par le citoyen, ce dernier sera prévenu du bontraitement de sa demande.Lintérêt de loutil est quil est possible de le configurer entièrement à travers uneinterface graphique. Il est donc possible de définir ses propres demandes, avecleurs propres paramètres comme les motifs associées, les modes de réception, leprix, etc...Figure 6.3 : l’outil TeleServices La gestion des permis durbanisme :Ce produit dénommé "urban" est un permet de gérer les permis durbanisme(bâtir, lotir, notaire, ...) et intègre une fonctionnalité avancée de cartographie.Il permet à une commune de gérer ses permis durbanisme comme par exemple :­ les permis de bâtir (urbanisme)
  54. 54. Mohamed OUALI 54 Projet de fin d’étude 2009/2010­ les permis de lotir­ les lettres aux notaires environnement­ ...En plus, loutil intègre des fonctionnalités cartographiques qui permettent :­ dobtenir des informations précises (parcelles concernées, rayon de 50m,infos sur les propriétaires dune parcelle, ...)­ de lier des recherches de parcelles à une visualisation cartographique­ ...Remarque : "urban" est un produit Plone 3 qui nécessite donc linstallationdune instance Plone 3 et de quelques dépendances. Gestion des délibérations :Ce produit, dénommé "PloneMeeting", est traité dans le cinquième chapitre. Autres applications :Applications ObjectifsConteneur dapplication – ApplicationcontainerCe produit est destiné à adapter uneinstance Plone standard dans le but desimplifier linterface utilisateur et deparamétrer cette instance pour yaccueillir des applications(Teleservices, College, ...)Co­marquage – Cobranding Afficher sur un site un contenu émispar le Portail de la Région WallonneBelgianEid AuthPlugin ****Donner la possibilité aux membresdun site Plone (et même Zope) desidentifier à laide de la carte didentitéélectroniqueGestion des amendes administratives(en cours de développement) – Finemanagement systemGestion des Sanctions AdministrativesCommunalesPython Open Document (POD)POD est une bibliothèque qui permetde générer facilement des documentsdont le contenu est dynamique.
  55. 55. Mohamed OUALI 55 Projet de fin d’étude 2009/2010Le projet PloneGov, extension internationale de CommunesPlone, est unprojet très puissant conçu pour aider les communes en répondant à leur besoinsinformatique. Il a remporté plusieurs "awards" (voir annexe 3.1) et a reçu lelabel "Good Epractice" de la Commission européenne en novembre 2007.Chapitre IV : REALISATION DU SITE COMMUNALCe chapitre résume les points importants ainsi que la démarchesuivie pour la réalisation du site web communal.
  56. 56. Mohamed OUALI 56 Projet de fin d’étude 2009/2010IV.1 SITE COMMUNAL :1.1 Obstacles :Les petites et moyennes communes sous­estiment souvent la quantité et laqualité des informations qu’elles pourraient publier sur Internet. La plupartsentre elles s’interrogent encore sur la validité et la faisabilité d’un site internetpour une commune :­ Internet, pour nous (les communes), ça ne servira à rien :Cela a été entendu, mais de moins en moins souvent maintenant car le"retard" marocain en matière déquipement informatique et Internet esten train dêtre comblé, suite à laction des différents gouvernements.­ La commune na pas grand chose à publier : au contraire chaquecommune a quelque chose d’unique à publier et la quantité dinformationsqui peuvent être publiées dans un site Internet dun village ou dune villesont quasiment sans limites.­ La commune est déjà présente sur un site : Cest bien, mais est­cevraiment suffisant ?­ Il y a dautres priorités : Le site Internet a peu de raisons dêtre le projetprioritaire de la commune. Autant en termes dinvestissement que deffortset de temps à y consacrer, les municipalités ont déjà suffisamment à faire.Mais, cela ne signifie pas quil ny ait pas de place en même temps pour unprojet peu couteux, avec des solutions open source, dans le domaine de lacommunication avec et pour les administrés.­ Cest trop compliqué : En effet, il y a des choses à apprendre, mais lesnouvelles techniques de création de sites (les CMS) permettent à des non­spécialistes de sinitier rapidement à lessentiel: la publication du contenu.­ Cest trop cher : avec les outils open source c’est toujours beaucoupmoins couteux.­ On fera un petit site de type personnel : Cest une solution qui trouverapidement ses limites car la principale difficulté vient du fait quil estdifficile, voire même impossible, de se partager le travail (les créations etles mises à jour) et donc le risque est de se retrouver avec un site statiquequi aura certes la valeur dun annuaire papier, mais avec peu de mises àjour, et peu dinformations sur les actualités et évènements récents.­ …1.2 Objectifs d’un projet site communal :
  57. 57. Mohamed OUALI 57 Projet de fin d’étude 2009/2010Actuellement, plusieurs communes ne sont pas convaincues de l’utilité et de lanécessité d’un site web communal et par conséquent elles sont absentes surInternet. Cependant, plusieurs bonnes raisons les invitent à mettre en place leursite internet :­ La vitrine de votre commune sur Internet : Publier sur Internet, pourune commune et ses habitants cest partager linformation et montrer quonexiste pour les habitants, pour ses voisins, et aussi pour le reste du monde.­ Un rôle de Service (un moyen dinformation) :o Pour faire connaître la ville aux nouveaux et futurs habitants ;o garder un contact avec les anciens habitants ;o Mettre en valeur l’histoire, la géographie, l’environnement, laculture, toutes les particularités souvent méconnues, ainsi que le oules grands projets de la municipalité ;o Portail de renseignements (Santé, Transport, Tourisme, …) ;­ Pour mettre en commun les informations de référence :Figure 4.1 : les échanges du site communalMises à disposition s:• par et pour la municipalité,• par et pour les associations, les acteurs économiques,• pour les résidents (et éventuellement par les résidents)• pour les visiteurs de passage ou de séjour, touristes et affaires• pour les visiteurs du site Internet, cherchant des informations sur lacommune.­ Moyen de communication :
  58. 58. Mohamed OUALI 58 Projet de fin d’étude 2009/2010Un site communal peut contribuer à rapprocher les élus et les citoyens, lesécoles, les associations, tout ce qui concerne la vie de la commune. Il peutdevenir le « portail » de référence pour toutes les informations, animationset évènements concernant la commune et ainsi faciliter la vie quotidienneen donnant une visibilité aux associations, aux entreprises, aux artisans etaux commerçants jusquà la possibilité de tenir à jour les informations lesconcernant. En plus, il peut jouer le rôle d’un moyen pour faire participerles habitants de la commune à un nouveau projet.­ Pour lactivité municipale :Une partie du site peut être réservée aux élus pour communiquerfacilement via Internet, en complément des courriels et des forums oud’autres applications administratives.III.2 ANALYSE ET CAHIER DE CHARGE :2.1 Analyse de l’existant :Avant de me lancer dans la conception du site communal, il était nécessaire,voire même indispensable, de faire une étude de l’existant afin de proposer, àcause de l’absence du client, un cahier de charge pour la démo site communal.L’absence du site communal, voire même la notion du site pour une commune, àcause des interrogations citées ci­dessus et d’autres contraintes, m’a obligéd’analyser les sites des arrondissements, les portails des grandesvilles marocaines et les sites communaux entrants dans le cadre du projetCommunesPlone: Exemples de sites analysés : Portail de la ville de Casablanca :Le portail de casa est le site officiel de la ville de Casablanca. Lesinformations, concernant les démarches en ligne, présentées dans notresite communal dans le thème "renseignements" sont prises de ce site.
  59. 59. Mohamed OUALI 59 Projet de fin d’étude 2009/2010Figure 4.2 : Portail officiel de la ville de Casablanca Portail de la ville de Fès :Figure 4.3 : Portail de la ville de Fès Portail de la ville d’Ifrane :
  60. 60. Mohamed OUALI 60 Projet de fin d’étude 2009/2010Figure 4.4 : Portail d’IfraneAprès l’analyse de ces portails j’ai constaté que ces derniers contiennent unequantité très importante d’informations mais :­ Pas de système de géolocalisation : pour permettre aux habitants, auxtouristes et autres de localiser des lieux (des pharmacies de garde, garesde train, etc.)­ Difficulté de trouver l’information : la navigation n’est pas bien organisée(sous forme de thèmes qui contient des sections) et par conséquencel’internaute est soumis au par hasard dans ses recherches.­ Le contenu de site n’est pas indexé : l’absence d’un moteur de recherchesur le site rend la recherche très difficile.­ Manque d’informations : impossible de mettre tout sur un seul portail.D’où, la nécessité d’un site communal pour chaque commune.­ Pas d’informations sur les projets réalisés, en cours ou programmés (saufdans le portail d’Ifrane).­ Les mises à jour est associées au " Webmaster " : personne d’autre, sansconnaissances techniques, ne peut contribuer aux mises à jour.­ … Sites CommunesPlone :Les sites communaux de ‘Seneffe’ et ‘Sambreville’ rentrent dans le cadre duprojet CommunesPlone. Ils sont créés par le CMS Plone et le produit decanevas de site communal CPSkin2 avec des fonctionnalités très évoluéescomme le système de géolocalisation qui guide les visiteurs et les permet delocaliser des lieux de la commune. Site communal de Seneffe :
  61. 61. Mohamed OUALI 61 Projet de fin d’étude 2009/2010Figure 4.5 : site communal de Seneffe Site communal de Sambreville :Figure 4.6 : Site communal de SambrevilleLes sites communaux présentés ci­dessus sont créés par le même outil etrépondent aux mêmes besoins avec, certainement, une différence de contenu.Après l’analyse du contenu et de son organisation dans ces derniers, il apparaîtclairement que se sont des sites puissants et très bien organisés sur les quelles jepeux me baser pour créer notre site communal (démo).2.2 Le cahier des charges proposé :
  62. 62. Mohamed OUALI 62 Projet de fin d’étude 2009/2010De l’analyse effectuée est né un cahier des charges pour la réalisation du siteweb communal (démo) qui peut servir, dans le futur, pour convaincre lesresponsables communaux de l’importance et de la nécessité d’avoir leur propresite qui aura comme objectifs principaux : Contenir toutes les informations relatives à la commune, ainsi que lesliens vers d’autres sites communaux, administratifs, associatifs, ou dusecteur commercial (sites d’entreprises de la commune). Permettre d’Informer en premier lieu les habitants de la commune : sur lesservices, les écoles, les activités associatives, culturelles, sportives, lescommerces, les projets communaux, etc. Servir de Guide pour l’extérieur de la commune : il est évident de penserau tourisme (hôtels, restaurants), ainsi qu’aux animations, expositions,fêtes. Présenter les activités de tous les secteurs économiques présents (sociétés,artisans, etc.) sur le territoire communal. Exposer les actions et services de la municipalité, ainsi que discuter(forums de discussion), afin de pouvoir favoriser la proximité avec lescitoyens et la participation à la vie de la commune. Permettre à des personnes sans connaissances techniques dajouter, desupprimer ou de modifier des pages directement via le site. Le mode dalimentation du site peut être organisé avec beaucoup desouplesse: alimentation centralisée (par le webmaster), décentralisée (parle collège communal ou les services) avec validation, décentralisée sansvalidation, par quelques personnes seulement, ... Des "sous­sites" sont possibles: Passionnés, associations ou commerçantsde la commune peuvent alimenter leurs propres pages au sein du sitecommunal, avec un menu qui leur est propre et un accès sécurisé. Intégrer un système de géolocalisation pour donner la possibilitédillustrer avec des cartes dynamiques la localisation précise des bâtimentsdes administrations, des écoles, des associations, des commerces, despharmacies, des gares de train... Intégrer la gestion des flux RSS : Grâce à un flux RSS, le citoyen peutêtre rapidement informé lorsque du contenu est ajouté au site de lacommune Intégrer une application pour la gestion des organes délibératoires …III.3 CONCEPTION & REALISATION :

×