CMS Made Simple version 1.11.x Système de gestion de contenu CMS Made Simple est entièrement gratuit sous licence GPL . Tutoriel installation / mise à jour / Transfert sur un nouveau serveur Sauvegarde des données

Pour information les documents officiel se trouvent sur le WiKi de CMS Ce mode opératoire est extrait et modifié de la page du WiKi CMSMS http://wiki.cmsmadesimple.org/index.php/User_Handbook/Installation/Quick_Install/fr

Les conditions à remplir (voir Requirements (En) un système d’exploitation : GNU-Linux, Windows ou MAC ( GNU-Linux recommandé) un serveur : Apache 2 de préférence, LightTPD 1.4+, (IIS 5+ NON recommandé) un système de langage de scripts : version PHP 5.3,x (configuration minimale requise est la version PHP 5.2.12+ - recommandé PHP 5.3.x ou 5.4.x) une base de données : MySQL 5 ou plus, PostgreSQL n'est plus supporté Navigateur : Firefox, Chrome, IE7+ (IE6 non supporté), Safari, Opera

Le système employé CMS Made Simple est entièrement gratuit sous licence GPL . Le site Web CMS Made Simple est consultable en anglais, en français La gestion de contenu Made Simple lui-même est disponible dans plus de vingt langues différentes. Le site Web est réalisé de façon fonctionnelle - Par des gabarits (ossature des pages) - Des feuilles de style (couleurs, taille de caractères,...) - La gestion de contenu (votre texte, images, liens, ...) est réalisée par un éditeur - Le résultat donne une page Web consultable par tous. Hormis les fichiers de votre dossier /uploads, qui contient les fichiers et les images et de votre fichier de configuration "config." à la racine de votre dossier CMS, toutes les autres données sont stockées en base de données.

Prérequis indispensables pour l'installation et l'administration - Connaissance de base d'un serveur web (Hébergement) (Si installation en local Connaissance de base de WAMP ou LAMP) - Connaissance de base de HTML - Connaissance de CSS (feuilles de styles) Pour une utilisation en local sur votre ordinateur sous Windows utiliser un système WAMP et consulter le Wiki Install cmsmadesimple localhost

CMS Made Simple est fourni complet avec des modèles de pages, gabarits et feuilles de style, Information sur les forums : http://forum.cmsmadesimple.org/index.php/board,10.0.html Forum http://forum.cmsmadesimple.fr/index.php Forum du site .Fr et aussi le wiki http://wiki.cmsmadesimple.fr/wiki/Accueil

Structures des fichiers du système :

Licence Creative Commons Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0 – France http://creativecommons.org/licenses/by-nc-sa/2.0/fr/legalcode

Jean-Claude Etiemble http://jc.etiemble.free.fr/ Ressources pour CMS Madesimple Francisées

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 1/ 23 L'installation sur votre espace web

Étape 1 Téléchargez la dernière version stable si vous voulez utiliser CMSMS en production. http://dev.cmsmadesimple.org/project/files/6 ou sur http://www.cmsmadesimple.fr/telecharger-cms Possibilités : le fichier cmsmadesimple-1.xxx-full.tar.gz comprend la version avec toutes les langues, le fichier cmsmadesimple-1.xxx-base.tar.gz comprend la version avec la langue US ('lite' package ), le fichier cmsmadesimple-1.xxx-langpack-fr_FR.tar.gz comprend seulement les fichiers de la langue FR (langpacks = admin, install et modules), (Eventuellement Si Test de contrôle ) le fichier xxx-base-checksum.dat (Inutile si utilisation d'un Bon FTP comme Filezilla)

Il est possible d'obtenir une version francisée (basée sur les SVN) http://jc.etiemble.free.fr/abc/index.php?page=ressourcesfr

Étape 2 Décompressez l'archive dans un dossier quelconque de votre ordinateur et notez son emplacement.

Étape 3 Avec votre programme FTP (par exemple Filezilla), envoyer sur votre serveur tout le contenu de ce dossier, en gardant exactement la même structure (hiérarchie des dossiers et fichiers). Cela peut être à la racine de votre espace web ou dans un sous-dossier « cmsmadesimple » si vous le souhaitez (si par exemple vous hébergez plusieurs sites sous le même nom de domaine).

Étape 4 Pour permettre au script de fonctionner correctement, vous aurez besoin d'utiliser les permissions CHMOD 777* sur les dossiers, et CHMOD 666* sur des fichiers qui doivent être accessible en écriture, Vous devez vérifier et/ou changer les permissions CHMOD 777 sur les dossiers suivants sur votre serveur : - tmp, tmp/templates_c, tmp/cache (ou se trouveront les fichiers temporaires) - uploads, uploads/images (ou se trouveront les fichiers images ... ) - modules (ou se trouveront les modules qui sont les plugins de plus haut niveau dans l'environnement CMSMS)

*CHMOD : ATTENTION selon la configuration du fournisseur d'hébergement (dans le doute consulter votre hébergeur !), il faut parfois faire chmod 755 (ou 775), Dans la plupart des cas, vous pouvez changer les permissions, via votre programme FTP, en utilisant le clic droit sur le dossier ou fichier en question. Sélectionnez CHMOD ou Attributs entrez 777 (ou 755 suivant les hébergements) dans le champ approprié. Sinon, vérifiez le manuel de votre programme FTP.

Note : Si vous créez un site qui est hébergé chez Free.fr, créez un dossier "sessions" à la racine de votre site. De plus le CHMOD n'est pas modifiable.

Étape 5 Vérifier que le fichier "config.php" existe à la racine du dossier cmsmadesimple, Sinon dans un éditeur de texte, créez un fichier vide nommé "config.php", l'envoyer sur votre serveur, Donnez les permissions 666 à ce fichier.

Étape 6 Selon votre hébergeur, créez une base de données vide ou assurer vous de la création de celle-ci Vous pouvez utiliser un programme comme "phpMyAdmin" ou le panneau d'administration de votre compte.

Note : Certains hébergeurs ne vous autorisent qu'une seule base de données. Vous devrez alors utiliser cette base (et le nom d'utilisateur et mot de passe que vous utilisez pour vous y connecter). Assurez-vous simplement d'utiliser un préfixe pour les tables (étape 10) qui séparera les tables CMSMS des autres tables que vous utilisez éventuellement dans la même base de données. install_ugrade_cmsms111.odt Date : 26/03/2014 Page 2/ 23 Étape 7 Maintenant, dans votre navigateur, tapez l'URL du dossier où vous avez mis les fichiers (étape 3), par exemple : "http://www.votresite.com/cmsmadesimple". Cela devrait vous rediriger vers l'assistant d'installation. Si ce n'est pas le cas, allez à "http://www.votresite.com/cmsmadesimple/install/". Changez les noms de dossiers selon votre installation.

Étape 8a – Installation CMSms Étape 1 Le premier écran permet, si vous le souhaiter, de valider l'intégrité de vos fichiers CMSMS en comparant avec le fichier de contrôle (xxxx-checksum.dat). Il peut vous aider à trouver des problèmes sur le transfert des fichiers. (Si Test de contrôle utiliser le fichier xxx-checksum.dat ) Ce contrôle est inutile si vous utilisez un « bon » logiciel de transfert FTP (Fillezilla)

Étape 8b - Installation CMSms Étape 2 Cet écran vérifie notamment que vous avez les permissions adéquates sur les dossiers et la configuration de PHP. Si tous les tests sont passés avec succès, cliquez sur "Continuer", Sinon, vous devez corriger les erreurs

Nota : Vérification de PHP memory_limit → (mini 16M, recommandé 24M ou plus) Vérification de PHP max_execution_time (secondes) → (mini 30, recommandé 60 ou plus) Vérification de upload_max_filesize → (mini 2M, recommandé 10M ou plus) Vérification de post_max_size → Vérification de PHP memory_limit

Si vous avez les valeurs « mini » ne changer rien, ces valeurs sont suffisantes Sinon il faut modifier les valeurs contenues dans le fichier php.ini, - soit directement dans ce fichier php.ini,, si vous avez accès, - soit via un fichier .htaccess (consulter votre hébergeur). install_ugrade_cmsms111.odt Date : 26/03/2014 Page 3/ 23 Étape 8c - Installation CMSms Étape 3 Un test permet de vérifier les permissions sur le dossier /tmp/cache

Étape 9 - Installation CMSms Étape 4 Création du compte 1er administrateur :

Entrez maintenant un nom d'utilisateur, une adresse email et un mot de passe pour le compte administrateur. Il vous est cependant fortement conseillé de choisir le couple nom d'utilisateur/mot de passe avec soin puisqu'il y a des enjeux en terme de sécurité pour votre site. (Attention à la notification par email) Note : Ceci permettra l'accès à l'administration de CMS Made Simple, une fois l'installation terminée.

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 4/ 23 Étape 10 - Installation CMSms Étape 5

A cette étape, vous devez entrer les informations : - du nom de votre site Web - du fuseau Horaire de votre serveur- OBLIGATOIRE - de la base de données. (le préfixe sert pour nommer les tables d'une seule base de données) * Attention en version 1.11 installation par défaut sur base de données MysqLi Pour le nom de la base, le nom d'utilisateur et le mot de passe, entrez les mêmes informations que lorsque vous avez créé la base de données à l'étape 6. Dans la plupart des cas, toutes les autres données peuvent être laissées telles quelles. Interrogez votre hébergeur en cas de problème à cette étape. Note1 : Décochez "Création des tables" si vous utilisez une base de données existante avec du contenu que vous ne voulez pas effacer (par exemple si vous mettez à jour ou réparez). Sinon, laissez-la cochée. Note2 : Décochez "Installer les exemples de contenus et gabarits" si vous ne souhaitez pas avoir les exemples. Dans ce cas vous aurez un seule page du CMS.

La création des tables se fera …. Création table additional_users ... [fait] Création table admin_bookmarks ... [fait] …. Création userplugins séquences des tables ... [fait]

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 5/ 23 Étape 11 - Installation CMSms Étape 6 Dans l'écran suivant, si tous les items (noms des tables de la Base de données) sont marqués "[Fait]", tout a été correctement installé

Préciser la langue par défaut si besoin il vous reste à terminer l'installation Étape 12 - Installation CMSms Étape 7

CMSMS est prêt pour l'utilisation.

Avant toute chose et pour des raisons de sécurité : - le fichier "config.php" : Retournez dans votre programme FTP et rechangez les permissions à 444 sur pour des raisons de sécurité ! - Il est conseillé de supprimer le dossier "/install". Mais afin de pouvoir faire les mise à jours futures, nécessitant le dossier "/install"), je conseille de le renommer. De plus ajouter ou modifier le fichier « .htacces » à la racine de CMSMS avec # Deny access to config.php order allow,deny deny from all

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 6/ 23 Éventuellement Pour information lire http://wiki.cmsmadesimple.org/index.php/How_to/fr

Étape 13 Rendez-vous dans l'administration en cliquant sur le bouton "Administration" Et voilà l'installation est terminée .... A vous de configurer correctement vos modules. - Extensions / Éditeur MicroTiny WYSIWYG - Extensions / Recherche - Extensions / CMSMailer - Extensions / Impression CMSPrinting - Soi vous souhaitez installer des modules supplémentaire : Extensions / Gestionnaire de Modules

Pour information

Notes sur les fichiers - Effacé : /admin/lang/en_US.nls.php et /admin/lang/fr_FR.nls.php sont remplacé par /lib/nls/en_US.nls.php et /lib/nls/ fr_FR.nls.php - le dossier smarty est revu pour la version 3 - les fichiers du dossier /pluging ont été modifié pour le cache la mise en place de Smarty3 oblige a être stricte sur les balises - une balise e du genre {xxxx start_element='1' } (espace avant } provoquera une Erreur

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 7/ 23 Paramètres optionnels - Possibilités de définir les URLs

Note : Si vous changez quoique ce soit dans "config.php", pensez toujours à vider le cache ensuite (dans l'interface : Administration du site /Paramètres globaux). Et pensez à vider aussi le cache de votre navigateur. !! bien lire le document CMSMS_config_reference.pfd du dossier /doc le fichier "config.php" par défaut : $config['url_rewriting'] = 'none'; $config['page_extension'] = '';

Vous aller obtenir : http://monsite.com/mondossier/index.php?page=default_templates http://monsite.com/mondossier/index.php?page=cmsms_tags (sous menu de default_templates)

En modifiant le fichier "config.php" : $config['url_rewriting'] = 'internal'; $config['page_extension'] = '';

Vous aller obtenir : http://monsite.com/mondossier/index.php/default_templates http://monsite.com/mondossier/index.php/default_templates/cmsms_tags (sous menu de default_templates)

Jolis chemins d'accès ou URLs "propres" ("url rewriting") en ajoutant dans un fichier « .htacces » à la racine de CMSMS RewriteEngine On # RewriteBase / ou RewriteBase / dossier_cmsms (Suivant hébergeur !! A utiliser chez 1&1 par exemple) # Rewrites urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA]

En modifiant le fichier "config.php" : $config['url_rewriting'] = 'mod_rewrite'; $config['page_extension'] = '.html';

Vous aller obtenir : http://monsite.com/mondossier/default_templates.html http://monsite.com/mondossier/default_templates/cmsms_tags.html (sous menu de default_templates)

Vous avez aussi la possibilté de : - Créer automatiquement les URL courtes ( internal ou mod_rewrite) Exemple : http://monsite.com/mondossier/index.php/url_courte (Pourtant sous menu de default_templates) Exemple : http://monsite.com/mondossier/url_courte.html (Pourtant sous menu de default_templates)

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 8/ 23 La mise à jour sur votre espace web

Il est fortement conseiller de bien valider la mise à jour en local si vous avez des modules particuliers, Tous les modules ne sont pas compatible avec la version CMSms 1.11.x ! Dans le cas de mise à jour importante il est conseillé de tester cette nouvelle version en local dans un système WAMP (sous Windows) ou LAMP (sous distribution Linux), ou MAMP (sous Mac).

La mise à jour se fait uniquement manuellement en FTP, aucun processus de mise à jour se fera en automatique. Il existe 2 cas possible de mise à jour : 1- une mise à jour complète (une archive contenant Tous les fichiers de la nouvelle version) pour passer de la version en service N à la version N+1. Ce type de mise à jour se fera, en général, sur des version majeures. 2- une mise à jour différentielle donc par fichier diff (une archive contenant uniquement les fichiers modifiés ou ajoutés) par passer de la version en service N à la version N+1.

Avant tout - Sauvegarder la base de données et vérifier la sauvegarde, Vous pouvez utiliser un programme comme "phpMyAdmin" ou le panneau d'administration de votre compte - Sauvegarder éventuellement vos fichiers du dossier /uploads, - Vérifier que vos modules seront compatibles avec la version N+1 - Vérifier que le version PHP est compatible avec la version N+1

Préparation Télécharger les nouveaux packages (archives au format b2zip) de mise à jour sur la forge http://dev.cmsmadesimple.org/project/files/6 ou sur le site francophone. Pour la mise à jour complète : Il y a 2 archives à télécharger, la version de base en anglais (cmsmadesimple-x.xx.x- english.tar.gz) et la traduction en français (cmsmadesimple-x.xx.x-langpack-fr_FR.tar.gz) pour un site web en français. Pour la mise à jour par fichier diff : Il y a 2 archives à télécharger, la version de base en anglais (cmsmadesimple-english-diff-x.xx.x- x.xx.x+1.tar.gz) et la traduction en français (cmsmadesimple-x.xx.x-langpack-fr_FR.tar.gz) pour un site web en français. (Si Test de contrôle ) le fichier .xxx-base-checksum.dat (Inutile si utilisation d'un Bon FTP comme Filezilla) Il est possible d'obtenir une version francisée (basée sur les SVN) http://jc.etiemble.free.fr/abc/index.php?page=ressourcesfr Décompacter sur votre ordinateur les archives pour obtenir la hiérarchie des dossiers du CMS. Bien lire le document CMSMS_config_reference.pfd du dossier /doc Dans le cas ou des modules (autres que ceux compris dans le core) doivent être mis à jour, télécharger la nouvelle version de ces modules depuis la forge et décompacter les archives pour obtenir les dossier modules.

- Vérifiez que votre site actuel fonctionne correctement. - Mettez à jour vos modules afin de se mettre à la dernière version du module compatible avec la version en service de CMSms. - Vider le cache dans (Administration du site/Maintenance du système), activer le paramètre « Site en maintenance » (Administration du site/Paramètres Globaux/ Paramètres de maintenance), puis déconnectez vous.

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 9/ 23 1- Cas de la mise à jour complète

1a - Si votre CMS se trouve à la racine de l'hébergement

En FTP : - Changer les permissions à 666 du fichier config.php - Vider le dossier tmp/templates_c (les fichiers Temporaires de template) En respectant bien la hiérarchie du CMS - Envoyer les nouveaux fichiers de la version N+1, sauf le dossier tmp - Envoyer éventuellement les dossier modules (autres que ceux compris dans le core) - Vérifier si besoin les permissions CHMOD 777 sur les dossiers, et CHMOD 666 sur des fichiers qui doivent être accessible en écriture. ATTENTION selon la configuration du fournisseur d'hébergement (dans le doute consulter votre hébergeur !), il faut parfois faire chmod 755 (ou 775)

Vider le cache de votre navigateur. Maintenant, dans votre navigateur, tapez l'URL de notre site en ajoutant /install/upgrade.php. Exemple : "http:/monsite.fr/install/upgrade.php".

La mise à jour va commencer ,

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 10/ 23 Début de la mise à jour

Attention lire attentivement la note de mise à niveau, puis sélectionner la langue, puis cliquer sur envoyer

Mise à jour CMSms Étape 1 Le premier écran permet, si vous le souhaiter, de valider l'intégrité de vos fichiers CMSMS en comparant avec le fichier de contrôle (xxxx-checksum.dat). Il peut vous aider à trouver des problèmes sur le transfert des fichiers. Si Test de contrôle utiliser le fichier xxx-checksum.dat ) Ce contrôle est inutile si vous utilisez un « bon » logiciel de transfert FTP

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 11/ 23 Mise à jour CMSms Étape 2 Cet écran vérifie notamment que vous avez les permissions adéquates sur les dossiers et la configuration de PHP. Si tous les tests sont passés avec succès, cliquez sur "Continuer", Sinon, vous devez corriger les erreurs

Mise à jour CMSms Étape 3

Mise à jour CMSms Étape 4- Effacement du cache (si besoin) ...

Mise à jour CMSms Étape 5

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 12/ 23 Mise à jour CMSms Étape 6

Mise à jour CMSms Étape 7

Mise à jour terminée

Pour des raisons de sécurité : - le fichier "config.php" : Retournez dans votre programme FTP et rechangez les permissions à 444 sur pour des raisons de sécurité ! - Il est conseillé de supprimer le dossier "/install". Mais afin de pouvoir faire les mise à jour futures, nécessitant le dossier "/install") , je conseille de le renommer. - Désactiver le message de maintenance (Administration du site » Paramètres globaux) il ne reste plus qu'a - faire un test du site WEB - Rendez-vous dans l'administration , - vérifier les Modules installés et les configurer - Metter à jour tous vos modules vers leur dernières versions disponibles (Extensions/modules), - faire un test sur les pages et les articles - ajuster les petits détails C'est fini.

1b - Si votre CMS se trouve dans un dossier de l'hébergement

Cette méthode permet de faire "une marche arrière" si problèmes. - En supposant que la version N soit installé dans le dossier /cms, nous allons créer un dossier /cms1plus pour installer la mise à jour complète. Changez les noms de dossiers selon votre installation

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 13/ 23 - Si la mise à jour pose des problèmes, il suffit de ré-injecter la sauvegarde de la base données et de réutiliser le dossier /cms pour avoir l'ancienne version du CMS opérationnelle.(Dans ce cas tenter une mise à jour en local pour résoudre les problèmes). En FTP : - Changer les permissions à 666 du fichier config.php - Vider le dossier tmp/templates_c (les fichiers Temporaires de template) - Créer un dossier /cms1plus pour installer la version N+1 (celle de la mise à jour) - Envoyer les nouveaux fichiers de la version N+1, sauf le dossier tmp dans /cms1plus - Copier le fichier config.php de /cms vers /cms1plus (Donnez les permissions 666 à ce fichier) - Copier les dossiers /tmp et /uploads de /cms vers /cms1plus - Copier éventuellement les fichiers googlexx et sitemap.xml, favicon.ico etc.... de /cms vers /cms1plus - Envoyer ou copier éventuellement vos modules mis à jour (autres que ceux compris dans le core) - Renommer le dossier /cms en dossier /cmsold - Renommer le dossier /cms1plus en dossier /cms - Vider le cache du navigateur - Se connecter http://monsite.fr/cms/install/upgrade.php (Changez les noms de dossiers selon votre installation)

La mise à jour va commencer , voir le déroulement

Quand celle-ci est terminée, en plus des informations données plus haut Aprés tous les tests supprimer le dossier /cmsold

2- Cas de la mise à jour différentielle

En FTP : - Changer les permissions à 666 du fichier config.php - Vider le dossier tmp/templates_c (les fichiers Temporaires de template) En respectant bien la hiérarchie du CMS - Envoyer les nouveaux fichiers de la version n+1, sauf le dossier tmp - Envoyer éventuellement les dossier modules (autres que ceux compris dans le core)

Maintenant, dans votre navigateur, tapez l'URL de notre site en ajoutant /install/upgrade.php. Exemple : "http:/monsite.fr/install/upgrade.php" .

La mise à jour va commencer , voir le déroulement

Quand celle-ci est terminée, voir des informations données plus haut

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 14/ 23 NOTES sur la mise à jour pour certaines versions mineures Certaines mises à jour mineures ne nécessite pas de de passer par la méthode de connection /install/upgrade.ph. Il suffit alors : En FTP : - Vider le dossier tmp/templates_c (les fichiers Temporaires de template) En respectant bien la hiérarchie du CMS - Envoyer les nouveaux fichiers de la version N+1, sauf le dossier tmp - Envoyer éventuellement les dossier modules (autres que ceux compris dans le core) En étant connecter en administration : - Désactivez le paramètre Site en maintenance (Administration du site/Paramètres Globaux/ Paramètres de maintenance), - Mettez à jour tous vos modules vers leur dernières versions disponibles (Extensions/modules), - Contrôler que tout est fonctionnel, faire un test sur les pages et les articles du site Web, - Ajuster les petits détails

Attention suivant la version précédente si vous avez un message genre unknown tag - 'stylesheet' ... Remplacer dans le/les gabarit {stylesheet} par {cms_stylesheet} Dans les feuilles de style : - remplacer background: url(uploads/images/xxxx) .... Par background: url([[root_url]]/uploads/images/xxxxx) … si vous avez background: url(images/cms/ Ce dossier images/cms/ n'existe plus en V1,10

La balise breadcrumbs est obsolète et remplacer par {cms_breadcrumbs} exemple dans un gabarit {breadcrumbs starttext='Ici ' root='Home' delimiter='»'} sera remplcer par {cms_breadcrumbs root='Home'} Il est aussi possible de mettre {menu action='breadcrumbs'}

En cas de problèmes avec une mise à jour 1- faire une installation avec dernière version la version stable et avec les modules standard uniquement -> Installation Étape 5 ne PAS cocher "Installer les exemples de contenus et les gabarits" à la fin vous aurez une installation minimum avec la seule page accueil Web suffisante pour tester Tester et vérifier l'Admin et la page Web tout doit être OK Sinon vous avez un problème de serveur ou de fichier 2- import de la base de données ancienne version(phpMyAdmin) 3- tests et upgrade upgrader (si nécessaire) Il suffit de se connecter http://monsite.fr/cms/install/upgrade.php Tester .... Incorporer les modules « non standard » un par un ET valider l'installation des modules puis tester ainsi de suite pour avoir la correspondance entre le site en local et le site en production Si anomalie et/ou erreur vérifier la doc, et lire les notes de version, et le fichier changelog.txt.

Pour information : - Voir Notes de version - voir Paramètres optionnels

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 15/ 23 Transfert sur un nouveau serveur

Méthode via FTP et "phpMyAdmin"

Note : Naturellement, la démarche est exactement la même si vous avez développé vote site en local et que vous souhaitez le transférer chez votre hébergeur.

Préalable - Avant de copier les fichiers de leur emplacement initial : videz le cache depuis la zone d'administration, et éventuellement, activez le message de maintenance. Il est possible aussi de supprimer les fichiers des dossiers du CMS soit tmp\cache tmp/templates_c de votre installation en local.

Étape 1 : Export de la base de données - Il vous faut vérifier la compatibilité entre les bases de données source et cible (leur type et les options d'import/export). Consultez votre hébergeur et/ou la documentation "phpMyAdmin".

Étape 2 : Transfert des fichiers - En général, par FTP (par exemple Filezilla), il vous faudra décomposer en deux phases : Récupérer vos fichiers sur votre ordinateur (sauf si l'installation fonctionne en local); Les télécharger vers votre nouveau serveur (Vérifier les permissions sur les dossiers).

- Faire une installation normale comme indiqué dans installation rapide via FTP, En étape Étape 10 = Installation Étape 5 cocher uniquement : Création des tables, décocher Installer les exemples de contenus et les gabarits.

- Édition du fichier "config.php" si besoin pour URLs "propres" ("url rewriting") Identifiez-vous dans la zone d'administration de votre nouveau site, vérifier le fonctionnement. Vérifier aussi que le site Web fonctionne (vous avez une seule page Web). n'effacez pas le dossier "/install" ! (Afin de pouvoir faire les mises à jours futures, il est conseiller de le renommer).

Étape 3 : Import de la base de données - Attention la compatibilité entre les bases de données source et cible. Consultez votre hébergeur et/ou la documentation "phpMyAdmin". Nota : Pour des raisons de compatibilité SQL, il est préférable de supprimer toutes les information du fichier SQL (précédemment sauvegardé) concernant les " ENGINE=xxxx DEFAULT CHARSET=lxxx " pour éviter les problèmes.

Étape 4 : Le final - Identifiez-vous dans la zone d'administration de votre nouveau site, vérifier le fonctionnement. - Modifier les permissions à 444 du fichier "config.php"

- Faire un test du site WEB - Rendez-vous dans l'administration , - vérifier les Modules installés et les configurer - faire un test sur les pages et les articles - ajuster les petits détails

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 16/ 23 Sauvegarde des données

Il peut être important de sauver certaines données par sécurité ou pour une installation sur un autre serveur. (les données sont stockées en base de données et les images sont sur le serveur dans le dossier /uploads).

- Sauvegarde des fichiers du CMS Il est nécessaire de sauvegarder a) votre dossier /uploads, qui contient les fichiers et les images b) votre fichier de configuration "config.php" à la racine de votre dossier CMS

Toutes les autres données de CMSms sont en base de données, donc : - Sauvegarde de la base de données du CMS avec PhpMyAdmin Dans PhpMyAdmin, se positionner sur la page de la base de données - Cliquer sur le bouton "Exporter"

Cocher les différentes cases puis validez avec le bouton "Exécuter"

Le fichier *.sql sera exporter vers votre ordinateur

Voila l'exportation est terminé.

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 17/ 23 Notes de version 1.11 - (Pour informations complètes : Lire le changelog en anglais)

Principales modifications

- Le paramètre lang (lang='fr_FR' ) est obsolète dans tous les plugins et modules. (Nouveau système de lang et déplacement des fichiers xx_XX.nls.php dossier de /admin/lang/ vers dossier /lib/nls) - lors de l'installtion : mysqli sélectionné par défaut – ATTENTION Retrait du support pour PostgreSql

MenuManager: - Ajout de la balise cms_breadcrumbs. Suppression de de la balise {breadcrumbs} Pour le fil d''Ariane il faut donc utiliser maintenant : {cms_breadcrumbs root='Home'} ou {menu action='breadcrumbs'}

MicroTiny: - 2 nouvelles préférences stylesheet et background

News: - ajout table routes

Search: - Ajout des "Stop Words – Mots exclus de la recherche" en fonction de la langue

Modification Base de Données - Ajout de la table module_smarty_plugins - Amélioration la table adminlog : ip_addr passe à varchar(40) - Amélioration de la table de css : ajout de media_query pour définir les médias - Ajout de la table routes - Upgrade au schéma version 36

Note : ceci est une traduction libre de l’actualité initialement soumise par la communauté anglophone que vous pouvez retrouver ici : http://www.cmsmadesimple.org/2012/06/Announcing-CMSMS-1-11-beta/

L’équipe de développement de CMS Made Simple est ravie d’annoncer la sortie en Bêta de la prochaine version majeure de CMSMS : la version 1.11. Cette version apporte de nombreux et importants changements. Si vous êtes un développeur de modules, participer au programme de test sera non seulement bénéfique pour la communauté, mais sera également un bon exercice pour vous afin de comprendre les nouveautés et améliorations. En particulier, les développeurs de modules gérant des types de contenus spécifiques sont particulièrement encouragés à participer à la Bêta (pour tester les changements dans la classe de contenus décrits ci-dessous). Ainsi, vous pourrez être sûr de produire une version de vos modules compatibles avec la version finale de CMSMS 1.11 dès sa sortie.

Nous invitons tout le monde à tester cette Bêta sur le long terme, et à commencer à développer des sites de test avec. Cependant, nous ne pouvons apporter de support aux personnes décidant d’utiliser cette Bêta en production. Ainsi, afin de ne minimiser le stress et les risques pour vous, pour la communauté et pour l’équipe de développement, merci d’utiliser cette version uniquement à des fins de tests.

Le programme Bêta est prévu pour durer jusqu’au 21 juillet environ, en fonction des résultats des tests. Durant cette Bêta , nous diffuserons différentes versions en fonction de la correction des bugs importants (mais non des bugs mineurs).

Merci de prendre en considération que la phase Bêta n’est pas là pour recevoir de nouvelles fonctionnalités. Aucune nouvelle fonction ne sera ajoutée dans CMSMS 1.11 depuis l’entrée en phase Bêta . Bien que nous prenons en considération vos commentaires et avis, tous les “problèmes” ne seront pas forcément résolus. L’équipe de développement se réserve le droit de choisir au final quels problèmes seront à régler en priorité (et comment les attribuer). Un forum spécifique a été ouvert (http://forum.cmsmadesimple.org/viewforum.php?f=79) pour que vous puissiez remonter les bugs de cette Bêta , et ce forum sera très suivi par l’équipe de développement pour qu’elle puisse tester, reproduire, suivre et fermer les problèmes remontés. Vous devez donc utiliser ce forum pour reporter les soucis rencontrés car c’est là qu’ils seront traités. L’autre canal pouvant également être utilisé pour rapporter les bugs est le canal IRC #cmsms-beta, qui peut vous servir à échanger avec l’équipe de développement à propos des bugs de cette Bêta . Nous attendons vos commentaires et avis avec impatience !

Voici maintenant un tour des changements majeurs de la version 1.11 Smarty 3 Le plus gros changement dans CMSMS 1.11 est l’intégration de Smarty en version 3. Cette nouvelle version de Smarty apporte de nouvelles fonctions pour les gabarits, une analyse du code améliorée, ce qui devrait aider à l’interprétation du javascript intégré et des fonctions Smarty, ainsi qu’une gestion avancée du contrôle du cache. L’équipe de développement de CMSMS a travaillé en collaboration avec les développeurs de Smarty afin d’intégrer une version non modifiée de Smarty 3.1.10 dans CMSMS. La partie la plus importante de cette transition a été de conserver la puissance de portée des variables à laquelle nous sommes habitués dans CMSMS. Cela consiste par exemple à définir une variable dans un gabarit de module appelé dans le , et de la réutiliser dans le . CMSMS 1.11 permet la mise en cache de façon manière très flexible, ce qui offre la possibilité de mettre en cache tout ou partie de chaque page. Ceci est presque aussi bon qu’un cache sur l’ensemble de la page, et conserve les aspects dynamiques de CMSMS. install_ugrade_cmsms111.odt Date : 26/03/2014 Page 18/ 23 Dans la version 1.11, la plupart des plugins sont “cachables”, c’est à dire que la sortie de ces plugins peut être mise en cache pour ne pas être re-générée à chaque fois. La seule exception évidente est le plugin {content} qui ne sera pas mis en cache.

Le module Articles a également été modifié pour tenir compte des nouvelles fonctions de mise en cache de Smarty3. Il continue ainsi de servir d’exemple pour les développeurs de modules.

Il reste cependant quelques inconvénients à la mise en place de Smarty3. Nous avons remarqué que la compilation initiale (conversion de gabarits Smarty en code PHP) et le rendu des pages CMSMS sont plus lents. Cette dégradation de performances est due à la complexité de l’analyseur de syntaxe de Smarty3, et c’est une limitation connue dans la librairie. Cependant, une fois le cache activé, nous notons un gain de performances significatif. Nous pensons que compromis sera bénéfique sur le long terme pour tous les utilisateurs de CMSMS.

Améliorations sur les langues et les locales Nous avons réécrit le système de détection de langue et des mécanismes de sélection au sein d’une classe permettant plus de flexibilité. L’ensemble des données NLS contient à présent des informations sur la locale et l’encodage, ce qui fait que $config[‘locale’] et $config[‘encoding’] seront optionnels même pour les sites non- anglophones. Nous avons réorganisés certains des mécanismes de détection de langue afin qu’ils soient appelés APRES que les modules (ceux qui ne peuvent se charger en mode lazy) soient initialisés. Ceci, en conjonction avec la nouvelle méthode CmsNlsOperations::get_language_detector(), permet à des modules tiers de spécifier comment la langue courante du site doit être détectée. Les modules peuvent alors utiliser des variables de session, des cookies, une informations dans l’URL, ou encore les préférences de l’utilisateur ou du module pour choisir quelle langue appliquer lors du traitement / de l’affichage. L’importance de ces nouvelles fonctions de langage ne doit pas être sous-estimée. Cela donne la possibilité à tout module tiers d’avoir ses propres capacités de mettre en place le multi-langues au sein de CMSMS. Nous sommes certains que cela fera le bonheur de beaucoup de développeurs de modules ainsi que de milliers de développeurs de sites web.

Les améliorations / évolutions du CSS Chaque feuille de style peut désormais avoir une propriété “media query”. Cela vous permettra de mieux réaliser des sites “responsive”, ou des pages pour les mobiles. De nouvelles variables de configuration permettent de définir le dossier des feuilles de style générées.

Nouveau thème de l’administration : Goran Ilic, un membre précieux de la Dev Team vient de créer un nouveau thème pour l'administration en HTML5, “responsive”, entièrement contrôlable par Smarty et extensible. Le thème est entièrement nouveau et est activé sur les nouvelles installations. L’ancien thème a été supprimé, il reste ainsi NCleanGrey et OneEleven.

Nouveau thème Frontend : Nous sommes également ravis d’annoncer que CMSMS est installé maintenant avec un nouveau thème frontend Simplex. Simplex a été créé pour démontrer les capacités de CMSMS à supporter le HTML5 et les CSS3. Nous envisageons de remplacer progressivement les thèmes HTML4 en HTML5.

Upload de fichiers par Glisser-déposer : Avec le nouveau thème admin, nous avons amélioré jQuery et jquery.ui qui est livré avec CMSMS et avons ajouté le téléchargement de fichiers par glisser-déposer (pour la plupart des navigateurs non-IE). Cela facilite l’upload de fichier depuis les éditeurs WYSIWYG. Le thème d’administration OneEleven possède une zone dans laquelle vous pourrez venir y déposer vos fichier depuis votre bureau par glisser-déposer et ensuite sélectionner ce fichier depuis l’éditeur WYSIWYG. De plus, vous pouvez modifier le dossier de destination de cette zone.

Meilleure utilisation de Lazy Loading pour les modules : Dans la continuité de ce qui a été commencé dans les versions 1.10, nous avons amélioré la capacité de chargement en mémoires des module grâce au lazy load et ainsi amélioré les performances globales de vos sites. Pour atteindre ce but nous avons également retravaillé les fonctionnalités de ré-écriture d’url.

Amélioration du journal de l’administration (audit) : Les suivis dans les journaux sont de plus en plus importants pour le développement et la maintenance nos sites Web (qui a fait quoi et quand). Pour cette raison, nous avons passé en revue les fonctionnalité importantes pour nous assurer qu’une ligne dans le journal d’audit soit présente à chaque fois (en anglais dans la version officielle – traduit en Fr dans la version francisée).

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 19/ 23 Page de maintenance système : Une toute nouvelle page de maintenance système dans l’administration vous permet d’effectuer périodiquement des tâches de maintenance comme réparer ou optimiser les tables de la base de données, vider le cache, etc...

Amélioration de la classe Content : a. Comme nous l’avions mentionné précédemment, nous avons réorganisé la classe Content afin d’améliorer encore une fois les performances, et poser les fondations pour le travail futur. C’est pourquoi nous avons retravaillé les propriétés dans le coeur des classes de l’objet Content (les méthodes qui récupèrent les blocs de contenu, etc...). Nous avons également passé toutes les méthodes de l’objet en public, protégée ou privée selon le cas. b. Auparavant, le formulaire d’édition de contenu utilisait des expressions régulières pour analyser le gabarit de la page afin de détecter les blocs de contenus. Cela a changé, maintenant, nous utilisons Smarty. Cela améliore la flexibilité et réduit les possibilités d’erreurs lors de l’édition d’un gabarit de page. En plus, il est maintenant possible d’insérer des blocs de contenus dans des sous-gabarits (i.e via {include} ou via un bloc de contenu global) ce qui nous procure plus de souplesse pour la réutilisation de gabarits. c. Il est maintenant possible lors de la création d’un bloc de contenu de spécifier l’onglet dans lequel il sera lors de la création d’une page.

Améliorations dans les modules du coeur : MenuManager : Le gestionnaire de menu à désormais une nouvelle fonctionnalité de fil d'Ariane. De ce fait, la balise {breadcrumb} est maintenant obsolète (dépréciée). Cette nouvelle action permet la personnalisation graphique et comportementale du fil d'Ariane. De plus, le gestionnaire de menu à une nouvelle action “item” qui remplace la méthode “item=” des précédentes versions. Cela permet d’appeler des pages via un alias spécifique et de les récupérer, elles et leur enfants dans votre navigation.

Améliorations dans les modules du coeur : Articles : Le module Articles (News) a fait l’objet de modifications en profondeur (sous le capot): a: Le module Article utilise maintenant le cache de Smarty ce qui supprime complètement les requêtes à la base de données pour les articles en cache (pour le gabarit de sommaire). b: Le module Articles précharge dorénavant les informations sur les champs pour tous les articles dans leur vue sommaire pour réduire les requêtes à la base de données et donc augmenter les performances. c: La catégorie est maintenant préchargée puis mise en cache pour être passée entre le sommaire et le détail des articles.

En vrac :

L’export XML des modules n’exporte dorénavant que les versions anglaises de l’Aide et de la section “A propos” Une nouvelle action de groupe dans la liste des pages pour modifier leur propriétaire Amélioration des paramètres personnels des utilisateurs Ajouter un nouvel utilisateur permet de lui spécifier son éditeur WYSIWYG par défaut. Les URLs personnalisées des pages peuvent inclure maintenant une extension Retrait de l’option du fichier de config : ‘output_compression’ Retrait de l’option du fichier de config : ‘process_whole_template’ Retrait de l’option du fichier de config : ‘use_adodb_lite’ Retrait du support pour PostgreSql. Retrait de l’option du fichier de config : ‘max_upload_size’ Retrait du plugin google_search. Déplacement des balises {menu}, {news,} {search}, et d’autres vers leur modules respectifs. Réorganisation générale de diverses pages d’administration. Des dizaines de bugs corrigés Encore plus ...

Pour une liste totale des modifications, merci de lire le fichier CHANGELOG.txt dans le dossier “doc” de l’installation.

Remerciements Une fois encore, une quantité énorme d’effort a été déployée pour créer cette version, effort donné généreusement par les membre de l’équipe de développement et d’autres volontaires. Merci spécialement à : Ronny Krijt, Rolf, René Helminsen, Jeff Bosch, Robert Campbell, Ted Kulp, Morten Poulsen, Goran Ilic, Mark Reed, Anne-Mieke Bovelett, Tapio Löytty, John Scotcher, Jonathan Schmid et Jean-Claude Etiemble.

© Copyright 2012 par CMSMS™ et l’(es) auteur(s) du post(s). Tous droits réservés.

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 20/ 23 Retour d'informations sur la mise à jour de version 1.10.3 vers 1.1.0

- ATTENTION à vos balises Smarty incorrectes avec la version Smarty 3 qui ne laisse passer aucune erreur !

Exemple : message Syntax Error in template "tpl_body:xx" on line xx ... ou Erreur : à la ligne xxx dans fichier /xxxx/ la balise fermante contient un espace avant ou un caractère x avant, ou une erreur de syntaxe

[ERREURS] {cms_selflink dir="next" } Espace avant {cms_selflink dir="previous" "} un caractère " avant {cms_selflinkdir="next"} erreur de syntaxe {mailto .....site".} un caractère . avant

- Message de la console Un problème de codage... Erreur : à la ligne ... exemple: si vous utlisez la balise {cms_breadcrumbs root='Home'} en remplacement de {breadcrumbs starttext=' ' root='Home' delimiter='»' } Syntax Error in template "tpl_body:17" on line 40 "{cms_breadcrumbs root='Home'}" unknown tag "cms_breadcrumbs" cela signifie que le module Menunager est incorrectement installé

Solution : Désinstaller puis réinstaller le module Menunager

- Mise à jour de sites multilingues (4langues) utilisant le module MleCms en PHP 5.2.17

Les 3 sites étant fonctionnels en version CMS 1.10.3 , la méthode de mise à jour se fera d’abord en local puis sera exporter vers le serveur de production.

1- Récupération de la base données du site existant (Bdsite)

2- Mise en service du serveur en local en PHP 5.3.14 et import de la base Bdsite grâce à PhpMyAdmin

3- Création d'un dossier d’essai sur le du serveur local avec les fichiers du site existant en version CMS 1.10.3 - Modules standard sauf CMSMailer, MicroTiny, ModuleManager,News - Modules supplémentaires : CGExtensions: 1.29.1, DownCnt: 2.2.0, MleCMS 1.10.6., SiteMapMadeSimple: 1.2.6, TinyMCE: 2.9.10 - Modification du config.php pour adaptation

4- Test du site en local version 1.10.3

5- Upgrade des fichiers du dossier d’essai vers CMS 1.11avec les modules mis à jour pour version 1.11 - Modules supplémentaires mis à jour MleCMS: 1.11.2 + ExtendedTools: 1.3.3 (nouveauté pour 1.11)

6- Upgrade du CMS par /install/upgrade.php

7-Test de la partie Administrateur : tout est OK sauf - Module il faut installer ExtendedTools, avant toute chose car cela n'est pas automatique et NON signalé - MleCMS / traducteur mais les chaînes de mots existent , mais ne sont plus traduites (donc au boulot)

8 le site web local test affichage : a - Syntax Error in template "tpl_body:10" on line 30 "{menu template='accessible_simple_navigation.tpl' number_of_levels='1'}" unknown tag "menu" ->en administration : MenuManager désinstaller + réinstaller b - Syntax Error in template "tpl_body:7" on line 34 "{search lang=$lang_locale submit='OK'}" unknown tag "search" ->en administration : Search désinstaller + réinstaller Nota il faut modifier \MenuManager/templates/accessible_simple_navigation.tpl cause Smarty3 - {if $node->image != ''} par {if isset($node->image) && $node->image != ''} sinon Erreur Voir MleCMS_(Module) install_ugrade_cmsms111.odt Date : 26/03/2014 Page 21/ 23 9 le site web local test affichage : tout semble OK

10 Il reste à modifier les gabarits - le fil d'Ariane : remplacer MleCMS action="langs"} {*translate text="ici"*} {breadcrumbs starttext=' ' root='Home' delimiter='»'} par {cms_breadcrumbs root='Home' lang=$lang_locale} Dans ce cas les pages qui ne sont pas visibles dans le menu n'ont pas de fil d'Ariane, il faut donc modifier /MenuManager/action.breadcrumbs.php : if( $content->ShowInMenu() && $content->Active() && $showall == 0 ) devient if( $content->Active() && $showall == 0 )

11 Tests et validation du site en local

12 comme tout semble OK, il faut tester sur un serveur avecPHP5.2.17 comme sur le site de production (par précaution) - l’icône imprimante n'est plus visible et dans le source de la page remède : remplacer dans les gabarits {print par {cms_module module='CMSPrinting' * Il y adonc quelques modifications à faire pour PHP 2.2.17

13 préparation du transfert a - Sauvegarder la base de données locale b - Préparer le config.php (config_prod.php) à transférer en modifiant les données relatives au serveur de production

14 transfert vers le site de production a - Sur le site en production le dossier existant est dénommé /cmsprod b - Envoyer des fichiers en FTP dans un nouveau dossier du site /cms111 c - Copier le config_prod.php de local vers /cms111 et le renommer en config.php d -Vérifier les fichiers .htaccess et autres … e - Envoyer la base de données grâce à PhpMyAdmin sur l'hébergement f - Renommer /cmsprod en cmsprod_old et /cms111 en /cmsprod g - Tester le site web en administration et ensuite en site Web h - Faire des retouches éventuelles et voilà c'est terminé, l'opération ne nécessite pas plus de quelques minutes de coupure du site Web.

Cette opération a été effectuée sur 3 sites les résultats ou erreurs intervenues sont sensiblement les mêmes , il est donc impératif de procéder avec méthode et surtout de bien passer par la phase test en local pour éviter une interruption longue du site web

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 22/ 23 Information

VERSIONS Francisées (Basés sur les fichiers SVN) Les fichiers contiennent les fichiers langues Us et Fr seulement. Ils sont conforme aux fichiers originaux seul les mots anglais dans les fichiers PHP sont traduits. http://jc.etiemble.free.fr/abc/index.php?page=ressourcesfr Consulter le fichier version_cms1110.txt à la racine de l'archive cms1110_fr.tar.bz2

7-Zip est un logiciel de compression/décompression de données (7z, ZIP, GZIP, BZIP2 et TAR), http://www.7-zip.org/

Fillezilla : Tutoriel Filezilla

PhpMyAdmin : Tutoriel PhpMyAdmin http://www.siteduzero.com/tuto-3-134-1-phpmyadmin.html

Pour une utilisation en local sur votre ordinateur sous Windows utiliser un système WAMP (comparatif de solutions)

Licence Creative Commons Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0 – France http://creativecommons.org/licenses/by-nc-sa/2.0/fr/legalcode

install_ugrade_cmsms111.odt Date : 26/03/2014 Page 23/ 23