Vous êtes sur la page 1sur 67
Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Table Des Matières

Tutoriels Automne

Guide des bonnes pratiques

Bonnes pratiques de gestion des modèles de pages Bonnes pratiques de gestion des modèles de rangées

Créer un modèle de page

L'entête de page Les liens de navigation Les espaces client

Créer un module Exemples de modules Polymod

Module Commentaires

Automne pour les nuls

Préliminaire Etat des lieux C’est quoi un CMS ? Tour du propriétaire Automne pour les nuls - deuxième partie

Utilité des rangées de contenu Travaux pratiques

Page 1/67

2

3

5

9

10

12

17

23

26

36

37

40

41

44

47

50

58

60

64

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Tutoriels Automne

Ces tutoriels sont destinés à vous aider à la prise en main du CMS Automne.

Nous vous invitons à consulter également les tutoriels vidéos ainsi que la rubrique consacrée tutoriels sur le forum.

Cette section est amenée à s'étoffer, en attendant n'hésitez pas à poser vos questions sur le forum.

Tutoriels

Automne pour les nuls Initiation à l'utilisation du logiciel CMS Automne pour les débutants Automne pour les nuls Initiation à l'utilisation du logiciel CMS Automne pour les débutants

Page 2/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Guide des bonnes pratiques

Voici quelques recommandations de bonnes pratiques pour tout projet réalisé avec Automne. Ces dernières permettent le plus souvent de conserver suffisamment de souplesse pour l’évolution d’un projet sans avoir forcement de caractère fonctionnel obligatoire.

Voir aussi les bonnes pratiques concernant :

Après l’installation

Supprimer les fichiers d’installationde pages Modèles de rangées Après l’installation Modifier le mot de passe root Directement après

Modifier le mot de passe rootl’installation Supprimer les fichiers d’installation Directement après l’installation il faut penser à

Directement après l’installation il faut penser à supprimer le fichier install.php et les archives à la racine. Il est également important de se connecter et de modifier le mot de passe et l’adresse email de l’utilisateur root.

Démarrage du développement

Dans les paramètres Automne cochez les options suivantes :

Activer le débuggage système,Dans les paramètres Automne cochez les options suivantes : Activer le débuggage du Polymod, Activer les

Activer le débuggage du Polymod,les options suivantes : Activer le débuggage système, Activer les alertes emails des pages 404. Ces

Activer les alertes emails des pages 404.le débuggage système, Activer le débuggage du Polymod, Ces options sont seront utiles pendant vos développements

Ces options sont seront utiles pendant vos développements et vous indiqueront l'origine des erreurs. Pensez à désactiver les options de debug lorsque vous êtes en production.

Attention, lorsque le site est en production, l’activation du débug peut perturber l’affichage côté client et présenter des problèmes de sécurité.

En phase d’évolution, modification, ou correction, il faut faire attention, les messages deviennent alors visible côté client mais pour tout le monde.

Pensez également à personnaliser les adresses email de l’administrateur et de l’application.

Racine de l’arborescence

Créer une première page sous la page 1et de l’application. Racine de l’arborescence Créer un nouveau site et pointer la racine sur la

Créer un nouveau site et pointer la racine sur la nouvelle pagede l’arborescence Créer une première page sous la page 1 La création d’un site ne devrait

La création d’un site ne devrait pas se faire directement sur la page 1, qui est la page racine d’Automne. Il vaut mieux créer une première sous-page - la 2 si on prend le cas d’un Automne vierge - et la designer comme racine de votre site dans la gestion des sites.

Cette bonne pratique vous permettra de créer plusieurs sites au même niveau directement sous la page 1. Dans la plus part des cas, les sites en langues étrangères sont traitées avec des pages racines différentes, toutes des

Page 3/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

enfants de la page 1. Un projet peut s'internationaliser au cours de son existence, le déplacement de l’arborescence tout en restant faisable devient alors une vraie problématique (structurelle, SEO etc )

Internationalisation

Si vous devez développer des sites en plusieurs langues, nous vous conseillons d'installer le module Traductions

pour la gestion des libellés de vos modèles.

Gestion des droits

Créer un groupe administrateursla gestion des libellés de vos modèles. Gestion des droits Créer votre compte utilisateur Pour définir

Créer votre compte utilisateurGestion des droits Créer un groupe administrateurs Pour définir les droits du groupe administrateurs, il vous

Pour définir les droits du groupe administrateurs, il vous suffit de cocher l'option "Administrateur" dans l'onglet Administration du groupe.

Il est souhaitable d’aborder la définition des droits par groupe et non pas par profil utilisateur. Au démarrage, il existe toujours un petit nombre d'utilisateurs, mais très vite ce nombre peut grandir et poser un problème de gestion. D’autant plus qu’une approche par utilisateur est souvent source d’erreurs lors de modification d’ensemble.

Si vous avez besoin d’activer les droits côté client, faites le, dans la mesure du possible, dès le début du projet.

Cela vous évitera de refaire l’ensemble de vos tests. Si ces droits sont activés, pensez à vérifier le site sans être connecté depuis l’administration (en anonyme), sans quoi le résultat serait faussé.

Créez vous un profil utilisateur, ajouter le au groupe d'administrateurs Ne travaillez pas avec le compte root.

Gestion des fichiers

Créer un dossier dans /css pour y ranger vos feuilles de stylesNe travaillez pas avec le compte root. Gestion des fichiers Créer un dossier dans /js pour

Créer un dossier dans /js pour y ranger vos fichiers javascriptsun dossier dans /css pour y ranger vos feuilles de styles Créer un dossier dans /img

Créer un dossier dans /img pour y ranger vos imagesun dossier dans /js pour y ranger vos fichiers javascripts Le nom du dossier est laissé

Le nom du dossier est laissé à votre appréciation, faites en sorte qu’il puisse être identifier rapidement. Un second site pourrait voir le jour, un dossier spécifique pour chaque permet de mieux identifier a qui appartient les fichiers.

A partir de la version 4.2, si vous nommez votre dossier comme le nom du code d'un site, alors Automne chargera

automatiquement vos fichiers JS ou CSS.

Par exemple si le nom de code de votre site est 'fr' vous pouvez décider d'organiser vos fichiers ainsi :

/css/fr /styles.css fr/styles.css

/css/fr /print.css fr/print.css

/js/fr /jquery-latest.js fr/jquery-latest.js

/js/fr/plugin.jquery.js

Voir aussi les bonnes pratiques suivantes :

Page 4/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Bonnes pratiques de gestion des modèles de pages

Pour chaque modèle de page, pensez à mettre un titre explicite pouvant être lisible depuis les propriétés de page, une description compréhensible et utile et une vignette illustrative.

Langue de la page

et utile et une vignette illustrative. Langue de la page Gérer dynamiquement la langue dans le

Gérer dynamiquement la langue dans le modèle de page

Plutôt que de fixer la langue en dur dans le modèle, vous pouvez utiliser la variable {page:self:language}, ainsi la langue sera définie en fonction des propriétés de la page.

<html lang="{page:self:language}">

Titre de la page

Créer un titre de page optimisé pour le référencement naturellang="{page:self:language}"> Titre de la page La construction d’un titre d’une page dans un modèle

La construction d’un titre d’une page dans un modèle doit être pensée en accord avec l’optimisation du référencement. la balise <atm-title /> est à placer en premier. Il est gérable depuis les propriétés de page et permet aux rédacteurs d’intervenir facilement. Ce title peut être complété voire remplacé dans le cas de page dynamique.

Exemple : sur une page actualités, la liste des actualités aura pour titre de page, la valeur fournie par <atm-title /> par contre, sur le détail d’une actualité, le titre de la page doit être le titre de l’actualité pour conserver une pertinence en matière de référencement.

N.B : Depuis la 4.1, on peut faire des recherches polymod dans les modèles de page. Voir l’exemple pour les actualités.

Pour compléter le title de la page, on préférera <atm-website name=”title” />, qui peut être géré et personnalisé de façon plus spécifique que la constante APPLICATION_LABEL qui est commune a tous les sites se définies dans une instance d’Automne.

<title><atm-title /> - <atm-website name="title" /></title>

Si le titre des pages (attention pas le lien) est trop long et peu explicite dans l’arborescence des pages d’Automne, car optimisé pour le référencement, vous pouvez faire apparaître les liens à la place depuis les paramètres Automne.

Jeux de caractères

la place depuis les paramètres Automne. Jeux de caractères Définir le jeu de caractères Il est

Définir le jeu de caractères

Il est très important de définir le bon jeu de caractère sans quoi des navigateurs comme IE feront leur propre interprétation, souvent erronée, de la page.

Toute nouvelle installation d’Automne (4.x) se fait en utf-8, si vous avez mis à jour depuis Automne 3.x, le jeu de caractère sera généralement en ISO par défaut.

Page 5/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Pour déclare le jeu de caractère dans votre modèle de page, il suffit d'écrire dans votre entête (head) :

HTML 4.01/XHTML 1.0

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

HTML5/XHTML5

<meta charset="utf-8" />

Compression des fichier

Utiliser atm-css-tagscharset="utf-8" /> Compression des fichier Utiliser atm-js-tags Protéger les commentaires de copyright

Utiliser atm-js-tags/> Compression des fichier Utiliser atm-css-tags Protéger les commentaires de copyright des librairies avec

Protéger les commentaires de copyright des librairies avec //<<des fichier Utiliser atm-css-tags Utiliser atm-js-tags //!>> En production, pensez à utiliser ces deux

//!>>

En production, pensez à utiliser ces deux outils qui vous permettent de gagner en rapidité d’affichage en compressant les fichiers et en limitant le nombre de requêtes HTTP. Penser à respecter un ordre d’appel cohérent pour vous éviter des surprises ;)

Afin de conserver les crédits des librairies tierces, veuillez utiliser //<<

d’éviter les problèmes de compression dans le cas ou le code de la librairie est déjà minifié.

crédit

//!>> cela peut aussi permettre

atm-meta-tags

Placer l’<atm-meta-tags /> juste avant la fin de votre head.//!>> cela peut aussi permettre atm-meta-tags Ce doit être la dernière balise avant votre

Ce doit être la dernière balise avant votre </head>.

A partir de la version 4.2, vous pouvez passer en attribut les meta que vous souhaitez gérer vous même dans le

modèle.

Exemple si je veux définir moi même la description en récupérant la valeur d'un module, je peux écrire :

<atm-meta-tags description="0">

Codename

Utiliser des noms de code à la place des identifiants de page: <atm-meta-tags description="0"> Codename Lors de la conception des appels aux noeuds d’arborescence

Lors de la conception des appels aux noeuds d’arborescence dans les modèles, il faut préférer l’usage des noms de code (codename) à celui des identifiants de page. Cette solution est plus souple, car facilement gérable dans l’interface d’Automne en cas de changement et ce sans intervenir dans les modèles de page.

<atm-linx type="direct" nodespec="2"><a href="{{href}}">{{title}}</a></atm-linx>

Si

:

vous voulez faire un lien vers la page d'accueil en faisant référence au nom de code de la page, on écrira plutôt

<atm-linx type="direct" codename="home"><a href="{{href}}">{{title}}</a></atm-linx>

De plus en cas d’internationalisation, le site sera facilement duplicable en l’état.

Page 6/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Attention, les codenames ne sont pas utilisable dans tous les cas, il faut qu’ils se trouvent dans l’arborescence d’Automne pour pouvoir être employés. Par exemple les flux RSS ne les supportent pas.

Google Analytics

exemple les flux RSS ne les supportent pas. Google Analytics Placer le code Google Analytics entre

Placer le code Google Analytics entre <atm-noadmin>

</atm-noadmin>

Placer le code Google Analytics entre les balises atm-noadmin afin de ne pas fausser les statistiques de visites du site lors de l’intervention dans l’administration.

<atm-noadmin> <script type="text/javascript">

var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-xxxxxxxx-x']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';

var s = document.getElementsByTagName('script')[0]; })(); </script> </atm-noadmin>

Rangée par défaut

Placer les rangées par défaut</script> </atm-noadmin> Rangée par défaut s.parentNode.insertBefore(ga, s); Vous avez la possibilité

s.parentNode.insertBefore(ga, s);

Vous avez la possibilité de placer des rangées par défaut dans les propriétés de votre modèle de page. Cela peut accélèrer la création de page et facilite grandement la prise en main pour les nouveaux utilisateurs.

Activation/Désactivation

pour les nouveaux utilisateurs. Activation/Désactivation Désactiver le modèle de page d’Accueil Pensez à

Désactiver le modèle de page d’Accueil

Pensez à désactiver les modèles de page n’ayant plus de raison d'apparaître dans la création des nouvelles pages comme le modèle de page d'accueil s'il est uniquement prévu pour.

Aide à l’édition

N’hésitez pas à placer des textes d’aide dans des tags <atm-edit> pour aider les personnes qui éditent les contenus de pages.

Exemple d'aide à l'utilisateur pour l'utilisation d'une rangée formulaire :

<row> <atm-edit>Aide : cliquez sur le crayon et s&#xE9;lectionner un formulaire &#xE0; afficher</atm-edit> <div class="cms_forms"> <block module="cms_forms" id="form">{{data}}</block> </div> </row>

Page 7/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Page 8/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Bonnes pratiques de gestion des modèles de rangées

Pour chaque modèles de rangée, pensez a mettre un titre explicite pouvant être lisible depuis la modification des pages, une description compréhensible. N’hésitez pas a personnaliser l'icône de votre rangée pour permettre une meilleur identification.

Utilisez des rangées simples, éviter de faire tous les traitements possibles dans une seule et même rangée, cela facilitera la maintenance applicative.

Utilisez au maximum le meta-langage dAutomne, n’ayez recours au PHP que si vous n’avez pas d’autre choix, cela assurera la compatibilité ascendante de vos développements et favorisera la reprise de code par d’autres développeurs.

N’hésitez pas à placer des textes d’aide dans des tags <atm-edit> pour aider les personnes qui éditent les contenus de pages.

Nomenclature

personnes qui éditent les contenus de pages. Nomenclature Numéroter les rangées pour les ordonner Les rangées

Numéroter les rangées pour les ordonner

Les rangées sont affichées par ordre alphabétique. Pensez à numéroter vos nouvelles rangées et les ordonner afin d’offrir dans la liste les rangées les plus usuelles.

Nommer vos rangées en pensant avant tout aux utilisateurs. Nul besoin de vous sentir obligé d’ajouter le nom du module dans le nom de la rangée.

Exemple : Derniers billets du blog ou Dernières actualités sont plus parlants pour un utilisateur que [Actualités] Recherche ou [Actualités] Détail

Vous disposez d'un filtre pour afficher les rangées relatives à un module.

Gestion

Désactiver les rangées inutiles : pensez à désactiver les rangées n’ayant plus de raison d'apparaître dans l’édition des pages. Créer des groupes de rangées, si vous souhaitez interdire l’accès à certaines rangées aux utilisateurs.

Page 9/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Créer un modèle de page

Ce tutoriel, conçu avant tout pour les développeurs web, présente une méthode de conception de modèle de page pour Automne. C'est une étape incontournable, puisque à l'heure actuelle aucun thème n'est encore disponible en téléchargement.

La démarche sera familière pour ceux qui travaillent selon les recommandations du W3C : elle consiste à transformer un modèle de page XHTML en modèle Automne à l’aide de balises XML.

Nous verrons donc dans cette première partie comment convertir un modèle de page XHTML en modèle Automne.

Les balises XML d’Automne vont permettre notamment de :

gérer les différents balises présentes dans l’entête de page (méta-données, appels des différents fichiers CSS, JS et RSS) ;Les balises XML d’Automne vont permettre notamment de : définir les différentes zones de contenus modifiables,

définir les différentes zones de contenus modifiables, également appelés espaces clients ; espaces clients ;

gérer les éléments de navigations (menus, plan de site, fil d’ariane) ;modifiables, également appelés espaces clients ; On peut donc au choix partir de rien et concevoir

On peut donc au choix partir de rien et concevoir sa page à l’aide des langages XHTML, CSS et JS ou bien adapter un thème existant - sous peine de disposer de fonctionnalités équivalentes dans Automne.

Dans ce tutoriel, nous prendrons un exemple qui se limite aux modules polymod livrés par défaut avec Automne, à savoir le module Actualités et le module Médiathèque.

Modèle Automne = XHTML + XML

Partons d’un code XHTML tout ce qu’il y a de plus classique :

<!DOCTYPE html> <html lang="fr"> <head> <title>Titre de page - Site Web</title> <meta charset="UTF-8"/> <meta name="description" content="The description of the content of the present page may be used by search engines" /> <meta name="keywords" content="CMS, Automne, template, example, tutoriel, XHTML" /> <link rel="stylesheet" href="/css/reset.css" type="text/css" media="all" /> <link rel="stylesheet" href="/css/base.css" type="text/css" media="all" /> <link rel="stylesheet" href="/css/fonts.css" type="text/css" media="all" /> <!--[if IE 7]> <link rel="stylesheet" href="/css/ie7.css" type="text/css" media="all" /> <![endif]--> <link rel="stylesheet" href="/css/print.css" type="text/css" media="print" /> <link rel="stylesheet" href="/css/mobile.css" type="text/css" media="handeld" /> <script type="text/javascript" src="/js/jquery-1.4.2.js"></script> <script type="text/javascript" src="/js/myscript.js"></script> <link rel="alternate" type="application/rss+xml" title="Actualités" href="http://www.automne-cms.org/rss/rss.php?id=1" /> </head> <body>

Page 10/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

<div id="header"> <ul> <li><a href="#">Accueil</a></li> <li><a href="#">Produits</a></li> <li><a href="#">Services</a></li> <ul> <li><a href="#">Support</a></li> <li><a href="#">Téléchargements</a></li> <li><a href="#">Espace Client</a></li> </ul> </ul> </div> <div id="main-content">

<p>Vous êtes ici : <a href="/">Accueil</a> > Actualités</p>

mon contenu

</div>

<div class="aside">

mon contenu

</div> <div id="footer"> <ul class="links"> <li><a href="#">Plan du site</a></li> <li><a href="#">Mentions légales</a></li> <li><a href="#">Accessibilité</a></li> <li><a href="#">Contact</a></li> </ul> </div> </body> </html>

Nous avons ici plusieurs éléments statiques, que nous allons devoir rendre dynamique comme le titre de la page,

la description et les mots-clefs associés. Nous avons aussi des listes de liens de navigations qui devront pouvoir se

mettre à jour en cas de changement de libellé ou de structure de l’arborescence. Enfin nous avons des zones dans lesquelles du contenu devra pouvoir être inséré par les rédacteurs du site.

A l’aide de balises XML, nous allons pouvoir transformer ce fichier XHTML en modèle de page pour Automne.

Sommaire

Page 11/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

L'entête de page

Déclaration du type de document

La première chose à faire c'est d'indiquer le DTD que vous allez utiliser pour votre modèle de page. Par défaut, Automne utilise le type XHTML Transitionnel, mais rien ne nous empêche de déclarer un type de document HTML5 par exemple :

<!DOCTYPE html>

Pour forcer l'utilisation d'un doctype différent il faut ajouter dans le fichier config.php :

define("APPLICATION_XHTML_DTD", "<!DOCTYPE html>");

Langue de la page

Pour chaque site déclaré dans Automne, une langue par défaut est définie. Pour accéder à la valeur de la langue définie, on fera appel à la variable {page:sef:language}

<html lang="{page:self:language}">

Titre de page et nom du site

Dans cet exemple le titre de page est composé du titre de la page et du nom du site web, une pratique courante en référencement.

<title>Titre de page : Site Web</title>

La balise <atm-title /> ou son équivalent <atm-page name="title" /> qui va afficher automatiquement le titre de la page en cours. C’est le champ Titre affiché dans l'onglet des propriétés de page qui est ici récupéré par Automne.

propriétés de page qui est ici récupéré par Automne. Pour afficher le nom du site web

Pour afficher le nom du site web nous allons utiliser la balise <atm-website name="title" />.

La constante qui contient le nom de l'instance d'Automne est APPLICATION_LABEL, elle correspond au libellé du site que vous pouvez définir en tant qu’administrateur dans l’onglet Administration, paramètres.

définir en tant qu’administrateur dans l’onglet Administration, paramètres. Page 12/67 Créé le 11/04/2012 14:54:50

Page 12/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Il est également possible d'afficher cette valeur dans vos modèles de page avec la balise suivante :

<atm-constant name="APPLICATION_LABEL" />

Nous écrirons donc le code suivant pour afficher ces deux informations :

<title><atm-title /> : <atm-website name="title" /></title>

A

noter qu'à partir de la version 4.1 d'Automne vous pouvez utiliser les balises <block> pour les modules polymod

et

la balise <atm-if> dans les modèles. Il est donc possible de spécifier un titre de page dynamique qui changera

en fonction des paramètres passés dans l'URL de page.

Exemple si je veux afficher le titre de l'actualité je peux écrire dans mon modèle de page :

<block module="pnews" id="news_title"> <atm-if what="{request:int:news} &amp;&amp; {page:self:codename} == 'news'" name="title"> <atm-search what="{Actualites}" name="title"> <atm-search-param search="title" type="item" value="{request:int:news}" mandatory="true" /> <atm-result search="title"> <title>{Actualites:Titre:value}</title> </atm-result> <atm-noresult> <title><atm-title /></title> </atm-noresult> </atm-search> </atm-if> <atm-else for="title"> <title><atm-title /> - <atm-website name="title" /></title> </atm-else> </block>

Dans cet exemple, il faut attribuer le nom de code news à la page qui affiche les actualités. Il faut également qu'on se trouve dans le cas où on ait un paramètre news dans l'URL pour être sur qu'on est bien sur l'affichage d'une actualité. A adapter selon le nom de code et le paramètre passé dans l'URL donc.

Balises pour les méta-données de la page

Les balises méta peuvent contenir de nombreuses informations comme la description de la page, les mots-clefs, la langue utilisée dans la page, l’auteur, son adresse mail, les liens vers les flux RSS, etc. Toutes ces informations sont éditables soit dans la fenêtre des propriétés de page, soit dans la gestion des sites qui permet de renseigner des méta-données par défaut pour un site, qui seront appliquées automatiquement sur toutes les pages qui n’auraient pas de méta-données spécifiques renseignées.

Page 13/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Automne offre la possibilité de créer vos propres flux RSS

Automne offre la possibilité de créer vos propres flux RSS personnalisés, une fois le flux crée vous devez l’ajouter dans les méta-données libres du site ou de la page si vous souhaitez permettre l’auto-détection de vos flux par le navigateur.

Pour récupérer l’ensemble de ces informations il suffit juste de faire appel à la balise <atm-meta-tags />

Dans notre exemple on va donc remplacer les lignes suivantes :

<meta name="description" content="The description of the content of the present page may be used by search engines" /> <meta name="keywords" content="CMS, Automne, template, example, tutoriel, XHTML" /> <link rel="alternate" type="application/rss+xml" title="Actualités" href="http://www.automne-cms.org/rss/rss.php?id=1" />

par :

<atm-meta-tags />

Cette balise est obligatoire dans chaque modèle de page. Elle permet de gérer certaines fonctionnalités propres à Automne. C’est par exemple cette balise qui permet d’activer les fonctions d’édition des pages. Il permet aussi d’ajouter les fichiers Javascript et les feuilles de styles fournies par les différents modules qui seront employés dans les pages.

Appel des feuilles de styles et des fichiers Javascript

Automne respecte les standards du W3C et le concept de séparation entre la structure (XHTML), la présentation (CSS) et le comportement (JS). Pour appeler les feuilles de styles et les fichiers Javascript, on peut au choix soit utiliser la syntaxe par défaut du W3C, soit passer par les balises XML d’Automne qui en plus d’appeler les fichiers, s’occupera d’optimiser la performance de votre site en minifiant, en concaténant et en compressant tous les fichiers CSS et tous les fichiers JS. Cette option est surtout destinée à être utiliser en production, nous vous recommandons de ne pas l’utiliser en cours de développement, ne serait-ce que pour débugguer plus facilement vos pages avec Firebug par exemple.

Il arrive souvent qu’on fasse appel à plusieurs feuilles de styles comme dans notre exemple. Une fois en production on pourra alors remplacer :

Page 14/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

<link rel="stylesheet" href="/css/reset.css" type="text/css" media="all" /> <link rel="stylesheet" href="/css/base.css" type="text/css" media="all" /> <link rel="stylesheet" href="/css/fonts.css" type="text/css" media="all" />

par :

<atm-css-tags files="/css/reset.css,/css/base.css,/css/fonts.css" media="all" />

Si comme dans mon exemple j’ai des feuilles de style spécifiques pour d’autres type de média comme pour l’impression ou le mobile, il me faut alors faire un appel par type de média :

<link rel="stylesheet" href="/css/print.css" type="text/css" media="print" /> <link rel="stylesheet" href="/css/mobile.css" type="text/css" media="handeld" />

On écrira alors :

<atm-css-tags files="/css/print.css" media="print" /> <atm-css-tags files="/css/mobile.css" media="handeld" />

Si vous utilisez les commentaires conditionnels pour corriger les bugs CSS sur IE7 par exemple, vu le peu de code CSS et l’appel supplémentaire nécessaire, il n'y a aucun intérêt à utiliser <atm-css-tags /> dans ce cas.

Même principe pour les fichiers javascript, on peut tous les regrouper en un seul appel et économiser ainsi de précieuses requêtes HTTP.

Dans notre cas, nous pouvons donc remplacer les 2 appels suivants :

<script type="text/javascript" src="/js/jquery-1.4.2.js"></script> <script type="text/javascript" src="/js/myscript.js"></script>

par :

<atm-js-tags files="/js/jquery-1.4.2.js,/js/myscript.js" />

Voilà donc pour le code de l’entête de page, si on résume on avait :

<!DOCTYPE html> <html lang="fr"> <head> <title>Titre de page - Site web</title> <meta charset="UTF-8"/> <meta name="description" content="The description of the content of the present page may be used by search engines" /> <meta name="keywords" content="CMS, Automne, template, example, tutoriel, XHTML" /> <link rel="stylesheet" href="/css/reset.css" type="text/css" media="all" /> <link rel="stylesheet" href="/css/base.css" type="text/css" media="all" /> <link rel="stylesheet" href="/css/fonts.css" type="text/css" media="all" /> <!--[if IE 7]> <link rel="stylesheet" href="/css/ie7.css" type="text/css" media="all" /> <![endif]--> <link rel="stylesheet" href="/css/print.css" type="text/css" media="print" /> <link rel="stylesheet" href="/css/mobile.css" type="text/css" media="handeld" /> <script type="text/javascript" src="/js/jquery-1.4.2.js"></script> <script type="text/javascript" src="/js/myscript.js"></script> <link rel="alternate" type="application/rss+xml" title="Actualités"

Page 15/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

href="http://www.automne-cms.org/rss/rss.php?id=1" /> </head>

Transformé en modèle Automne, voici ce que ça donne :

<!DOCTYPE html> <html lang="{page:self:language}"> <head> <title><atm-title /> - <atm-website name="title" /></title> <meta charset="UTF-8"/> <atm-css-tags files="/css/reset.css,/css/base.css,/css/fonts.css" media="all" /> <!--[if IE 7]> <link rel="stylesheet" href="/css/ie7.css" type="text/css" media="all" /> <![endif]--> <atm-css-tags files="/css/print.css" media="print" /> <atm-css-tags files="/css/mobile.css" media="handeld" /> <atm-js-tags files="/js/jquery-1.4.2.js,/js/myscript.js" /> <atm-meta-tags /> </head>

Maintenant que nous avons terminé avec l’entête de page, passons au contenu.

Page 16/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Les liens de navigation

Les outils de gestion de contenu sont là pour vous faciliter la vie, Automne ne déroge pas à la règle et vous propose de gérer les liens de navigations dans vos pages à l'aide de plusieurs balises XML. Ces balises vont vous permettre de gérer différents types de liens : les liens directs vers d'autres pages, les liens vers les sous-pages d'une page de manière récursive - ou pas - mais également les liens descendants pour gérer un fil d'Ariane.

Dans notre exemple, nous affichons deux listes de liens :

une liste de navigation principale à plusieurs niveaux ;Dans notre exemple, nous affichons deux listes de liens : un fil d'Ariane ; un groupe

un fil d'Ariane ;: une liste de navigation principale à plusieurs niveaux ; un groupe de liens dans le

un groupe de liens dans le bas de page.principale à plusieurs niveaux ; un fil d'Ariane ; Les liens récursifs Voici le code XHTML

Les liens récursifs

Voici le code XHTML de notre menu de navigation principale :

<ul>

<li><a href="#">Accueil</a></li> <li><a href="#">Produits</a></li> <li><a href="#">Services</a> <ul> <li><a href="#">Support</a></li> <li><a href="#">Téléchargements</a></li> <li><a href="#">Espace client</a></li> </ul> </li>

</ul>

Ce menu correspond à des pages de l'arborescence du site organisées en rubriques et sous-rubriques. Nous devrons donc construire dans Automne l'arborescence correspondante :

construire dans Automne l'arborescence correspondante : Chaque page a un identifiant unique (inscrit entre

Chaque page a un identifiant unique (inscrit entre parenthèses dans l'onglet arborescence), nous allons nous servir de cet identifiant pour construire le menu de navigation qui affichera toutes les sous-pages sur 2 niveaux à partir

Page 17/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

de de la page racine de notre site.

Pour ces premiers liens de navigations, nous allons utiliser les <atm-linx> de type récursif, qui vont permettre d'afficher plusieurs niveaux de notre arborescence :

<atm-linx type="recursivelinks">

</atm-linx>

La balise <atm-linx> permet de faire beaucoup de choses. Outre le fait de générer plusieurs types de liens, elle vous permet de sélectionner précisément quelle pages de l'arborescence à afficher, où démarrer et combien de niveaux afficher. Faisons donc notre <selection> et précisons l'identifiant de page du noeud (<nodespec>) de départ (<start>) ainsi que la <condition> à remplir.

Une fois notre sélection faite nous obtenons donc le code XML suivant :

<atm-linx type="recursivelinks"> <selection> <!-- On démarre à la racine du site --> <start><nodespec type="relative" value="root"/></start> <!-- On ne veut afficher que 2 niveaux de l'arborescence --> <condition property="lvl" operator="&lt;="> <value type="data">2</value> </condition> </selection> </atm-linx>

Cette syntaxe XML est certes un peu verbeuse mais elle vous permet d'afficher précisément n'importe quel liste de liens à partir de votre arborescence.

Il nous reste encore à traiter l'affichage (<display>) de notre liste de liens, à définir le modèle HTML (<htmltemplate>) et le modèle de récursivité (<subleveltemplate>).

<atm-linx type="recursivelinks"> <selection> <!-- On démarre à la racine du site --> <start><nodespec type="relative" value="root"/></start> <!-- On ne veut afficher que 2 niveaux de l'arborescence --> <condition property="lvl" operator="&lt;="> <value type="data">2</value> </condition> </selection> <!-- Je laisse le menu fermé par défaut et je n'affiche pas la page raçine du site --> <display mode="close" root="0"> <htmltemplate> <!-- Ici le modèle HTML dans lequel les variables seront remplacées par les URLs et le titre de page--> <li><a href="{{href}}">{{title}}</a></li> </htmltemplate>{{sublevel}} <!-- Le modèle employé pour la récursivité --> <subleveltemplate><ul>{{sublevel}}</ul></subleveltemplate> </display> </atm-linx>

Ce code XML une fois interprété s'affichera ainsi :

Page 18/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Accueil Produits Services Support Téléchargements Espace Client Consultez la

Consultez la documentation complète de la balise <atm-linx> pour connaître tous les attributs qu'on peut ajouter sur les liens récursifs. Cela vous sera très utile pour vous aider à styler à l'aide de CSS vos menus de navigation selon le niveau ou la page sélectionnée.

Et voilà pour notre menu principal de navigation, il sera automatiquement mis à jour en cas de création de nouvelles pages au premier ou au second niveau, ainsi qu'en cas de changement de titre de page ou d'URL.

Fil d'Ariane

Pour construire notre fil d'Ariane, nous allons utiliser le type de liens descendants (desclinks). Ce type de lien permet de tracer le parcours entre un point A et un point B de l'arborescence, je dois donc spécifier le point de départ et le point d'arrivée. En général on va utiliser les types de noeud relatifs pour cela, ce qui nous permettra par exemple de construire une suite de liens allant de la racine de notre site à la page en cours.

Nous écrirons donc le code XML suivant :

<!-- Le type de liens à créer --> <atm-linx type="desclinks"> <selection> <!-- La page de départ sera la racine du site --> <start><nodespec type="relative" value="root" /></start> <!-- On s'arrête à la page en cours --> <stop><nodespec type="relative" value="self" /></stop> </selection> <display> <!-- J'affiche un lien --> <htmltemplate><a href="{{href}}">{{title}}</a> </htmltemplate> </display> </atm-linx>

Ce qui produira par exemple le rendu HTML suivant :

Accueil Services Espace Client

Les liens des pages filles (ou sous-pages)

Passons maintenant au menu de bas de page. Contrairement au menu de navigation principale, ici je n'ai besoin d'afficher qu'un seul niveau de profondeur.

Vous pouvez utiliser une page dépubliée comme un dossier pour regrouper des liens de même nature et utiliser ensuite les <atm-linx> de type sublinks dans vos modèles.

Page 19/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

<atm-linx type="sublinks"> <selection> <!-- Je sélectionne la page dont le nom de code est footer --> <start><nodespec type="codename" value="footer" /></start> </selection> <display> <!-- J'utilise une simple liste à puces comme modèle HTML --> <htmltemplate><li><a href="{{href}}">{{title}}</a></li></htmltemplate> <subleveltemplate><ul class="links">{{sublevel}}</ul></subleveltemplate> </display> </atm-linx>

Ce qui nous produira à l'affichage la liste de liens suivante :

En continuant avec notre exemple, je remplace le code XHTML des liens par le code XML d'Automne dans notre modèle :

<!DOCTYPE html> <html lang="fr"> <head> <title><atm-title /> - <atm-website name="title" /></title> <meta charset="UTF-8" /> <atm-meta-tags /> <atm-css-tags files="/css/reset.css,/css/base.css,/css/fonts.css" media="all" /> <!--[if IE 7]> <link rel="stylesheet" href="/css/ie7.css" type="text/css" media="all" /> <![endif]--> <atm-css-tags files="/css/print.css" media="print" /> <atm-css-tags files="/css/mobile.css" media="handeld" /> <atm-js-tags files="/js/jquery-1.4.2.js,/js/myscript.js"/> </head> <body> <div id="header"> <atm-linx type="recursivelinks"> <selection> <!-- On démarre à la racine du site --> <start> <nodespec type="relative" value="root"/> </start> <!-- On ne veut afficher que 2 niveaux de l'arborescence --> <condition property="lvl" operator="&lt;="> <value type="data">2</value> </condition> </selection> <!-- Je laisse le menu fermé par défaut et je n'affiche pas la page raçine du site --> <display mode="close" root="0"><htmltemplate> <!-- Ici le modèle HTML dans lequel les variables seront remplacées par les URLs et le titre de page--> <li><a href="{{href}}">{{title}}</a></li></htmltemplate>{{sublevel}} <!-- Le modèle employé pour la récursivité --> <subleveltemplate><ul>{{sublevel}}</ul></subleveltemplate></display>

Page 20/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

</atm-linx> </div> <div id="main-content"> <div id="breadcrumbs">Vous êtes ici :

<!-- Le type de liens à créer --> <atm-linx type="desclinks"> <selection>

<!-- La page de départ sera la racine du site --> <start> <nodespec type="relative" value="root"/> </start> <!-- On s'arrête à la page en cours --> <stop> <nodespec type="relative" value="self"/> </stop> </selection> <display> <!-- J'affiche un lien --> <htmltemplate> <a href="{{href}}">{{title}}</a> </htmltemplate> </display> </atm-linx> </div>

mon contenu

</div>

<div class="aside">

mon contenu

</div> <div id="footer"> <atm-linx type="sublinks"> <selection> <!-- Je sélectionne la page dont le nomde code est footer --> <start> <nodespec type="codename" value="footer" /> </start> </selection> <display> <!-- J'utilise une simple liste à puces comme modèle HTML --> <htmltemplate> <li> <a href="{{href}}">{{title}}</a> </li> </htmltemplate> <subleveltemplate> <ul class="links">{{sublevel}}</ul> </subleveltemplate> </display> </atm-linx> </div> </body> </html> Vu que nous utilisons un doctype HTML5 dans cet exemple, j'aurais pu aussi en profiter pour utiliser les balises header, aside, nav ou footer, il aurait alors fallu ajouter un peu de javascript pour qu'Internet Explorer puisse styler correctement ces éléments.

Page 21/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Notre modèle de page est maintenant presque terminé, il nous reste encore à ajouter les zones de contenus modifiables.

Page 22/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Les espaces client

Ce sont dans les espaces client que le rédacteur pourra insérer les rangées de contenus de son choix. Dans les propriétés du modèle de page, l'administrateur du site pourra ensuite proposer des rangées par défaut. On peut également créer des groupes de rangées et ne les autoriser que dans certains modèles, mais en ce qui concerne le développement du modèle de page, le travail se limite à définir les zones qui afficheront les différentes rangées de contenus.

Pour cela rien de plus simple, il suffit de faire appel à l'élément <atm-clientspace />. Cet élément a deux attributs obligatoires : module et id. Le premier va indiquer à quel module est relié cette zone et le second va permettre d'identifier chaque espace client, ce qui sera utile aussi pour la compatibilité entre modèles.

Le module le plus utilisé dans Automne est le module de gestion de pages, aussi appelé module standard. On écrira donc par exemple pour la zone de contenu principal :

<atm-clientspace module="standard" id="main-content" />

Nous vous recommandons de choisir des identifiants avec une bonne sémantique afin de savoir quelle type d'information ils contiennent. Ce sera utile pour la compatibilité entre modèles.

Dans notre exemple il y a deux endroits où j'ai prévu d'avoir du contenu, une zone qui contiendra le contenu principal et une autre qui contiendra du contenu annexe que je vais définir ainsi :

<atm-clientspace module="standard" id="aside" />

Il ne nous reste plus qu'à insérer nos deux espaces client dans notre modèle :

<!DOCTYPE html> <html lang="fr"> <head> <title><atm-title /> - <atm-website name="title" /></title> <meta charset="UTF-8" /> <atm-css-tags files="/css/reset.css,/css/base.css,/css/fonts.css" media="all" /> <!--[if IE 7]> <link rel="stylesheet" href="/css/ie7.css" type="text/css" media="all" /> <![endif]--> <atm-css-tags files="/css/print.css" media="print"/> <atm-css-tags files="/css/mobile.css" media="handeld"/> <atm-js-tags files="/js/jquery-1.4.2.js,/js/myscript.js"/> <atm-meta-tags /> </head> <body> <div id="header"> <atm-linx type="recursivelinks"> <selection> <!-- On démarre à la racine du site --> <start>

Page 23/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

<nodespec type="relative" value="root"/> </start> <!-- On ne veut afficher que 2 niveaux de l'arborescence --> <condition property="lvl" operator="&lt;="> <value type="data">2</value> </condition> </selection> <!-- Je laisse le menu fermé par défaut et je n'affiche pas la page raçine du site --> <display mode="close" root="0"><htmltemplate> <!-- Ici le modèle HTML dans lequel les variables seront remplacées par les URLs et le titre de page--> <li><a href="{{href}}">{{title}}</a></li></htmltemplate>{{sublevel}} <!-- Le modèle employé pour la récursivité --> <subleveltemplate><ul>{{sublevel}}</ul></subleveltemplate></display> </atm-linx> </div> <div id="main-content"> <div id="breadcrumbs">Vous êtes ici :

<!-- Le type de liens à créer --> <atm-linx type="desclinks"> <selection> <!-- La page de départ sera la racine du site --> <start> <nodespec type="relative" value="root"/> </start> <!-- On s'arrête à la page en cours --> <stop> <nodespec type="relative" value="self"/> </stop> </selection> <display> <!-- J'affiche un lien --> <htmltemplate> <a href="{{href}}">{{title}}</a> </htmltemplate> </display> </atm-linx> </div> <atm-clientspace module="standard" id="main-content" /> </div> <div class="aside"> <atm-clientspace module="standard" id="aside" /> </div> <div id="footer"> <atm-linx type="sublinks"> <selection> <!-- Je sélectionne la page dont l'identifiant est 10 --> <start> <nodespec type="node" value="10" /> </start> </selection> <display> <!-- J'utilise une simple liste à puces comme modèle HTML --> <htmltemplate> <li> <a href="{{href}}">{{title}}</a>

Page 24/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

</li> </htmltemplate> <subleveltemplate> <ul class="links">{{sublevel}}</ul> </subleveltemplate> </display> </atm-linx> </div> <address> <!-- Indique la date de dernière publication ainsi que l'auteur de la modification --> <atm-last-update format="d/m/Y H:i:s"><small>Dernière mise à jour : {{date}} par {{firstname}} {{lastname}}</small></atm-last-update> </address> </body> </html>

Il existe d'autres balises XML comme <atm-last-update> inséré dans le bas de page qui vous permettent d'aller plus loin dans les fonctionnalités que peut offrir un modèle de page.

Nous obtenons ainsi un modèle de page très générique que je vais pouvoir décliner facilement soit en modifiant la langue utilisée dans le modèle, les feuilles de styles, les identifiants de page appelés ou les espace clients présents.

La prochaine étape consiste à développer ses propres rangées de contenu ou adapter les rangées existantes pour personnaliser vos pages.

J'espère que ce tutoriel vous aura aidé à mieux comprendre comment développer vos propres modèles de page avec Automne. Et si vous avez des questions, n'oubliez pas que le forum est là pour vous aider :)

Page 25/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Créer un module POLYMOD.

Il serait très long et peu explicite de décrire la totalité des fonctionnalités offertes, nous allons pour le moment prendre un exemple concret de module pour expliquer le fonctionnement. Il est ensuite possible de l’adapter à vos besoins réels pour réaliser votre propre application. Pour cet exemple, nous allons créer un module de gestion documentaire un peu plus simple que la Médiathèque présente dans la démo d'Automne.

ATTENTION : Certaines opérations ne peuvent être modifiées une fois effectuée. De même, un module ne peut être supprimé une fois créé. Il est donc préférable d’utiliser une version démo d’Automne pour faire des essais plutôt que de commencer directement à créer votre module sur un site en ligne.

Le module de gestion documentaire permet de gérer des fichiers de type Word, PDF, etc. au travers de votre site. Il permet de catégoriser ces fichiers comme vous le souhaitez, d’y associer des droits (de visibilité ou de modification) et d’avoir un point central de contrôle de tous les fichiers mis à disposition sur votre site quelque soit l’endroit ou vous les emploierez ensuite.

Création du module :

Dans la section "Administration > Gestion des modules" cliquez sur « Nouveau ».

> Gestion des modules" cliquez sur « Nouveau ». Vous pourrez ainsi ajouter une nouvelle application.

Vous pourrez ainsi ajouter une nouvelle application. Donnez un nom à cette application ainsi qu’un identifiant (codename). Cet identifiant sera employé par Automne pour désigner de façon unique votre module. Il ne doit donc pas avoir déjà été utilisé. Veillez à le choisir de façon adéquate car il ne pourra pas être modifié ensuite. Nous allons donc créer un module ayant comme identifiant pdocs (par convention, « p » pour Polymod, puis docs pour « documents ») et comme nom « Gestion documentaire ».

« documents ») et comme nom « Gestion documentaire ». Création de la structure des objets

Création de la structure des objets :

Une fois créé, le module attend la création des objets le composant. Un objet servant de réceptacle aux champs élémentaires dont nous avons parlé plus haut. Chaque objet possède un nom, une description un statut de

Page 26/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

ressource (voir l’explication sur la page adéquate d’Automne). D’autres options sont disponibles pour ces objets mais nous en verrons le détail plus tard.

pour ces objets mais nous en verrons le détail plus tard. A T T E N

ATTENTION : Tous les paramètres d’un objet sont modifiable ultérieurement à l’exception du statut de ressource, veillez donc à bien le choisir dès la création de l’objet.

Pour notre exemple nous n’avons besoin que d’un seul type d’objet : l’objet « Document » qui stockera le fichier ainsi qu’un ensemble de méta données relatives à ce fichier. Cet objet sera de type « ressource primaire » car nous souhaitons que son contenu ne soit visible en ligne que suite à sa validation par un utilisateur possédant les privilèges adéquat (bien entendu ce point est à définir en fonction de votre besoin). De plus le fait d’être une ressource primaire permet à l’objet d’avoir automatiquement des dates de publications ce qui peut-être utile pour publier ou dépublier des documents à des dates données.

Il est donc maintenant nécessaire de définir précisément quels seront les champs élémentaires composant notre objet « Document »

Commençons par son titre. Nous allons créer un nouveau champ et choisir dans la liste déroulante quel type d’élément sera utilisé pour ce champ. Ici, un champ de type « chaîne de caractère » semble convenir car nous souhaitons n’avoir qu’une simple labellisation du document sans mise en forme. Suite à ce choix, un formulaire apparaît permettant de définir précisément le champ : Titre, description (facultatif) suivit de paramètres propres au champ définit (longueur maximum : 255 caractères et la vérification sur l’email qui permet dans d’autres cas de vérifier que la valeur saisie est bien un email valide). Pour finir, 3 cases à cocher permettent de spécifier des options particulières pour le champ :

Est il obligatoire. Dans le cas d’un titre, on peut estimer que oui, sa saisie est nécessaire.de spécifier des options particulières pour le champ : Ajouter au formulaire de recherche. Dans l’administration

Ajouter au formulaire de recherche. Dans l’administration du module, permet d’utiliser ce champ lors desDans le cas d’un titre, on peut estimer que oui, sa saisie est nécessaire. Page 27/67

Page 27/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

recherches par mot clé ou de proposer une liste déroulante pour les objets composés. Dans le cas présent, cette case est à cocher car le titre est un élément à prendre en compte dans les recherches.

Visible dans les résultats d’une recherche. Ce paramètre permet de définir les champs importants que vous souhaitez voir apparaître dans les résultats des recherches que vous effectuerez sur vos documents dans l’administration du module. Le titre en tant que 1er champ de l’objet est obligatoirement visible, inutile donc de cocher cette case ici.est un élément à prendre en compte dans les recherches. Une fois ces différents paramètres sélectionnés,

visible, inutile donc de cocher cette case ici. Une fois ces différents paramètres sélectionnés, validez

Une fois ces différents paramètres sélectionnés, validez la création de votre champ pour passer au suivant.

ATTENTION : Tous les paramètres d’un champ sont modifiable ultérieurement à l’exception de son type, veillez donc à bien le choisir dès la création de l’objet.

Suite au titre, nous créerons 4 champs supplémentaires :

Un champ catégorie, permettant de catégoriser les différents fichiers gérés par le module. Deux options importantes pour ce type de champ : les catégories multiple (permet d’associer une seule catégorie ou plusieurs pour notre fichier), ici plusieurs catégories pour un même document semble justifié. La catégorie de plus haut niveau parmet de spécifier (une fois des catégories crées dans l’administration du module) d’en choisir une comme racine pour ce champ. Ce peut-être très utile dans le cas ou plusieurs champs sont de type catégorie pour un même objet donné.Suite au titre, nous créerons 4 champs supplémentaires : Un champ langue (peut-être omis dans le

Un champ langue (peut-être omis dans le cas ou le multilinguisme ne fait pas parti de votre besoin.champs sont de type catégorie pour un même objet donné. Un champ description au format texte

Un champ description au format texte (avec mise en forme HTML) permettra de décrire plus précisément le document.cas ou le multilinguisme ne fait pas parti de votre besoin. Enfin le champ fichier à

Enfin le champ fichier à proprement parler qui permettra d’importer le fichier Word, PDF, etc. qui sera associé à l’objet document que nous avons créé.(avec mise en forme HTML) permettra de décrire plus précisément le document. Page 28/67 Créé le

Page 28/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Gestion des documents, administration du module : Une fois

Gestion des documents, administration du module :

Une fois la création de la structure des différents objets terminés, vous pouvez commencer la saisie du contenu du module via la liste des applications au même titre que tout module existant.

L’administration du module est construite automatiquement en fonction de la structure des différents objets que vous aurez créé.

Saisissez si besoin un ensemble de catégories (pensez suite à la création de la première catégorie à vous donner les droits d’accès à cette catégorie dans votre profil) puis vous pouvez créer / rechercher / modifier / supprimer / valider vos objets coté administration du site. Au besoin vous pouvez éditer les propriétés de vos objets si certains détails sont à peaufiner.

Il est aussi possible d’ajouter des champs si certains se révèlent manquant. Vous pouvez aussi supprimer des champs.

ATTENTION : En supprimant un champ, vous perdrez toutes les données déjà saisies pour ce champ.

Lorsque vous jugez que le coté administratif du module convient à votre besoin, vous pouvez penser à la manière dont vous souhaitez afficher les informations fournies par le module coté publique du site.

Affichage du module coté public :

3 possibilités s’offrent à vous pour afficher vos données provenant du module sur le site publique géré par Automne :

du module sur le site publique géré par Automne : Création de rangée de contenu :

Création de rangée de contenu :

Une rangée de contenu est la méthode la plus souple et la plus complète pour insérer le contenu du module dans votre site. En effet, vous pouvez de cette manière spécifier complètement l’affichage du contenu ainsi que le moteur de recherche le cas échéant.

Page 29/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Création d’un plug-in pour l’éditeur visuel (WYSIWYG) :Un plug-in pour l’éditeur visuel (WYSIWYG) vous permet

Un plug-in pour l’éditeur visuel (WYSIWYG) vous permet d’insérer dans vos textes mis en forme un ou plusieurs éléments provenant du module tout en gardant une liaison entre l’élément du module et son affichage : la suppression, la péremption des dates de publication ou l’absence de droits sur l’objet le feront automatiquement disparaître de l’endroit ou vous l’avez inséré pour être remplacé par ce que vous souhaitez (texte explicatif ou même un simple vide.

Création de fils RSS :vous souhaitez (texte explicatif ou même un simple vide. Un fils RSS est généralement complémentaire de

Un fils RSS est généralement complémentaire de l’une des deux autres méthodes d’affichage cité plus haut. Cela permet à vos internautes de pouvoir suivre simplement l’ajout de nouveaux contenus pour un module donné (par exemple un module d’actualité ou un module de blog).

Bien entendu ces 3 méthodes d’affichages sont complémentaires les unes des autres et il est tout à fait possible de les combiner les unes aux autres pour un module donné. Nous nous contenterons dans cet exemple de créer une rangée de contenu pour le module documents. En effet les deux autres méthodes d’affichages (plug-in pour l’éditeur visuel et fils RSS) respectent les mêmes principes et de plus, la démo d’Automne 3.3.0 présente deux exemples de plug-in pour l’éditeur visuel pour le module « Gestion documentaire » et un exemple de fil RSS pour le module « Actualités ». N’hésitez pas à vous y référer en cas de besoin ou bien de poser vos questions à ce sujet sur le forum.

Création d’une rangée de contenu :

Pour créer une rangée de contenu, allez dans la section « Modèles » d’Automne puis sur l’onglet « Bibliothèque de rangées ». Créez une nouvelle rangée vous ouvrira un zone de texte dans laquelle vous pourrez créer ici le code XHTML / XML nécessaire.

ATTENTION : Il est nécessaire de parfaitement maîtriser XHTML et CSS pour pouvoir créer correctement une rangée de contenu pour votre site.

Saisissez un nom pour votre rangée reflétant son utilité. Par exemple nous allons créer ici un moteur de recherche pour afficher les divers documents du module, ce nom pourrait donc être « Gestion documentaire : Recherche ». Il est important ici de comprendre les différents concepts nécessaires à la création d’une rangée. Un certain nombre d’étapes sont à réaliser au fur et à mesure.

Pour commencer, l’ensemble des tags XML disponibles pour un module sont détaillés en dessous de la zone de saisie de la rangée.

détaillés en dessous de la zone de saisie de la rangée. Cette aide dynamique vous listera

Cette aide dynamique vous listera tous les différents éléments que vous pouvez employer en fonction de la structure que vous avez donné au module.

Page 30/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Sélectionnez dans l’aide du module la syntaxe des « Blocs de données », vous obtiendrez le détail concernant le tag <block> qui doit contenir l’ensemble des tags relatif à votre module (une rangée pouvant accueillir des blocs de plusieurs modules différents). C’est donc par ce tag que vous devez commencer votre rangée avant toute chose. Dans ce tag, nous allons ensuite coder un formulaire qui servira à lancer une recherche sur les documents du module. A ce niveau, vous pouvez saisir un simple formulaire en XHTML contenant un champ texte (pour la recherche par mots clé) suivi par exemple d’une liste déroulante pour pouvoir sélectionner les documents par catégorie pour conclure notre formulaire nous allons bien sur ajouter un bouton de validation.

Le code ressemble maintenant à quelque chose comme cela :

<row> <block module="pdocs" id="docssearch" language="fr"> <div id="docssearch"> <form action="" method="get"> <h3>Rechercher des documents : </h3> <label for="keyword">Mots Clés : </label><br /><input type="text" id="keyword" name="keyword" value="" /><br /> <label for="cat">Catégorie : </label><br /> <select id="cat" name="cat"> <option value=""> </option> </select> <br /><br /> <input type="submit" class="button" name="search" value="Rechercher" /> </form> </div> </block> </row> Maintenant il nous faut préciser sur quelle adresse doit se soumettre le formulaire, dans notre cas nous souhaitons qu’il affiche la même page. Dans l’aide, consultez la partie « Variables générales » vous y trouverez la syntaxe des variables relative aux pages. Toutes les variables, relatives à l’environnement ou bien aux objets que vous allez manipuler sont entourées par deux accolades. Dans notre cas nous souhaitons avoir l’adresse de la page en cours dans l’attribut action du tag <form> ce qui se traduit par {page:self:url}. Nous souhaitons aussi que le formulaire conserve les données qui y ont été saisies pour la recherche lorsqu’il se réaffiche. Dans le champ texte nous allons donc remplir l’attribut value avec la variable {request:string:keyword}. Enfin, nous souhaitons que le tag <select> affiche l’ensemble des catégories relatives aux documents. Pour se faire, dans l’aide, nous allons sélectionner le champ « Catégories » appartenant à l’objet « Document ». Nous obtenons ici l’ensemble des variables et fonctions disponibles pour ce champ particulier. L’une des fonctions disponible est spécifiquement prévue pour répondre à ce besoin : la fonction « selectOptions ». Le formulaire a maintenant cette forme :

<row> <block module="pdocs" id="docssearch" language="fr"> <div id="docssearch"> <form action="{page:self:url}" method="get"> <h3>Rechercher des documents : </h3> <label for="keyword">Mots Clés : </label><br /><input type="text" id="keyword" name="keyword" value="{request:string:keyword}" /><br /> <label for="cat">Catégorie : </label><br /> <select id="cat" name="cat"> <option value=""> </option> <atm-function function="selectOptions" object="{Document:Categories}" selected="{request:int:cat}"> </select>

Page 31/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

<br /><br /> <input type="submit" class="button" name="search" value="Rechercher" /> </form> </div> </block> </row>

Une fois le formulaire de recherche préparé, il faut maintenant récupérer et interpréter les valeurs qu’il envoie, lancer une recherche sur ces données et afficher les résultats correspondants.

Pour se faire, nous allons créer un moteur de recherche. La notion de recherche est très importante dans la création d’une rangée. En effet, la plus grande partie des opérations d’affichage des éléments des modules consiste à les rechercher avec un certain nombre de critères puis à les afficher d’une certaine manière.

Comment appréhender correctement cette recherche ? Prenons un exemple simple : Imaginez un champ patates. Ce champ est composé de centaines de patates de différentes formes, catégorie, poids, taille, forme, etc. Vous souhaitez rechercher dans ce champ des patates répondant à un certain nombre de critères.

Notre recherche va donc s’effectuer de la manière suivante :

1. Nous cherchons des patates

2. Nous voulons

que ces patates répondent aux critères suivants (par exemple) :

Une taille donnéepatates répondent aux critères suivants (par exemple) : Une forme donnée 3. Sur l’ensemble de patates

Une forme donnéeaux critères suivants (par exemple) : Une taille donnée 3. Sur l’ensemble de patates répondant aux

3. Sur l’ensemble de patates répondant aux critères ci-dessus, nous souhaitons trier les résultats par taille de patate croissante.

4. Enfin, nous souhaitons avoir les 30 premières patates répondant à cet ensemble de critères.

Donc pour résumer, une recherche se compose de 3 grandes étapes :

Définir ce qui est recherché,résumer, une recherche se compose de 3 grandes étapes : Définir un ensemble de critères à

Définir un ensemble de critères à respecter pour les résultats,de 3 grandes étapes : Définir ce qui est recherché, Définir comment présenter ces résultats (tri

Définir comment présenter ces résultats (tri et nombre de résultats à renvoyer).un ensemble de critères à respecter pour les résultats, Revenons maintenant à notre exemple initial :

Revenons maintenant à notre exemple initial : la recherche de documents. Dans cet exemple, nous allons donc rechercher des documents et les filtrer par mot-clé et / ou par catégorie.

Pour ce faire, dans l’aide, consultez la partie « Effectuer une recherche » vous y trouverez la syntaxe des différents tags relatif à cette tache. Nous commencerons par définir la création d’une nouvelle recherche et y spécifier les deux critères limitant pouvant provenir du formulaire créé plus haut. Cela nous donne un code de ce type :

<atm-search what="{Document}" name="docsresult"> <atm-search-param search="docsresult" type="{Document:Categories:fieldID}" value="{request:int:cat}" mandatory="false" /> <atm-search-param search="docsresult" type="keywords" value="{request:string:keyword}" mandatory="false" /> <atm-result search="docsresult">

</atm-result> <atm-noresult search="docsresult">

</atm-noresult>

</atm-search>

Page 32/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Le tag <atm-search> défini la recherche, les tags <atm-search-param> définissent les filtres (optionnels) à appliquer sur cette recherche et les tags <atm-result> et <atm-noresult> définissent respectivement l’affichage des résultats et l’affichage dans le cas ou il n’y a aucun résultat.

Concernant l’affichage des résultats maintenant. Le tag <atm-result> sera lu pour chaque résultat trouvé par la recherche. Il faut donc dans ce tag détailler l’aspect de l’affichage d’un document en se servant de tags XHTML classqiues pour la mise en forme, de tags de « Travail » pour spécifier des règles propres au résultat à afficher ainsi que des variables des champs des documents. Ceci peut donc nous donner le code suivant :

<div class="title">{Document:formatedDateStart|d/m/Y} - {Document:label}</div> <div class="cat"> <atm-loop on="{Document:Categories:values}"> <a href="{page:self:url}?cat={Document:Categories:values:id}" title="Voir les documents de la catégorie '{Document:Categories:values:label}'">{Document:Categories:values:label}</a> <atm-if what="!{lastloop}">, </atm-if> </atm-loop> </div> <atm-if what="{Document:Description:value}">{Document:Description:value}</atm-if> <atm-if what="{Document:Fichier:fileIcon}"><img src="{Document:Fichier:fileIcon}" alt="{Document:Fichier:fileExtension}" title="{Document:Fichier:fileExtension}" /> </atm-if>{Document:Fichier:fileHTML} - {Document:Fichier:fileSize}Mo <hr />

Notez le tag <atm-loop> permettant d’afficher les différentes catégories du document ainsi qu’un lien permettant de relancer une recherche sur cette catégorie de documents. De même, notez la vérification à l’aide du tag <atm-if> sur la présence d’une icône associée au type de fichier avant d’afficher cette icône (dans le cas où elle existe). Idem pour l’affichage de la description du document.

La rangée est pratiquement terminée, il reste à ajouter :

La rangée est pratiquement terminée, il reste à ajouter : Un message dans le tag <atm-noresult>

Un message dans le tag <atm-noresult> pour spécifier qu’aucun résultat n’a été trouvé :

<atm-noresult search="docsresult">Aucun résultat trouvé pour votre recherche

</atm-noresult>

L’affichage du nombre de résultats trouvés avant l’affichage du premier résultat :trouvé pour votre recherche </atm-noresult> <atm-if what="{firstresult}">{maxresults}

<atm-if what="{firstresult}">{maxresults} résultat(s) pour votre recherche</atm-if>

résultat(s) pour votre recherche</atm-if> Un système de pagination des résultats à afficher après

Un système de pagination des résultats à afficher après le dernier résultat de la page :

<atm-if what="{lastresult}"> <div class="pages"> <atm-function function="pages" maxpages="{maxpages}" currentpage="{currentpage}" displayedpage="5"> <pages><a href="{page:self:url}?cat={request:int:cat}&amp;keyword={request:string:keyword}&amp;page={n}">{n}</a> </pages> <currentpage><strong>{n}</strong> </currentpage> <previous><a href="{page:self:url}?cat={request:int:cat}&amp;keyword={request:string:keyword}&amp;page={n}">&lt;</a> </previous> <next><a href="{page:self:url}?cat={request:int:cat}&amp;keyword={request:string:keyword}&amp;page={n}">&gt;</a>

Page 33/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

</next>

</atm-function>

</div>

</atm-if>

Et pour que cette pagination soit correctement prise en compte par le moteur de recherche, il faut lui ajouter juste avant le tag <atm-result> deux tags permettant de spécifier la page à afficher et le nombre de résultats par page :

<atm-search-limit search="docsresult" value="10" /> <atm-search-page search="docsresult" value="{request:int:page}" />

Une fois tout ceci aggloméré, nous obtenons le code suivant pour la rangée documents :

<row> <block module="pdocs" id="docssearch" language="fr"> <!--Search form--> <div id="docssearch"> <form action="{page:self:url}" method="get"> <h3>Rechercher des documents : </h3> <label for="keyword">Mots Clés : </label><br /><input type="text" id="keyword" name="keyword" value="{request:string:keyword}" /><br /> <label for="cat">Catégorie : </label><br /> <select id="cat" name="cat"> <option value=""> </option> <atm-function function="selectOptions" object="{Document:Categories}" selected="{request:int:cat}"> </select> <br /><br /> <input type="submit" class="button" name="search" value="Rechercher" /> </form> </div> <!--Search documents--> <div id="docsresult"> <atm-search what="{Document}" name="docsresult"> <!--Search Filters--> <atm-search-param search="docsresult" type="{Document:Categories:fieldID}" value="{request:int:cat}" mandatory="false" /> <atm-search-param search="docsresult" type="keywords" value="{request:string:keyword}" mandatory="false" />

<!--Results per pages and page to search--> <atm-search-limit search="docsresult" value="10" /> <atm-search-page search="docsresult" value="{request:int:page}" />

<!--Displaying results--> <atm-result search="docsresult"> <!--Display results number on first result--> <atm-if what="{firstresult}">{maxresults} résultat(s) pour votre recherche</atm-if>

<!--Display a result--> <div class="title">{Document:formatedDateStart|d/m/Y} - {Document:label}</div> <div class="cat"> <atm-loop on="{Document:Categories:values}"> <a href="{page:self:url}?cat={Document:Categories:values:id}" title="Voir les documents de la catégorie '{Document:Categories:values:label}'">{Document:Categories:values:label}</a> <atm-if what="!{lastloop}">, </atm-if>

Page 34/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

</atm-loop> </div> <atm-if what="{Document:Description:value}">{Document:Description:value}</atm-if> <atm-if what="{Document:Fichier:fileIcon}"><img src="{Document:Fichier:fileIcon}" alt="{Document:Fichier:fileExtension}" title="{Document:Fichier:fileExtension}" /> </atm-if>{Document:Fichier:fileHTML} - {Document:Fichier:fileSize}Mo <hr />

<!--Display pagination on last result--> <atm-if what="{lastresult}"> <div class="pages"> <atm-function function="pages" maxpages="{maxpages}" currentpage="{currentpage}"

displayedpage="5">

<pages><a

href="{page:self:url}?cat={request:int:cat}&amp;keyword={request:string:keyword}&amp;page={n}">{n}</a>

</pages>

<currentpage><strong>{n}</strong> </currentpage> <previous><a href="{page:self:url}?cat={request:int:cat}&amp;keyword={request:string:keyword}&amp;page={n}">&lt;</a> </previous>

<next><a

href="{page:self:url}?cat={request:int:cat}&amp;keyword={request:string:keyword}&amp;page={n}">&gt;</a>

</next>

</atm-function>

</div>

</atm-if>

</atm-result>

<!--No results to display--> <atm-noresult search="docsresult">Aucun résultat trouvé pour votre recherche </atm-search> </div> </block> </row>

</atm-noresult>

Et vous pouvez faire évoluer cette rangée de la manière qui répond le mieux à votre besoin. Vous pouvez aussi - comme dans la démo - scinder cette rangée en deux rangées distinctes (une partie « formulaire de recherche », l’autre partie « affichage des résultats ») pour répondre à un besoin particulier de mise en page.

Conclusion :

Cet exemple pourrait être bien plus détaillé mais l’essentiel des concepts du système sont décrit ci-dessus. Vous trouverez dans la section suivante de cette documentation un ensemble d’exemples d’utilisation que nos avons mis en place sur d’autres site. Ceci pour vous permettre d’avoir une meilleure vision d’ensemble des capacités de cet outil. Le forum étant à votre disposition pour toute demande d’aide, de conseils ou si vous constatez la moindre erreur.

Page 35/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Exemples de modules Polymod

Vous trouverez sur cette page quelques exemples simples de modules Polymod.

Descriptif du fonctionnement, structure des objets et code XML des rangées de contenu.

Tout le nécessaire pour pouvoir vous inspirer de ces modules pour créer vos propres modules simplement.

Modules disponibles

créer vos propres modules simplement. Modules disponibles Module Commentaires Page 36/67 Créé le 11/04/2012 14:54:59

Page 36/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Module Commentaires

Module Commentaires :

Le module Commentaires est celui qui est employé dans les pages de ce site pour créer les contributions visibles en bas de page. Vous trouverez ci-dessous la structure de l'objet Commentaire à reproduire ainsi que la rangée de contenu permettant de créer la logique d'affichage sur le site. Bien entendu ce code est fourni à titre d'exemple et peut être modifié en fonction de vos besoins.

Structure de l'objet 'Commentaire' :

Voici les différents champs (et leur type) qui composent un object "Commentaire" :

Auteur (Chaîne de caractères)leur type) qui composent un object "Commentaire" : Email (Chaîne de caractères) Site web (Chaîne de

Email (Chaîne de caractères)"Commentaire" : Auteur (Chaîne de caractères) Site web (Chaîne de caractères) Commentaire (Champ texte)

Site web (Chaîne de caractères)(Chaîne de caractères) Email (Chaîne de caractères) Commentaire (Champ texte) Date de création (Date) Page

Commentaire (Champ texte)(Chaîne de caractères) Site web (Chaîne de caractères) Date de création (Date) Page (Page) Notification par

Date de création (Date)Site web (Chaîne de caractères) Commentaire (Champ texte) Page (Page) Notification par email (Notification par email)

Page (Page)Commentaire (Champ texte) Date de création (Date) Notification par email (Notification par email) Rangée de

Notification par email (Notification par email)(Champ texte) Date de création (Date) Page (Page) Rangée de contenu : Voici le code XML

Rangée de contenu :

Voici le code XML qui permet de créer la rangée permettant d'afficher et de saisir les commentaires dans une page. Ici il s'agit du code employé pour la fonction "Ajouter une contribution" que l'on retrouve en bas de toutes les pages de documentation du ce site ainsi qu'en bas de cette page.

Cette rangée effectue d'abord la recherche des commentaires pour la page en cours, puis elle affiche les résultats éventuels.

Elle permet en plus de saisir un commentaire en affichant un formulaire de saisie.

<row> <block module="comments" id="comment" language="fr"> <div id="comments"> <atm-if what="!{request:int:viewComments}">

<h2>

<atm-search what="{Commentaire}" name="searchComment"> <atm-search-param search="searchComment" type="{Commentaire:Page:fieldID}" value="{page:self:id}" mandatory="true" /> <atm-search-limit search="searchComment" value="1" /> <atm-search-page search="searchComment" value="1" /> <atm-result search="searchComment"> <a href="{page:self:url}?viewComments=1#viewComments" title="Voir les {maxresults} contributions(s)">Voir les {maxresults} contributions(s)</a> </atm-result> <atm-noresult search="searchComment"><a href="{page:self:url}?viewComments=1#addComment" title="Ajouter une contribution">Ajouter une contribution</a></atm-noresult> </atm-search>

</h2>

Page 37/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

</atm-if> <atm-if what="{request:int:viewComments}"> <atm-search what="{Commentaire}" name="searchComment"> <atm-search-param search="searchComment" type="{Commentaire:Page:fieldID}" value="{page:self:id}" mandatory="true" /> <atm-search-order search="searchComment" type="objectID" direction="asc" /> <atm-result search="searchComment"> <atm-if what="{firstresult}"> <a name="viewComments"> </a> <h2>Vos contributions : </h2> </atm-if> <div class="comment"> <a name="comment{Commentaire:id}"> </a>

<h3>Par

<atm-if what="{Commentaire:Site_web:value}"> <?php $website = {Commentaire:Site_web:value}; if (substr($website, 0, 4) !== 'http') { $website = 'http://'.$website;

}

?> <a href="{var:string:website}" target="_blank" rel="nofollow">{Commentaire:Auteur:value}</a> </atm-if> <atm-if what="!{Commentaire:Site_web:value}"> {Commentaire:Auteur:value} </atm-if> le {Commentaire:Date_de_creation:formatedValue|d/m/Y H:i:s} :</h3> {Commentaire:Commentaire:htmlvalue}<br /> </div> </atm-result> </atm-search> <a name="addComment"> </a> <h2>Ajouter une contribution : </h2> <div class="comment">

<em>Les contributions servent à compléter la documentation en détaillant des points précis ou pour donner des exemples. Elles sont modérées et peuvent être supprimées sans préavis.<br /> <strong>Pour poser des questions ou rapporter un bug, merci d'employer <a href="/forum/" target="_blank">le forum</a></strong>.</em> </div> <div class="comment"> <atm-form what="{Commentaire}" name="addComment"> <atm-if what="{filled}"> <div class="comment-ok">Votre contribution à été ajoutée !</div> </atm-if> <atm-if what="!{filled}"> <atm-if what="{required}"> <span class="comment-alert"> <ul> <atm-form-required form="addComment">

<li>Le champ {requiredname} est requis </atm-form-required> </ul> </span> </atm-if>

Page 38/67

</li>

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

<atm-if what="{malformed}"> <span class="comment-alert"> <ul> <atm-form-malformed form="addComment"> <li>Le champ {malformedname} est incorrect

</atm-form-malformed> </ul> </span> </atm-if> <input type="hidden" value="1" name="viewComments"/> <label for="12_0"><span class="comment-alert">*</span> Nom :</label><br /> <atm-input field="{Commentaire:Auteur}" form="addComment" /><br />

</li>

<label for="15_0"><span class="comment-alert">*</span> Email <small>(Invisible sur le site)</small> :</label><br /> <atm-input field="{Commentaire:Email}" form="addComment" /><br /> <label for="18_0">Site : </label><br /> <atm-input field="{Commentaire:Site_web}" form="addComment" /><br />

<input

type="hidden" value="{page:self:id}" name="16_0"/>

<input type="hidden" value="16" name="polymodFields[16]"/> <input type="hidden" value="1" name="17_0"/> <input type="hidden" value="17" name="polymodFields[17]"/> <label for="13_0"><span class="comment-alert">*</span> Texte <small>(HTML non autorisé)</small> : </label><br /> <atm-input field="{Commentaire:Commentaire}" form="addComment" /><br /> <small>Date de votre contribution : <atm-input field="{Commentaire:Date_de_creation}" form="addComment" /></small> <input class="submit" type="submit" name="submit" value="Poster votre contribution" /> <div class="spacer"></div> </atm-if> </atm-form> </div> </atm-if> </div> </block> </row>

Page 39/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Automne pour les nuls

Automne pour les nuls Ce tutoriel de découverte et de prise en main d'Automne

Ce tutoriel de découverte et de prise en main d'Automne est écrit pour les débutants par Jack Paloque-Berges (alias Jack81 sur le forum) un utilisateur d'automne. Débutant sous ce système lui-même. :-)

Il s'adresse à ceux qui ont déjà quelques notions de PHP/MSQL/CSS/XHTML et savent (ou pas) ce qu'est un CMS (Content Management Système ou Gestion de contenu) mais peuvent êtres surpris par les nouveautés qu'apporte Automne en terme de modularité et son exceptionnelle potentialité.

Bien, que respectant les standard communs à la plupart des outils de gestion de contenu proposés en Open Source, ce logiciel innove et il n'est pas évident au premier abord d'appréhender la richesse de son ergonomie.

D'où la rédaction de cet tutoriel écrit au jour le jour par un utilisateur chevronné des CMS qui nous explique en français courant comment découvrir cette petite merveille.

Pas à pas, quand il a compris "comment ça marche". :-)

La suite :

Page 40/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Préliminaire

Ce préliminaire s'adresse à ceux d'entre nous qui ne sont vraiment pas familiarisé avec les CMS ou qui ont de la difficulté à comprendre le fonctionnement d'Automne tant soit peu que ce dernier sort de l'ordinaire.

Les initiés peuvent sauter ce chapitre bien que ce dernier soit conçus pour emmener à la compréhension en douceur des particularités de cet outil de travail très différent de ce que nous connaissons déjà.

Je découvre Automne et, comme dit par ailleurs, suis très favorablement séduit par ce CMS qui répond à n'en pas douter au besoin de pas mal d'entre nous.

Dans ce fil, je vous propose de partager mon expérience de tests chez mon hébergeur et de la prise en main de ce programme totalement nouveau pour moi. Il y a tout à apprendre mais quelques notions de HTML, XHTLL et PHP me paraissent suffisante pour développer un (des) site(s) de qualité tant l'ergonomie de cet outil a été bien pensée et professionnelle.

Reste à savoir si la configuration de notre serveur (mutualisé dans mon cas) est compatible avec Automne qui, selon mon expérience, est un CMS en open source à la pointe du progrès.

Outre les tests chez non hébergeur (Nuxit) et la "compatibilité" , je voudrais ici faire remonter les bugs, les difficultés à comprendre, les victoires, les suggestions, et enfin, les plus et moins par rapport aux systèmes de ce type déjà existants.

Tout d'abord, disons que trois éléments ont retenu mon attention quand j'ai rencontré Automne.

L'aspect multisiteont retenu mon attention quand j'ai rencontré Automne. Le module POLYMOD. La qualité de l'ensemble.

Le module POLYMOD.quand j'ai rencontré Automne. L'aspect multisite La qualité de l'ensemble. L'aspect multi-site. Le

La qualité de l'ensemble.Automne. L'aspect multisite Le module POLYMOD. L'aspect multi-site. Le rêve qui devient réalité.

L'aspect multi-site.

Le rêve qui devient réalité.

Bien sûr d'autres CMS font cela mais la pratique me montre que ce sont de véritables "usines à gaz" pas à la portée du premier venu et que la rigidité de ces systèmes limite la créativité sauf être doué de tous les talents (Codage, sécurité, graphisme, inventivité).

Bien évidemment, je n'ai pas encore été au bout de mes tests et ne connais pas (encore) les limitations d'Automne dans ce domaine et je pressent que rien n'est gagné d'avance surtout pour l'utilisation que je prévois d'en faire, mais la réactivité du support à déjà fait ses preuves et je ne vous cache pas que c'est la première chose que je teste quand je prévois d'adopter un CMS . Installer oui, mais après ?

Le module POLYMOD me parait résoudre bien des questions par rapport aux autres CMS car, chacun le sait, nous devons habituellement intégrer les modules un à un et, quand suite à l'évolution des versions toujours plus évoluées de ce genre d'outil, nous nous trouvons confrontés à des histoires de comptabilité (entre les versions et modules plus anciens) et surtout à des failles de sécurité.

N''importe quel geek bidouilleur (pléonasme) peut proposer en téléchargement une extension qui fonctionnera ou pas selon la version du noyau ou les caprices de paramétrage php de l'hébergeur qui souvent d'un jour à l'autre

Page 41/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

nous sucre une fonction absolument nécessaire laissant nos sites en carafe et nos yeux pour pleurer. Lol !!!

D'après ce que j'ai compris, avec POLYMOD nous créons nos modules toujours compatibles avec le noyau. En plus, cela se fait facilement et à notre pointure.

Autrement dit, créer des applications comme des pro sans avoir besoin de chercher ailleurs la quintessence de la programmation d'autrui.

A mon stade (quelques jours d'étude d'Automne), je n'ai pas encore fait le tour des bugs et des limitations mais

commence à avoir ma petite idée. J'ai compris que la volonté des programmeurs de ce logiciel est d'aller de l'avant et apprécie au plus haut point la transparence comme la mise en place par exemple du Bug Tracker. Un peu d'humilité ne fait pas de mal. ;)

Le POLYMOD donc, devrait résoudre les problèmes de recherche d'applications compatibles avec notre système (ou celui que nous voulons créer) et nous inciter les développer nous-même avec un outil à la portée d'un webmaster en herbe quelque peu inventif et observateur.

La qualité de l'ensemble.

Loin de moi l'idée de cirer des chaussures, mais il semble qu'un soin tout particulier soit apporté au développement de ce logiciel.

Il est certain que nous ne sommes pas arrivé au bout (il est en constante évolution) et que nous ressentons

comme un relent d'inachevé, mais, comme disait l'autre, Google ne s'est pas implémenté en un mois et personne n'a jusqu'ici de raison de s'en plaindre.

Dans mon évaluation des CMS existants, je privilégie la simplicité et fuis habituellement comme la peste les programmes trop jeunes, trop modernes et surtout gourmands en ressources. Pourquoi ? Parce que ma manie est de faire des sites internet pour moi-même et les autres et de leur apprendre à s'en servir (aux autres), et je sais pertinemment que mes aficionados n'ont pas toujours la compétence (et la patience) requise pour mettre en place et gérer des systèmes évolués. Dans ce domaine, tout est volatile, et ce qui fonctionne aujourd'hui ici nous donnera une excellente erreur 403 demain et qui saura, sinon les développeurs de la chose, remettre le train en marche si nous nous ne savons pas ?

En proposant Automne, WS Interactive joue gagnant, et ceux d'entre nous qui sauront collationner avec cette structure en les aidant à développer leur produit gagneront avec elle. D'où ce sujet que je viens d'ouvrir à mon bénéfice perso d'abord et celui de la communauté (les développeurs y compris off course) ensuite ou en même temps. Question d'appréciation. :-)))

Je débute sous Automne mais connais ce logiciel depuis pas mal de temps déjà.

En fait, mes premières visites sur ce site m'avaient laissé circonspect et j'avoue ne pas avoir suivi l'évolution comme je le fais avec d'autres "marques". Cette fois-ci, j'ai été arrêté et comme vous le voyez je suis encore là quelques semaines après.

C'est que cette fois-ci, j'ai vraiment ressenti le potentiel de cette initiative qui semble tenir la route et est porteuse d'avenir car nous en somme aujourd'hui au Web 2.0.0 (+). Ma crainte est de ne pas moi-même techniquement "tenir la route" tant cette dernière mouture (V4.0.1) est évoluée, et, si je prends le temps d'écrire ceci aujourd'hui, c'est que j'ai une absolu confiance en l'avenir de cette contribution car, de tous les CMS existants, j'ai rarement vu une facture si élaborée même si elle pèche par sa "jeunesse" et ne prends pas (encore) en compte certains paramètres pourtant évidents dans le monde du framework communautaire.

Les développeurs d'Automne n'ont rien à attendre de moi si ce n'est l'avis (éclairé) d'un simple utilisateur qui cherche des réponses à sa propre incompétence.

Page 42/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

J'évalue cette contribution car elle me semble correspondre à ce que beaucoup d'entre nous (les geeks bidouilleurs incompétents) recherchent. Mettre à la disposition de nos clients et amis des solutions adaptées à leurs propres besoins en jouant l'interface entre les développeurs patentés et ceux qui en savent moins que nous.

Page 43/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Etat des lieux

J''ai fais le choix d'installer automne V4.0.1 sur un host virtuel de mon serveur accédant à la page d'accueil principale par un sous domaine. Mon serveur est est multidomaine bien que mutualisé.

Premiers essais et problèmes rencontrés

Les fichiers d'installation posent quelques problèmes (Au jour d'aujourd'hui 29/03/10) mais cela doit être réglé et cela permet au profane de tester en live le support qui répond au quart de tour (+1).

L'accès à l'administration du système nous donne une excellente impression mais laisse apparaitre quelques lourdeurs. Cette délicate émotion s'estompe quand on découvre les subtilités du-dit système et le passage à la version 4.0.1 semble résoudre ces problèmes.

Il est regrettable qu'il faille se reloguer fréquemment mais ceci doit pouvoir se régler quelque part, et le débutant se demande pourquoi il est préférable de se déloguer pour voir ses modifications êtres prises en compte à moins qu'il n'ait rien compris à la fonction "régénération des pages" ce qui est mon cas pour le moment. ;-)

L'ensemble étant nouveau pour le débutant, il patauge et essaye d'apprendre par coeur l'abondante documentation mise à sa disposition par les promoteurs mais, le concept étant novateur, il n'y comprends rien et se demande si les promesses en front page du site sont bien applicables par les apprentis sorciers. Se décidant finalement à visionner les vidéos et lire les tutoriels et documentations (et ne pas les parcourir en diagonale), il fini par comprendre mais trouve les docs parfois incomplètes biens que de très compréhensibles si du moins nous avons le niveau requis.

Cela dit, avec un peu de patience

;)

Par exemple, il apprendra à fabriquer son premier module (en découvrrant avec ravissement le potentiel du merveilleux dénommé POLYMOD) mais sèchera au moment d'intégrer son oeuvre dans "une rangée de contenu" car, si il n'est pas trop idiot et a examiné les modules déjà en place, il constatera que rien n'est gagné d'avance. Surtout si il a pris la peine de lire des docs et contributions du forum (jusqu'à la lie) et constaté que la V4.0.1 est nouvelle et que la plupart des tutoriels sont consacrés à la V3+.

Bon ! se dit-il.Ce truc n'est vraiment pas mal et il faut laisser le temps aux initiateurs de parfaire leur système. Ceci est autant valable pour le système d'aide que pour le système tout court à en juger par les contributions au sein du Bug Tracker qui a le mérite d'exister et je tire personnellement mon chapeau à ceux qui ont eu le courage de le mettre en place. J'avoue que si j'avais vu cela en premier, je serais revenu chez Joomla, Xoop et consort.

Le débutant va continuer son évaluation et aura tôt fait de planter son système en essayant d'implémenter un module surtout si ce dernier se préoccupe d'identification des utilisateurs.

Pour ce qui est de la lecture, relecture et compréhension du système d'aide, le néophyte éclairé (habitué à instruire lui-même les autres), se dira qu'il en est écrit bien ou pas assez. Il trouve excellent l'apprentissage par images, vidéo et par l'exemple mais aussi faut-il que ces exemples fonctionnent ce qui n'est pas toujours le cas. Est-il sensé savoir les interactions entre les différents modules (voire les confits) et le nom qu'on leur donne (histoire "d'identifiant" ?

C'est un peu quand on veut passer de Windows à Linux. Il faut tout réapprendre et, sur les abondants forums consacrés au système pingouin, on trouve souvent des réponses (aux débutants) formulées en ce sens: "Allez d'abord lire la doc."

Page 44/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Oui, mais pour faire ceci, il faut savoir déjà cela et la documentation Linux fait à peu prés 4000 pages.

Haut les coeurs !!! :-)

Essayons de penser à cela et offrons à nos newsbees un préliminaire qui les formera aux bases du "concept Automne" encore plus clair qui ne les découragera pas.

Je remarque toutefois en écrivant ces lignes que, au fur et à mesure que je travaille, je suis de plus en plus à l'aise car et c'est un sentiment bien agréable. ;-)

Les premiers constats.

Mon temps d’évaluation a été consacré à l’examen de l’architecture, des outils et possibilités d’édition, de la réactivité du support et surtout du nécessaire niveau technique pour construire et gérer un site avec un logiciel de cette facture.

Cela m’a permis de faire les constations suivantes.

L’examen de l’architecture :

les constations suivantes. L’examen de l’architecture : Au premier abord c’est déroutant mais les webmasters (ou

Au premier abord c’est déroutant mais les webmasters (ou apprentis webmasters) comprendront très vite l’interface surtout si ils ont testé d’autres CMS car Automne reprends les grands principes en améliorant l’ensemble sur bien des points.Nous verrons plus loin les détails.

Les outils et possibilités d’édition :

Outre les grands classiques (rien ne manque), ce logiciel se dote nous l'avons vu d’un outil absolument puissant nommé POLYMOD qui permet de construire à volonté des applications comme par exemple un (ou des) blog(s), un système de commentaire, un moteur de recherche, une base de données clients, petites annonces, gestion de n’importe quoi et plein d’autres choses pour adapter notre site à nos besoins.les détails. Les outils et possibilités d’édition : J’apprécie particulièrement cette possibilité car,

J’apprécie particulièrement cette possibilité car, habitué à utiliser des CMS pour mes productions, je suis souvent limité par le nombre (et la qualité) des modules additionnels et je ne suis pas assez calé en PHP pour les développer moi-même.

Avec POLYMOD, terminé les recherches, les problèmes de sécurité et de mise à jour, les multiples versions instables mal documentées (voire abandonnées par les concepteurs), la compatibilité avec la version des CMS qu’on utilise et autres soubresauts d’humeur que l’on rencontre dans la quasi-totalité des systèmes existants. Si vous saviez le temps que j’ai consacré ces dernières années à chercher des CMS correspondant à mes besoins et des modules correspondants à ces systèmes ! Ici, nous aurons juste à passer un peu (beaucoup peut-être) de temps à comprendre comment cela fonctionne mais cela fait, comme je le prétends dans un autre post, le monde va changer et un simple amateur dans mon genre va être capable de « coder » ses propres sites avec les applications dont il a besoin.

Deux très bel exemple de sites construits sous Automne:

Le nécessaire niveau technique :

Le nécessaire niveau technique : L’architecte de ce logiciel, Sébastien Pauchet, prétends

L’architecte de ce logiciel, Sébastien Pauchet, prétends qu’il faut avoir de solides connaissances en PHP, XHTML, CSS et autres pour se lancer avec Automne. Il n’a pas tord mais je tempérerais un peu ses

Page 45/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

propos. Il est certain qu’il faut des bases et celui qui as déjà fabriqué un site Internet en a quelques unes surtout si il a tâté aux CMS dans le genre de NDDS, XOOP, JOOMLA ou autre TYPO. Avec cela, il lui faudra apprendre le jargon des initiateurs d’Automne pas toujours explicite mais là aussi c’est une question de patience et de réflexion.

Page 46/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

C’est quoi un CMS ?

1/ C’est quoi un CMS. Pour ceux qui ne le savent pas. (les autres peuvent sauter cette introduction.)C’est quoi un CMS ? 2/ Pourquoi choisir Automne. 3/ Tour d’horizon des

2/ Pourquoi choisir Automne.savent pas. (les autres peuvent sauter cette introduction.) 3/ Tour d’horizon des fonctionnalités 4/ Capacité à

3/ Tour d’horizon des fonctionnalitéssauter cette introduction.) 2/ Pourquoi choisir Automne. 4/ Capacité à exercer. 5/ Pré requis serveur hébergement

4/ Capacité à exercer.choisir Automne. 3/ Tour d’horizon des fonctionnalités 5/ Pré requis serveur hébergement et installation 6/ Tour

5/ Pré requis serveur hébergement et installationd’horizon des fonctionnalités 4/ Capacité à exercer. 6/ Tour du propriétaire B o n u s

6/ Tour du propriétaireexercer. 5/ Pré requis serveur hébergement et installation B o n u s : Questions à

B o n u s : Questions à l’équipe des développeurs à la fin de Bonus: Questions à l’équipe des développeurs à la fin de ce post.

D'autres rubriques off course à venir.à l’équipe des développeurs à la fin de ce post. 1/ C’est quoi un CMS. Un

1/ C’est quoi un CMS.

Un CMS est un Content Management Système (système de gestion de contenu en bon français) c’est-à-dire, pour faire bref, un site tout prêt à l’emploi qu’il suffit d’installer sur notre serveur (hébergement du site), de personnaliser à nos couleurs, et de remplir avec les informations que nous voulons faire apparaitre au public.

Pas besoin de « savoir coder » et d’être un Pro du développement (en général quelques notions suffisent), et seule l’imagination et votre inventivité sont sollicitées pour faire de votre site une oeuvre d’art unique alors qu’il en existe des milliers construit avec l’outil que vous allez employer.

Il existe des centaines de CMS dans le monde de l’Open Source proposés gratuitement par des passionnés qui rivalisent d’ingéniosité pour offrir aux apprentis webmasters les outils qui les aideront à réaliser leurs sites. Chacun choisira le plus proche de son besoin immédiat.

Un CMS est en général composé d’un « noyau » (architecture du logiciel) avec les fonctionnalités de base (faire des pages, gérer les utilisateurs, etc…) sur lequel se greffent des modules (ou extensions) spécifiques comme par exemple un forum, une newsletter, annuaire, glossaire, actualité, et bien d’autres choses.

Besoin d’une boutique sur votre site ? Cherchez chez l’éditeur du CMS que vous utilisez si un « module boutique » existe et si oui, installez-le en trois clics de souris et commencez à vendre vos bretelles.

Enfin, en principe. ;)

Doués de qualités absolument remarquables, les CMS ne souffrent pas moins de certains problèmes qu’il faut absolument connaitre avant de se lancer dans la production d’un site avec un outil de travail (logiciel) de ce type et surtout de le mettre en production (en ligne utilisable par le public).

Fonctionnera-il chez mon hébergeur ?le mettre en production (en ligne utilisable par le public). Qu’en est-il de la sécurité ?

Qu’en est-il de la sécurité ?par le public). Fonctionnera-il chez mon hébergeur ? Existe-il les modules correspondant à mes besoins ?

Existe-il les modules correspondant à mes besoins ?chez mon hébergeur ? Qu’en est-il de la sécurité ? La prise en main et son

La prise en main et son développement sont-ils à la portée de mes connaissances techniques ?? Existe-il les modules correspondant à mes besoins ? Un support est-il disponible et réellement réactif

Un support est-il disponible et réellement réactif ?sont-ils à la portée de mes connaissances techniques ? Ses utilisateurs en sont-ils satisfaits ou ont-ils

Ses utilisateurs en sont-ils satisfaits ou ont-ils beaucoup de problèmes ?? Un support est-il disponible et réellement réactif ? Autres questions… La meilleure façon de savoir

Autres questions…en sont-ils satisfaits ou ont-ils beaucoup de problèmes ? La meilleure façon de savoir tout cela

La meilleure façon de savoir tout cela est de rechercher sur le site de l’éditeur (celui qui développe le logiciel) la présence d’un forum où s’exprime la communauté des utilisateurs de tel ou tel système. Si il n’y a pas de forum (support), laissez tomber !

Page 47/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Visiter les sites réalisés avec le CMS sur lequel vous avez jeté votre dévolu est une bonne manière de tester les capacités, l’originalité et l’ergonomie de la chose. Vous verrez tout de suite qui l’utilise et ce qu'il en fait. Testez-en plusieurs et prenez le temps d’évaluer de font en comble. Vous regagnerez les heures perdues plus tard et considérez votre étude comme un investissement

2/ Pourquoi j’ai choisi Automne.

Cela a été dit par ailleurs, je suis comme qui dirait un spécialiste des CMS car, n’étant pas motivé pour me lancer dans la programmation (cela évolue trop vite et mon besoin ne va pas jusque là), je « bricole » mes sites avec des CMS existants et ceux qui auront eu la curiosité de cliquer sur les liens dans ma signature constateront que depuis très longtemps, j’utilise pour tous mes sites un CMS et un seul. C’est parce que de tous les outils existants c’est celui qui répond le plus à mes besoins.

Puis, en cherchant un outil qui me permettrait de faire du multi-site, je suis tombé sur Automne qui est un des rares à compter cela parmi ses fonctionnalités. Le réflexe a été de venir sur les forums voir ce que les utilisateurs en disent, essayer la démo en ligne pour voir de l’intérieur à quoi cela ressemble, et installer la choses sur mon serveur pour vérifier si ce script (assez pointu et c’est tout à son honneur) fonctionnait bien chez mon hébergeur.

Démo en ligne:

Identifiant: redacteur Mot de passe: automne

Les test préliminaires m’ont convaincu d’aller plus loin d’autant plus que le support est très présent et que j’ai découvert le module POLYPOD qui permet de fabriquer soi-même facilement ses propres modules sans avoir besoin « d’adapter » des bidouillages maison en utilisant des scripts externes qui ne sont pas toujours fiables ni souvent au top question sécurité (Voir plus loin dans ce mémento). Le tout a été fort bien pensé et l’ensemble regroupe dans son noyau la quasi-totalité des moyens qui font de ses congénères (autres CMS) de véritables usines a gaz.

De plus, techniquement, le système est moderne (Technologie AJAX et autres) et orienté avenir et parfaitement sécurisé. Je ne peux développer cet aspect mais les éditeurs l’ont fait sur les pages du site et les initiés comprendront. ;)

Je n’ai donc pas les compétences techniques pour faire évoluer vers le Web 2.0.0 (+) le CMS de prédilection que j’utilise (c’est beaucoup trop de travail), alors, Automne m’offrant d’un seul coup la modernité et la capacité de développer moi-même mes modules et de fabriquer des sites « à ma façon », je prends le temps d’étudier « comment ça marche » et je suis très heureux d’avoir déjà des premiers résultats. D’où ce mémento que vous êtes en train de lire.

De plus, Automne est développé par une équipe de professionnels tournés vers l’avenir et il n’y a pas besoin d’être un grand spécialiste pour constater la qualité de l’ensemble.

3/ Tour d’horizon des fonctionnalités

Une page spécifique a été éditée et vous y découvrirez l’extraordinaire potentialité du CMS Automne. Rien à rajouter à ce qui a été dit et le reste, vous le découvrirez tout seul.

Déjà, dans l’état, vous pouvez faire deux sites et les utiliser (après avoir relooké le Template à vos couleurs bien sûr), mais je vous conseille d’attendre de bien maitriser l’ensemble avant de le mettre en production. Apprivoisez

Page 48/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Automne qui se laissera bien vite amadouer. Cela nous emmène à la……

4/ La capacité à exercer.

Qu’on se le dise, Automne est un CMS mais, quoi que le travail soit bien avancé, il y a encore un peu de boulot si l’on veut personnaliser et tirer le meilleur profit de ce genre d’outil.

Avec un CMS « normal », il faut tout de même quelques bases html/php/MySQL, vite apprises sur le tas, mais avec Automne, on va développer des templates (les nôtres) et des applications avec Polymod qui est le fer de lance de ce logiciel.

Du html, il faudra passer au XHTML et XML mais vous n’avez pas le choix si vous voulez continuer à rester visibles sur le Net car les technologies évoluent et vous devez évoluer avec elles. C’est aussi une des raisons pour lesquelles j’envisage de migrer mes sites construits avec mon CMS de prédilection sous Automne car mes productions commencent à faire un peu vieillottes et risquent de ne plus fonctionner dans quelques années. Si mon incompétence est grande dans ce domaine, mon sens de l’observation est lui très aiguisé. Je développe du coup la patience et rien ne m’empêche de poser des questions ou (et) d’aller m’instruire sur des sites spécialisés quand il y a lacune.

Automne est un excellent travail pratique (pédagogique) et, si je ne m’abuse, l'Académie l’utilise pour initier ses élèves en guise de TP.

Attention: La version d’Automne utilisée pour ces travaux est ancienne et ces tutoriels ne sont plus d’actualité. Cela ne nous empêche pas d’aller un peu nous instruire. Pour utiliser Automne au maximum de ses capacités, il vous faudra donc quelques notions mais ceux qui débutent vraiment pourront tout de même utiliser ce CMS avec les éléments de base fournis avec l’archive. Pour ceux qui veulent aller encore plus loin, le team de développement vous renseignera sur les sessions de formation mises en place à destination des professionnels patentés.

5/ Pré requis serveur hébergement et installation

Là, il n’y a pas photo et tout est très bien expliqué ici

Page 49/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Tour du propriétaire

En visitant la démo ou en entrant dans l’administration de votre site quand vous l’aurez installé, ne vous laissez pas impressionner par le nombre d’outils déjà en place dont certains dont vous n’avez sans doute jamais entendu parlé.

La grande tentation quand nous découvrons un nouveau CMS est de vouloir un résultat tout de suite en nous basant sur ce que nous savons déjà faire parce que nous l’avons vu ailleurs. Mais là, il va vous falloir un peu de patience et regarder sans toucher du moins lors de votre première visite.

Ce truc, c’est comme une étagère Ikea.

Vous l’emmenez à la maison, méprisez la notice (en général écrite en chinois), et tentez d’assembler la dizaine de bouts de bois. Deux heures après, rouge de colère, vert de rage et noir d’humeur, vous revenez à un peu plus d’humilité et reprenez le bout de papier qui en général est la première chose que vous trouvez à l’ouverture du carton. Certes, vous ne savez toujours pas lire le chinois (ou le XHTML) mais vous savez interpréter un dessin et, 10 minutes après, l’étagère est montée et prête à recevoir les objets que vous voulez y caser. Satisfaction ! :-)

Hé ben là, vous allez faire pareil. :)

Au fur et à mesure de l’avancement de l’édition de ce tutoriel, nous vous donnerons la marche à suivre pour comprendre et faire fonctionner votre système. Marche à suivre, explications, copies d’écran, vidéos, tout est mis à votre disposition pour avancer pas à pas et, si il y a quelque chose qui vous échappe encore (cela arrivera bien sûr), les « utilisateurs enthousiastes » fréquentant ce lieu béni que sont les forums où les membres de l’équipe de développement d’Automne se feront un plaisir que de vous assister sur les forums.

Les amis sont là (les Grands d’Automne Community) pour expliquer l’inexplicable de ma part.

Vous verrez d’ailleurs souvent entre les lignes de ma production des interventions de Fred, Sébastien (ou d’autres) qui viendront appuyer, préciser ou corriger les points qui méritent quelques précisions. Bref, vous ne serez jamais seuls, et c’est entre autres pour cela que j’ai personnellement décidé de construite mon prochain site avec le CMS Automne. Lol !!!

Bon, vous avez téléchargé vos fichiers et installé Automne. Vous êtes entré dans l’administration par le lien http://www.votresite.com/automne/admin/ et, comme conseillé dans la rubrique d’installation, la première chose que vous avez faite est de changer le mot de passe de l’administration de votre site. Nous allons le faire ensemble.

Login par défaut « root » etmot de passe « automne »

Vous êtes dans l’administration du système (Admin pour les intimes) et vous ne voyez pas grand chose sauf un menu latéral en haut avec divers outils. Pour le moment, ce n'est pas ce qui nous intéresse.Vous voyez aussi (c'est un miracle) l'ensemble de votre site et en particulier la page en cours. Nous verrons plus loin comment en visualiser une autre.Regardez

la page en cours. Nous verrons plus loin comment en visualiser une autre.Regardez Page 50/67 Créé

Page 50/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Regardez maintenant dans le menu de droite. Pour le voir, positionnez le curseur de votre souris sur la partie droite de votre écran et il apparaitra par magie (sans doute).

de votre écran et il apparaitra par magie (sans doute). A ce stade, vous commencez à

A ce stade, vous commencez à avoir un aperçu des outils qui vont vous aider à gérer le CMS Automne et, dans

notre exemple, apparaissent des liens que vous ne voyez pas sur votre propre installation.

Apprentissage Blog Commentaire Gestion documentaire

Ils correspondent à des modules qui ont été fabriqués peu après l'installation par le webmaster du site sur lequel nous avons fait ces copies d'écran. Vous en trouvez certains qui sont d'origine (fournis à l'install pour vous aider à démarrer) et comme tous les autres ont été en fait fabriqués avec le fameux module POLYMOD qui, rappelons-le, a été conçus pour que vous puissiez fabriquer vous mêmes des applications personnalisées à votre site et à vos besoins.

Assez regardé. Commençons donc à travailler. :-)

Nous allons donc aller changer les identifiants d'usine (si j'ose dire) et renseigner les nôtres. Pour ce faire, cliquons sur le lien « Gestion des utilisateurs » qui ouvre un module (comme les autres) et qui sert comme son nom l'indique

à gérer les utilisateurs inscrits sur le site.

Cela vous ouvre un sous/menu et tant qu’à faire, cliquez sur: « Votre profil »

Une fenêtre s’ouvre. Voyez plutôt.

« Votre profil » Une fenêtre s’ouvre. Voyez plutôt. Le « nom » et « l’émail
« Votre profil » Une fenêtre s’ouvre. Voyez plutôt. Le « nom » et « l’émail

Le « nom » et « l’émail » sont déjà renseignés ainsi que l’identifiant de l’administrateur qui est « root » et qui ne peut pas être changé.

Notons que si il ne vous plait pas, vous pourrez créer un autre compte (avec l’identifiant qui vous plait) et lui donner des droits d’administrateur mais pour le moment, à part changer votre mot de passe, ne touchez à rien.

Page 51/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Les deux utilisateurs déjà en place "root" et "anonymous" ne peuvent pas êtres supprimés sous peine de se retrouver avec un Automne sans administrateur.

Vous allez tout de suite changer le mot de passe du super administrateur (vous) car cela serait vraiment dommage

si un zonzon entrait dans votre administration et construisait le site à votre place. C’est secret ces endroits là non

?

Bien q’Automne soit particulièrement sécurisé (les développeurs sont dans une autre vie spécialistes de la question), il est plus mieux de compliquer votre mot de passe au maximum. Exit le nom de votre chat, de votre petite amie ou celui de votre grand-mère.». Cela ne mange pas de pain et décourage les petits malins.

Tous les caractères sont autorisés sans exception.

Tant que nous y sommes, question sécurité, nous allons détruire via FTP le fichier install.php qui se trouve à la racine de votre site automne. Pourquoi ? Parce que si vous ne le faites pas, il me suffit de taper http://www.votresite.com/install.php pour recommencer l’installation dans votre dos et prendre la barre de votre bateau et vous aurez travaillé pour rien. Lol !

Bon, on a fini avec la sécurité et nous pouvons commencer la visite.

Nous avons déjà remarqué que le menu d’Admin (panneau latéral) se développe ou se rétracte dés que vous passez le curseur sur sa poignée que vous voyez à droite de votre écran. Si vous voulez le garder ouvert, vous pouvez l’épingler grâce à la punaise en haut à gauche du lien de déconnexion. Cela vous permet d’avoir une vue totale sur ce que nous pourrions appeler votre bureau puisque c’est là que vous allez travailler pour gérer votre site.

Remarquons tout de suite que, même le panneau latéral d’outils d’administration ouvert, vous avez une vue d’ensemble du site positionné sur la page en cours et nous comprendront par la suite l’utilité de cette ergonomie bien particulière et sans doute une exclusivité Automne.

Mais avant de créer (ou modifier) notre première page, nous allons procéder à quelques petits réglages qui vont bien nous faciliter la tache par la suite, tester en temps réel le comportement d’Automne selon les actions effectuées et la spécificité technique de votre serveur et surtout contrôler si tout va bien. Nous allons donc visiter le module d’administration et paramétrer le logiciel à notre convenance. Dans notre menu rétractable, cliquons sur « Administration ».

Page 52/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Un sous menu nous propose diverses actions et choisissons

Un sous menu nous propose diverses actions et choisissons pour commencer « Paramètres serveur ».

et choisissons pour commencer « Paramètres serveur ». Automne teste le serveur et coche en vert

Automne teste le serveur et coche en vert ou en rouge votre configuration serveur.

Soit tout est vert, tout va bien dans le meilleur des mondes et, pour ce qui est coché rouge, cela ne veut pas dire que rien ne va plus mais que certaines fonctions ne sont pas actives sur votre serveur. Les développeurs vont nous dire ce qui est indispensable ou non. Si vous avez un doute sur votre propre configuration, posez la question dans le « forum demande d’aide ». Passons maintenant aux « Paramètres Automne ».

« forum demande d’aide ». Passons maintenant aux « Paramètres Automne ». Page 53/67 Créé le

Page 53/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Renseignez tout de suite l’Email de l’administrateur où seront envoyés les « messages système » qui vous préviendront que quelque chose ne va pas, des modifications, créations, déplacements de pages et encore plein de choses que je ne sais encore même pas.

Activez ou non les cases proposées selon votre besoin et en particulier le débuggage qui vous renseignera sur le comportement d’automne durant vos test et aidera les développeurs quand vous les solliciterez.

Quand vous aurez terminé vos tests, vous pourrez désactiver cette fonction pour économiser de la ressource. Pour chaque item, une aide est visible en ligne en cliquant sur le petit ?Vert.

Voilà. Votre installation est maintenant prête à fonctionner en toute sécurité et je vous laisse aller visiter.

Regardons donc notre bureau (c’est moi qui nomme l’espace d’administration comme cela car on a tout sous la main pour travailler) et examinons les outils que nous avons sous les yeux.

et examinons les outils que nous avons sous les yeux. Nous voyons notre site un exactement

Nous voyons notre site un exactement comme les visiteurs mais avec les outils d’admin en plus si du moins vous avez cliqué sur un lien dans le menu de navigation (à gauche) ce qui affichera une page que je nommerais "page en cours". Je vous propose de vous positionner sur la page « Présentation » afin de vous aider à comprendre et que nous travaillons ensembles.

Un passage du curseur de votre souris sur chaque item du menu d'outils d'édition (en haut) vous renseignera sur sa fonction et nous allons commencer à nous en servir.

Remarquons tout de suite que le menu de navigation propose les pages selon une hiérarchie. Dans notre cas, nous avons trois catégories contenant chacune plusieurs pages.

Présentation Fonctionnalités Exemples de module

Un clic sur chaque catégorie dévoile des pages et, si vous vous positionnez sur la page mère « Présentation », la nouvelle page que vous créeriez serait automatiquement insérée dans la catégorie « présentation ». Si vous vous positionnez sur une page fille d’une catégorie, « Nouveautés » par exemple, votre nouvelle page deviendrait une page fille de « Nouveauté ».

Bien sûr, si vous changiez d’avis après la construction de la page, vous pourriez la déplacer ailleurs là où vous le voulez à l’aide de l’outil adéquat dans le menu du bouton « Action ».

Il y a beaucoup de choses à remarquer mais nous allons tout de suite examiner la structure de la page à éditer afin que vous puissiez obtenir tout de suite votre premier résultat et comprendre comment cela fonctionne.

Dans les CMS classiques, quand on fabrique une nouvelle page, on choisis en général la catégorie dans laquelle on veut la classer et nous trouvons devant un éditeur qui nous permet de donner un titre, un texte d’introduction et le corps de notre article que nous formatons à notre guise à l’aide des outils d’éditions.

Page 54/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

La page composée, on enregistre et hop, c’est dans la poche.Nous allons faire la même chose avec Automne mais le système est bien plus évolué car il va nous permettre de personnaliser notre page avec son propre Template (utile pour le multi-site) de faire apparaitre du texte, des images (ou n’importe quoi) à notre convenance, et aussi et surtout afficher les applications déjà intégrées dans le logiciel ou celles que nous aurons fabriqué selon notre besoin.

Sous Automne, il vous suffit de vous positionner sur une page pour que votre production devienne une sous page.

Nous sommes donc positionné sur la page « Présentation ». Nous cliquons sur l’outil « Créer » et une fenêtre s’ouvre nous proposant d’entrer le titre de la page, le titre du lien (qui apparaitra dans le menu) et une case à cocher qui dit: "Créer la page sans les rangées par défaut". Nous cochons cette case et vous allez comprendre pourquoi.

Remarquez qu’il vous est aussi proposé un modèle de page et choisissez sans hésiter « Intérieur démo ». Nous étudierons le concept des « Modèles de pages » dans un prochain chapitre. Cliquez en bas sur « créer » et attendez quelques secondes. Votre page est créée et vous voyez apparaitre quelque chose comme cela si vous avez comme moi écris « Page Testov » dans le nom de la page et Testov dans le nom du lien.

» dans le nom de la page et Testov dans le nom du lien. Cliquez sur

Cliquez sur "Créer" et voilà ce que cela donne.

Cliquez sur "Créer" et voilà ce que cela donne. Notez que votre page « Testov »

Notez que votre page « Testov » n’apparait pas encore sur le site car il n’y a rien dedans à part son titre et son template (habillage) et de toutes façon, elle n'est pas "validée" ce que nous allons faire tout de suite pour être sûr de ne pas la perdre. Nous la rouvrirons après.

Nous regardons le menu horizontal du haut et cliquons sur « Valider ce contenu » ce qui aura pour effet de l’enregistrer. Si nous cliquons sur le lien « Aperçu » du menu du haut (à droite), nous constateront que c’est gagné et qu’Automne a de lui-même rajouté le lien « Testov » vers cette page dans la catégorie « Présentation » de notre page d’accueil. Nous saurons comment faire en sorte que ce lien ne soit pas rajouté quand un développeur me l'aura expliqué. :)

Nous voyons apparaitre un rectangle vert qui correspond à une zone d’édition ou plutôt un « espace client ». Une explication de l’espace client vous est donnée dans la documentation mais elle fait appel à des notions que nous

Page 55/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

n'avons pas encore abordé. Allez donc lire ce qui est dit des espaces clients quand même puis revenez sur ce tutoriel.

Cette zone ne va pas contenir du texte brut mais des espaces différenciés dans lequel nous allons faire apparaitre nos informations.

Dans d’autres CMS, on appelle cela « blocs », « box »,« cadres » ou encore je ne sais pas comment et ce qu’il faut savoir, c’est que la juxtaposition ou l’agencement de ces « blocs » indépendants les uns des autres vont nous aider à fabriquer l’intérieur de notre page.

Sous Automne, on appelle cela des « Rangées de contenu». Retenez bien ce mot car c’est une des spécificités de ce système qui va nous permettre de faire pas mal de choses.

Par exemple, nous allons faire apparaitre un simple texte à l’intérieur de notre page soit dans « l'espace client » (qui pourra abriter plusieurs « rangées » lesquelles serviront à afficher tout ce que nous voulons).

Donc, comme à la création de notre page nous avons choisi de n’inclure aucune rangées (nous verrons qu’il existe des modèles de rangées comme des modèles de pages), nous allons en créer une (pour y mettre du texte dedans).

Regardons le menu horizontal et cliquons sur « Nouvelle rangée ».Un message système nous propose: « …de cliquer sur la zone rouge pour ajouter notre nouvelle rangée. » Cliquons donc sans chercher à comprendre quelque part sur la zone rouge (là où il y a des petits +) et cette zone va devenir verte.

Un nouvel outil va apparaitre sous le menu horizontal et vous proposer de sélectionner la rangée à rajouter. Nous devons savoir qu’il existe dans votre système des rangées pré-formatées que vous pourrez visualiser en cliquant dans le panneau latéral sur Modèles/Modèles de rangées. Une bibliothèque de rangées quoi !

Pour le moment, contentez vous d’en choisir une dans le menu du haut et préférez celle nommée: « 200 Texte ».Pourquoi celle-là ?

Parce que c’est la plus simple qui vous permettra d’éditer un texte, et vous commencerez par y écrire quelques lignes (ou copiez/collez d’ailleurs) après bien sûr avoir « ouvert » la rangée en cliquant sur l’icône représentant un crayon. Votre texte saisi, vous « Validez » votre composition (vous validez la rangée et non pas la page). La validation d'une rangée enregistrera son contenu.

Vous avez noté, que quand vous éditez le contenue d’une « rangée », vous formatez vos textes à votre guise en utilisant les outils de l’éditeur de texte qui apparait pendant l’opération, et pouvez utiliser tous les avantages que celui-ci vous apporte (insertion d’images, tableaux, formatages et le reste). En fait, c’est exactement comme l’édition avec votre CMS habituel (ou World et autres TXT), mais l’avantage est que vous pourrez empiler (ou agencer) plusieurs rangées dans la même pages et, chaque rangée ayant sa spécificité (voir les modèles), vous pourrez créer vos propres modèles de rangées et les réutiliser ensuite dans d’autres pages en deux clics trois mouvements.

Bon, vous avez créé votre rangée, enregistré cette dernière et vous pouvez voir « ce que ça donne » en cliquant sur « aperçu » à droite du menu du haut. Bravo ! Vous avez crée votre première page. Validez maintenant. :)

Vous avez donc compris à ce stade que nous créons tout d’abord une page à l’endroit où nous la voulons (on pourra la déplacer plus tard), installons des « rangées » que nous emplissons avec nos textes (ou modules-applications nous le verrons plus loin), enfin bref, que ces « rangées » sont en fait les réceptacles de ce que nous voulons bien y faire apparaitre.

Allez maintenant faire un tour dans Modèles/Modèles de rangées et examinez dans cette bibliothèque tout ce que

Page 56/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

les développeurs ont déjà fait pour vous et que vous utiliserez ou pas selon votre bon vouloir. Il en est de même avec les « modèles de pages » dont nous allons causer tout à l’heure.

Vous remarquerez que le système de modèles permet une recherche qui vous sera fort utile quand votre collection sera conséquente.

Nous sommes donc dans Modèles/modèles de rangées, nous positionnons sur la dénommée « 200 Texte », et comme elle est « activée », nous pouvons en savoir un peu plus sur elle en cliquant sur l’icône « Modifier ».

Un seul clic pour sélectionner une rangée, puis "Modifier" pour l'ouvrir. Cela nous ouvre une fenêtre comme celle-ci.

l'ouvrir. Cela nous ouvre une fenêtre comme celle-ci. Les petits « ? » verts sont un

Les petits « ? » verts sont un système d’aide interne qui vous permet de savoir c’est quoi et qu’est-ce qu’on fait avec. Cela a été dit mais il faut regarder ce qu'ils racontent. :-).

Nous ne nous attarderont donc pas sur cette page si ce n’est pour signaler que l’affichage et l'utilisation des (modèles de) rangées (ou les modèles de pages) peuvent êtres réservés à certains sites (puisque Automne est Multi-site), certains modèles, certains membres du site (il existe une gestion des membres au sein d’Automne), certaine pages bref, une possibilité extra précise d’utilisation de cette ou ces fonctions.

Nous reviendront plus tard là-dessus quand nous parlerons des droits d’utilisateurs.

Chaque rangées ou pages fonctionnent avec entre autres du code XTML qui peut être modifié à loisir à l’aide de « tags », ce qui nous permet de personnaliser chacune de nos pages et nous verrons cela dans une autre section de cet ouvrage.

Juste pour avoir un aperçu, cliquons sur l'onglet « Définition XML » de cette « rangée de contenu » et constatons qu'il contient le code qui sert à l'afficher.

Par curiosité, comparons ce code avec celui d'autres modèles (de rangées ou de pages) et remarquons les « tags » et autres informations qui sont du chinois pour ceux qui débutent, mais nous allons bientôt apprendre le « comment ça marche » et découvrir l'extraordinaire puissance de la gestion de ce système pour un peu que l'on en ait compris le fonctionnement.

Nous allons faire une pose et, avant d'aborder la partie 2 de ce tutoriel, allons refaire un petit tour sur la documentation officielle et nous rendre compte qu'elle est déjà plus limpide et que nous commençons à comprendre.

Jack Paloque-Berges

Page 57/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Automne pour les nuls - deuxième partie

Ceci est la suite de la première partie du tutoriel Automne pour Les Nuls

2. De l'utilité des rangées de contenue

3. Les modèles de pages

4. La médiathèque

5. Application des styles

6. Groupes, Utilisateurs et droits

Récapitulatif

Nous avons vu dans la partie 1 de ce tutoriel que, si Automne est un CMS à la porté de n'importe quel webmaster qui par définitions a quelque bases techniques, son concept est très moderne et ne se laissera apprivoiser qu'avec de la patience et le sens de l'observation du moins si nous voulons mettre à profit son extraordinaire potentialité.

Si l'interface du CMS est à la portée de n'importe qui avec un peu de pratique, la conception de modèles de page et de module demande quand même plus que quelques bases techniques. C'est pour cette raison que nous souhaitons proposer des modules et des modèles de pages prêt à l'emploi, cela permettra une adoption encore plus rapide. Oui, Automne a été conçu pour simplifier la vie des gestionnaires de sites web et des développeurs webs, mais n'est pas non plus un outil magique qui permet d'avoir des sites de qualité sans connaissance des métiers du web. La qualité d'un site ne vient pas de l'outil utilisé mais d'une part de la manière dont il a été conçu et développé et d'autre par la qualité de ses contenus, il me paraissait important de le souligner.

En fait, si l'interface a été pensée au maximum pour aider l'administrateur à bien gérer son système (système d'aide interne), la maitrise de ce logiciel ne se fera qu'avec une bonne compréhension de son architecture et nous ne nous contenterons pas ici de "remplir des cases" mais aurons aussi la possibilité nous même de "fabriquer nos cases".

Nous pouvons aussi à volonté changer notre contenu, mais aussi le contenant, et appliquer un design différent à chaque rubrique, page, groupe de pages et sites complets en récupérant à volonté le style et le template à chaque fois que nous en auront besoin.

Nous fabriqueront donc des modèles de page qui chacun comportera un ou plusieurs espace d'édition (espace client) dans lesquels nous intègreront des rangées de contenu qui elles même accueilleront nos informations qu'elles soient du texte ou des applications que nous aurons fabriqué à notre besoin avec le module Polymod.

Page 58/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Nos modèles de pages, de rangées de contenu et modules d'applications sont stockés dans des "bibliothèques" toujours à porté de main, nous pourrons les modifier, les agrémenter à loisir, et surtout les réutiliser à volonté ce qui vous le constaterez plus tard est bien pratique.

Il y a dans ce tutoriel des répétitions volontaires en ce qui concerne le concept des "Rangées de contenu", "l'Espace client" et les "Modèles de pages". Ce concept difficile à appréhender par les débutant est la base de la mise en page d'Automne et doit être bien assimilé avant d'aller plus loin

En fait, si l'interface a été pensée au maximum pour aider l'administrateur à bien gérer son système (système d'aide interne), la maitrise de ce logiciel ne se fera qu'avec une bonne compréhension de son architecture et nous ne nous contenterons pas ici de "remplir des cases" mais aurons aussi la possibilité nous même de "fabriquer nos cases".

Nous pouvons aussi à volonté changer notre contenu, mais aussi le contenant, et appliquer un design différent à chaque rubrique, page, groupe de pages et sites complets en récupérant à volonté le style et le template à chaque fois que nous en auront besoin.

Nous fabriqueront donc des modèles de page qui chacun comportera un ou plusieurs espace d'édition (espace client) dans lesquels nous intègreront des rangées de contenu qui elles même accueilleront nos informations qu'elles soient du texte ou des applications que nous aurons fabriqué à notre besoin avec le module Polymod.

Nos modèles de pages, de rangées de contenu et modules d'applications sont stockés dans des "bibliothèques" toujours à porté de main, nous pourrons les modifier, les agrémenter à loisir, et surtout les réutiliser à volonté ce qui vous le constaterez plus tard est bien pratique.

Voyons un peu plus en détail l'utilisation de la chose et continuons notre exploration.

Page 59/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Utilité des rangées de contenu

De l'utilité des rangées de contenu.

Nous sommes dans notre espace d'administration.

Avec Automne, nous avons donc la possibilité de fabriquer très facilement des modèles de pages et nous allons nous servir pour le moment d'un exemple visuel en nous positionnant sur la page "Rangées" (de votre nouvelle installation) afin de voir comment elle est faite.

nouvelle installation) afin de voir comment elle est faite. Nous voyons apparaitre rouge qui nous rappelle

Nous voyons apparaitre rouge qui nous rappelle que nous sommes en mode édition et un rectangle vert qui entoure le texte de ce qui est édité actuellement. Il s'agit de l'espace client (il n'y en a qu'un dans cette page) et il ne contient qu'une autre rangée que nous pouvons ouvrir en cliquant sur l'icône (crayon) qui apparait quand on la survole en passant le pointeur de la souris dessus.

Notons que si il y avait d'autres rangées de contenu, nous les verrions, et qu'elles sont toutes indépendantes ce qui est bien pratique quand on comprend que si par exemple nous utilisions fréquemment le formatage d'une rangée (ou ce qu'il y a dedans), nous pourrions fabriquer un "modèle de rangée" et le réutiliser par la suite.

C'est d'ailleurs pour cela que vous trouvez un lien 'Modèle de rangée" dans votre menu admin de droite qui n'est rien d'autre qu'une "bibliothèque" de rangées comme nous avons une "bibliothèque" de modèles de page, et une Médiathèque dans laquelle sont rangés les images, sons ou autres médias que vous utilisez dans vos pages.

Il est utile de préciser ici que ces "rangées" sont en fait des blocs d'édition que vous allez empiler les uns sur les autres et que vous pourrez déplacer après à votre guise au sein du même espace client en "glissant disposant" comme c'est expliqué ici.

Si vous vouliez deux rangées cote à cote, vous créeriez dans le modèle de la page en cours un nouvel "espace" client et nous allons voir cela un peu plus loin.

Faites maintenant des test en intégrant une ou plusieurs rangées comme c'est expliqué dans la Partie 1 De ce tutoriel en utilisant les rangées à à disposition et comprenez l'utilité que vous allez tirer de cette bibliothèque de

Page 60/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

modèles de rangées de contenu préformatées.

Vous n'aurez plus besoin de surcharger vos pages avec des codes parfois pesants en gardant une homogénéité dans l'ergonomie de vos productions.

Vous allez pouvoir enregistrer vos propres formatages en fabriquant vous-même des modèles de rangées en cliquant sur l'outil Modèles/modèles de rangées/Nouveau et examiner avec attention avant de vous lancer l'onglet "définition XML" des autres rangées à votre disposition en cliquant sur "Modifier" après les avoir sélectionné une à une. Nous étudieront dans un chapitre dédié le code à employer pour fabriquer des rangées et il est clair qu'une bonne connaissance en XHTML et XML est nécessaire mais pour les vrais débutants, encore une fois, sachons que l'observation et la déduction sont nos meilleures amies.

Je vous montre cela pour vous faire savoir que cela existe et, au fur et à mesure de ces pages nous comprendrons le fonctionnement et les secrets. Pour le moment, utilisons l'existant et revenons sur notre page "Rangées".

Il est fort possible que nous désirions avoir deux rangées cote à cote soit deux colonnes dans notre page (voire plus) ou même un espace occupant toute la largeur et deux colonnes en dessous.

Les modèles de page

Nous allons aborder le principe du modèle de page car c'est là que cela se passe.

Nous pourrions bien sûr n'avoir qu'un espace client, y intégrer une rangée et nous servir de cet espace pour créer l'espace éditorial de notre page avec nos moyens classiques puisque l'éditeur intégré nous permet cela.

Oui, mais quand vous voudrez modifier l'architecture d'une section il vous faudrait intervenir sur l'architecture de toute la page crée dans votre rangée et il serait plus judicieux de séparer les espaces.

Par exemple, une zone qui accueille un éditorial quotidiennement mis à jour, une zone pub, une zone liens et une autre zone qui accueillerait des entêtes d'articles et que vous voudriez modifier fréquemment en changeant son ergonomie ou sa présentation.

D'où cette idée de séparer par des "espaces client" notre page. On peut modifier le contenu d'un seul espace client sans avoir à toucher au reste.

Allons donc dans le modèle de notre page et penchons nous sur l'intérêt que représente ce système.

Regardons tout d'abord en cliquant sur "Propriétés" quel modèle utilise la page courante pour exister. Nous verrons que la page "Rangées" utilise le modèle "Intérieur Démo", que son identifiant est "26" (regardez la barre d'adresse de votre navigateur) et d'autres informations que nous détailleront au chapitre concerné.

Fermons cette fenêtre et allons maintenant dans Modèles/modèles de pages/intérieur Démo.

Un clic sur ce modèle, "Modifier" (nous n'allons rien modifier du tout mais seulement regarder) et nous remarquons qu'elle est autorisé sur le site "Démo" et, en cliquant sur l'onglet "Définition XHTML", apercevons le code avec lequel elle a été conçue.

D'ici, il nous est possible d'intervenir sur ce code pour changer la physionomie de la page en tant que telle et de son contenant dans sa globalité.

Page 61/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Sur un site classique, une page appelle le template du site et son contenu. Vous modifiez seulement ce contenu. Automne permet pour chaque page de changer totalement non seulement son contenu, mais aussi le reste et tout cela est modifiable à loisir en quelques clics quand nous en avons l'habitude.

Nous voyons donc le code source de notre page et son architecture et surtout "les tags" qui appellent le contenu par exemple:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title><atm-constant name="APPLICATION_LABEL" /> : <atm-title /></title> <atm-css-tags files="/css/reset.css,/css/demo/common2.css,/css/demo/interieur2.css" media="all" /> <!--[if lte IE 6]> <link rel="stylesheet" type="text/css" href="/css/demo/ie6.css" media="all" /> <![endif]--> <atm-css-tags files="/css/demo/print.css" media="print" /> <atm-meta-tags /

Où les tags appellent

<atm-constant name="APPLICATION_LABEL" /> :

Permet d'appeler une constante, ici le nom de l'application

<atm-title /> :

Recupére Le titre de la page que vous renseignez lors de sa création

atm-css-tags files ="" /> Les feuilles de syles (Cette syntaxe permet de compresser les feuilles de style fournies en paramètre )

<atm-js-tags files="" /> :

Même chose que atm-css-tags mais pour les fichiers javascripts

atm-meta-tags :

Les métatags

atm-linx :

Les liens

Ces quelques exemples ne sont qu'un aperçu d'une liste que nous travaillerons le moment venu.

Ce qui nous intéresse beaucoup en ce moment, c'est le tag atm-clientspace qui appelle les espaces clients qui vont donner des espaces dans lesquels nous pourrons intégrer nos rangées de contenu.

Page 62/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Nous comprenons mieux maintenant le fonctionnement d'Automne d'autant plus que tous les outils sont implémentés dans l'interface d'administration ce qui est bien agréable nous en conviendrons. Du coup, nous pouvons maintenant construite notre première page (à nos couleurs) et nous pencher sur l'utilisation de la médiathèque.

La Médiathèque

Créons une page, intégrons une rangée (gardons la 200 Texte pour apprendre plus facilement) et supposons que nous voulions intégrer une image.

Vous aurez certainement remarqué que quand nous créons une page, il nous est proposé une case "Créer la page sans les rangées par défaut". Cette option propose tout simplement les rangées intégrés dans les modèles de page déjà à disposition mais cela ne nous intéresse pas car nous voulons créer des pages à notre manière. Créons donc notre propre rangée vide, ouvrons là (icône crayon) et agrandissons-là un peu à l'aide de ses poignées histoire d'y voir un peu plus clair.

L'éditeur est maintenant actif et apparait un outil "Module Automne" sur lequel nous allons cliquer ce qui aura pour effet d'ouvrir le module Médiathèque qui contient déjà pas mal de choses. Choisissons une image, sélectionnons-là en cliquant une fois dessus puis, sur la case OK . C'est bon, elle est déjà dans votre rangée exactement à l'endroit où vous vouliez la voir apparaitre.

Enregistrez votre rangée (en bas à droite) et faites attention de ne pas cliquer sur la petite croix rouge d'effacement car vous perdriez votre travail.

Votre image est là et, si vous cliquez dessus, elle va s'agrandir ("Ouvrir les images zoom dans une pop-up" doit être activé dans les paramètres Automne) et ce miracle se produit parce que quand vous intègrerez une image dans la médiathèque,(afin de l'utiliser ensuite) vous aurez bien soin de télécharger aussi une vignette. Vous procèderez de même pour intégrer dans vos textes tous les médias que vous aurez préparé ainsi que les modules que vous voudrez utiliser.

Notez que vous pourrez de la même façon faire apparaitre un formulaire, une application ou tout autre module à partir du moment où vous aurez fabriqué la rangée destinée à l'afficher là où vous le trouverez judicieux.

Page 63/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Travaux pratiques

Fabriquer ses modèles

Avec Automne, nous avons donc la possibilité de fabriquer très facilement des modèles de pages et nous allons nous servir pour le moment d'un exemple visuel en restant sur la page "Rangées" de votre installation de démonstration afin de voir comment sont conçus ces modèles.

Quand vous travaillez une page, il va vous être utile de quitter le mode éditeur pour aller voir comment les pages sont faites et c'est un vrai bazar de quitter, revenir, quitter, revenir jusqu'à ce que vous trouviez par vous même les astuces pour aller plus vite et sereinement.

En ce qui me concerne, je travaille avec deux explorateurs (Firefox et Google Chrome), connectés en même temps dans l'administration, ce qui me permet avec l'un de rester sur mon espace de travail et avec l'autre d'aller explorer les outils au fur et à mesure de mon apprentissage.

Il est à noter que votre rangée éditée, après l'avoir enregistré grâce à la petite icône de validation ( Bis repetita:

Attention ne ne pas cliquer sur la croix rouge "supprimer"), vous pouvez voir son rendu en temps réel en cliquant sur l'item "Aperçu" dans votre menu du haut.

Regardons dans la barre d'adresse du navigateur l'URL de notre page en cours.

http://www.automne-cms.org/automne/admin/#page:24

Elle se termine par un chiffre qui est le numéro unique de la page en cours (concept très important sur Automne), ce qui vous permettra de la retrouver en quelques secondes sans passer par l'explorateur d'arborescence des pages qui est le deuxième item en partant de gauche.

Autre truc, juste à droite de cet item, il y en a un autre (étoile), qui permet de mettre en favori vos pages préférées ce qui permet de les retrouver d'un clic en ouvrant l'item "Gestion de pages" dans le menu latéral rétractable.

Le travail dans les rangées terminé (et la rangée enregistrée), vous pouvez soit le "valider" et il sera en ligne immédiatement, soit le laisser dans l'état car il est enregistré dans un "brouillon" et sera disponible à tout moment. Pratique pour ne terminer un exercice que le lendemain.

Plus tard, quand vous confirez l'édition des pages de votre site à un ou des rédacteurs, ils ne pourront pas les valider directement mais les "soumettre à validation" selon les "droits" que vous leur donnerez mais nous étudierons cela dans un prochain chapitre.

Récapitulatif:

Vous avez crée une ou plusieurs rangées sur votre page (numéro "24" pour la mienne) en y intégrant du texte ou des médias (ou modules) que vous aurez préalablement téléchargé dans votre médiathèque. La conception de votre page se fait avec une ou plusieurs rangés dont certaines sont déjà en stock dans la bibliothèque de modèles où vous aurez la possibilité de créer vos propres modèles quand vous aurez compris l'utilité de ce système.

A ce propos, souvenez-vous bien "d'activer" un modèle nouvellement créé (de quelle sorte qu'il soit), sinon, vous

ne pourriez l'utiliser et vous demanderiez d'où vient la panne.

Page 64/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Vous pourriez "désactiver" ces modèles plus tard si vous ne les utilisez que très rarement gagnant ainsi de l'espace et de la visibilité pour mieux les retrouver ensuite avec ou sans le moteur de recherche intégré à ce module particulier. Notons que la désactivation d'un modèle n'a aucune incidence sur les pages l'utilisant déjà et est particulièrement utile quand on désire que nos rédacteurs n'y aient pas accès pour une raison ou pour une autre.

En ce qui concerne l'éditeur de texte intégré, sachons que nous pouvons à loisir ajouter ou retirer des outils grâce à la "Gestion des barres d'outils de l'éditeur visuel (WYSIWYG)" que vous trouvez dans le panneau latéral dans la rubrique "Modèles".

Vous aurez la possibilité de personnaliser cette barre d'outils pour vous-même (administrateur) et pour chaque groupe d'utilisateurs, rédacteurs ou autres toujours selon les "droits" que vous leur accorderez. Cela reste valable pour le gestion des modèles et la documentation d'Automne n'est pas avare d'enseignements à ce sujet.

Pour la Médiathèque, il n'est pas besoin de longs discours et son utilisation est très intuitive. D'ailleurs, le système vous prévient en cas d'erreur et vous n'aurez pas de problèmes avec ce module.

Les modèles de pages

Voilà la première épreuve qu'auront à subir les débutants assez peu à l'aise avec le célèbre trio XHTML/XML/CSS mais un peu de bon sens et quelques heures vous aideront ainsi que les participants aux forums qui vous aideront avec joie si vous ne leur demandez pas comment faire un copier/coller ou envoyer par mail une pièce jointe.

Je vais vous expliquer en bref comment cela fonctionne.

Tout le monde sait qu'une page web est constituée de code et fini le bon vieux HTML de papa. Nous nous sommes ici à la pointe du progrès (automne a été conçus pour l'avenir).

Sur un site classique, nous avons un template (habillage) et, outre le fait qu'il soit figé (sauf si nous sommes un champion du PHP), ce dernier reste le même d'un bout à l'autre du site.

Bien sûr, tout bon CMS propose plusieurs templates que le visiteur peut changer d'un seul clic, mais un template de série est toujours un template de série, et bien malin est celui qui veut personnaliser un habillage existant à ses couleurs surtout si il n'a besoin que de deux ou trois pages différentes (du modèle prédéfini) ou si il veut consacrer une section de son site à une thématique différente.

Imaginons que sur mon site, je vende des cercueils (gris, noir, sérieux) et sur une autre page des fraises (dominante rose). Imaginons aussi que sur mon système (c'est le cas d'Automne), je veuille installer plusieurs sites avec un domaine et un thème totalement différent.

Hé bien ici, c'est tout à fait possible parce que les développeurs ont prévus cette option et on ne mets pas du contenu dans un site mais des habillages autour de notre contenu.

C'est pour cela qu'existe cette notion de "modèle de page".

Bon, je construis le modèle de ma page, qui est unique, et je le range dans ma bibliothèque "Modèle de page"

Je veux une autre page, alors, quand je la construit en cliquant tout simplement sur le bouton "Créer" de la page en cours, le système me demande avec quel modèle je veux la faire, si je veux intégrer ou non les rangées par défaut (qu'il y a déjà ou non dans les modèles de page existants) et il pousse l'amabilité de me dire dans quels sites

Page 65/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

existants ("Principal" et "Démo" dans notre cas) elle peut apparaitre. Je crée donc ma page avec un modèle existant. Il n'y a qu'à cliquer sur sa vignette.

Si plus tard je veux modifier cette page en lui donnant un nouveau template existant, il ira (le système) jusqu'à me dire quel modèle est compatible (ou non) avec ma création. C'est là que nous allons comprendre l'utilité et l'importance du fameux "espace client".

Une rangée va apparaitre sur ma page grâce à un espace que je lui aurais emménagé au sein de mon code. C'est un peu comme si en html on créait un tableau ou un cadre voire une frame.

Mais Automne est bien plus simple et performant que cela.

A l'endroit du modèle de page où je vais faire apparaitre mon "espace client", je vais tout simplement insérer une balise nommée "tag". Le tag <atm-clientspace />

Notons que je peux construire mon modèle de page chez moi avec mon éditeur de texte préféré (Notepad++ par exemple) ou tout simplement transformer un modèle existant (après bien sûr l'avoir dupliqué avec l'outil modèle/Modèle de page/ sélection d'un modèle et "Dupliquer") sans oublier évidement de déclarer mes nouvelles feuilles de style (que je téléchargerais obligatoirement dans le répertoire /CSS avec les autres existantes) et de bien renseigner le chemin des images en utilisant la méthodologie Automne de préférence car ce système est bien fait.

Si nous voulions deux rangées cote à cote, nous prévoirions deux espaces client pour les accueillir.

Nous éditerons en temps un tutoriel consacré à cette question et vous verrez que ce n'est pas si compliqué que cela le parait au premier abord et il y a dans la documentation une page très claire à ce sujet

Notons pour terminer provisoirement ce chapitre qu'il est tout à fait possible d'utiliser des templates existants sur le Net pour autant qu'ils soient valides W3C.

Conseils des développeurs

Si comme moi, vous éditez vos modèles de page "au fichier" et non par la configuration. Alors sachez que si vous ajoutez un ou plusieurs "espaces client" dans un modèle de page en éditant le fichier, (sans passer par l'outil pour x ou y raison) vous devez enregistrer et régénérer la définition XML de ce modèle de page. Ceci afin que le système prenne en compte l'ajout de ce ou ces nouveaux espaces client.

Le mécanisme de création de modèles de page d'Automne repose sur les standards préconisés par le W3C, à savoir (X)HTML pour structurer ses informations, CSS pour les styles et la mise en page et Javascript pour ajouter des comportements. Sur ce point Automne ne diffère pas des autres CMS.

Jusqu'à présent nous n'avons pas encore adapté de thèmes pour Automne mais c'est quelque chose que nous sommes en train de mettre en place et qui fera l'objet d'un tutoriel.

Pour information, on trouve plein de modèles de pages XHTML/CSS en libre téléchargement qu'il te faudra ensuite d'adapter pour Automne. L'avantage c'est que nous pouvons personnaliser un minimum notre site web sans maîtriser totalement XHTML et CSS, qui comme toute technologie demandent pas mal de pratique avant d'acquérir un niveau suffisant pour créer des modèles. Surtout que la compatibilité entre les navigateurs peut-être parfois un vrai casse-tête.

les navigateurs peut-être parfois un vrai casse-tête. http://www.oswd.org/

Page 66/67

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes

Guide des bonnes pratiques - Bonnes pratiques de gestion des modèles de pages - Bonnes pratiques

http://doc.automne-cms.org/web/Documentation/42-tutoriels-automne.php

Je pense que commencer par adapter un modèle existant est déjà un bon challenge, qui permettra de se familiariser avec la syntaxe XML des balises spécifiques à Automne.

Page 67/67

Créé le 11/04/2012 14:55:10