« Drupal 9 » : différence entre les versions

De wikilivois
Aller à la navigationAller à la recherche
Ligne 182 : Ligne 182 :
## Les autorisations email/offline_access/openid/profile/User.Read sont cochées par défaut
## Les autorisations email/offline_access/openid/profile/User.Read sont cochées par défaut
## Cliquer pour les activer
## Cliquer pour les activer
# Configurer sites/default/settings.php
<licode file=sites/default/settings.php>
// Office 365 connector client ID.
$settings['o365']['api_settings']['client_id'] = '<client id>';
// Office 365 connector client secret.
$settings['o365']['api_settings']['client_secret'] = '<client secret>';
// Office 365 connector tenant ID.
$settings['o365']['api_settings']['tenant_id'] = '<tenant id>';
// Office 365 connector redirect URL after login.
$config['o365.api_settings']['redirect_login'] = 'https://www.example.com';
// Office 365 connector redirect callback URI.
$config['o365.api_settings']['redirect_callback'] = 'https://www.example.com/o365/callback';
</licode>


=Essais de thèmes=
=Essais de thèmes=

Version du 29 janvier 2023 à 12:10


Installation

#composer create-project drupal/recommended-project:^9 my_site_name_dir
  • Pour choisir le répertoire d'installation

Change directories to my_site_name_dir and edit the composer.json file to suit your needs. For example, to change the sub-directory from 'web' to something else, the keys to modify are the 'extra' sub-keys 'web-root' (under 'drupal-scaffold') and 'installer-paths'.

  • Paramétrer les hôtes de confiance

https://www.drupal.org/docs/installing-drupal/trusted-host-settings

<licode file=site/default/settings.php>

$settings['trusted_host_patterns'] = [
   '^livois\.com$',
   '^.+\.livois\.com$',
];

</licode>

Maintenance

Mise à jour

  • Vérifier la version de drupal
#cd htdocs/www/
#composer show drupal/core | grep versions
  • Mettre à jour à la dernière version
#composer update "drupal/core-*" --with-all-dependencies


Remarques

<licode file=composer.json> "provide": { "drupal/media": "*" }, </licode>

Les fonctionnalités de D9

Le forum

Le forum fait partie du core de D9. Il en sort pour D10.

  1. Activer le forum dans extensions.
  2. Créer les termes de taxonomie correspondant aux thématiques de forum désirées
  3. Dans Structure>Types de contenu>Forum topic, ajuster les droits en fonction du type d'utilisateur

Les modules externes

Gestion du menu

Ouvrir le menu dans une autre fenêtre grâce au module menu_link_attributes

Gérer les droits avec Permission by Terms

  • Installer le module Permission by Term
  • Dans Taxonomy, créer un vocabulaire "diffusion", ajouter 2 termes: public & privé
    • Pour le terme public autoriser les rôles utilisateur anonyme, utilisateur authentifié, administrateur
    • Pour le terme privé, autoriser les rôles utilisateur authentifié, adminstrateur
    • Rajouter le vocabulaire dans les structures concernées (exemple: albums photos)

Sécuriser l'envoi de mail


Créer une galerie d'albums photos

Installation du module

Modules:

  • Photo Albums (photo_albums)

The only configuration needed for this module is to add an encrytion key and method to your settings.php file. You can choose any encryption method supported by OpenSSL (see below for a list of supported methods - this list is subject to change).

To add these values to your settings.php file, add them as follows: <licode file=settings.php> $settings['two_way_hashing_key'] = '3F4428472B4B6EE0655368566D597133C43677397A576826452948404D635166'; $settings['two_way_hashing_method'] = 'aes-256-ctr'; </licode>

The values above are just examples, but you must make sure you match the key length to the method chosen, in this case aes-256-ctr expects 64 hexadecimal characters.

  • Colorbox
    • il faut télécharger la bibliothèque colorbox dans le répertoire www/libraries/colorbox (qu'il faut créer)
  • Crop
  • Pathauto
  • File field Paths
    • j'utilise ce module pour protéger l'accès aux photos, en les renommant avec un aléas
    • Editer Administration>>Structure>>Types de média>>Modifier>>Photo Album Image et modifier le nom du fichier en [media:mid]_[random:number].[file:ffp-extension-original]

Améliorer le rendu de la vue photo-albums

La page d'albums affiche 4 photos de chaque album qui sont très particulières car très focalisées sur le centre. Cela fait même l'objet d'une remontée.

Pour changer cela, il faut modifier le style d'image: Photo Album Thumbnail (110x110). Il est configuré initialement en "Focal Point Crop 110x110". En le remplaçant par "Mise à l'échelle et recadrage 110×110", le rendu est beaucoup plus acceptable. Il faut réimporter les photos pour que cela fonctionne.

Mieux comprendre le module & la gestion des albums dans Drupal 9

Il est probablement possible de gérer des abums sans le module photo_albums ou en créant un module plus simple.

Photo Albums manque de souplesse : la lecture de son code permet de l'adapter à ses besoins.

Aussi, voici une liste de tables existantes en lien avec les albums photos:

  • node: champs = nid, type=album
  • node_field_data
  • node_field_photos
  • node_field_image
  • file_managed: fid, uuid, uid, filename, uri, filesize
  • file_usage: fid, id
  • media: mid, vid, bundle=photo_album_image, uuid
  • media_field_data: thumbnail_target_id, thumbnail_alt
  • crop: id, vid, type=focal_point, uuid
  • crop_field_data: cid, vid, type, entity_id
  • media_field_data: cid, vid, type, entity_id
  • media_field_media_image
  • media_field_width

A noter les nombreuses tables associées aux révisions.

Google Photos API


  • https://www.drupal.org/docs/contributed-modules/google-api-php-client/google-api-console-configurations
    • Ouvrir la console Google API
    • Créer un projet dans le tableau de bord (ex: Google Photos Livois)
    • Activer l'API : Photos Library API
    • Aller dans l'écran de consentement OAuth
      • Nom de l'application = nom du site = livois.com
      • Adresse e-mail d'assistance utilisateur
      • Page d'accueil de l'application : la page d'accueil du site
      • Ajouter le nom de domain autorisé: livois.com
      • Adresse e-mail du développeur
    • Créer les identifiants
      • Choisir ID Client OAuth
      • Type d'application: Web application
      • Nom du client: drupal9
      • Redirection: https://drupal9.livois.com/web/google_api_client/callback - le https est obligatoire
      • Cela donne un ID Client et une clé secrète qu'il faut ensuite utiliser lors de la configuration du module
    • Configurer Drupal : Configuration > Google Api Client Listing
      • Name = Nom du client : drupal9
      • Client ID
      • Client Secret
      • Services : Google OAuth2 API (pas de Photo^^)
      • Scopes : sélectionner l'ensemble
      • Is Access Type Offline : laisser coché
      • Cliquer ensuite sur "authenticate" dans le champ Operations

Onedrive

  1. Installer l'application
  2. Définir les droits
  3. Créer un compte azur & microsoft365 s'il n'existe pas déjà
  4. Créer un lien entre le site et l'environnement Microsoft365
    1. Aller sur la page https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps
    2. + Nouvelle inscription
    3. Donner le nom de l'application - livois.com
    4. Choisir le type de compte pris en charge - Locataire unique
    5. Donner l'url de redirection Web: https://drupal9.livois.com/web/o365/callback
  5. Aller dans Certificats & Secrets dans le menu de gauche
    1. Créer un Nouveau Secret Client et noter l'ID et la clé
  6. Aller dans API autorisées dans le menu de gauche
    1. Cliquer sur ajouter une autorisation
    2. Cliquer sur Microsoft Graph, Autorisations déléguées
    3. Les autorisations email/offline_access/openid/profile/User.Read sont cochées par défaut
    4. Cliquer pour les activer
  7. Configurer sites/default/settings.php

<licode file=sites/default/settings.php> // Office 365 connector client ID. $settings['o365']['api_settings']['client_id'] = '<client id>'; // Office 365 connector client secret. $settings['o365']['api_settings']['client_secret'] = '<client secret>'; // Office 365 connector tenant ID. $settings['o365']['api_settings']['tenant_id'] = '<tenant id>'; // Office 365 connector redirect URL after login. $config['o365.api_settings']['redirect_login'] = 'https://www.example.com'; // Office 365 connector redirect callback URI. $config['o365.api_settings']['redirect_callback'] = 'https://www.example.com/o365/callback'; </licode>

Essais de thèmes

DXPR

#composer require 'drupal/bootstrap5:^2.0'
#composer require 'drupal/dxpr_theme:^5.0'

Activer le module DXPR Theme Helper via l'interface Extension.


Les fichiers logo.png téléversés se retrouvent dans le répertoire sites/default/files ou sites/default/files/dxpr_theme/images/

MAYO

Installer via git

#cd themes/contrib/
#git clone --branch '8.x-1.x' https://git.drupalcode.org/project/mayo.git
#cd mayo

Puis appliquer la patch

#wget https://www.drupal.org/files/issues/2022-07-11/add_drupal_10_compatibility_fix_install_configs-1011656-3.patch
#git apply -v add_drupal_10_compatibility_fix_install_configs-1011656-3.patch

Cela ne semble pas tout à fait suffisant pour la version 9.5.2 de Drupal. Une page d'erreur s'affiche quand on cherche à paramétrer le thème.


Copyright

© 2021-2023 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.