DRUPAL 8 - Création d'un nouveau projet
Installation
Préparer à l'avance l'espace d'hébergement sur le VPS4 :
-
Nouveau serveur virtuel
-
Version PHP 7.x
Base de données
Pour l'accès SSH, dans “Web Hosting Access”, “System user”, “Access to the server over SSH”, sélectionner “/bin/bash”
-
Transférer cette version sur l'espace d'hébergement nouvellement crée (VPS4)
Ouvrir le site internet et démarrer l'installation
Dupliquer le fichier robots.txt (afin de garder une version pour la future PROD). Remplacer le contenu du nouveau fichier par les 2 lignes suivantes afin d'éviter l'indexation du site en DEV :
User-agent: *
Disallow: /
cmantika:$apr1$nBs9xXsG$S5oVLpbaQeeOACYYsfHvA1
AuthName "Ce site requiert un mot de passe"
AuthType Basic
AuthUserFile "/var/www/vhosts/xxx/httpdocs/.htpasswd"
Require valid-user
$settings['trusted_host_patterns'] = array(
'^domain\.cmantika.com$', // remplacer domain par le sous domaine (ex : atlantic-eau ou ensemble)
);
Configuration
Installer
drush via SSH (avec les accès
FTP)
composer require drush/drush
composer require drupal/module_filter
composer require drupal/admin_toolbar
composer require drupal/pathauto
Activer ces modules en se rendant dans la section Extension du BO
Configurer les paramètres de compte dans /admin/config/people/accounts (ou Configuration/Personnes/Paramètres de compte)
Créer une nouvelle page (Contenu / Ajouter du contenu / Basic Page)
Dans les paramètres de base du site : /admin/config/system/site-information (Configuration/Système/Paramètres de base du site)
Dans Système de fichier : /admin/config/media/file-system (Configuration/Médias/Système de fichier)
Télécharger les modules de base
composer require drupal/mail_login
composer require drupal/twig_tweak
composer require drupal/paragraphs
composer require drupal/swiftmailer
composer require drupal/mailsystem
composer require drupal/imce
composer require drupal/field_group
composer require drupal/devel
composer require drupal/block_class
composer require drupal/link_attributes
composer require drupal/blockgroup
composer require drupal/tvi
composer require drupal/twig_field_value
composer require drupal/entity_clone
composer require drupal/webform
composer require drupal/easy_breadcrumb
Installer manuellement le module “Transliterate filenames for uploads”
Activer ces modules en se rendant dans la section Extension du BO
Dans Formats de texte et éditeurs : /admin/config/content/formats (Configuration/Rédaction de contenu/Formats de texte et éditeurs)
Placer “Full
HTML” en premier
Configurer le format “Full
HTML”
Dans Imce File Manager : /admin/config/media/imce, (Configuration/Média/Imce File Manager)
Modifier le profil Admin “Admin profile”
Dans la section DOSSIERS, ajouter le libellé “medias” après 1. <racine>/
Dans la configuration du type de contenu Basic page : /admin/structure/types/manage/page (Structure/Types de contenu/Basic Page/Modifier)
Dans Performance : /admin/config/development/performance (Configuration/Development/Performance)
Dans
Motifs : /admin/config/search/path/patterns (Configuration/Recherche et metadonnées/Alias d'
URL/Motifs)
Créer un motif principal pour la génération automatique des urls
Type de motif = Contenu
Pattern = [node:title]
Type de contenu = Article et Page
Étiquette = Motif général (exemple)
Création d'un nouveau thème
Source : https://www.drupal.org/docs/8/theming
Télécharger le starter theme :
Renommer le theme, les fichiers et les contenus du thème en remplaçant le libellé starter_theme par le nom du site (en minuscule, sans accents, sans espaces).
Installer le theme dans le répertoire /themes/custom
Activer le via /admin/appearance (Menu Apparence), en cliquant sur “Définir comme paramètre par défaut”
Gestion des caches
Afin de pouvoir développer sereinement sans devoir vider les caches toutes les 2 secondes, il est utile de désactiver certains caches pendant la phase de développement
Source : https://gai.co.in/disable-drupal-8-caching-during-development
Copier et renommer le fichier sites/example.settings.local.php en sites/default/settings.local.php.
Si besoin modifier temporairement les droits d'accès en écriture au répertoire sites/default
Dans le fichier settings.local.php file, trouver la section commençant par “Disable the render cache”.
Décommenter la ligne suivante :
$settings['cache']['bins']['render'] = 'cache.backend.null';
Dans le fichier settings.local.php file, trouver la section commençant par “Disable Dynamic Page Cache”.
Décommenter la ligne suivante :
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
Dans le fichier sites/default/settings.php, trouver la section commençant par “settings.local.php”.
Si besoin modifier temporairement les droits d'accès en écriture
Décommenter le code suivant :
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}
Ouvrir le fichier sites/development.services.yml et modifier le contenu afin d'obtenir (désactivation du cache Twig) :
parameters:
http.response.debug_cacheability_headers: true
twig.config:
debug: true
auto_reload: true
cache: false
services:
cache.backend.null:
class: Drupal\Core\Cache\NullBackendFactory
Vider les caches (îcone Drupal 8 / Vider tous les caches)