Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01...

19
Guide CMS Lycée Aristide Bergès Usage d'un CMS : CMSMS CMS Made Simple Rédigé par David ROUMANET Professeur BTS SIO Changement Date Révision 19/01/2020 Création 07.02.20

Transcript of Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01...

Page 1: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Guide CMS

Lycée Aristide Bergès

Usage d'un CMS : CMSMS

CMS Made Simple

Rédigé par

David ROUMANETProfesseur BTS SIO

ChangementDate Révision

19/01/2020 Création

07.02.20

Page 2: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Guide CMS

SommaireA Mise en œuvre d'un CMS...................................................................................................1

A.1 Utilité d'un CMS..........................................................................................................1A.1.1 Inconvénients des sites "from scratch"................................................................1A.1.2 Avantages des frameworks..................................................................................1

A.2 Installation d'un CMS : CMSMS.................................................................................2A.2.1 Installation CMSMS.............................................................................................2

A.2.1.a Bienvenue.....................................................................................................2A.2.1.b Détection de l'installation existante..............................................................3A.2.1.c Tests de compatibilité....................................................................................4A.2.1.d Information de configuration.........................................................................4A.2.1.e Information compte d'administration.............................................................5A.2.1.f Paramètres du site.........................................................................................5A.2.1.g Fichiers.........................................................................................................5A.2.1.h Gestion de la base de données....................................................................5A.2.1.i Finalisation.....................................................................................................5

A.3 Apparence initiale.......................................................................................................6B Configuration......................................................................................................................7

B.1 Contenu......................................................................................................................7B.1.1 Différences entre articles, contenus et fichiers....................................................7

B.1.1.a Articles..........................................................................................................7B.1.1.b Pages (contenus)..........................................................................................7B.1.1.c Fichiers..........................................................................................................7

B.1.2 Articles..................................................................................................................8B.1.3 Contenus..............................................................................................................9B.1.4 Fichiers.................................................................................................................9

B.2 Utilisateurs / Groupes...............................................................................................10B.2.1 Groupes admin...................................................................................................10B.2.2 Utilisateurs admin...............................................................................................11

B.3 Administration du site...............................................................................................12B.3.1 Gestionnaire de modules...................................................................................12

B.3.1.a Installer un module statistiques..................................................................13B.3.2 Installer un thème...............................................................................................14

C Problèmes et diagnostics.................................................................................................15

Révision : 22 Nombre de pages : 19

Page 3: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Mise en œuvre d'un CMS

A Mise en œuvre d'un CMSCMSMS est un CMS (Content Management Service).

A.1 Utilité d'un CMS

A.1.1 Inconvénients des sites "from scratch"

La création d'un site web complet prend beaucoup de temps. Il faut :

• Créer la structure du site : répertoires, fichiers, médias

• Coder les pages : HTML et PHP

• Créer un thème graphique : CSS

• Créer un menu qui permet d'accéder facilement aux pages créées

Pour chaque site web, il faut refaire les mêmes opérations, en fonction du cahier des charges de chaqueclient.

Puis – après quelques mois – faire évoluer chaque site, en ajoutant de nouvelles pages, en modifiant le thèmeet en mettant à jour le menu.

A.1.2 Avantages des frameworks

Après quelques sites, le développeur tentera inévitablement de créer un modèle de site web, correspondant àsa manière de développer.

Chaque développeur faisant la même chose dans son coin, il est probable que reprendre la maintenance d'unsite concurrent rendra à nouveau la gestion complexe et longue, car il faudra s'adapter aux méthodes del'autre développeur.

Ainsi, l'existence d'un modèle de site web plus large et répandu est une opportunité pour les développeurs :

• La structure générale est déjà prête

• Les fonctionnalités disponibles sont décrites dans une documentation

• Il est possible d'ajouter des modules et des extensions

• Des thèmes graphiques existent et sont proposés

• L'ajout de nouvelles pages peut être réalisé par le client lui-même (module d'édition simplifié)

• Le framework gère les menus et ajoute automatiquement les nouvelles pages

• Le développeur peut développer des parties spécifiques, car les CMS utilisent le même langage deprogrammation que lui (par exemple, PHP)

07.02.20 p. 1

Page 4: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Mise en œuvre d'un CMS

A.2 Installation d'un CMS : CMSMS

Ce CMS semble simple, léger et rapide à utiliser. Il existe cependant d'autres CMS aux qualités reconnuescomme Wordpress, Drupal, Joomla et même des CMS pour créer des sites commerciaux (incluant de la venteen ligne).

A.2.1 Installation CMSMS

Le CMS peut être téléchargé depuis https://docs.cmsmadesimple.org !

Il faut impérativement un environnement web, c’est-à-dire serveur web, PHP et base MySQL. Cetteexploration utilise uWamp mais n'importe quel autre environnement fera l'affaire.

Placer le fichier PHP à la racine du répertoire public du serveur web (généralement www) et l'accéder via unnavigateur.

http://localhost/cmsms-2.2.13-install.php

L'outil CMSMS affiche une page d'installation/

A.2.1.a Bienvenue

Cette page permet de choisir la langue d'installation

p. 2 07.02.20

Page 5: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Mise en œuvre d'un CMS

A.2.1.b Détection de l'installation existante

Ici l'application recherche les dossiers et fichiers d'une précédente installation et avertit également s'il y a desdossiers présents.

07.02.20 p. 3

Page 6: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Mise en œuvre d'un CMS

A.2.1.c Tests de compatibilité

La page suivante effectue des tests de compatibilité.

Le problème de l'extension cURL1 se résoud en modifiant les paramètres dans php.ini (décommenter la lignecontenant "php_curl").

A.2.1.d Information de configuration

La page "4. informations de configuration" nécessite de saisir les champs suivants :

attributs valeur explication

Nom d'hôte de la base localhost

Nom de la base de données dbcmsms Créer une base avec phpmyadmin d'abord

Nom d'utilisateur admcmsms Créer un utilisateur avec les droits sur latable

Mot de passe Écrivez-le dans une documentation...

Créer une base spécifique pour le CMS, en UTF-8 :

Évitez de fournir les identifiants d'administration, pour plusieurs raisons :

• Pour une raison de sécurité, car ce compte a accès à toutes les bases de données

• Pour une raison de sécurité, car ce compte n'est pas autorisé à se connecter à distance (protectionMySQL)

Affecter les droits sur la table au compte d'administration admcmsms.

1 Librairie de communication utilisant les URL, https://www.php.net/manual/fr/intro.curl.php

p. 4 07.02.20

Page 7: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Mise en œuvre d'un CMS

GRANT ALL PRIVILEGES ON `dbcmsms`.* TO 'admcmsms'@'%' WITH GRANT OPTION;

A.2.1.e Information compte d'administration

Il s'agit ici de permettre la connexion à l'application (et non à la base de données).

attributs valeur explication

Nom d'utilisateur admincmsms Identifiant différent du compte de la base

Adresse email

Mot de passe

Le fait de choisir un identifiant différent évite qu'un utilisateur soittenté d'utiliser ce compte pour accéder à la base de données. Nepas oublier que – par facilité – les utilisateurs enregistrent leursidentifiants dans le navigateur.

A.2.1.f Paramètres du site

Choisir un nom de site (lié à la JPO par exemple) et la langue

A.2.1.g Fichiers

L'application effectue la copie et l'extraction des fichiers. Cela peut prendre un peu de temps.

A.2.1.h Gestion de la base de données

L'application créée le schéma de base de données pour cette première installation.

A.2.1.i Finalisation

L'application supprime les éléments du cache et recommande de supprimer l'assistant d'installation. Sur laplateforme de développement, renommez seulement l'assistant :

Sur la plateforme de production, il faut le supprimer (sinon un hackerpourrait écraser notre site).

Si vous n'avez pas pris le temps de regarder les deux liens utiles :

• Le site web sera : http://localhost

• La page d'administration sera : http://localhost/admin

07.02.20 p. 5

Page 8: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Mise en œuvre d'un CMS

Si rien ne s'affiche lors de l'utilisation du lien http://localhost supprimez alors le fichier index.html (ne touchezpas au fichier index.php).

Concernant l'administration, vous pouvez y accéder avec l'identifiant admincmsms.

Une fois connecté, vous pouvez modifier la langue du compte (menu preferences en bas).

A.3 Apparence initiale

Le site apparaît avec plusieurs éléments visibles qui seront modifiables ou configurables.

p. 6 07.02.20

menu

contenu

article

Template'Simplex'

Page 9: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Configuration

B ConfigurationUn CMS s'adresse aux utilisateurs avertis ou aux créateurs de sites web : les options sont nombreuses mais ilest possible de générer rapidement un site web sans savoir coder.

La page d'administration propose 7 modules principaux :

B.1 Contenu

Ce module permet d'écrire des articles ou des pages (aussi appelés contenus). Quelle est la différence ?

B.1.1 Différences entre articles, contenus et fichiers

B.1.1.a Articles

Un article appartient à une catégorie. Dans un journal, la page économique contient plusieurs articles, c'est lamême chose ici. Les articles sont publiés en fonction de l'actualité.

B.1.1.b Pages (contenus)

Une page a toujours le même contenu informatif, elle est plutôt figée. Sur un site web, cela peut correspondreà l'organigramme de la société, la description d'un produit, etc.

B.1.1.c Fichiers

Un fichier est un élément utilisable séparément… un formulaire ou une application à intégrer.

07.02.20 p. 7

Page 10: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Configuration

B.1.2 Articles

Ajouter un article, ajoutera une page web à l'intérieur du caroussel des articles, mais l'article n'apparaîtra pasdans le menu en haut de l'application.

Un article a une structure particulière : un titre, un sommaire et un contenu propre.

L'ajout d'un article modifiera la page d'accueil (dans la partie 'news').

Le statut d'un article permet de préparer l'article et de choisir le moment où il sera publié.

Il est aussi possible d'utiliser la date d'expiration (affichage de l'article entre deux dates, automatiquement).

p. 8 07.02.20

article

catégorie

sommaire

contenu

Page 11: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Configuration

B.1.3 Contenus

Chaque nouveau contenu peut être inventorié dans le menu.

De plus, chaque contenu peut être inspiré d'un modèle (template) différent. CMSMS appelle ses modèles desgabarits.

En étudiant la page 'home', on constate qu'elle utilise le gabarit "Simplex", tandis que 'How CMSMS works'utilise "Left simple navigation + 1 column".

Simplex Left simple navigation + 1 column

Note  : dans la page utilisant le gabarit "left simple navigation…" on aperçoit en haut à gaucheune indication sur notre navigation sur le site, une sorte de point indiquant "vous êtes ici  !". Laplupart des CMS le proposent, sous le nom "Breadcrumbs navigation". Cela fait référence aupetit Poucet qui semait des miettes de pain.En français, le concept est surnommé "fild'Ariane" (lien avec la mythologie du Minotaure).

Essayez de créer des contenus et pensez à utiliser les aides (icône ) pour remplir les champs.

B.1.4 Fichiers

Cette partie permet d'ajouter des contenus déjà rédigés comme des fichiers PDF, des images, des musiques,des photos et d'autres ressources.

07.02.20 p. 9

Page 12: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Configuration

B.2 Utilisateurs / Groupes

Le CMS permet d'ajouter des contenus et des articles, mais il devient très pratique de proposer desmodifications possibles à d'autres personnes que l'administrateur.

La plupart des CMS reconnaissent 4 rôles :

• Admin : tous les droits

• Éditeur : peut modifier et mettre en ligne des articles ou des contenus (gérer du contenu)

• Designer : peut modifier les feuilles de styles CSS, les modèles…

• Rédacteur : peut rédiger des articles ou du contenu (mais pas le publier)

Tout ce passe un peu comme dans un journal : les journalistes rédigent leurs articles mais c'est la rédactionqui décide ce qui sera mis dans les pages ;

B.2.1 Groupes admin

Il faut plutôt lire administration des groupes.

La gestion des droits se fait ici.

p. 10 07.02.20

Page 13: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Configuration

B.2.2 Utilisateurs admin

L'ajout de nouveau utilisateur se fait ici.

à gauche la création du profil (identifiant, nom et prénom, email et mot de passe), à droite les droits affectés ace nouvel utilisateur.

Créez votre propre compte avec le rôle "Editor".

07.02.20 p. 11

Page 14: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Configuration

B.3 Administration du site

La partie administration du site permet de gérer le fonctionnement des modules pour ajouter des fonctions oubien réparer ou optimiser la base de données.

B.3.1 Gestionnaire de modules

Cette section permet d'activer ou désactiver des modules, mais aussi d'en importer.

On

distingue 3 états : installé (vert), pas installé (rouge), installé mais obsolète (jaune).

Les modules à importer sont au format XML. On trouve les téléchargements sur :https://www.cmsmadesimple.org/downloads/ dans la partie module, release.

Les modules intéressantspour un CMS sontgénéralement poureffectuer des statistiques,pour afficher des galeriesde photos, descaroussels, etc.

Bien évidemment, il estaussi possible detélécharger des thèmes.

p. 12 07.02.20

Page 15: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Configuration

B.3.1.a Installer un module statistiques

Essayez d'installer le module statistiques : http://s3.amazonaws.com/cmsms/downloads/13407/Statistics-1.2.1.2.xml

Après l'importation, le module doit être installé :

Désormais, vous disposez de statistiques, accessibles dans le menu Extensions > Statistiques

Cliquez ensuite sur l'aide du module dans Administration du site > Statistiques pour découvrir commentafficher des statistiques sur vos pages (utilisation des balises Smarty).

Note  : la configuration de CMSMS utilise le langage Smarty  : https://www.smarty.net/  !Ce langage est encadré par des accolades { et }. Un commentaire s'affiche donc {* ceciest un commentaire *}. L'intérêt est de laisser le langage HTML dans les parties fixes d'un modèle.

Par exemple : You're visitor number {Statistics what="day" how="gfx"} today.

07.02.20 p. 13

Page 16: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Configuration

B.3.2 Installer un thème

Un CMS peut recevoir des thèmes tout prêts, parfois proposés gratuitement par leurs auteurs pour se faireconnaître. Dans CMSMS, il faut aller dans Disposition > Gestion du design > Designs puis choisir "Importerun design"

Le fichier de thème doit être au format XML.

Pour utiliser ce design, il faut ensuite aller dans le menu Contenu et modifier les pages en précisant dansl'onglet "Option" quel thème employer.

p. 14 07.02.20

Page 17: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Transfert CMS

C Transfert CMSIl est possible de transférer un CMS d'un site de développement à un site de production. Il faut :

• Transférer la base de données dbcmsms (export depuis développement et import sur la base deproduction)

• Créer l'utilisateur admcmsms dans la nouvelle base de données (avec les mêmes droits surdbcmsms)

• Transférer les fichiers de cmsms (via FTP)

• Valider les droits sur le nouveau répertoire (/var/www/html/cmsms)

C.1 Copie du répertoire

Cette phase permet de préparer la réinstallation. Après avoir copié les fichiers de cmsms sur le nouveauserveur, il peut y avoir des messages d'erreurs, dont celui-ci :

The following directories must be writable by the web server:tmp/cachetmp/templates_c

Please correct by executing:chmod 777 tmp/cachechmod 777 tmp/templates_c

Copier les lignes de permission ne suffit pas...

C.2 Réinstallation

Ajouter le module 'multibyte support' : apt install php-mbstring

Ajouter le support 'XML' : apt install php-xml

Ajouter le module 'zip-archive' apt install php-zip

Pour enlever l'avertissement sur les fonctions désactivées (pcntl_alarm, …), il faut éditer le fichier php.ini

nano /etc/php/7.0/php.ini

et commenter la ligne

disable_functions = pcntl_alarm,pcntl_fork,etc.

Relancer le serveur apache2.

07.02.20 p. 15

Page 18: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Transfert CMS

Lors de l'étape 3, cmsms ne doit comporter que très peu d'avertissements.

Par la suite, la réinstallation se passe sans problème.

p. 16 07.02.20

Page 19: Lycée Aristide Bergès - david.roumanet.free.frdavid.roumanet.free.fr/BTS-SIO/SI6/SI6 - 01 exploration PHP 01 cms… · A.2.1.d Information de configuration La page "4. informations

Chapitre : Transfert CMS

D Problèmes et diagnostics

D.1 CMSMS et base de données

Pour modifier la base de données ou les accès :

config.php<?php# CMS Made Simple Configuration File# Documentation: https://docs.cmsmadesimple.org/configuration/config-file/config-reference#$config['dbms'] = 'mysqli';$config['db_hostname'] = 'localhost';$config['db_username'] = 'admcmsms';$config['db_password'] = 'azerty123';$config['db_name'] = 'dbcmsms';$config['db_prefix'] = 'cms_';$config['timezone'] = 'UTC';?>

D.2 CMSMS export serveur

Si des extensions ont été installées, il faut supprimer le répertoire tmp.

Accès serveur à distance :

https://linuxhint.com/enable-ssh-server-debian/

https://themes.cmsmadesimple.org/

07.02.20 p. 17