larroumets.net/

Présentation
Le site sur lequel vous naviguez actuellement a été développé avec le framework CodeIgniter. CodeIgniter est un framework PHP utilisant une architecture MVC, comme beaucoup de ses confrères.
Le thème a été entièrement codé à la main à l'aide de Sass. Il est en grande partie inspiré du thème hugo-theme-console de Marcin Mierzejewski. Les illustrations sont de Mudassar Isbal.
Technique
CodeIgniter est un framework qui se veut tourné vers la performance et la légèreté. Une fois déployé en production, il ne pèse que 1.2Mo.
Sa documentation est très bien réalisée et exploitable, ce qui le rend facilement accessible.
En revanche, il n'utilise aucun moteur de template contrairement à Laravel ou Symphony. On utilise du PHP natif dans les vues. C'est un choix délibéré de la part de l'équide de développement du framework afin de supprimer une couche d'abstraction et ainsi améliorer les performances.
Cela ne pose aucun problème dans la mesure ou la syntaxe simplifiée de PHP peut être utilisée :
<?php echo esc($title) ?>
peut être remplacé par <?= esc($title) ?>
.
Pour mon site, j'ai fait le choix de ne pas utiliser de base de données. Je ne voyais pas l'intérêt de déployer une base pour stocker moins d'un dizaine d'articles sur mes projets. J'ai néanmoins implémenté un système de modèle de données basé sur des fichiers rédigés en Markdown.
Mes fichiers Markdown sont séparés en deux parties, le frontmatter et le contenu de l'article.
Le frontmatter(en-tête) est la partie contenant les metadonées de l'article.
Exemple d'un fichier Markdown :
--- // Début frontmatter
title: Nouveau Projet
slug: nouveau-projet
description : Mon noveau super projet !!
link: http://exemple.com/uri
--- // Fin frontmatter
# Titre H1
Un paragraphe...
## Titre H2
Un autre paragraphe
Un fichier de modèle de données me permet de répertorier tous mes articles de projet. Puis, grâce à frontmatter de webuni et parsedown de Emanuil Rusev, je peux parser l'en-tête et le contenu de mes fichiers markdown et renvoyer mes données à mes contrôleurs puis à mes vues.
Ainsi, l'affichage des articles et de leur contenu est automatiquement géré grâce aux metadonnées contenues dans mes fichiers Markdown.
Cela me permet d'automatiser la rédaction des articles sur mes projets. Le langage Markdown est facile à lire et écrire, parfait pour rédiger des articles de blog. L'architecure MVC se charge du reste!