Composer dans Drupal 8. Affichage des derniers tweets depuis Twitter.
Pour installer des modules et des bibliothèques, il est préférable d’utiliser Composer. Composer est un gestionnaire de dépendances qui permet de gérer les relations entre modules et bibliothèques. Si un module dépend d’une bibliothèque, Composer la télécharge automatiquement lors de l’installation. D’un côté, cela complexifie un peu l’installation des modules, mais de l’autre, cela facilite grandement la gestion des bibliothèques qui sont désormais installées et intégrées automatiquement.
Pour télécharger et installer Composer, allez sur le site officiel :
https://getcomposer.org/download/
À noter : Drush s’installe désormais via Composer. Si vous avez déjà installé Drush, Composer est probablement déjà disponible sur votre système. Pour vérifier :
composer --version
Vous verrez alors la version de Composer :
Accédez maintenant au dossier de votre site via la console, et vous pouvez utiliser Composer.
Affichage des derniers tweets dans Drupal 8
Commencez par créer une application Twitter et obtenez les clés API nécessaires. Cela se fait à cette adresse :
Note : la version 1.0 de l’API est obsolète — utilisez l’API 1.1 ou supérieure.
1. Création d’un compte développeur. Configurez votre compte développeur Twitter.
Une fois inscrit, allez sur la page My Apps https://apps.twitter.com/ et cliquez sur « Create New App » :
2. Création de l’application Twitter. Remplissez le formulaire avec le domaine de votre site.
Vous aurez besoin des informations suivantes :
- Consumer key
- Consumer secret
- Access token
- Access token secret
La documentation officielle de l’API Twitter sur OAuth est disponible ici : https://dev.twitter.com/oauth/overview/single-user.
3. Génération du token d’accès. OAuth requiert plusieurs tokens. Cliquez pour les générer :
Vous obtenez alors le token d’accès et son secret.
Nous pouvons maintenant utiliser l’API Twitter. Pour simplifier, nous allons utiliser une bibliothèque dédiée :
https://packagist.org/packages/j7mbo/twitter-api-php
Pour l’installer avec Composer :
composer require j7mbo/twitter-api-php
Composer installe la bibliothèque et ses dépendances automatiquement.
Voici ensuite un exemple de module pour afficher le dernier tweet dans un bloc, avec un formulaire de configuration :
/admin/structure/twitter-block/settings
Code source disponible sur GitHub : https://github.com/Drupalbook/bootstrap
Fichiers du module :
/modules/twitter_block/twitter_block.info.yml
name: Twitter Block description: Display Last tweets. type: module core: 8.x package: Custom
/modules/twitter_block/src/Plugin/Block/TwitterBlock.php
// Voir le code complet dans la version précédente
/modules/twitter_block/src/Form/TwitterBlockSettingsForm.php
— formulaire de configuration
// Voir le code complet dans la version précédente
/modules/twitter_block/twitter_block.routing.yml
— route vers le formulaire
twitter_block.settings: path: '/admin/structure/twitter-block/settings' defaults: _form: '\Drupal\twitter_block\Form\TwitterBlockSettingsForm' _title: 'Twitter API Settings' requirements: _permission: 'administer site configuration'
/modules/twitter_block/composer.json
— dépendance à la bibliothèque :
{ "name": "drupal/twitter_block", "type": "drupal-module", "description": "Displays Last tweets.", "homepage": "https://drupalbook.org/ru/drupal/composer-v-drupal-8-vyvod-poslednih-tvitov-iz-twitter", "license": "GPL-2.0+", "require": { "j7mbo/twitter-api-php": "dev-master" }, "minimum-stability": "dev" }
Code du module sur GitHub : https://github.com/levmyshkin/twitter_block