Pour créer le Carnet du développeur j'ai utilisé ce que l'on appelle un CMS (Content Management System).
Des CMS il en existe plusieurs, pour ne citer que les plus connus nous avons :
Bien que ces CMS soient fonctionnels et facile à prendre en main pour certains, ils ne sont pas très optimisés pour les petits sites internet et niveau SEO (Search Engine Optimization) malgré les diverses extensions pour pallier à ce problème et bien ce n'est pas top...
Pour le Carnet du développeur je souhaitais concevoir un petit blog très simpliste et performant. Après avoir effectué pas mal de recherche je suis tombé sur un CMS nommé "Grav" qui semble être l'outil dont j'ai besoin.
Sommaire :
Qu'est-ce que Grav ?
Grav est un CMS open source hybride qui se veut être rapide, performant et adapté au référencement. Ce que je veux dire par "hybride" c'est que Grav se situe entre les CMS dit dynamique et les CMS dit statique (quelle est la différence entre un site statique et dynamique ?).
Il utilise PHP pour gérer l'aspect dynamique du site mais il ne communique avec aucune base de données. Toutes les configurations, les pages ainsi que le contenu sont inscrits en YAML ou en JSON.
On arrête la présentation et on passe à la pratique
Version de Grav utilisée dans cet article : 1.7.30
C'est parti créons un blog avec Grav !
Pour commencer rendons nous sur le site officiel de Grav et téléchargeons-le : Se rendre sur le site officiel de Grav
Nous atterrissons sur cette page :
Nous sommes face à deux boutons de téléchargement. La différence entre ces deux versions est que l'une va nous installer une interface administrateur qui nous permettra de configurer et mettre à jour notre site sans écrire une seule ligne de commande un peu à la "Wordpress". Et l'autre va uniquement installer Grav et ses dépendances sans aucune interface, tout se passera alors en lignes de commande.
Ici je vais choisir le bouton de droite où il y est inscrit "Grav Core + Admin plugin".
Si vous optez pour l'autre version, vous devrez utiliser le Grav Package Manager (GPM).
Vous pouvez retrouver toutes les informations nécessaires ici.
Après avoir cliqué sur l'un des deux boutons, vous êtes invités à télécharger un fichier .zip. Après avoir téléchargé ce dernier, extrayez-le sur le répertoire de votre site internet ou sur votre serveur local.
Rendez-vous sur votre navigateur et inscrivez l'url correspondant à votre site internet.
Une fenêtre de création de compte apparait :
Renseignez vos informations dans ce formulaire et cliquez sur le bouton "Create user" situé en bas à droite.
Les informations que vous renseignez sur ce formulaire sont uniquement enregistrées sur votre site, ce sont vos identifiants de connexion à l'interface d'administration.
Une fois ceci fait, vous serez alors redirigé sur la page d'accueil de l'interface d'administration. (Si ce n'est pas le cas ajoutez /admin
à la fin de l'url de votre site).
Vous pouvez faire un tour sur l'interface si vous le souhaitez, dans cet article je vais me focaliser uniquement sur l'aspect de la création d'un blog.
Nous allons nous rendre dans la section "Pages".
Vous devriez apercevoir deux pages :
- La page nommée "Root" qui représente votre site internet.
- La page nommée "Home" ou "Accueil" qui comme son nom l'indique est la page d'accueil de votre site.
Nous allons configurer notre page d'accueil afin de faire en sorte que cette dernière affiche nos futurs articles. Pour cela, il faut cliquer sur le bouton "plus" situé à gauche du nom de la page symbolisé par 3 points à la verticale puis cliquer sur le bouton "modifier" symbolisé par un crayon.
Cela vous redirige sur la page de modification.
Rendez-vous dans la section "Avancé" ou "Advanced", puis réglez le template de la page sur "Blog" et enregistrez la modification à l'aide du bouton situé en haut à droite.
Ce que nous venons de faire permet de signifier au site que nous voulons que cette page soit un blog.
Après ça, je vous invite à aller dans la section "Contenu" ou "Content" et à passer en mode de vue "Expert" en cliquant sur le bouton situé en haut à droite de la fenêtre.
La vue "Expert" va nous permettre d'accéder à la configuration avancée de la page appelée ici "Frontmatter".
Dans cette nouvelle fenêtre je vous invite à copier coller le code ci-dessous :
content:
items: '@self.children'
order:
by: date
dir: desc
Ce code permet de définir le contenu de la page, ici nous lui précisons qu'il doit afficher les différents articles (items) qui sont présents en tant qu'enfant de cette page. Nous définissons également l'ordre auquel ils vont s'afficher.
Enregistrez les modifications et voilà, notre page d'accueil est configurée ! Il nous reste plus qu'à écrire nos articles.
Pour ce faire il faut retourner dans la section "Pages" puis cliquer sur le bouton "Ajouter" ou "Add".
Une nouvelle fenêtre s'affiche :
Inscrivez le nom de votre article, mettez sa page parente sur la page d'accueil (la page de blog) et réglez le template de la page sur "Item" pour lui préciser que c'est un article.
Et après ça, vous serez invité à rédiger le contenu de votre article.
Pour écrire du contenu sur le CMS Grav vous devez écrire en Markdown
Écrivez votre article de blog, puis enregistrez le à l'aide du bouton situé en haut à droite.
Et voici ce qui conclut la partie pratique sur la conception d'un blog avec Grav.
Mon expérience avec Grav
De mon côté, pour réaliser le Carnet du développeur j'ai dû faire pas mal de recherches sur le fonctionnement de Grav. Car même si ce CMS m'est plus adapté que Wordpress je dois avouer qu'il n'est pas vraiment aussi simple à prendre en main que ce que l'on essaye de nous faire croire.
J'ai fouillé les entrailles de Grav et bidouillé le code (ce qui m'a valu le droit de faire 3 réinstallations complètes car je touchais à des choses qui ne fallait visiblement pas) et gros point positif c'est que le code est accessible et modifiable à souhait. Je peux changer n'importe quelles fonctionnalités à ma guise, modifier des thèmes et plugins que j'ai installés sans trop d'efforts particuliers. Pour ça Grav est vraiment satisfaisant à utiliser une fois que l'on sait comment il fonctionne.
Je sais que la partie pratique ne passe que très peu de chose en revue, je n'ai pas abordé les plugins / thèmes ni la configuration par exemple. Mais ce n'était pas le but, il y a un beau nombre de tutoriels disponibles sur internet ou bien la documentation officielle (qui est très bien faite d'ailleurs) qui vous explique à quoi sert chaque chose. Le but de cet article est de vous faire découvrir ce qu'est Grav, faire la première installation ensemble et de parler de mon ressenti vis-à-vis de celui-ci.
Pour ceux qui aiment découvrir de nouveaux outils, bidouiller et concevoir des sites internet rapidement je ne peux que vous conseiller Grav.
Par contre pour de plus gros projets, Grav ferait également l'affaire mais il faudra se creuser un peu plus la tête sur le fonctionnement de celui-ci contrairement à Wordpress qui est beaucoup plus accessible je trouve.