/home/etienne-larroumets/larroumets.net:~#

larroumets.net/

Image de 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'équipe 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 où 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. À la place, j'ai 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

....

Mon 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 aux contrôleurs puis aux vues.
Ainsi, l'affichage des articles et de leur contenu est automatiquement géré grâce aux métadonnées contenues dans mes fichiers Markdown.

Cela me permet de rédiger facilement les articles de mes projets. Le langage Markdown est parfait pour rédiger des articles de blog. L'architecture MVC se charge du reste!