Source code of my website
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

✨ : add book publication

+155 -3
+25
assets/css/custom.css
··· 36 36 .projects .info .links li a img { 37 37 margin: 0; 38 38 } 39 + 40 + 41 + /* links style for books list view in home page */ 42 + .books .info { 43 + margin-bottom: 4em; 44 + } 45 + 46 + .books .info .links { 47 + float: none; 48 + display: flex; 49 + flex-flow: row wrap; 50 + justify-content: flex-start; 51 + gap: 5px; 52 + padding: 0; 53 + } 54 + 55 + .books .info .links li { 56 + list-style: none; 57 + margin: 0; 58 + padding: 0; 59 + } 60 + 61 + .books .info .links li a img { 62 + margin: 0; 63 + }
content/books/terraform/cover.jpg

This is a binary file and will not be displayed.

+25
content/books/terraform/index.md
··· 1 + --- 2 + date: "2024-10-09" 3 + tags: 4 + - Terraform 5 + - DevOps 6 + title: L'Infrastructure as Code avec Terraform 7 + fullTitle: Déployez votre infrastructure sur le Cloud 8 + featuredImage: cover.jpg 9 + description: Ce livre sur Terraform s’adresse aussi bien aux « Devs » qu’aux « Ops », débutants ou disposant déjà de notions de base, qui souhaitent maîtriser le développement d’une infrastructure sur le cloud. Le lecteur y trouvera des cas d’usage illustrés par des exemples de code variés lui permettant d’être à l’aise avec son langage, son utilisation et son écosystème. 10 + 11 + links: 12 + eni: https://fliz.ly/W6Lbo_w 13 + amazon: https://amzn.to/4dVZPil 14 + fnac: https://fliz.ly/EPp5q_w 15 + cultura: https://fliz.ly/6z4Bg_w 16 + --- 17 + Ce livre sur Terraform s’adresse aussi bien aux « Devs » qu’aux « Ops », débutants ou disposant déjà de notions de base, qui souhaitent maîtriser le développement d’une infrastructure sur le cloud. Le lecteur y trouvera des cas d’usage illustrés par des exemples de code variés lui permettant d’être à l’aise avec son langage, son utilisation et son écosystème. 18 + 19 + Dans les premiers chapitres du livre, l’auteur présente les fondamentaux de Terraform, de la présentation des notions générales de l’infrastructure as code, à l’architecture de Terraform avec le fonctionnement du CLI, du registry, du state et des providers, en passant par le langage Terraform (HCL) expliqué en détail pour permettre la lecture et l’écriture de code simple. Au travers de 7 cas d’usage, le lecteur peut ensuite découvrir des utilisations différentes de Terraform sur des plateformes variées : Google Cloud Platform, AWS, MongoDB, OVH, Scaleway, GitHub et GitLab. 20 + 21 + La suite du livre permet au lecteur d’aller plus loin dans l’apprentissage de Terraform. Le partage et la réutilisation de code sont mis en pratique avec l’utilisation et le développement de modules. Les éléments du langage avancés ainsi que les bonnes pratiques de développement sont présentés en détail. La gestion du state et les opérations permettant de le manipuler sont ensuite expliquées avant de passer à l’écriture de tests (souvent mise à l’écart) présentée avec l’implémentation de tests d’intégration. Enfin, le développement d’un provider permet de s’interfacer avec n’importe quel service. 22 + 23 + À l’instar de nombreuses entreprises qui utilisent HCP Terraform pour exécuter le code Terraform, le lecteur appréhende l’exécution managée de Terraform. L’intégration de Terraform à des pipelines de CI/CD est également présentée avec des exemples pour GitLab CI et GitHub Actions. Toutes ces connaissances cumulées ainsi que de précieux conseils pour bien se préparer permettent au lecteur de pouvoir préparer et passer la certification Terraform. 24 + 25 + Pour finir, des outils open source complémentaires sont présentés pour compléter l’outillage de développement et quelques ressources et liens sont donnés pour se maintenir à jour sur les nouveautés de l’écosystème.
+3 -3
hugo.toml
··· 11 11 brand = "Julien Wittouck" 12 12 brand_image = '/images/avatar-225.png' 13 13 description = "freelance solution & software architect 🏗 - containers 🐋 & linux 🐧 ❤️ - teacher & trainer 🎓 @ univ-lille.fr - speaker 🎙 - Team @Cloud_Nord" 14 - front_page_content = ["posts", "projects"] 14 + front_page_content = ["posts", "projects", "books"] 15 15 16 16 certifications = [ 17 17 {Name = "CKAD: Certified Kubernetes Application Developer", Issuer= "The Linux Foundation", Issued= "2023-12", Expires= "2026-12", Credentials= "https://www.credly.com/badges/cdd863d0-5136-44e1-a393-8fa2dd736fa2/public_url", Logo= "/ckad-certified-kubernetes-application-developer.png"}, ··· 23 23 plausible_script = "https://plausible.io/js/script.js" 24 24 25 25 menu = [ 26 - {Name = "Latests Posts", URL = "/posts/", HasChildren = true, Limit = 5}, 27 - {Name = "Talks", URL = "/talks/", HasChildren = true, Limit = 5 }, 26 + {Name = "Latests Posts", URL = "/posts/", HasChildren = true, Limit = 3}, 27 + {Name = "Talks", URL = "/talks/", HasChildren = true, Limit = 3 }, 28 28 {Name = "Projects", URL = "/projects/"} 29 29 ] 30 30
+31
layouts/books/single.html
··· 1 + {{ define "main" -}} 2 + <div class="projects"> 3 + <div class="info"> 4 + <h2 class="post-title"> 5 + <a href="{{ .Permalink }}">{{ .Title }}</a> 6 + </h1> 7 + {{ if .Params.tags }} 8 + <ul class="tags"> 9 + {{ range .Params.tags }} 10 + <li class="tag-{{ . }}"> 11 + <a href="{{ "tags/" | absLangURL }}{{ . | urlize }}">{{ . }}</a> 12 + </li> 13 + {{ end }} 14 + </ul> 15 + {{ end }} 16 + 17 + {{ if .Params.featuredImage }} 18 + <a href="{{ .Permalink }}"> 19 + <img style="max-height: 50%;" src="{{ .RelPermalink }}/{{ .Params.featuredImage }}"> 20 + </a> 21 + {{end}} 22 + 23 + {{ if .Params.links }} 24 + {{ partial "books/links.html" . }} 25 + {{ end }} 26 + </div> 27 + 28 + 29 + {{ .Content }} 30 + </div> 31 + {{- end }}
+11
layouts/index.html
··· 2 2 3 3 {{ $pag := .Paginate (where .Site.RegularPages "Type" "in" "posts") }} 4 4 5 + {{/* only display books on first page */}} 6 + {{ if eq $pag.PageNumber 1 }} 7 + <h1>Publications</h1> 8 + <div class="books"> 9 + {{ range (where .Site.RegularPages "Type" "books") }} 10 + {{ partial "books/info.html" . }} 11 + {{ end }} 12 + </div> 13 + <hr/> 14 + {{ end }} 15 + 5 16 {{/* only display projects on first page */}} 6 17 {{ if eq $pag.PageNumber 1 }} 7 18 <h1>Projects</h1>
+26
layouts/partials/books/info.html
··· 1 + <div class="info"> 2 + <h2 class="post-title"> 3 + <a href="{{ .Permalink }}">{{ .Title }}</a> 4 + </h1> 5 + {{ if .Params.tags }} 6 + <ul class="tags"> 7 + {{ range .Params.tags }} 8 + <li class="tag-{{ . }}"> 9 + <a href="{{ "tags/" | absLangURL }}{{ . | urlize }}">{{ . }}</a> 10 + </li> 11 + {{ end }} 12 + </ul> 13 + {{ end }} 14 + 15 + {{ if .Params.featuredImage }} 16 + <a href="{{ .Permalink }}"> 17 + <img style="max-height: 10rem;" src="{{ .RelPermalink }}/{{ .Params.featuredImage }}"> 18 + </a> 19 + {{end}} 20 + 21 + <p>{{ .Params.description | markdownify }}</p> 22 + 23 + {{ if .Params.links }} 24 + {{ partial "books/links.html" . }} 25 + {{ end }} 26 + </div>
+34
layouts/partials/books/links.html
··· 1 + <ul class="links"> 2 + {{ if .Params.links.amazon }} 3 + <li> 4 + <a href="{{ .Params.links.amazon }}" target="_blank"> 5 + <img src="https://img.shields.io/badge/Amazon-Acheter-FF9900?style=for-the-badge&logo=amazon"/> 6 + </a> 7 + </li> 8 + {{ end }} 9 + 10 + {{ if .Params.links.fnac }} 11 + <li> 12 + <a href="{{ .Params.links.fnac }}" target="_blank"> 13 + <img src="https://img.shields.io/badge/Fnac-Acheter-E1A925?style=for-the-badge&logo=fnac"/> 14 + </a> 15 + </li> 16 + {{ end }} 17 + 18 + {{ if .Params.links.cultura }} 19 + <li> 20 + <a href="{{ .Params.links.cultura }}" target="_blank"> 21 + <img src="https://img.shields.io/badge/Cultura-Acheter-1D2C54?style=for-the-badge&logo=cultura"/> 22 + </a> 23 + </li> 24 + {{ end }} 25 + 26 + {{ if .Params.links.eni }} 27 + <li> 28 + <a href="{{ .Params.links.eni }}" target="_blank"> 29 + <img src="https://img.shields.io/badge/ENI-Acheter-004982?style=for-the-badge"/> 30 + </a> 31 + </li> 32 + {{ end }} 33 + 34 + </ul>