Table des matières

Table des matières

Introduction 1.1 Installation 1.2 Installer Contao 1.2.1 Utilisation du Safe Mode Hack 1.2.2 Mise à jour manuelle 1.2.3 Live Update Service 1.2.4 Déplacer une installation 1.2.5 Configuration du serveur en ligne 1.2.6 Panneau d'administration 1.3 Liste d'enregistrements 1.3.1 Édition des enregistrements 1.3.2 Raccourcis clavier 1.3.3 Gestion des pages 1.4 Composants 1.4.1 Thèmes 1.4.2 Feuilles de style 1.4.3 Modules 1.4.4 Présentations de page 1.4.5 Types de page 1.4.6 Gestion du contenu 1.5 Articles 1.5.1 Actualités 1.5.2 Événements 1.5.3 Flux RSS/Atom 1.5.4 Bulletins d'information 1.5.5

Formulaires 1.5.6

Commentaires 1.5.7 Modèles 1.5.8

Markdown 1.5.9

Balises d'insertion 1.5.10 Administration du système 1.6

Utilisateurs et groupes d'utilisateurs 1.6.1 Extensions 1.6.2

Maintenance 1.6.3

1 2 Introduction

Manuel pour Contao 3.5

Ceci est le manuel officiel pour les utilisateurs et les développeurs. Vous pouvez toujours trouver la dernière version sur docs.contao.org.

Licence

The Contao documentation is licensed under a Creative Commons Attribution 3.0 License license (CC BY-NC-SA 3.0). If you want to redistribute a modified or unmodified version of the documentation, you can do so under the license terms.

If you contribute to the documentation, e.g. by creating pull requests, you grant us full usage rights of any content you create or upload. You also ensure that your content does not violate any third-party rights.

We are not claiming exclusive usage rights, therefore you are free to use your contributed content (e.g. texts or images) in any other project as well.

3 Installation

Installation

Les chapitres suivants expliquent comment installer et mettre à jour Contao. Vous apprendrez à utiliser l'outil d'installation de Contao, comment synchroniser une installation existante via FTP, comment configurer le "Safe Mode Hack" ainsi qu'un serveur pour Contao.

4 Installer Contao

Installer Contao

Premièrement, veuillez télécharger la dernière archive de Contao et l'extraire sur votre ordinateur. Déplacez les fichiers dans le répertoire htdocs de votre installation locale (par exemple XAMPP) ou les téléverser sur votre serveur avec un logiciel FTP (nous vous recommandons d'utiliser WinSCP). Assurez-vous de téléverser le fichier caché .htaccess.default et de remplacer son nom par .htaccess . Selon la configuration de votre serveur, le dossier public est probablement nommé htdocs , httpdocs , html , public_html ou www .

Si vous avez un accès SSH, vous pouvez télécharger et extraire l'archive directement en ligne de commande, par exemple avec curl . Selon la version que vous souhaitez installer, ajuster les URL comme décrit.

Dernière version de Contao (4.x) :

curl -L http://download.contao.org | tar -xzp

Version LTS de Contao (3.5) :

curl -L http://download.contao.org/lts | tar -xzp

Une version spécifique (par ex. 3.5.2) :

curl -L http://download.contao.org/3.5.2 | tar -xzp

L'outil d'installation de Contao

Pour ouvrir l'outil d'installation de Contao, il suffit d'ajouter /contao/install. à l'URL de votre installation de Contao. Notez que l'outil d'installation est protégé contre les attaques par force brute et sera bloqué si un mauvais mot de passe a été inséré trois fois de suite. Pour enlever le verrou, ouvrez le fichier system/config/localconfig.php dans un éditeur de texte, trouvez la ligne ci-dessous et définissez-là à 0 .

$GLOBALS['TL_CONFIG']['installCount'] = 0; // Ceci enlèvera le verrouillage automatique

Connexion à la base de données

Connectez-vous au panneau d'administration de votre serveur (par exemple "Plesk" ou "cPanel") et créez une nouvelle base de données pour Contao. Ensuite, entrez les identifiants de connexion dans l'outil d'installation de Contao. Notez que le jeu de caractères par défaut de Contao UTF-8 s'écrit UTF8 dans MySQL !

Mise à jour des tables de la base de données

Lorsque que vous êtes connecté à la base de données, Contao vérifie automatiquement ses tables et affiche une liste de changements recommandés dans le cas où ils ne seraient pas à jour. Assurez-vous de lire attentivement ces recommandations, car Contao ne connaît que ses propres tables et tentera de supprimer celles d'autres applications en partage avec la base de données. Confirmez les modifications et cliquez sur le bouton "Mettre à jour la base de données".

Importer un modèle

Un modèle est un site internet pré-configuré qui comprend un exemple de structure de site et plusieurs feuilles de style pour formater les modules de base de Contao ainsi que les éléments de contenu.

5 Installer Contao

A partir de la version 3.2.11, le site internet de démonstration n'est plus inclus dans le package de téléchargement. Selon la version utilisée, la nouvelle et officielle démonstration de Contao ou l'ancienne Music Academy peuvent être installées en tant qu'extension. Les informations concernant la compatibilité sont disponibles dans le référentiel d'extensions.

Comment installer le modèle de démonstration :

1. Créer une nouvelle installation de Contao avec un compte administrateur 2. S'identifier en tant qu'administrateur dans le back office 3. Installer l'extension correspondante en utilisant le référentiel d'extensions 4. Se déconnecter du back office 5. Ouvrir de nouveau l'outil d'installation

Pour importer un modèle, sélectionnez l'entrée dans le menu déroulant et cliquez sur le bouton "Importer un modèle".

Danger

Les données existantes seront remplacées lors de l'importation d'un modèle !

Création d'un utilisateur administrateur

Si vous n'avez pas importé un modèle, vous devez créer un utilisateur administrateur pour se connecter au back office de Contao. Après avoir créé le compte, le processus d'installation est terminé. Le lien dans le coin inférieur droit vous amènera vers le panneau d'administration. Si vous avez importé le site internet d'exemple, vous pouvez vous connecter en tant qu'utilisateur "k.jones" avec le mot de passe "kevinjones".

Installation du modèle de démonstration de Contao

Voir Comment installer le modèle de démonstration dans la section Importer un modèle

Utiliser des URLs conviviales pour les moteurs de recherche

Si vous utilisez un serveur Apache et êtes autorisé à utiliser mod_rewrite, vous pouvez faire en sorte que Contao génère des URLs conviviales pour les moteurs de recherche qui ressemblent à des documents HTML statiques. Un ensemble de règles de réécriture par défaut est stocké dans le fichier .htaccess.default situé dans le répertoire de Contao. Renommez ce fichier en .htaccess afin que le serveur Apache puisse le traiter, puis connectez-vous au back office et accédez à la configuration du système. Sélectionnez "Ré-écrire les URLs" dans la section "Configuration du front office" et enregistrez vos modifications. Maintenant, Contao génère des URLs statiques comme home.html au lieu de index.php?id=12 .

6 Utilisation du Safe Mode Hack

Utilisation du Safe Mode Hack

En essayant d'installer Contao avec l'outil d'installation, vous pourriez voir un avertissement que le fichier de configuration local n'est pas accessible en écriture.

Problèmes d'autorisation de fichiers

Le terme "Safe Mode Hack" peut prêter à confusion, car il implique que le problème a été causé par le safe_mode de PHP. Cependant, il est causé par des permissions de fichiers insuffisantes et peut se produire même si le safe_mode est désactivé, il devrait donc être appelé "File Permission Hack" à la place. PHP en tant que module Apache est généralement exécuté comme wwwrun , www-data ou nobody , alors que les fichiers que vous téléverser via FTP vous appartiennent (par exemple web4 ou ab5678 ). Le serveur refuse donc, au script PHP de Contao, l'accès à ces fichiers.

Utilisation du FTP pour les opérations sur les fichiers

Pour contourner le problème des permissions, Contao établit une connexion FTP pour modifier les fichiers et les répertoires. Tout ce que vous avez à faire est d'entrer vos identifiants de connexion FTP. Faites attention lorsque vous entrez le chemin relatif à partir de votre répertoire racine FTP vers le répertoire de Contao (par exemple html/ , public_html/ ou httpdocs/ ).

Quelques répertoires nécessitent encore des autorisations d'écriture, car PHP va y accéder directement :

assets/images

assets/images/*

system/logs

system/tmp

7 Utilisation du Safe Mode Hack

Les permissions (CHMOD 777) sont fixées automatiquement par l'outil d'installation et n'ont normalement pas à être ajustées manuellement. Si cela est nécessaire, veuillez, s'il vous plaît, seulement n'ajuster que les trois répertoires mentionnés ci- dessus - et cela en dépit de ce que vous pourriez avoir lu dans un tutoriel ou dans les forums de Contao !

8 Mise à jour manuelle

Mise à jour manuelle

Pour mettre à jour manuellement une installation de Contao, vous pouvez soit téléverser l'archive complète de Contao sur le serveur (remplacement des fichiers) ou vous pouvez téléverser uniquement les fichiers qui ont été modifiés depuis la dernière mise à jour (synchronisation des fichiers). De toute façon, vous devriez toujours sauvegarder les fichiers et dossiers ci-dessous juste au cas où il y aurait une erreur ou lors d'un remplacement accidentel :

files/*

system/config/dcaconfig.php

system/config/initconfig.php

system/config/langconfig.php

system/config/localconfig.php

system/config/pathconfig.php

templates/*

Cela permettra de sauvegarder votre configuration locale, vos modèles personnalisés et vos fichiers.

Remplacement de fichiers

Le remplacement des fichiers d'une installation de Contao est assez simple. Il suffit de décompresser l'archive de Contao sur le serveur ou de l'extraire sur votre ordinateur et de téléverser les fichiers avec un client FTP. Puis, restaurer les fichiers que vous avez sauvegardés et enlever les éventuels fichiers inutilisés des versions antérieures de Contao.

Attention: Si vous avez installé des extensions tierces, assurez-vous de les sauvegarder et de les restaurer eux aussi, ou ne les effacer pas du tout. Sinon, vous devrez réinstaller les modules et, en fonction de l'extension, vous pourriez finir par perdre des données !

Si vous utilisez le client Composer pour gérer vos extensions, vous devez également sauvegarder le dossier /composer dans le répertoire racine.

Synchronisation de fichiers

Pour synchroniser une installation de Contao, vous pouvez soit utiliser l'utilitaire Unix diff ou un logiciel FTP. Les utilitaires Unix sont généralement utilisés par les administrateurs de serveurs uniquement et, par conséquent, ils ne seront pas expliqués ici. Pour synchroniser des fichiers via FTP, ouvrez WinSCP et connectez-vous au serveur. Sauvegardez les fichiers mentionnés ci-dessus, puis accédez au répertoire de Contao et cliquez sur le bouton "Synchroniser les fichiers".

9 Mise à jour manuelle

Contrôlez les options attentivement et assurez-vous de choisir "Preview changes" pour que vous puissiez contrôler quels fichiers seront mis à jour. Ensuite confirmez chaque fichier dans la fenêtre d'aperçu et contrôlez spécialement les fichiers qui vont être effacés ! Cliquez sur OK pour démarrer le processus de synchronisation.

Mise à jour de la base de données

Après avoir mis à jour les fichiers de Contao, vous devez également mettre à jour la base de données. Heureusement, l'outil d'installation de Contao effectuera le gros du travail pour vous. Il suffit de l'ouvrir et de saisir votre mot de passe, puis faites défiler la page vers le bas jusqu'à la section base de données et confirmez les modifications.

Purger le cache interne

10 Mise à jour manuelle

Finalement, vous devez également reconstruire le cache interne (pour les DCA et les fichiers de langue). Dans le back office, allez à "Maintenance du système" et cochez "Purger le cache interne" dans la section "Nettoyer les données". Confirmez l'action en cliquant sur "Nettoyer les données".

Vous recevrez un message dans l'en-tête demandant de reconstruire le cache interne. Cliquez sur "Construire le cache" pour mettre en cache les fichiers internes.

11 Live Update Service

Live Update Service

Le "Contao Live Update Service" est un service commercial proposé par iNet Robots, la compagnie du fondateur de Contao et développeur principal, Leo Feyer. Il vous permet de mettre à jour votre installation en quelques clics à partir du panneau d'administration, sans avoir à télécharger une archive de Contao ou en utilisant un logiciel FTP pour remplacer ou synchroniser des fichiers.

S'inscrire pour obtenir un ID Live Update

Le Live Update comprend les fonctionnalités suivantes:

Mise à jour et retour à une version antérieure vers n'importe quelle version de Contao Sauvegarde automatique de la base de données avant la mise à jour Validation personnalisée et achèvement de l'installation de Contao Comparaison des modèles personnalisés et des fichiers originaux

Sélection d'une version

Différences entre les modèles

12 Live Update Service

Résolution de problèmes

99% de tous les problèmes de mise à jour du Live Update sont causés par des permissions de fichiers erronés. Contao requiert des autorisations d'écriture pour gérer les fichiers et les dossiers, en conséquence si le Live Update ne fonctionne pas correctement, vérifiez la configuration de votre serveur et assurez-vous de mettre en place le Safe Mode Hack tel que décrit dans ce mode d'emploi !

Remarque

Si vous rencontrez des problèmes pour activer votre ID Live Update ou pour recevoir l'archive de mise à jour, veuillez s'il vous plaît contacter le support de iNet Robots. Si vous rencontrez des problèmes pour configurer le "Safe Mode Hack" ou pour utiliser Contao, choisissez s'il vous plaît une option de support sur la page de support.

13 Déplacer une installation

Déplacer une installation

Déplacer une installation de Contao à partir d'un serveur local vers un serveur en ligne n'est pas très différent de l'installation d'une nouvelle version de Contao, à l'exception que vous utilisez les fichiers de votre installation locale au lieu d'une archive de Contao et une sauvegarde SQL de votre base de données locale.

Téléverser les fichiers

Ouvrez votre logiciel FTP, connectez-vous au serveur cible et téléverser tous les fichiers de votre installation locale de Contao.

Exportation de la base de données

La façon la plus simple de créer une sauvegarde MySQL est d'utiliser l'outil d'administration de bases de données "phpMyAdmin". Si vous êtes un administrateur du serveur, vous pouvez également utiliser l'utilitaire mysqldump bien sûr. Connectez-vous à "phpMyAdmin", choisissez la base de données que vous souhaitez exporter et cliquez sur l'onglet "Exporter" dans le menu supérieur. Il est important d'ajuster les paramètres d'exportation conformément à la capture d'écran ci-dessous afin de restreindre les problèmes de compatibilité de versions de MySQL.

Importation de la base de données

14 Déplacer une installation

Ouvrez "phpMyAdmin" sur le serveur cible et créez une nouvelle base de données pour Contao. En fonction de la configuration du serveur, vous devrez probablement utiliser le panneau d'administration du serveur (par exemple, "Plesk" ou "cPanel") pour créer de nouvelles bases de données. Sélectionnez la base de données vide et cliquez sur l'onglet "Importer" dans le menu supérieur. Puis télécharger la sauvegarde SQL de votre base de données locale et lancez l'importation.

Ajustement de la configuration de la base de données

Enfin, ouvrez l'outil d'installation de Contao de la nouvelle installation (le mot de passe doit être le même que pour votre installation locale) et ajustez la configuration de la base de données si nécessaire. Ensuite, allez au panneau d'administration et connectez-vous avec votre nom d'utilisateur et votre mot de passe.

15 Configuration du serveur en ligne

Configuration du serveur en ligne

Ce chapitre ne traite pas sur la configuration d'un serveur en termes d'installation d'Apache ou de compilation de PHP, que vous ne pouvez pas faire sur un compte d'hébergement mutualisé de toute façon. Il explique comment vérifier si les exigences du système de Contao sont remplies et comment activer PHP 5.

Configurations du système requises de Contao

Contao requiert un serveur web comme Apache ou IIS avec PHP et le support de MySQL.

Software Version (minimale)

PHP 5.4.0

MySQL 5.0.3

Vous avez également besoin de diverses extensions PHP afin de bénéficier de toutes les fonctionnalités.

Extension PHP pour obligatoire

GDlib redimensionnement d'images oui

DOM fichiers XML oui

SOAP référentiel d'extensions non

Phar Live Update non

mbstring gestion des caractères multi-octets non

mcrypt cryptage des données non

Remarque

En fonction de vos extensions installées, il peut être nécessaire d'augmenter la valeur de la variable PHP max_input_vars (par ex. 2000 ou supérieur). Sinon, les longs formulaires du back office ne peuvent pas être soumis entièrement.

Contao a été testé avec succès avec tous les principaux navigateurs comme ou (à partir de la version 9).

Contao Check

Télécharger "Contao Check" afin de savoir si votre serveur répond aux exigences du système de Contao. Le script va vérifier si vous pouvez utiliser le référentiel d'extensions ainsi que le "Live Update" et si vous devez utiliser le "Safe Mode Hack" ou non. Selon la configuration de votre système, vous pouvez mettre en place une nouvelle installation de Contao avec l'installateur web ou valider une installation existante.

16 Configuration du serveur en ligne

Extrayez le fichier Zip, téléversez le dossier check dans votre répertoire d'installation de Contao et ouvrez-le dans un navigateur Web.

Télécharger Contao Check | Ouvrir le projet sur GitHub

Paramètres FAI spécifiques

Il y a quelques grands fournisseurs d'accès à internet qui requièrent un peu de configurations supplémentaires afin que Contao puisse fonctionner. Heureusement, ils ne sont que l'exception qui confirme la règle. Les paramètres FAI spécifiques sont décrites dans le forum de Contao. Si vous cherchez un hébergement sans tracas pour Contao, consultez la liste des hébergements partenaires de Contao.

17 Panneau d'administration

Panneau d'administration

Pour accéder au panneau d'administration de Contao (back office), ajouter simplement /contao à l'URL de votre site internet.

Remarque

Le formulaire d'identification du back office est protégé contre les attaques par force brute, donc si vous entrez un mot de passe erroné plus de trois fois de suite, votre compte sera bloqué durant 5 minutes. Veuillez, s'il vous plaît, noter que les noms d'utilisateur et mots de passe sont sensibles à la casse.

18 Liste d'enregistrements

Liste d'enregistrements

Contao supporte trois vues: une simple liste ("vue en liste"), une liste qui est regroupée par sa table parente ("vue parente") et une liste hiérarchique ("vue arborescente"). Ces trois vues peuvent être utilisées pour lister des enregistrements de n'importe quelle table ou de tables liées entre elles.

Vue en liste

La "vue en liste" répertorie les enregistrements d'une table unique dans un ordre particulier. Les résultats sont généralement regroupés par leur première lettre.

Vue parente

La "vue parente" répertorie les enregistrements d'une table enfant qui sont liés à un enregistrement particulier d'une table parente. Les relations de type parent-enfant sont beaucoup utilisées dans Contao. Par exemple, pour les articles et les éléments de contenu, les archives d'actualités et les actualités ou les feuilles de style et les définitions de formatage.

19 Liste d'enregistrements

Vue arborescente

La "vue arborescente" liste des enregistrements et d'autres ressources tels que des fichiers et des répertoires qui sont organisés dans une structure hiérarchique. Contao prend en charge les relations hiérarchiques au sein d'une table (par exemple, la structure de site) ainsi que des tables enfants qui se rapportent aux tables hiérarchiques parentes (par exemple, les articles et les pages).

20 Liste d'enregistrements

Tri et filtrage des données

Contao supporte différentes façons d'affiner les résultats de sorte que vous ne lâchiez pas le fil même si une table possède plusieurs milliers de lignes. Un grand nombre d'entrées peuvent être filtrées par un ou plusieurs champs de sorte qu'ils ne montrent que les enregistrements correspondant aux critères de filtrage. La plupart des entrées offrent de plus une recherche en texte intégral qui prend même en charge les expressions régulières. Afin de réduire le temps de chargement de la page au minimum, Contao affiche seulement trente enregistrements à la fois.

21 Liste d'enregistrements

22 Édition des enregistrements

Édition des enregistrements

L'édition des données est l'une des fonctions centrales d'un système de gestion de contenu. Contao offre beaucoup de fonctionnalités professionnelles qui rendent le processus d'édition aussi facile et confortable que possible. Vous pouvez revenir à des versions antérieures d'un enregistrement, restaurer des enregistrements supprimés, déplacer des enregistrements via le presse- papiers et même éditer plusieurs enregistrements à la fois. La plupart de ces fonctions sont accessibles en utilisant les icônes de navigation.

Icônes de la vue en liste

La "vue en liste", étant la plus simple, ne propose que quatre actions de base : éditer, dupliquer, supprimer et afficher les détails.

Icônes de la vue parente

La "vue parente" propose deux icônes de navigation supplémentaires pour contrôler l'ordre des enregistrements. L'ordre peut être modifié par glisser-déposer. Pour ce faire, cliquez simplement sur l'icône de navigation "Glisser-déposer" et faites-le glisser vers sa nouvelle position.

23 Édition des enregistrements

Icônes de la vue arborescente

La "vue arborescente" nécessite des icônes supplémentaires pour gérer la structure hiérarchique. Outre la duplication d'un enregistrement unique, il prend en charge la duplication d'un enregistrement avec tous ses sous-enregistrements ainsi que la fonction "coller après" ou "coller dedans" un autre enregistrement, vous pouvez donc créer une structure imbriquée.

24 Édition des enregistrements

Restaurer les versions précédentes

Contao crée automatiquement les nouvelles versions d'un enregistrement chaque fois que vous le sauvegarder. Dès qu'il existe plus d'une version, un menu déroulant, qui vous permet de revenir à une version antérieure, apparaît en haut du formulaire. Choisissez simplement une version et cliquez sur le bouton "Restaurer".

L'icône située à droite du bouton "Restaurer" vous permet de voir les différences entre deux versions.

25 Édition des enregistrements

Édition de plusieurs enregistrements

La possibilité de modifier plusieurs enregistrements à la fois permet à Contao de clairement se démarquer de la variété des systèmes de gestion de contenu. Cliquez sur le bouton "Édition multiple" afin de changer le mode d'édition, puis sélectionnez un ou plusieurs enregistrements et choisissez les champs que vous souhaitez modifier.

26 Édition des enregistrements

27 Édition des enregistrements

28 Raccourcis clavier

Raccourcis clavier

Afin d'accélérer le flux de travail lorsque vous travaillez avec Contao, il existe plusieurs raccourcis associés au back office qui vous permettent d'exécuter certaines commandes. Vous pouvez par exemple déclencher le bouton "Enregistrer" à la fin d'un formulaire en cliquant avec votre souris ou en utilisant le raccourci clavier [Alt]+[s] .

Raccourcis clavier généraux

Raccourci Bouton Explication

[Alt]+[h] Accueil Aller à la page d'accueil du back office.

[Alt]+[q] Quitter Quitter la session en cours du back office (Déconnexion).

[Alt]+[t] Haut de la page Aller en haut de la page.

[Alt]+[b] Retour Retour à la page précédente.

[Alt]+[n] Nouvel enregistrement Créer un nouvel enregistrement.

[Alt]+[e] Édition multiple Passe en mode d'édition multiple.

[Alt]+[f] Aperçu du Front office Ouvrir l'aperçu du front office dans une nouvelle fenêtre du navigateur.

Raccourcis clavier en mode d'édition

Raccourci Bouton Explication

[Alt]+ [s] Sauvegarder Sauvegarde le formulaire courant

[Alt]+ Sauvegarder Sauvegarde le formulaire courant et redirige vers la page précédente. [c] et fermer

[Alt]+ Sauvegarder Sauvegarde le formulaire courant et redirige vers la page parente, par exemple, à partir [g] et retour d'un élément de contenu vers la vue arborescente des articles.

[Alt]+ Sauvegarder Sauvegarde le formulaire courant et redirige vers la vue des enregistrements enfants. Par [e] et éditer exemple, lors de la création de feuilles de style.

[Alt]+ Sauvegarder Sauvegarde le formulaire courant et crée un nouvel enregistrement. [n] et nouveau

Raccourcis clavier en mode d'édition multiple

Raccourci Bouton Explication

[Alt]+ [d] Suppression multiple Supprime tous les enregistrements sélectionnés en mode d'édition multiple.

[Alt]+ [x] Coupe multiple Déplace tous les enregistrements sélectionnés en mode d'édition multiple.

[Alt]+ [c] Copie multiple Duplique tous les enregistrements sélectionnés en mode d'édition multiple.

[Alt]+ [v] Remplacement multiple Remplace tous les enregistrements sélectionnés en mode d'édition multiple.

[Shift] Sélectionner plusieurs Sélectionne plusieurs cases à cocher en maintenant enfoncée la touche shift cases à cocher (Maj) en mode d'édition multiple.

29 Raccourcis clavier

Les raccourcis clavier ci-dessus ne fonctionnent que sous Windows sous cette forme. Les utilisateurs de Mac doivent utiliser

[Ctrl]+[⌥ Opt] au lieu de la touche [Alt] avec le raccourci clavier. En outre, Firefox sur Windows fait exception à la norme : vous devez appuyer sur le raccourci clavier [Alt]+[Shift] .

30 Gestion des pages

Gestion des pages

Les chapitres suivants expliquent comment gérer les pages dans Contao. Depuis que Contao est un système de gestion de contenu basé sur les pages, ces dernières et la structure de site sont les éléments centraux de votre site internet et tout contenu qui n'est pas associé à une page ne pourra jamais être vu.

31 Composants

Composants

Comprendre comment les pages, les articles, les éléments de contenu et les modules sont liés entre eux est la clé de l'apprentissage de Contao. Comme mentionné précédemment, la structure de site est l'élément central de votre site. Les visiteurs de votre site internet demandent toujours des pages et non des articles comme dans un CMS basé sur des nœuds.

Le diagramme montre que les articles et les présentations de page sont les deux éléments les plus importantes d'une page. Alors que les articles stockent le contenu d'une page, la présentation de page définit la façon dont il est affiché sur le site. Les présentations de page de Contao sont basées sur les CSS et bien sûr elles n'utilisent pas de mise en page avec des tables. Les chapitres suivants expliquent comment créer des feuilles de style et des modules, comment les combiner dans une présentation de page et comment créer des pages qui l'utilisent.

32 Thèmes

Thèmes

Une design de site internet se compose généralement de feuilles de style, de modules front office, de présentations de page, de fichiers et de modèles que vous pouvez gérer dans le back office de Contao. Le gestionnaire de thème ne change pas cette approche du tout, il ajoute juste une option pour exporter et importer ces ressources.

Thèmes par opposition aux modèles du front office

La principale différence entre les thèmes et les modèles du front office est qu'un modèle du front office contient un exemple de site internet entièrement préconfiguré, y compris un exemple de structure de site, d'articles, d'éléments de contenu et même d'utilisateurs et de groupes d'utilisateurs. Un thème, en revanche, ne contient que le design du site internet et peut donc être importé sans risque de perdre toutes les données existantes.

Composants d'un thème

Un thème est un groupe de feuilles de style, de modules front office et de présentations de page, qui sont tous stockés dans la base de données et automatiquement reconnus par l'exportateur de thème. Vous en apprendrez plus sur ces éléments dans les chapitres suivants. Un thème inclut habituellement des images et d'autres fichiers à partir du répertoire des fichiers et des modèles personnalisés en option à partir du répertoire des modèles. Toutefois, ces ressources ne sont pas automatiquement liées avec le thème et doivent donc être ajoutées dans la configuration du thème pour y être inclues dans l'exportation.

33 Thèmes

Exportation et importation d'un thème

Pour exporter un thème, cliquez simplement sur le bouton d'exportation et télécharger le fichier .cto en local sur votre ordinateur. Bien que .cto est une extension de fichier propriétaire pour les thèmes de Contao, le fichier est en fait une archive ZIP qui peut être extraite avec chaque programme qui traite les fichiers .zip. Pour réimporter un thème, téléversez le fichier .cto dans votre installation de Contao, ouvrez le gestionnaire de thèmes et cliquez sur "Import de thème". Vous pouvez importer plusieurs thèmes à la fois. Une fois l'importation terminée, vous pouvez associer une ou plusieurs présentations de page du nouveau thème dans la structure de site.

34 Feuilles de style

Feuilles de style

Les sites internet accessibles doivent toujours être formatés à l'aide des CSS, c'est pourquoi Contao inclut un module "feuilles de style" qui vous permet de gérer les définitions de formatage dans le back office. Pour référencer les différents éléments de Contao, vous devez connaître leurs noms de classe. Les classes des éléments de contenu commencent par "ce_" (par exemple "ce_text") et les classes des modules avec "mod_" (par exemple "mod_search"). Si vous n'êtes pas sûr, il suffit de regarder dans le code source de la page.

Chaque feuille de style peut être limitée par un ou plusieurs types de média et/ou par une version particulière d'Internet Explorer, dans le cas où vous avez besoin de fixer un de ses nombreux bogues. Faites attention à l'ordre des définitions de formatage, car celles qui suivent, remplacent les précédentes.

/* Définir la valeur générale d'abord */ .mod_search { margin:24px; }

/* Puis la remplacer pour IE7 */ *:first-child+html .mod_search { margin:18px; }

35 Feuilles de style

Si l'ordre est inversé, la valeur générale l'emporterait sur la marge spécifique à Internet Explorer.

36 Modules

Modules

Les modules front office vous permettent d'ajouter presque n'importe quel type de fonctionnalités à votre site internet. Le cœur de Contao comprend des modules pour générer différents menus de navigation, gérer l'enregistrement et l'authentification d'un membre, rechercher sur le site, l'importation de flux RSS et bien plus encore. Pour créer un module, connectez-vous au back office et choisissez "Thèmes" -> "modules front office" dans le menu de navigation.

Module Classe CSS Description

Menu de navigation mod_navigation Génère un menu de navigation à partir de la structure de site.

Navigation personnalisée mod_customnav Génère un menu personnalisé.

Navigation "fil d'Ariane" mod_breadcrumb Génère un menu de type "fil d'Ariane".

Génère un menu de type liste déroulante à partir de la structure Navigation rapide mod_quicknav de site.

Lien rapide mod_quicklink Génère un menu de type liste déroulante.

Navigation "Livre" mod_booknav Génère un menu de type "Livre".

Pagination d'articles mod_article_nav Génère une pagination pour naviguer dans les articles.

Plan du site mod_sitemap Génère une liste de toutes les pages de la structure de site.

Formulaire de connexion mod_login Génère un formulaire de connexion.

Déconnexion automatique - Déconnecte automatiquement un membre.

Génère un formulaire permettant de modifier les données Données personnelles mod_personalData personnelles d'un membre.

Formulaire d'inscription mod_registration Crée un formulaire d'inscription.

Changer le mot de passe mod_changePassword Génère un formulaire pour changer le mot de passe.

Mot de passe perdu mod_password Crée un formulaire de demande de nouveau mot de passe.

Fermer le compte mod_closeAccount Crée un formulaire pour supprimer le compte d'un membre.

Liste d'actualités mod_newslist Ajoute une liste d'actualités à la page.

Lecteur d'actualités mod_newsreader Affiche les détails d'une actualité.

Archive d'actualités mod_newsarchive Ajoute une archive d'actualités à la page.

Menu archive d'actualités mod_newsmenu Génère un menu de navigation pour une archive d'actualités.

Calendrier mod_calendar Ajoute un calendrier dans une page.

Lecteur d'événement mod_eventreader Affiche les détails d'un événement.

Liste d'événements mod_eventlist Ajoute une liste d'événements dans une page.

Génère un menu de navigation pour parcourir la liste Menu liste d'événements mod_eventmenu d'événements.

Génère un formulaire pour s'abonner à une ou plusieurs listes S'abonner mod_subscribe de diffusion.

Génère un formulaire pour se désabonner à une ou plusieurs Se désabonner mod_unsubscribe listes de diffusion.

Liste de bulletins mod_nl_list Ajoute une liste de bulletins d'information à une page. d'information

37 Modules

Lecteur de bulletins mod_nl_reader Affiche les détails d'un bulletin d'information. d'information

Liste de FAQ mod_faqlist Ajoute une liste de questions fréquemment posées dans la page.

Lecteur de FAQ mod_faqreader Affiche la réponse à une question fréquemment posée.

Page de FAQ mod_faqpage Afficher la liste de FAQ et le lecteur de FAQ sur la même page.

Formulaire mod_form Ajoute un formulaire dans la page.

Moteur de recherche mod_search Ajoute un formulaire de recherche dans la page.

Commentaires mod_comments Gérer les commentaires ou les entrées d'un livre d'or.

Liste d'enregistrements mod_listing Lister les enregistrements d'une table de la base de données.

Animation Flash mod_flash Permet d'inclure une animation Flash dans une page.

Liste d'articles mod_article_list Génère une liste d'articles contenu dans une zone particulière.

Image aléatoire mod_random_image Ajoute une image aléatoire dans une page.

Code HTML personnalisé - Permet d'inclure du code HTML personnalisé.

Lecteur de flux RSS mod_rss_reader Ajoute un flux RSS à la page.

Contrôle d'accès

Chaque module front office peut être protégé de sorte que seuls les invités ou les membres d'un groupe en particulier puissent le voir sur le site internet.

38 Présentations de page

Présentations de page

Les présentations de page déterminent l'agencement basique d'une page, par ex. le nombre de colonnes ou la largeur générale, et elle définissent quels modules de front office vont être affichés dans quelles colonnes. Elles permettent aussi d'inclure des feuilles de style, de lier la page à un flux RSS ou Atom, d'associer un ID Google Analytics et d'ajouter du code JavaScript qui pourrait être requis pour contrôler des éléments interactifs ou des plugins. Le framework CSS de Contao divise automatiquement la fenêtre du navigateur en plusieurs sections et affiche les modules qui ont été assignés à ces sections les uns à la suite des autres.

Cela implique que lorsque vous allez créer une présentation de page, vous devriez déjà avoir créé toutes les feuilles de style et les modules front office que vous voulez inclure. C'est pourquoi, il est recommandé de créer les ressources dans l'ordre suivant :

Créer les modules front office nécessaires Créer les feuilles de style nécessaires Optionnellement, créer des archives d'actualités ou des calendriers Créer une présentation de page et combiner tous les composants

39 Présentations de page

40 Types de page

Types de page

Le type de page détermine si la page va afficher du contenu, rediriger vers une autre page ou définir le point de départ d'un nouveau site internet dans la structure de page. Contao supporte six types de pages différents qui sont expliqués ci-dessous.

Type de page Description

Page simple Une page simple contient des articles et des éléments de contenu. C'est le type de page par défaut.

Rediriger vers Ce type de page réoriente automatiquement les visiteurs vers une URL externe. Cela fonctionne une URL comme un lien hypertexte. externe

Rediriger vers une autre page Ce type de page réoriente automatiquement les visiteurs vers une autre page de la structure de site. du site

Racine d'un Ce type de page est le point de départ pour créer un site internet dans la structure de site. nouveau site

Erreur 403 Si un utilisateur sans permission essaye d'accéder à une page protégée, une page d'erreur 403 sera (accès interdit) retournée. Cette page doit être ajoutée au premier niveau dans votre page racine d'un nouveau site.

Erreur 404 Si un utilisateur essaye d'accéder à une page qui n'existe pas, une page d'erreur 404 sera retournée. (page non Cette page doit être ajoutée au premier niveau dans votre page racine d'un nouveau site. trouvée)

Page d'accueil

Lorsque le front office est ouvert avec une requête d'URL vide (par ex. http://www.example.org/ ), Contao affichera la première page publiée dans la racine du site internet respectif. Vous devez définir index comme alias de cette page. C'est seulement alors que l'URL généré pour cette page sera également une requête vide.

À partir de la version 3.5.18 , Contao redirigera automatiquement vers la page d'accueil si l'alias n'est pas défini comme index . L'URL comprend alors l'alias et le suffixe défini globalement (par ex. http://www.example.org/home.html ).

Mode multi-domaines

Contao supporte plusieurs sites internet à l'intérieur de la structure de site et redirige automatiquement les visiteurs vers une racine de site particulière en fonction du nom de domaine ou des réglages de langues. Imaginons par exemple que vous deviez créer un site d'entreprise bilingue qui utilise le nom de domaine "www.example.com" et un petit site personnel qui utilise le nom de domaine "www.personal.example.org". Vous aurez besoin de trois pages racines d'un nouveau site pour cela :

Type DNS Code de langue Langue de secours

Site internet d'entreprise en allemand aucun de non

Site internet d'entreprise en anglais aucun en oui

Site internet personnel www.personal.example.org de oui

Le tableau suivant montre vers quelle page un visiteur va être redirigé en fonction du nom de domaine et de la langue de son navigateur.

Domaine Langue du navigateur Cible de redirection

www.example.com Anglais Site internet d'entreprise en anglais

www.example.com Allemand Site internet d'entreprise en allemand

41 Types de page

www.example.com Espagnol Site internet d'entreprise en anglais

www.personal.example.org Non pertinent Site internet personnel

Notez que si nous n'utilisions pas l'option "langue de secours", le site internet personnel ne serait disponible que pour les utilisateurs dont la langue du navigateur est l'allemand !

Droits d'accès

Les droits d'accès déterminent ce que les utilisateurs du back office sont autorisés à faire avec une page et ses articles. Ils n'ont rien à voir avec les pages protégées qui ne sont accessibles que par certains utilisateurs front office ! Similaire au système de permissions des fichiers Unix, il existe trois niveaux d'autorisation :

Accès en tant que propriétaire d'une page Accès en tant que membre d'un groupe propriétaire de la page Accès en tant qu'utilisateur sans privilège

Chaque niveau peut avoir différentes permissions. Par défaut, le propriétaire de la page est autorisé à éditer la page elle-même ainsi que les articles de la page, tandis qu'un utilisateur d'un groupe qui possède une page est autorisé à éditer les articles seulement. Les utilisateurs sans privilège n'ont aucun droits en écriture.

42 Gestion du contenu

Gestion du contenu

Les chapitres suivants expliquent comment gérer le contenu dans Contao. Le cœur de Contao supporte de nombreux types de contenu comme des articles, des actualités, des événements, des bulletins d'information, des formulaires ou des définitions. D'autres types de contenu comme des bannières, des billets, des produits ou des recommandations sont disponibles dans le référentiel d'extensions. Pour créer du contenu, se connecter au back office et choisir un des modules dans la section "Contenu" du menu de navigation.

43 Articles

Articles

Les articles sont des conteneurs pour les éléments de contenu. Regrouper les éléments de contenu par article rend le travail plus facile pour déplacer, publier, copier, éditer ou exporter ces éléments ensemble au lieu d'un par un. Chaque article est associé à une page particulière et à une section particulière de cette page, il a ainsi une position fixe dans la structure de site et sur le site internet. Contao peut optionnellement n'afficher qu'une accroche d'article avec un lien "En savoir plus...".

Éléments de contenu

Les éléments de contenu sont un moyen simple et intuitif pour créer du contenu. Au lieu d'utiliser un éditeur de texte riche, Contao fournit un élément distinct pour chaque type de contenu comme les textes, les listes, les tableaux, les liens hypertextes, les images ou les téléchargements. Voici un aperçu des éléments de contenu de base de Contao :

Nom Classe CSS Description

Titre ce_headline Génère un titre (h1 - h6).

Génère un texte enrichi qui peut être formaté à l'aide de Texte ce_text TinyMCE.

HTML - Vous permet d'ajouter du code HTML personnalisé.

Liste ce_list Génère une liste ordonné ou non ordonnée.

Tableau ce_table Génère un tableau qui peut-être trié.

Ajoute la coloration syntaxique sur des extraits de code et les Code ce_code imprime sur l'écran.

Génère du code HTML à partir d'un texte formaté avec la Markdown ce_markdown syntaxe Markdown.

Accordéon (élément seul) ce_accordion Génère un seul élément accordéon (avec MooTools).

Accordéon (début de ce_accordionStart Génère l'ouverture du conteneur de l'accordéon. l'enveloppe)

Accordéon (fin de l'enveloppe) - Génère la fermeture du conteneur de l'accordéon.

Slider de contenu (début de ce_sliderStart Génère l'ouverture du conteneur du slider. l'enveloppe)

Slider de contenu (fin de - Génère la fermeture du conteneur du slider. l'enveloppe)

Lien hypertexte ce_hyperlink Génère un lien hypertexte vers un autre site internet.

Lien vers le haut de page ce_toplink Génère un lien pour retourner en haut de page.

Image ce_image Génère une image.

Galerie d'images ce_gallery Génère une galerie d'images avec effet lightbox.

Vidéo/audio ce_player Génère un lecteur vidéo ou audio.

YouTube ce_youtube Ajoute une vidéo YouTube.

Téléchargement ce_download Génère un lien hypertexte vers un fichier à télécharger.

Génère des liens hypertextes multiples vers des fichiers à Téléchargements ce_downloads télécharger.

Contenu d'un article - Insère un autre article.

44 Articles

Élément de contenu (classe parente) Insère un autre élément de contenu.

Formulaire ce_form Insère un formulaire.

Module (classe parente) Insère un module front office.

Accroche d'un article ce_teaser Affiche l'accroche d'un article.

Commentaires ce_comments Ajouter un formulaire de saisie de commentaires à la page.

Contrôle d'accès

Chaque élément de contenu peut être protégé de sorte que seuls les invités ou les membres d'un groupe en particulier puissent le voir sur le site internet.

Contenu Flash

Le contenu Flash est un type particulier de contenu qui n'est pas affiché dans un article sur le site internet mais chargé dans un film Flash dynamique en utilisant "loadVars()". Pour permettre la communication entre Contao et Flash, vous devez ajouter la fonction suivante au frame principal de votre film :

TextField.prototype._loadArticle = function(flashID) { tf = this;

// Autoriser le mode HTML et supprimer le contenu tf.html = true; tf.htmlText = "";

// Instancier un nouvel objet LoadVars lv = new LoadVars(); lv["flashID"] = flashID; lv.sendAndLoad(URL + "flash.php", lv, "POST");

lv.onLoad = function(success) { if (success) { tf.htmlText = lv["content"]; } } }

// Charger le contenu Flash "myArticle" dans le champ texte "myTextBox" myTextBox._loadArticle("myArticle");

45 Articles

Importer une feuille de style

Le code ActionScript suivant vous permet d'importer une feuille de style pour formater un champ de texte dynamique :

TextField.prototype._addCSS = function(style_sheet) { tf= this; tf.styleSheet = null;

// Instancier un nouvel objet StyleSheet st = new TextField.StyleSheet(); st.load(URL + style_sheet);

st.onLoad = function(success) { if (success) { tf.styleSheet = st; } } }

// Ajouter la feuille de style "basic." au champ texte "myTextBox" myTextBox._addCSS("basic.css");

Notez que Flash ne prend en charge qu'un petit sous-ensemble de balises HTML, de sorte que certains de vos styles puissent ne pas s'afficher correctement.

46 Actualités

Actualités

L'extension actualités/blog vous permet de gérer des actualités ou des billets d'un blog et de les afficher dans le front office. Contrairement aux articles qui sont associés à une page en particulier, les actualités sont organisées dans des archives d'actualités, qui vous permet de facilement les regrouper, de les catégoriser ou de les exporter.

Archives d'actualités

Les archives d'actualité sont utilisées pour regrouper et/ou catégoriser les actualités. Chaque archive peut se rapporter à une certaine langue ou un sujet particulier.

Modules front office

Les modules front office sont utilisés pour afficher les actualités sur le site internet. Ils peuvent être configurés avec le module "Modules" dans le back office et doivent être ajoutés à un article ou à une présentation de page pour pouvoir apparaître sur le site internet. L'extension actualités/blog comprend quatre modules front office :

Module Classe CSS Description

Liste d'actualités mod_newslist Ajoute une liste d'actualités à la page.

Lecteur d'actualités mod_newsreader Affiche les détails d'une actualité.

Archive d'actualités mod_newsarchive Ajoute une archive d'actualités à la page.

Menu archive d'actualités mod_newsarchiveMenu Génère un menu de navigation pour une archive d'actualités.

Permaliens

Chaque actualité a une URL unique (permalien) qui peut être utilisée pour la référencer :

http://www.example.com/news/items/james-wilson-returns.html

L'URL ci-dessus sollicite l'actualité "james-Wilson-retours" via la page "actualités". Rappelez-vous que Contao est un CMS basé sur les pages, donc si la page "actualités" n'existait pas ou si elle ne comprenait pas le module lecteur d'actualités, alors l'actualité ne serait pas affichée.

47 Événements

Événements

L'extension calendrier vous permet de gérer des événements et de les afficher dans un calendrier ou une liste d'événements sur le site internet. Contrairement aux articles qui sont associés à une page en particulier, les événements sont organisés dans des calendriers, qui vous permet de les regrouper, de les classer ou de les exporter.

Calendriers

Les calendriers sont utilisés pour regrouper et/ou catégoriser des événements. Chaque calendrier peut se rapporter à une certaine langue ou un sujet particulier.

Modules front office

Les modules front office sont utilisés pour afficher des événements sur le site internet. Ils peuvent être configurés avec le module "Modules" dans le back office et doivent être ajoutés à un article ou à une présentation de page pour pouvoir apparaître sur le site internet. L'extension calendrier comprend quatre modules front office :

Module Classe CSS Description

Calendrier mod_calendar Ajoute un calendrier dans une page.

Lecteur d'événements mod_eventreader Affiche les détails d'un événement.

Liste d'événements mod_eventlist Ajoute une liste d'événements dans une page.

Menu liste d'événements mod_eventmenu Génère un menu de navigation pour parcourir la liste d'événements.

Permaliens

Chaque événement a une URL unique (permalien) qui peut être utilisée pour le référencer :

http://www.example.com/event-reader/events/final-exams.html

L'URL ci-dessus sollicite l'événement "final-exams" via la page "events". Rappelez-vous que Contao est un CMS basé sur les pages, donc si la page "events" n'existait pas ou si elle n'incluait pas le module lecteur d'événements, alors l'événement ne serait pas affiché.

48 Flux RSS/Atom

Flux RSS/Atom

Cette fonctionnalité peut être utilisée pour les archives d'actualités et les calendriers. Voici un exemple avec la liste des calendriers.

Paramètres

Un ou plusieurs calendriers peuvent être regroupés et exportés en tant que flux RSS ou Atom. Il en va de même pour les archives d'actualités. Dans un même temps, vous pouvez choisir d'exporter uniquement les accroches ou les articles complets de chaque événement ou actualité.

49 Flux RSS/Atom

Fichiers XML

Les fichiers XML sont générés automatiquement dans le répertoire share de votre installation de Contao. Dans cet exemple : share/evenements.xml .

50 Bulletins d'information

Bulletins d'information

L'extension bulletins d'information vous permet de gérer et d'envoyer des bulletins d'information et optionnellement de les afficher sur le site internet. Contrairement aux articles qui sont associés à une page particulière, les bulletins d'information sont organisés en listes de diffusion, ce qui vous permet de facilement les regrouper ou de les catégoriser.

Destinataires

Les inscriptions à un bulletin d'information sont traitées par les modules front office créés à cet effet, donc vous n'avez pas à gérer les destinataires manuellement. Pour des raisons de protection des données privées, Contao utilise l'inscription par Double Opt In et ne stocke que l'adresse e-mail de l'abonné.

Au cas où vous auriez déjà une liste de destinataires, vous pouvez l'importer dans Contao à partir d'un fichier CSV.

Bulletins d'information personnalisés

Dans la mesure où vous envoyez des bulletins d'information à des membres inscrits, vous pouvez personnaliser ces bulletins avec des "Simple Tokens". Les "Simple Tokens" fonctionnent d'une manière similaire à celle des balises d'insertion et peuvent être utilisés aussi bien dans la version HTML que dans la version texte de votre bulletin d'information.

Cher ##firstname## ##lastname##,

Veuillez mettre à jour vos données personnelles :

Rue: ##street## Code postal: ##postal## Ville: ##city## Téléphone: ##phone## E-mail: ##email##

L'administrateur

Cependant, contrairement aux balises d'insertion, les "Simple Tokens" ne permettent pas seulement d'ajouter des données de la table tl_member , mais aussi de faire des déclarations if-else simples, par ex. de spécifier une salutation :

{if gender=="male"}

51 Bulletins d'information

Monsieur ##lastname##, {elseif gender=="female"} Madame ##lastname##, {else} Madame, Monsieur, {endif}

[contenu du bulletin]

{if phone==""} Veuillez s'il vous plaît mettre à jour vos informations de contact et entrer votre numéro de téléphone. {endif}

L'administrateur

Envoyer des bulletins d'information

En particulier sur les hébergements mutualisés, il y a des limites concernant le temps d'exécution d'un script et/ou le nombre d'e- mails qui peuvent être envoyés par minute. Contao essaie de contourner ces deux problèmes en divisant le processus d'envoi en plusieurs cycles pour éviter le dépassement du temps d'exécution du script et en ajoutant une pause entre chaque cycle pour contrôler le nombre d'e-mails par minute.

Modules front office

Les modules front office sont utilisés pour gérer les inscriptions aux bulletins d'information et optionnellement les afficher sur le site internet. Ils peuvent être configurés avec le module "Modules" dans le back office et doivent être ajoutés à un article ou à une présentation de page pour être affichés sur le site internet.

52 Bulletins d'information

Module Classe CSS Description

Génère un formulaire pour s'abonner à une ou plusieurs listes de S'abonner mod_subscribe diffusion.

Génère un formulaire pour se désabonner à une ou plusieurs listes Se désabonner mod_unsubscribe de diffusion.

Liste de bulletins mod_nl_list Ajoute une liste de bulletins d'information à une page. d'information

Lecteur de bulletins mod_nl_reader Affiche les détails d'un bulletin d'information. d'information

Permaliens

Chaque bulletin d'information a une URL unique (permalien) qui peut être utilisée pour le référencer :

http://www.example.com/newsletters/items/james-wilson-returns.html

L'URL ci-dessus sollicite le bulletin d'information "james-wilson-returns" via la page "newsletters". Rappelez-vous que Contao est un CMS basé sur les pages, donc si la page "newsletters" n'existait pas ou si elle n'incluait pas le module lecteur de bulletins d'information, alors le bulletin d'information ne serait pas affiché.

53 Formulaires

Formulaires

Le générateur de formulaire intégré peut être utilisé pour créer des formulaires interactifs qui sont envoyées via e-mail ou stockés dans la base de données de Contao. Les fichiers téléversés peuvent être envoyés en tant que pièces jointes par e-mail ou stockés dans le répertoire des fichiers de Contao. Le générateur de formulaire prend en charge quatre formats de données différents :

Format Description

Raw Les données du formulaire sont envoyées comme du simple texte avec une nouvelle ligne pour chaque champ. data

XML Les données du formulaire sont envoyées en pièce jointe sous la forme d'un fichier XML. file

CSV Les données du formulaire sont envoyées en pièce jointe sous la forme d'un fichier CSV. file

Tous les champs sont ignorés à part email, subject, message et cc (copie carbone) et les données sont envoyées E-mail comme si l'e-mail avait été envoyé depuis un client de messagerie. Les envois de fichiers sont autorisés.

Les champs du formulaire

Semblable aux éléments de contenu, Contao propose un élément séparé pour chaque type de champ de formulaire tels que les champs de textes, les champs de mots de passe, les menus déroulants, les téléchargements de fichiers, les champs cachés ou boutons de soumission. Voici un aperçu des champs disponibles de Contao :

Champ Classe CSS Description

Titre headline Champ personnalisé pour insérer un titre de section.

Explication explanation Champ personnalisé pour insérer un texte d'explication.

Code HTML - Champ personnalisé pour insérer du code HTML.

Un conteneur pour les champs avec une légende en option (uniquement Fieldset - disponible pour les formulaires sans tableau).

Champ texte text Champ d'une ligne pour la saisie d'un texte court ou moyen.

Champ mot Champ d'une ligne pour la saisie d'un mot de passe. Contao ajoute password de passe automatiquement un champ de confirmation.

Zone de texte textarea Champ comportant plusieurs lignes pour la saisie d'un texte moyen ou long.

Liste select/multiselect Liste déroulante pour la sélection d'un ou plusieurs choix. déroulante

Bouton radio radio Liste de plusieurs options dont une seule peut être sélectionnée.

Case à cocher checkbox Liste de plusieurs options dont chacune peut être sélectionnée.

Envoi de upload Champ d'une ligne pour l'envoi d'un fichier local vers le serveur. fichier

Champ caché - Champ d'une ligne non visible dans le formulaire.

Question de Question simple d'arithmétique pour vérifier que le formulaire est bien soumis captcha sécurité par un individu (CAPTCHA).

Bouton submit Bouton d'envoi du formulaire. d'envoi

54 Formulaires

Module front office

Le module front office est utilisé pour afficher des formulaires sur le site internet. Il peut être configuré avec le module "Modules" dans le back office et doit être ajouté à un article ou à une présentation de page pour pouvoir apparaître sur le site internet. L'extension générateur de formulaire comprend un module front office :

Module Classe CSS Description

Formulaire mod_form Ajoute un formulaire dans la page.

Élément de contenu

L'élément de contenu est utilisé pour afficher des formulaires sur le site internet. Il peut être configuré avec l'élément de contenu "Formulaire" dans le back office et doit être ajouté à un article pour pouvoir apparaître sur le site internet. L'extension générateur de formulaire comprend un élément de contenu :

Élément de contenu Classe CSS Description

Formulaire ce_form Insère un formulaire.

55 Commentaires

Commentaires

Les commentaires sont une autre forme de contenu que vous pouvez gérer à partir du back office. Les commentaires doivent être activés dans les préférences des calendriers et des archives d'actualités.

Module front office

Le module front office est utilisé pour afficher des commentaires sur le site internet. Il peut être configuré avec le module "Modules" dans le back office et doit être ajouté à un article ou à une présentation de page pour pouvoir apparaître sur le site internet. L'extension commentaires comprend un module front office :

Module Classe CSS Description

Commentaires mod_comments Gérer les commentaires ou les entrées d'un livre d'or.

Élément de contenu

L'élément de contenu est utilisé pour afficher des commentaires sur le site internet. Il peut être configuré avec l'élément de contenu "Commentaires" dans le back office et doit être ajouté à un article pour pouvoir apparaître sur le site internet. L'extension commentaires comprend un élément de contenu :

Élément de contenu Classe CSS Description

Commentaires ce_comments Ajouter un formulaire de saisie de commentaires à la page.

BBCode

Vous pouvez permettre aux utilisateurs du front office d'utiliser le langage de balisage BBCode.

Contao prend en charge les balises suivantes :

BBCode Définition

[b][/b] Remplace la balise avec un texte en gras.

[i][/i] Remplace la balise avec un texte en italique.

[u][/u] Remplace la balise avec un texte souligné.

[img][/img] Remplace la balise avec une image (Ajouter une URL entre les balises).

[code][/code] Remplace la balise avec un texte à espacement fixe.

[color=#ff0000][/color] Remplace la balise avec un texte en couleur.

[quote][/quote] Remplace la balise avec un texte cité.

Remplace la balise avec un texte cité et le nom de l'auteur (par exemple, John a écrit: [quote=John]Bonjour[/quote] Bonjour).

[url][/url] Remplace la balise avec un lien.

[url=http://][/url] Remplace la balise avec un lien (insérer l'URL en tant que paramètre)

[email][/email] Remplace la balise avec un lien mailto.

[[email protected]] Remplace la balise avec un lien mailto (insérer l'adresse e-mail en tant que [/email] paramètre).

56 Commentaires

57 Modèles

Modèles

Un modèle est principalement composé de codes HTML et PHP. Il est utilisé pour structurer une partie du contenu d'un module ou d'un élément de contenu, etc. Par exemple, le modèle news_full. affiche le contenu complet d'une actualité alors que le modèle news_short.html5 affiche seulement une partie de ce contenu.

Les modèles se trouvent dans leurs propres modules. Par exemple, news_full.html5 se trouve sous system/modules/news/templates/news .

Si vous modifiez ce fichier directement dans ce dossier, il sera remplacé la prochaine fois que vous mettrez à jour Contao et vous perdrez toutes vos modifications. Pour éviter cela, Contao vous permet de modifier les modèles directement à partir du back office. Dans ce cas, le fichier est dupliqué et vos modifications seront conservées lors de chaque mise à jour.

Créez un nouveau dossier et ajoutez-y un ou plusieurs modèles que vous souhaitez modifier. Par la suite, n'oubliez pas de joindre le dossier au thème comme expliqué dans le paragraphe Composants d'un thème.

Un modèle peut être une partie de la structure d'un module, d'un élément de contenu, d'un formulaire, etc. et c'est pourquoi ils sont préfixés. Ils peuvent être facilement groupés, classés et reconnus. Par exemple : le préfixe j_ signifie "jQuery" et nl_ signifie "newsletter".

Héritage de modèles

L'héritage vous permet de créer un modèle basé sur un second modèle. Cela signifie qu'un modèle (enfant) hérite du contenu d'un second modèle (parent).

Afin que le contenu d'un modèle parent puisse être modifié ou complété dans le modèle enfant, il doit être entouré d'un élément nommé block .

Un bloc est construit de la manière suivante :

block('nom_du_bloc'); ?>

// Contenu du bloc

endblock(); ?>

L'exemple ci-dessous montre un modèle parent avec un bloc entourant le contenu de la balise head .

Modèle fe_page.html5 :

block('head'); ?> <?php echo $this->title; ?> endblock(); ?> ...

58 Modèles

Dans le modèle enfant fe_custom.html5 , une feuille de style est ajoutée dans la balise head en plus du contenu hérité du modèle parent fe_page.html5 .

Modèle fe_custom.html5 :

extend('fe_page'); ?>

block('head'); ?> parent(); ?> endblock(); ?>

La fonction extend() spécifie le nom du modèle dont il hérite le contenu. La fonction parent() permet de compléter un bloc sans remplacer le contenu hérité.

Le résultat en sortie du modèle fe_custom.html5 sera :

A title ...

Insertion de modèles

Un modèle peut être inséré dans un autre modèle grâce à la fonction insert() .

insert('nom_du_modele'); ?>

La fonction insert() accepte également l'assignation de variables comme second paramètre :

insert('nom_du_modele', array('key'=>'value')); ?>

// Ceci passe toutes les variables à partir du modèle courant insert('nom_du_modele', $this->getData()); ?>

Dans l'exemple ci-dessous, nous aimerions insérer le modèle image-copyright.html5 dans le modèle image.html5 .

Le modèle image.html5 contient une balise img et la fonction insert() .

Modèle image.html5 :

src; ?>" alt="alt; ?>" /> insert('image-copyright', array('name'=>'Donna Evans', 'license'=>'Creative Commons')); ?>

Le modèle image-copyright.html5 contient une balise small qui sera insérée en-dessous de la balise img dans le modèle image.html5 . Les variables name et license seront remplacées par les valeurs déterminées dans la fonction insert() .

Modèle image-copyright.html5 :

59 Modèles

Photographie par name; ?>, sous licence license; ?>

Le résultat en sortie du modèle image.html5 sera :

Photographie par Donna Evans, sous licence Creative Commons

60 Markdown

Markdown

Markdown est un langage de balisage léger qui vous permet de formater du texte avec une syntaxe simple. Il a l'avantage d'être facile à lire et à écrire et il peut être automatiquement converti au format HTML.

Vous trouverez quelques exemples de cette syntaxe ci-dessous :

Syntaxe

Paragraphes

Les paragraphes sont séparés par des sauts de ligne :

Premier paragraphe

Second paragraphe

Titres

Il existe six niveaux de titres :

# Titre 1 ## Titre 2 ### Titre 3 #### Titre 4 ##### Titre 5 ###### Titre 6

Strong

Pour donner de l'importance à un texte :

**strong** __strong__

Il sera converti en HTML avec le code suivant : strong

Emphase

Pour marquer un texte sur lequel on veut insister :

*emphasize* _emphasize_

Il sera converti en HTML avec le code suivant : emphasize

Code

Pour marquer un morceau de code informatique :

`monospaced font`

61 Markdown

Il sera converti en HTML avec le code suivant : monospaced font

Bloc de code

Pour un bloc de code, ajoutez quatre espaces devant chaque ligne.

monospaced font ...... sur plusieurs lignes

Bloc de citation

Les blocs de citation peuvent être créés avec un chevron droit placé au début de la ligne.

> Ceci est un bloc de citation.

Sauts de ligne

Ajouter deux ou plusieurs espaces à la fin d'une ligne :

Contao est un système de gestion de contenu Open Source accessibles.

Liens

Il y a deux syntaxes pour les liens : incorporé et par référence.

Un lien incorporé est structuré comme suit :

[Contao](https://contao.org/en) ou avec un titre optionnel :

[Contao](https://contao.org/en "Site officiel de Contao")

Un lien par référence est structuré comme suit :

[Site officiel de Contao][1]

[1]:https://contao.org/en

La référence peut être ajoutée n'importe où dans le document.

Images

Il y a également deux syntaxes pour les images comme pour les liens.

Une image incorporée est structurée comme suit :

![Alt texte](/chemin/vers/img.jpg "Titre facultatif")

Une image par référence est structurée comme suit :

![Alt texte][id]

62 Markdown

[id]: /chemin/vers/img.jpg "Titre facultatif"

La référence peut être ajoutée n'importe où dans le document.

Listes

Listes non ordonnées

Les listes non ordonnées utilisent des astérisques ou des traits d'union :

* Élément de liste * Élément de liste * Un élément de liste imbriqué * Un élément de liste imbriqué * Élément de liste

- Élément de liste - Élément de liste - Élément de liste

Listes ordonnées

Les listes ordonnées utilisent des numéros :

1. Élément de liste 2. Élément de liste 3. Élément de liste

Syntaxe étendue

Il n'est pas possible de décrire tous les éléments avec Markdown tels que des tableaux ou des notes de bas de page par exemple. C'est pourquoi, il existe un projet appelé "Markdown Extra" qui complète le langage de base.

Vous trouverez quelques exemples de cette syntaxe étendue ci-dessous :

Tableaux

Un tableau peut être créé comme ceci :

Premier en-tête | Deuxième en-tête | Troisième en-tête ------| ------| ------Contenu de la cellule | Contenu de la cellule | Contenu de la cellule Contenu de la cellule | Contenu de la cellule | Contenu de la cellule

Vous pouvez créer des alignements en ajoutant des deux-points :

Premier en-tête | Deuxième en-tête | Troisième en-tête :------| :------: | ------: Gauche | Centrer | Droite Gauche | Centrer | Droite

Notes de bas de page

Les notes de bas de page peuvent être créées comme ceci :

Voici du texte avec une note de bas de page.[^1]

63 Markdown

[^1]: Et voilà la note de bas de page.

La référence de la note de bas de page peut être ajoutée n'importe où dans le document.

Compléments d'information

Pour une documentation complète concernant Markdown, veuillez s'il vous plaît, vous référer au site officiel en suivant ce lien (en anglais).

Pour une documentation complète concernant Markdown Extra, veuillez s'il vous plaît, vous référer au site officiel en suivant ce lien.

64 Balises d'insertion

Balises d'insertion

Les balises d'insertion sont des jokers qui sont remplacés par du contenu dynamique quand une page est affichée à l'écran. Elles vous permettent, par exemple, d'afficher la date courante, l'adresse d'un membre en fonction de son nom ou bien d'inclure un fichier. Les balises d'insertion peuvent être utilisées presque partout dans Contao, même dans les pages en cache.

Les éléments de lien

Les balises d'insertion suivantes vous permettent de faire un lien vers une autre page ou vers un article en utilisant son ID ou son alias.

Balise d'insertion Description

{{link::*}} Cette balise sera remplacée par un lien vers une page interne (remplacez * par un ID ou un alias de page).

Cette balise sera remplacée par un lien qui pointe vers la dernière page visitée. Elle peut aussi {{link::back}} être utilisée comme {{link_open::back}} , {{link_url::back}} ou {{link_title::back}} (voir ci-dessous).

{{link::login}} Cette balise sera remplacée par un lien vers la page de connexion du membre actuellement connecté (s'il y en a un).

{{link_open::*}} Cette balise sera remplacée par la balise d'ouverture d'un lien vers une page interne : {{link_open::12}}Cliquez ici{{link_close}} .

Cliquez ici .

Cliquez ici .

{{link_name::*}} Cette balise sera remplacée par le nom d'une page interne (remplacez * par un ID ou un alias de page).

{{link_close}} Cette balise sera remplacée par la balise de fermeture d'un lien vers une page interne : {{link_open::12}}Cliquez ici{{link_close}} .

{{article::*}} Cette balise sera remplacée par un lien vers un article (remplacez * par un ID ou un alias d'article).

{{article_open::*}} Cette balise sera remplacé par la balise d'ouverture du lien vers un article : {{article_open::12}}Cliquez ici{{link_close}} .

Cliquez {{article_url::*}} Cette balise sera remplacée par l'URL d'un article : ici .

Cliquez ici .

{{news::*}} Cette balise sera remplacée par un lien vers une actualité (remplacez * par un ID ou un alias d'actualité).

{{news_open::*}} Cette balise sera remplacé par la balise d'ouverture du lien vers une actualité : {{news_open::12}}Cliquez ici{{link_close}} .

Cliquez {{news_url::*}} Cette balise sera remplacée par l'URL d'une actualité : ici .

Cliquez ici .

{{news_feed::*}} Cette balise sera remplacée par l'URL d'un flux d'un événement (remplacez * par un ID du flux d'un événement).

65 Balises d'insertion

{{event::*}} Cette balise sera remplacée par un lien vers un événement (remplacez * par un ID ou un alias d'événement).

{{event_open::*}} Cette balise sera remplacé par la balise d'ouverture du lien vers un événement : {{event_open::12}}Cliquez ici{{link_close}} .

Cliquez ici .

Cliquez ici .

{{calendar_feed::*}} Cette balise sera remplacée par l'URL d'un flux d'un calendrier (remplacez * par un ID du flux d'un calendrier).

{{faq::*}} Cette balise sera remplacée par un lien vers une question fréquemment posée (remplacez * par un ID ou un alias de FAQ).

{{faq_open::*}} Cette balise sera remplacé par la balise d'ouverture du lien d'une question : {{faq_open::12}}Cliquez ici{{link_close}} .

Cliquez {{faq_url::*}} Cette balise sera remplacée par l'URL d'une question : ici .

Cliquez ici .

Propriétés du membre

Les balises d'insertion suivantes vous permettent d'afficher n'importe quelle propriété du membre (utilisateur front office) actuellement connecté.

Balise d'insertion Description

{{user::*}} Cette balise sera remplacée par le contenu d'un champ de la table `tl_member` par rapport au membre courant. (remplacez * par le nom du champ).

{{user::firstname}} Cette balise sera remplacée par le prénom du membre actuellement connecté.

{{user::lastname}} Cette balise sera remplacée par le nom de famille du membre actuellement connecté.

{{user::company}} Cette balise sera remplacée par le nom de la société du membre actuellement connecté.

{{user::phone}} Cette balise sera remplacée par le n° de téléphone du membre actuellement connecté.

{{user::mobile}} Cette balise sera remplacée par le n° de téléphone portable du membre actuellement connecté.

{{user::fax}} Cette balise sera remplacée par le n° de fax du membre actuellement connecté.

{{user::email}} Cette balise sera remplacée par l'adresse e-mail du membre actuellement connecté.

{{user::website}} Cette balise sera remplacée par l'adresse du site internet du membre actuellement connecté.

{{user::street}} Cette balise sera remplacée par le nom de la rue du membre actuellement connecté.

{{user::postal}} Cette balise sera remplacée par le code postal du membre actuellement connecté.

{{user::city}} Cette balise sera remplacée par le nom de la ville du membre actuellement connecté.

{{user::country}} Sera remplacée par le nom du pays du membre actuellement connecté.

{{user::username}} Cette balise sera remplacée par le nom d'utilisateur du membre actuellement connecté.

Propriétés de page

Les balises d'insertion suivantes vous permettent d'afficher n'importe quelle propriété de la page courante.

66 Balises d'insertion

Balise d'insertion Description

{{page::*}} Cette balise sera remplacée par le contenu d'un champ de la table `tl_page` par rapport à la page courante. (remplacez * par le nom du champ).

{{page::id}} Cette balise sera remplacée par l'ID de la page courante.

{{page::alias}} Cette balise sera remplacée par l'alias de la page courante.

{{page::title}} Cette balise sera remplacée par le nom de la page courante.

{{page::pageTitle}} Cette balise sera remplacée par le titre de la page courante.

{{page::language}} Cette balise sera remplacée par la langue de la page courante.

{{page::parentAlias}} Cette balise sera remplacée par l'alias de la page parente.

{{page::parentTitle}} Cette balise sera remplacée par le nom de la page parente.

{{page::parentPageTitle}} Cette balise sera remplacée par le titre de la page parente.

{{page::mainAlias}} Cette balise sera remplacée par l'alias de la page parente principale.

{{page::mainTitle}} Cette balise sera remplacée par le nom de la page parente principale.

{{page::mainPageTitle}} Cette balise sera remplacée par le titre de la page parente principale.

{{page::rootTitle}} Cette balise sera remplacée par le nom du site internet.

{{page::rootPageTitle}} Cette balise sera remplacée par le titre du site internet.

Variables d'environnement

Les balises d'insertion suivantes vous permettent d'afficher les variables d'environnement comme le nom de la page ou la chaîne de requête.

Balise d'insertion Description

{{env::host}} Cette balise sera remplacée par le nom d'hôte actuel.

{{env::url}} Cette balise sera remplacée par le nom d'hôte et le protocole.

{{env::path}} Cette balise sera remplacée par la base de l'URL actuelle incluant le chemin vers le dossier Contao.

{{env::request}} Cette balise sera remplacée par la chaîne de requête actuelle.

{{env::ip}} Cette balise sera remplacée par l'adresse IP du visiteur actuel.

{{env::referer}} Cette balise sera remplacée par l'URL de la dernière page visitée.

{{env::files_url}} Cette balise sera remplacée par l'URL statique du répertoire files.

{{env::assets_url}} Cette balise sera remplacée par l'URL statique du répertoire assets.

Éléments inclus

Les balises d'insertion suivantes vous permettent d'inclure différentes ressources comme des articles, des modules ou des fichiers qui se trouvent dans le répertoire "templates".

Balise d'insertion Description

{{insert_article::*}} Cette balise sera remplacée par l'article référencé (remplacez * par l'ID ou l'alias de l'article).

{{insert_content::*}} Cette balise sera remplacée par l'élément de contenu référencé (remplacez * par l'ID de l'élément).

67 Balises d'insertion

{{insert_module::*}} Cette balise sera remplacée par le module référencé (remplacez * par l'ID du module).

{{insert_form::*}} Cette balise sera remplacée par le formulaire référencé (remplacez * par l'ID du formulaire).

{{article_teaser::*}} Cette balise sera remplacée par une accroche d'article (remplacez * par l'ID de l'article).

{{news_teaser::*}} Cette balise sera remplacée par une accroche d'actualité (remplacez * par l'ID de l'actualité).

{{event_teaser::*}} Cette balise sera remplacée par une accroche d'évènement (remplacez * par l'ID de l'évènement).

Cette balise sera remplacée par le contenu d'un fichier .php, .tpl, . ou .html5 se trouvant dans le dossier "templates" (remplacez * par le nom du fichier). Vous pouvez aussi fournir {{file::*}} des arguments : {{file::file.php?arg1=val&arg2=val}} . Vous pouvez également récupérer le chemin d'un fichier à partir de la base de données avec son UUID : {{file::6939a448-9b30-11e4-bcba-079af1e9baea}} .

Divers

Les balises d'insertion suivantes vous permettent d'effectuer différentes tâches comme ajouter la date courante ou ajouter des images lightbox.

Balise d'insertion Description

{{date}} Cette balise sera remplacée par la date courante dans le format de date global.

{{date::*}} Cette balise sera remplacée par la date courante dans un format de date personnalisé.

{{last_update}} Cette balise sera remplacée par la date de la dernière mise à jour dans le format de date global.

{{last_update::*}} Cette balise sera remplacée par la date de la dernière mise à jour dans un format de date personnalisé.

{{email::*}} Cette balise sera remplacée un lien cliquable et encodé vers une adresse e-mail.

{{email_open::*}} Cette balise sera remplacée par un lien cliquable et encodé vers une adresse e-mail. Toutefois, la balise de fermeture ne sera pas ajoutée.

{{email_url::*}} Cette balise sera remplacée par l'adresse e-mail encodée seulement.

Cette balise peut être utilisée pour marquer les mots étrangers à l'intérieur d'un texte : {{lang::*}} {{lang::en}}Goodbye{{lang}} sera remplacé par Goodbye et ajoute l'attribut xml:lang="en" si le doctype est XHTML.

{{post::*}} Cette balise sera remplacée par une variable POST. Elle peut être utilisée pour afficher les champs soumis par un formulaire.

{{abbr::World Wide Web}}WWW {{abbr}} {{abbr::*}} Marque les abréviations dans un texte : sera remplacé par WWW .

Marque les acronymes dans un texte : {{acronym::Multipurpose Internet Mail {{acronym::*}} Extensions}}MIME{{acronym}} sera remplacé par < acronym title="Multipurpose Internet Mail Extensions">MIME .

{{ua::browser}} {{ua::*}} Propriétés de sortie de l'agent utilisateur : . Elle sera, par exemple, remplacée par "chrome".

Cette balise sera complètement supprimée si la langue de la page ne correspond pas à la langue {{iflng::*}} de la balise. Vous pouvez l'utiliser pour définir des labels spécifiques à une langue : {{iflng::en}}Your name{{iflng}}{{iflng::de}}Ihr Name{{iflng}} .

Cette balise sera complètement supprimée si la langue de la page correspond à la langue de la {{ifnlng::*}} balise. Vous pouvez l'utiliser pour définir des labels spécifiques à une langue : {{ifnlng::de}}Your name{{ifnlng}}{{iflng::de}}Ihr Name{{iflng}} .

Cette balise sera remplacée par une vignette d'image (remplacer * avec l'ID de base de données, UUID ou un chemin de fichier système) : {{image::58ca4a90-2d30-11e4-8c21-0800200c9a66?

68 Balises d'insertion

width=200&height=150}} . width: Largeur de la vignette, {{image::*}} height: Hauteur de la vignette, alt: Texte alternatif, class: Classe CSS, rel: Attribut rel (par ex. "lightbox"), mode: Mode ("proportional", "crop" ou "box").

Cette balise sera remplacée par une image et plusieurs sources d'images en fonction de vos préférences de taille de l'image et si le paramètre size est un ID valide (remplacer * avec l'ID de base de données, UUID ou un chemin de fichier système) : {{picture::58ca4a90-2d30- 11e4-8c21-0800200c9a66?size=1&template=picture_default}} . width: Largeur de la vignette,

{{picture::*}} height: Hauteur de la vignette, alt: Texte alternatif, class: Classe CSS, rel: Attribut rel (par ex. "lightbox"), mode: Mode ("proportional", "crop" ou "box"), size: Un ID de taille de l'image (Voir Thèmes -> Dimensions des images), template: Le modèle par défaut (picture_default).

Cette balise sera remplacée par un libellé traduit. Le premier paramètre est un nom de fichier de CNT LNG {{label::*}} langue ou un acronyme tels que (pays) ou (langues). Exemples: {{label::CNT:au}} affiche "Australie" et {{label::tl_article:title:0}} affiche "Titre". Notez que seul le premier deux-points est doublé.

{{version}} Cette balise sera remplacée par la version actuelle de Contao (par exemple 3.2.7).

{{request_token}} Cette balise sera remplacée par la demande de jeton de la session en cours.

{{toggle_view}} Ajoute le lien qui vous permet de basculer entre le modèle pour mobile et celui d'un ordinateur de bureau.

{{br}} Cette balise sera remplacée par la balise HTML
(saut de ligne).

Drapeaux des balises d'insertion

En utilisant des drapeaux, les balises d'insertion peuvent être traitées de manière plus approfondie. Par exemple, la valeur peut être transmise aux méthodes PHP spécifiques. Plusieurs drapeaux peuvent être appliqués :

{{ua::browser|uncached}} {{page::title|decodeEntities|strtoupper}}

Drapeaux disponibles :

Drapeau Description Plus d'information

uncached Ne pas remplacer une balise d'insertion lorsque la page est mise en cache

refresh Ne pas mettre en cache la balise d'insertion, même si elle est utilisée plusieurs fois sur la même page

addslashes Ajoute des barres obliques inversées dans une chaîne Fonction PHP

stripslashes Supprime les barres obliques inversées d'une chaîne Fonction PHP

standardize Normalise la sortie (par exemple pour un alias de page ou une classe CSS)

ampersand Convertit les esperluettes en entités de caractère HTML

specialchars Convertit les caractères spéciaux en entités de caractère HTML

Insère des retours à la ligne HTML à chaque nouvelle ligne

69 Balises d'insertion

dans une chaîne

nl2br nl2br_pre Identique à , mais conserve les retours à la ligne dans la balise

 

strtolower Renvoie une chaîne en minuscules Fonction PHP

utf8_strtolower Conversion Unicode en minuscules

strtoupper Renvoie une chaîne en majuscules Fonction PHP

utf8_strtoupper Conversion Unicode en majuscules

ucfirst Met le premier caractère d'une chaîne en majuscule Fonction PHP

lcfirst Met le premier caractère d'une chaîne en minuscule Fonction PHP

Met en majuscule la première lettre de tous les mots dans ucwords Fonction PHP une chaîne

trim Supprime les espaces en début et fin de chaîne Fonction PHP

rtrim Supprime les espaces de fin de chaîne Fonction PHP

ltrim Supprime les espaces de début de chaîne Fonction PHP

utf8_romanize Romanise la sortie

strrev Inverse une chaîne Fonction PHP

encodeEmail Encode les adresses e-mail dans la sortie Voir String::encodeEmail

decodeEntities Décode les entités de caractère HTML dans la sortie Voir String::decodeEntities()

number_format Formate un numéro (sans décimale) Voir System::getFormattedNumber()

currency_format Formate une devise (deux décimales) Voir System::getFormattedNumber()

readable_size Convertit des tailles de fichiers dans un format lisible par un Voir humain System::getReadableSize()

urlencode Encode une chaîne en URL. Fonction PHP

rawurlencode Encode une chaîne en URL, selon la RFC 3986. Fonction PHP

70 Administration du système

Administration du système

Les chapitres suivants expliquent comment administrer Contao. Outre l'installation et la mise à jour de l'application, un administrateur est responsable de la création des utilisateurs et des groupes d'utilisateurs, de gérer les modules additionnels et de la maintenance du système.

71 Utilisateurs et groupes d'utilisateurs

Utilisateurs et groupes d'utilisateurs

Contao fait une distinction entre les utilisateurs du back office ("utilisateurs"), qui peuvent se connecter au panneau d'administration, et les utilisateurs front office ("membres"), qui peuvent se connecter au site internet. Contrairement aux administrateurs, qui ont accès à toutes les pages et à tous les éléments par défaut ("allow all"), les utilisateurs ne peuvent pas accéder à une ressource qui n'a pas été explicitement autorisée dans leur profil ou dans le profil de l'un des groupes d'utilisateurs auxquels ils appartiennent ("deny all").

Utilisateurs

Chaque utilisateur peut être associé à plusieurs groupes d'utilisateurs et hérite automatiquement de leurs autorisations. Toutes les autorisations sont cumulatives, ce qui signifie que l'utilisateur hérite de la somme des permissions de tous les groupes auxquels il appartient. Si le groupe A accorde un certain droit, vous ne pouvez pas la révoquer dans le groupe B.

Pages autorisées

L'option "Pages autorisées" permet de définir quelles pages de la structure de site, l'utilisateur est autorisé à voir. La capture d'écran ci-dessous montre la structure de site telle qu'elle est perçue par Helen Lewis. Bien que le site internet contient beaucoup plus de pages, elle ne peut en voir que trois, parce que seul l'accès à la page "Courses" a été autorisé dans les paramètres du groupe "Editors". Notez que même si Helen Lewis est autorisée à voir trois pages, elle ne peut modifier que l'une d'elles !

Être capable de voir une page n'inclut pas le droit de la modifier (ou de modifier ses articles). Rappelez-vous que les permissions d'une page sont définies dans la structure de site, donc pour permettre l'accès à une page à un utilisateur, vous devez la sélectionner dans son profil et accorder son accès dans la structure de site.

Répertoires autorisés

Semblable à l'option "Pages autorisées", l'option "Répertoires autorisés" définie quels répertoires un utilisateur est autorisé à voir. La capture d'écran ci-dessous montre le gestionnaire de fichiers tel qu'il est perçu par Helen Lewis. Elle n'est autorisée de voir que le répertoire "campus", alors que les administrateurs peuvent voir le répertoire complet des fichiers ( files ).

72 Utilisateurs et groupes d'utilisateurs

Champs autorisés

Comme mentionné au début, les utilisateurs n'ont pas du tout de permissions par défaut ("deny all"), ce qui implique aussi qu'ils ne peuvent pas accéder aux champs d'un formulaire. Même s'ils sont par exemple autorisés à accéder au module d'actualités, le formulaire pour créer une nouvelle entrée sera vide jusqu'à ce que l'administrateur sélectionne un ou plusieurs champs de la table tl_news dans les paramètres du groupe.

Membres

73 Utilisateurs et groupes d'utilisateurs

La gestion des membres (utilisateurs front office) est beaucoup plus facile à gérer que celle des utilisateurs back office, car il n'y a pas de pages ou de champs à autoriser. La gestion des membres est principalement requise pour contrôler l'accès aux pages protégées, qui est mis en œuvre au niveau du groupe. En fonction de la configuration du site internet, les membres inscrits pourront voir des pages protégées ou accéder à des téléchargements protégés qui ne sont pas disponibles pour les invités.

Prévisualisation du front office

En tant qu'administrateur, vous pouvez vous connecter comme un membre en particulier et prévisualiser le site internet avec ses droits et ses restrictions d'accès. Cette action est disponible dans la vue des membres.

Le front office apparaît avec un bandeau de prévisualisation et vous pouvez vous substituer à un autre membre en tout temps avec le champ "Membre". Il est également possible de prévisualiser les éléments qui n'ont pas encore été publiés par le membre sélectionné.

74 Extensions

Extensions

Les extensions sont une partie essentielle de Contao, car ils vous permettent d'ajouter des fonctionnalités supplémentaires. Il existe plus de 1400 extensions disponibles dans le référentiel d'extensions de Contao, que vous pouvez parcourir directement à partir du back office. La communication avec le serveur du référentiel s'effectue via SOAP, donc vous devez activer l'extension SOAP de PHP pour utiliser le service (si elle n'est pas activée par défaut).

Catalogue d'extensions

Le module "Catalogue d'extensions" vous permet de parcourir la liste des extensions et d'installer des extensions par simple pression d'un bouton. Utilisez les options de filtrage et de tri pour trouver une extension particulière et cliquez sur l'icône d'information ou le titre de l'extension pour ouvrir la page de détails et installer le module.

La page de détails contient une description de l'extension et des informations importantes concernant les configurations du système requises ainsi que les versions et les dépendances d'autres modules. Cliquez sur le bouton "Installer" pour télécharger et installer l'extension.

75 Extensions

Contao téléchargera et installera automatiquement l'extension et mettra à jour la base de données si nécessaire.

76 Extensions

Gestionnaire d'extensions

Le module "Gestionnaire d'extensions" vous permet de mettre à jour et de désinstaller des extensions. Il vérifie automatiquement les mises à jour et vous avertit si une nouvelle version est disponible. De nombreuses extensions incluent également des liens vers un manuel en ligne et/ou un fil de discussion dans un forum où vous pouvez obtenir de l'aide.

Pour désinstaller une extension, cliquez simplement sur l'icône de désinstallation et suivez les instructions. Le gestionnaire d'extensions va supprimer tous les fichiers et répertoires et mettre à jour la base de données si nécessaire. Notez que cette action ne peut pas être annulée et les tables ne peuvent pas être restaurées !

77 Extensions

Installation manuelle

Dans le cas où l'extension SOAP de PHP n'est pas disponible sur votre serveur, vous pouvez également installer des extensions de Contao manuellement. Trouvez le module correspondant dans la liste des extensions et téléchargez l'archive .zip de la dernière version. Ensuite, décompressez les fichiers et copiez-les dans votre répertoire local ou distant de Contao. Enfin, vérifiez la base de données avec l'outil d'installation de Contao.

78 Maintenance

Maintenance

La plupart des travaux d'entretien dans Contao sont exécutés automatiquement par le "Periodic Command Scheduler", vous pouvez donc vous concentrer sur votre travail. Même les tâches dans le module de maintenance sont effectuées automatiquement, mais parfois il est nécessaire de les déclencher manuellement.

Purger des données

Outre le contenu généré par l'utilisateur, Contao stocke beaucoup de données du système qui sont utilisées pour restaurer les enregistrements supprimés, revenir à des versions antérieures, créer l'index de recherche du site internet ou réduire le temps de chargement d'une page. Vous pouvez purger ces données manuellement par exemple pour supprimer les anciennes vignettes à partir du cache d'images ou pour recréer les fichiers XML du plan du site après que vous ayez modifié la structure de site.

Reconstruire l'index de recherche

Les pages sont généralement ajoutées automatiquement à l'index de recherche quand elles sont vues dans le front office (sauf si vous êtes connecté au back office en même temps), vous n'avez donc pas besoin de vous inquiéter au sujet de l'index de recherche. Cependant, si vous avez modifié un grand nombre de pages, il est plus commode de les mettre à jour toutes à la fois au lieu de les ouvrir une par une dans le navigateur. Dans ce cas, vous pouvez reconstruire l'index de recherche manuellement.

79 Maintenance

80