<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Marin Lagacé - Divers</title><link href="https://www.marinlagace.ca/" rel="alternate"></link><link href="https://www.marinlagace.ca/feeds/divers.atom.xml" rel="self"></link><id>https://www.marinlagace.ca/</id><updated>2020-05-27T08:50:00-04:00</updated><entry><title>Pourquoi Pélican?</title><link href="https://www.marinlagace.ca/2020/pourquoi-pelican.html" rel="alternate"></link><published>2020-05-27T08:50:00-04:00</published><updated>2020-05-27T08:50:00-04:00</updated><author><name>Marin</name></author><id>tag:www.marinlagace.ca,2020-05-27:/2020/pourquoi-pelican.html</id><summary type="html">&lt;p class="first last"&gt;Les raisons pour lesquelles Pélican a été utilisé pour générer ce site
web.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;J'ai créé mon premier site web personnel il y a plus de vingt ans. À l'époque,
je l'avais écris en bon vieux &lt;a class="reference external" href="http://www.htmlhelp.com/reference/html40/structure.html"&gt;HTML4&lt;/a&gt;. La mise en page
était faite à l'aide d'une série de tableaux imbriqués les uns dans les autres
de façon très peu intuitive. C'était avant l'avènement du &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Cascading_Style_Sheets"&gt;CSS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je suis ensuite passé aux sites dynamiques tel que &lt;a class="reference external" href="https://wordpress.org/"&gt;Wordpress&lt;/a&gt;. Plus besoin d'écrire de code. On peut uniquement se
concentrer sur le contenu. L'engin se charge du reste. C'était génial puisque je
ne connaissait pas le &lt;a class="reference external" href="https://en.wikipedia.org/wiki/JavaScript"&gt;JavaScript&lt;/a&gt;
ni le &lt;span class="app"&gt;CSS&lt;/span&gt;. Avec la popularité de la plateforme sont venus les problèmes
de sécurité principalement causés par la multitude de modules d'extension
(plugins) disponibles. Ce qui m'irritait le plus cependant était la difficulté à
migrer le site vers un autre serveur. Bien qu'il existait des plugins pour aider
la tâche, je finissais toujours par devoir aller tripoter la base de données.
Ouach!!!&lt;/p&gt;
&lt;p&gt;Ensuite est venu &lt;a class="reference external" href="https://www.dokuwiki.org/dokuwiki"&gt;DokuWiki&lt;/a&gt; qui est
également un engin de site dynamique. La différence avec &lt;span class="app"&gt;Wordpress&lt;/span&gt; est
que &lt;span class="app"&gt;DokuWiki&lt;/span&gt; n'utilise pas de base de données pour stocker ses articles.
Tous les articles sont stockés sous la forme de simples fichiers texte sur le
serveur. Plus de problème de migration. Il suffit simplement de copier tout
l'arbre de fichiers d'un serveur à l'autre. La création de copies de sauvegarde
est en plus très simple. Génial!&lt;/p&gt;
&lt;p&gt;J'ai utilisé &lt;span class="app"&gt;DokuWiki&lt;/span&gt; pendant de nombreuses années jusqu'au moment où je
tombe par hasard sur un article vantant les vertus des sites web statiques. Pas
de base de données. Pas de &lt;a class="reference external" href="https://en.wikipedia.org/wiki/PHP"&gt;PHP&lt;/a&gt;. On écrit
les articles dans un langage de balisage (markup language) tel que le &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Markdown"&gt;Markdown&lt;/a&gt; en ou le &lt;a class="reference external" href="https://en.wikipedia.org/wiki/ReStructuredText"&gt;reStructuredText&lt;/a&gt; en utilisant l'éditeur de
texte de son choix. On passe le tout à travers un processeur appelé directement
de la ligne de commande et on retrouve la totalité de notre site web dans un
répertoire sur notre disque dur. Il suffit alors de transférer le tout sur mon
serveur et presto! Comme toutes les pages sont statiques, le site est plus
difficile à pirater. S'il venait qu'à avoir un problème et que le site soit
corrompu, je n'ai qu'à le régénérer et le transférer à nouveau sur le serveur.&lt;/p&gt;
&lt;p&gt;Ce que j'apprécie le plus cependant est que je peux utiliser tous les outils de
développement de logiciel avec lesquels je suis très familié. J'écris les
articles en &lt;span class="app"&gt;reStructuredText&lt;/span&gt;. J'utilise &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Vim_(text_editor)"&gt;Vim&lt;/a&gt; qui est mon éditeurs de
texte par excellence et &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Git"&gt;Git&lt;/a&gt; pour archiver
et gérer l'historique des articles. Tout se fait directement à partir de la
ligne de commande. Je n'ai donc pas besoin de quitter la fenêtre du terminal qui
est l'endroit où je passe 90% de mon temps. Écrire un article pour mon site web
utilise donc exactement le même processus de travail (workflow) que pour le
développement de logiciel.&lt;/p&gt;
&lt;p&gt;Finalement, avec la &lt;a class="reference external" href="https://www.staticgen.com/"&gt;multitude de générateurs de site web statique disponible&lt;/a&gt;, pourquoi avoir choisi &lt;a class="reference external" href="https://blog.getpelican.com/"&gt;Pélican&lt;/a&gt;? Tout simplement parce qu'il utilise &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Python_(programming_language)"&gt;Python&lt;/a&gt; qui est un
langage de programmation que je maîtrise. Les générateurs les plus populaires
utilisent le &lt;span class="app"&gt;JavaScript&lt;/span&gt;, le &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Ruby_(programming_language)"&gt;Ruby&lt;/a&gt; ou le &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Go_(programming_language)"&gt;Go&lt;/a&gt; qui sont tous des
langages de programmation que je ne connais pas. Bien qu'il ne soit pas
nécessaire de connaître la programmation pour utiliser ces générateurs, çà reste
utile si on a besoin de les modifier pour nos besoins.&lt;/p&gt;
&lt;p&gt;La boucle est finalement bouclée. Après tout ce temps, me revoici au bon vieux
&lt;span class="app"&gt;HTML&lt;/span&gt; (5 plutôt que 4 et avec un peu de &lt;span class="app"&gt;CSS&lt;/span&gt;)...&lt;/p&gt;
&lt;!-- vim: ft=pelican.rst --&gt;
</content><category term="pelican"></category></entry><entry><title>Hello World</title><link href="https://www.marinlagace.ca/2020/hello-world.html" rel="alternate"></link><published>2020-05-26T01:31:00-04:00</published><updated>2020-05-26T01:31:00-04:00</updated><author><name>Marin</name></author><id>tag:www.marinlagace.ca,2020-05-26:/2020/hello-world.html</id><summary type="html">&lt;p class="first last"&gt;La page Hello World traditionnelle.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Tout développeur qui se respecte doit débuter son apprentissage d'un nouveau
langage de programmation par l'écriture du fameux programme &lt;tt class="docutils literal"&gt;Hello World&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Alors voici...&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;charset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;HTML5: Hello World&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hello World!&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;!-- vim: ft=pelican.rst --&gt;
</content><category term="misc"></category></entry></feed>