Tutoriel - Ajouter du contenu dynamique dans une page web statique générée avec Cecil
Découvrez comment ajouter un appel vers une API externe depuis votre page web statique
Objectif
Ce tutoriel vous décrit comment utiliser le générateur de site Cecil pour afficher le contenu d’une page dynamique. Le tout en appelant une API pour récupérer et afficher des informations sur une page générée via Cecil.
Découvrez comment ajouter un appel vers une API externe depuis votre page web statique.
Informations sur l’administration des services OVHcloud et sur la manière d’obtenir l’assistance appropriée
Lors de l’utilisation des guides OVHcloud, veuillez tenir compte des points suivants :
- Les instructions visent à fournir un maximum de détails, mais ne peuvent pas couvrir tous les cas d’utilisation particuliers. Il peut être nécessaire d’adapter les actions décrites à vos besoins.
- L’écosystème OVHcloud est conçu pour offrir flexibilité et liberté de choix. Vous êtes donc responsable de la configuration correcte et sécurisée de vos services. Afin d’éviter toute perte de données, nous vous recommandons vivement de mettre en place des stratégies de sauvegarde pour toutes vos données importantes.
- Nos guides et tutoriels peuvent faire référence à des logiciels ou services tiers utilisés en combinaison avec les solutions OVHcloud. Le support technique fourni par OVHcloud n’inclut pas la configuration de systèmes ou de produits ne relevant pas de notre responsabilité. Cela inclut notamment :
- Les systèmes d’exploitation et les interfaces utilisateur (Windows, Debian, Plesk, etc.).
- Tout autre logiciel tiers (clients FTP, logiciels de messagerie, etc.).
- Les services proposés par d’autres fournisseurs (DNS, API, interfaces utilisateur, etc.).
Pour recevoir l’assistance appropriée en cas de problème, suivez ces recommandations :
- Vous souhaitez obtenir des conseils personnalisés ou discuter d’un sujet qui n’est pas traité en détail dans notre documentation ?
Rejoignez la communauté OVHcloud pour y rechercher votre sujet et échanger avec d’autres utilisateurs. - Vous devez signaler un incident concernant votre service OVHcloud ou vous rencontrez des difficultés dans l’espace client OVHcloud ?
Créez une demande d’assistance dans notre centre d’aide. - Vous avez besoin d’une assistance professionnelle pour votre projet ou d’aide pour des tâches en dehors de notre périmètre de support ?
Consultez notre portail des partenaires pour trouver des experts des solutions OVHcloud. - Vous recherchez des informations plus détaillées sur nos niveaux de support et Professional Services ?
Consultez nos pages niveaux de support OVHcloud et OVHcloud Professional Services.
Vous pouvez participer à l’amélioration de notre documentation :
- Vous souhaitez faire un retour pour améliorer un guide ou signaler des informations insuffisantes sur une page spécifique ?
Utilisez les boutons « Cette page vous a-t-elle aidé ? » en bas de page pour nous en informer. - Vous souhaitez proposer directement une modification de la documentation ?
Utilisez la fonction « Modifier cette page », disponible en bas de page et dans la barre latérale.
Prérequis
- Disposer d’une offre d’hébergement web OVHcloud incluant un accès SSH. Cet accès permet d’installer, en ligne de commande, une ou plusieurs solutions alternatives à celles proposées par défaut dans nos offres d’hébergement web.
- Être familiarisé à la saisie en ligne de commande.
- Avoir installé et configuré l’application Cecil sur votre hébergement (reportez-vous à notre tutoriel sur l’installation et la configuration de Cecil).
En pratique
L’exemple choisi consiste à utiliser l’une des API d’un service fournissant des données météorologiques. Ceci en fonction d’une ville saisie par l’utilisateur.
Les étapes sont les suivantes :
- créer une nouvelle page sur Cecil et ajouter cette page au menu du site web ;
- créer un compte et récupérer la clé permettant de faire des requêtes sur l’API météo ;
- modifier le fichier
.mdcréé en ajoutant du code HTML ; - ajouter des
assets(JavaScript et CSS) ; - générer et tester la solution.
Créer une nouvelle page
Préparez votre environnement en vous connectant en SSH sur votre hébergement web et reportez-vous au tutoriel « Installer et configurer Cecil » pour installer votre application Cecil dans un répertoire dédié.
Créez un répertoire et placez-vous dedans :
Utilisation de l’API OpenWeather
Pour ce tutoriel, nous allons utiliser une API fournie par le site OpenWeather. Elle permet de connaître les informations météorologiques en fonction du nom d’une ville.
Créez un compte sur https://home.openweathermap.org/users/sign_up
Une fois votre compte validé (par envoi d’un e-mail de confirmation), rendez-vous sur le menu « My API keys ». Une clé a été générée par défaut, récupérez-la et conservez-la pour la suite de ce tutoriel.
Ajout du code HTML
Créez une nouvelle page avec la commande suivante :
Éditez ensuite la page générée :
Modifiez l’en-tête du fichier pour que la page apparaisse dans le menu :
Après l’en-tête, ajoutez le code HTML pour afficher la ville choisie, les températures renvoyées par l’API et un bouton pour changer de paramètre :
Générez la page HTML avec la commande suivante :
Vérifiez le résultat dans votre navigateur et cliquez sur le lien « Weather » qui a été ajouté dans le menu principal :
Ajouter le code JavaScript
Il est impossible d’ajouter une balise <script> dans un fichier Markdown. Vous devrez modifier le template fourni par défaut.
Modifier le template
Les templates sont disposés dans le répertoire layouts. Vous pouvez les visualiser avec la commande suivante :
Le fichier contient un répertoire blog et un fichier index.html.twig :
Ouvrez le fichier index.html.twig :
Le fichier fait référence à un template qui n’est pas présent dans le répertoire. Ce fichier (et d’autres) sont en réalité dans le fichier cecil.phar. Les extensions .phar désignent des archives de fichiers PHP qui sont manipulables sans être décompressées.
Décompressez les fichiers de cette archive pour les rendre visibles :
Affichez à nouveau le contenu du répertoire layouts :
Modifiez le template par défaut pour insérer une balise <script> qui contiendra le code permettant l’appel à l’API :
Cette balise et son contenu sont à placer avant la balise fermante </body> en bas de page :
Quand un ou plusieurs fichiers assets sont modifiés, reconstruisez le cache avec la commande suivante :
Si les modifications ne sont pas effectives sur votre navigateur internet, videz le cache de celui-ci. Vous pouvez également supprimer les fichiers générés sur votre hébergement web :
Reconstruisez ensuite votre solution à l’aide de la commande ci-dessous :
Ajouter le fichier JavaScript
Les fichiers JavaScript, comme les fichiers CSS, doivent être placés dans le répertoire assets. Vous pouvez les organiser dans différents répertoires.
Créez le fichier script.js mentionné précédemment à la racine du répertoire assets :
Remplacez la valeur de la variable apiKey par la clé récupérée précédemment sur le site OpenWeather.
Tests
Consultez maintenant votre site web via un navigateur Internet :
Cliquez sur « Changez de ville » et saisissez le nom d’une commune :
Conclusion
Ce tutoriel vous présente un exemple d’intégration de données dynamiques récupérées sur des sources externes par le biais d’APIs. Construisez et faites vivre un site web en modifiant manuellement le contenu de ces pages ou créez-en de nouvelles. Le tout en enrichissant leur contenu depuis d’autres sites web.
Aller plus loin
- Quelques API à tester sur votre site web
- Numbers API
- NASA
- News API
- Polygon.io
- une liste d’API publiques
- Les commandes Cecil.
Pour des prestations spécialisées (référencement, développement, etc), contactez les partenaires OVHcloud.
Si vous souhaitez bénéficier d’une assistance à l’usage et à la configuration de vos solutions OVHcloud, nous vous proposons de consulter nos différentes offres de support.
Échangez avec notre communauté d’utilisateurs.