Drupal 9
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
- En cas d'erreur Could not delete web/sites/default/default.services.yml
- Compatibilité de Photo Albums avec les versions >9.4.4:
- Le module Photo Albums bloque les mises à jour à partir de drupal 9.4.4
- En effet, la version 9.4.4 retire la section "replace" de composer.json.Cela a un effet sur le module media requis par Photo Albums.
- Un palliatif est de rajouter la section suivante dans composer.json:
<licode file=composer.json> "provide": { "drupal/media": "*" }, </licode>
Les modules
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/project/google_photos_api
- https://www.drupal.org/docs/contributed-modules/google-api-php-client
- https://developers.google.com/photos/library/guides/overview
- 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 différent du nom du projet- ex: GPhotos Livois
- 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: aucune car demande une page https
- Cela donne un ID Client et une clé secrète qu'il faut ensuite utiliser lors de la configuration du module
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)
Copyright
© 2021-2023 Christophe de Livois
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. |