Aller au contenu

CV : Un dépôt, plusieurs parcours de publication

Ce site réunit des CV HTML bilingues, des données structurées, des pages À propos générées, des PDF LaTeX et un blog Hugo. La compilation rassemble ces sorties dans un déploiement statique sans backend applicatif public.

Application et outils
  • Mis à jour
  • 1
  • JavaScript · 36.98%
  • MIT
Langages du dépôtJavaScript 36.98%11

Parts calculées à partir des octets GitHub Linguist.

Langage%Octets
JavaScript36.98%584 457
HTML34.21%540 538
Python10.17%160 751
TeX8.19%129 462
CSS7.68%121 305
PowerShell0.99%15 654
5 autres langages
Shell0.72%11 367
Batchfile0.54%8 498
Mermaid0.39%6 088
Go Template0.1%1 539
Jinja0.04%600

GitHub · README · Statistiques de langages

Aperçu

Pourquoi il existe

Portfolio et CV statique bilingue haute performance avec schémas AEO, CI/CD et zéro dépendance runtime.

Cas d’usage

Présentation professionnelle et vitrine technique d'ingénierie logicielle.

Démarrage

Ces commandes viennent de la documentation du dépôt. Elles n’ont pas été exécutées pendant cette revue.

README.md · Hugo blog (Paper)
cd hugo/themes/paper
npm ci
npm run build:css
cd ../..
hugo server -D
README.md · Building CVs
python build_cv.py build --language en
python build_cv.py build --all
python build_cv.py build --all --parallel
python build_cv.py build --language en --output ./output/cv.pdf
python build_cv.py build --language en --clean
python build_cv.py build --language en --verbose
python build_cv.py build --all --ci
README.md · LaTeX CVs
python build_cv.py build --language en
helm/cv-stack/README.md · Installation
helm install cv-stack ./helm/cv-stack
helm install cv-stack ./helm/cv-stack -f my-values.yaml
helm install cv-stack ./helm/cv-stack --namespace cv-stack --create-namespace
tools/medium-mirror/README.md · Setup
cd tools/medium-mirror
npm install
npx playwright install chromium
Commandes déclarées dans les manifestes

Références du dépôt

Extraits des guides du dépôt, dans leur langue d’origine. Les liens ouvrent la version du code consultée.

Prérequis et premier essai

Prerequisites

README.md

  • Python 3.8+ (for build script)
  • Docker (for LaTeX compilation)
  • Git
Lire les instructions complètes ↗

Installation

README.md

  1. Clone the repository
  2. Install Python dependencies
  3. Build CV PDFs
  4. View locally
Lire les instructions complètes ↗

Local Development

README.md

  1. Set up environment (see Local Development Guide)
  2. Make changes to HTML or LaTeX files
  3. Test locally using a local HTTP server
  4. Rebuild PDFs if LaTeX files changed
  5. Commit and push changes
Lire les instructions complètes ↗

🚀 Quick Start

docs/README.md

  1. Local Development: See Setup Guide
  2. Deploy to GitHub Pages: See GitHub Pages Deployment
  3. Compile CV: See CV Compilation
Lire les instructions complètes ↗

Prerequisites

docs/setup/README.md

Before starting, ensure you have:

  • Python 3.8+ - For the build script
  • Docker - For LaTeX compilation (recommended)
  • Git - For version control
  • Text Editor - For editing files (VS Code, Vim, etc.) Optional but recommended:
  • LaTeX Distribution - For local LaTeX compilation (alternative to Docker)
  • Node.js - For alternative HTTP server
Lire les instructions complètes ↗
Configuration et utilisation

[Setup](./setup/README.md)

docs/README.md

Get started with the project - installation, requirements, and local development setup.

  • Local Development - Set up your local environment
  • Requirements - System requirements and dependencies
Lire les instructions complètes ↗

Setup Guide

docs/setup/README.md

This section covers the initial setup and installation of the CV/resume website project.
Lire les instructions complètes ↗

Configuration

helm/cv-stack/README.md

The following table lists the configurable parameters and their default values:

ParameterDescriptionDefault
namespace.nameNamespace namecv-stack
namespace.createCreate namespacetrue
cvSite.enabledEnable CV sitetrue
cvSite.replicasNumber of CV site replicas2
cvSite.image.repositoryCV site image repositorynginx
cvSite.image.tagCV site image tagalpine
linktreeSite.enabledEnable linktree sitetrue
linktreeSite.replicasNumber of linktree site replicas2
linktreeSite.image.repositoryLinktree site image repositorynginx
linktreeSite.image.tagLinktree site image tagalpine
traefik.enabledEnable Traefiktrue
traefik.replicasNumber of Traefik replicas1
traefik.image.repositoryTraefik image repositorytraefik
traefik.image.tag…
Lire les instructions complètes ↗

Build Script Usage

docs/development/README.md

  • ✅ Always test builds locally before pushing
  • ✅ Use –verbose flag when debugging
  • ✅ Use –clean flag to remove auxiliary files
  • ✅ Use –all –parallel for faster builds
  • ✅ Check build statistics after compilation
  • ✅ Review LaTeX warnings and fix when possible
Lire les instructions complètes ↗
Exploitation et dépannage

Deployment Issues

README.md

  • GitHub Pages not updating: Check GitHub Actions workflow status
  • Docker container issues: Check logs with docker-compose logs
  • Kubernetes issues: Check pod status with kubectl get pods See Troubleshooting Guide for more details.
Lire les instructions complètes ↗

Recent Updates

README.md

  • ✅ CV index: Conferences section with Graphquon logos (2024 + 2025); moved out of certifications list
  • ✅ Added Graphquon 2024 and 2025 conference entries
  • ✅ Updated Snapchat Lens statistics (13.97M plays, 20.38M views; blog post refreshed May 2026)
  • ✅ Added DasherControl project
  • ✅ Updated hass-renpho with dates
  • ✅ Improved build script with parallel compilation support
  • ✅ Enhanced documentation structure

Built with ❤️ using LaTeX, Docker, and modern web technologies

Lire les instructions complètes ↗

[Deployment](./deployment/README.md)

docs/README.md

Deploy the CV website to various platforms and environments.

  • GitHub Pages - Deploy to GitHub Pages
  • Docker - Docker-based deployment
  • Kubernetes - Kubernetes deployment
Lire les instructions complètes ↗

Deployment Issues

docs/README.md

Problem: GitHub Pages not updating

  • Solution: Check GitHub Actions workflow status
  • Solution: Verify Pages is enabled in repository settings
  • Solution: Check workflow logs for errors Problem: Docker container won’t start
  • Solution: Check container logs: docker-compose logs
  • Solution: Verify ports are not in use
  • Solution: Check Docker daemon is running Problem: Kubernetes pods not running
  • Solution: Check pod status: kubectl get pods -n cv-stack
  • Solution: View logs: kubectl logs -n cv-stack
  • Solution: Verify ingress is configured correctly
Lire les instructions complètes ↗

Deployment Guide

docs/deployment/README.md

This section covers deploying the CV/resume website to various platforms and environments.
Lire les instructions complètes ↗
Développement et contributions

🤝 Contributing

README.md

This is a personal CV/resume project. For suggestions or improvements, please open an issue or submit a pull request.
Lire les instructions complètes ↗

[Development](./development/README.md)

docs/README.md

Development workflows, processes, and best practices.

  • CV Compilation - LaTeX CV compilation process
  • GitHub Actions - GitHub Actions workflows
  • Hugo blog (Paper theme) - Header, menus, i18n, baseURL, mobile menu, dark mode
Lire les instructions complètes ↗

Option 1: Simple Local Server (Recommended for Quick Testing)

docs/setup/README.md

Use a simple HTTP server to view the website locally: Pros: Simple, no dependencies, fast startup Cons: No LaTeX compilation, basic features only
Lire les instructions complètes ↗

2. Test Build Script

docs/setup/README.md

Test the CV build script:
Lire les instructions complètes ↗

Development Guide

docs/development/README.md

Development workflows, processes, and best practices for the CV/resume website project.
Lire les instructions complètes ↗
Documentation source

10 documents lus parmi 10 candidats.

Fonctions et composants 2

Sources du contenu
data/resume.en.json et resume.fr.json contiennent le CV lisible par machine. Les pages index HTML restent les sources de leur mise en page. data/aeo.yaml produit les pages À propos, tandis que Hugo gère les articles Markdown et les notes de projets.
Assemblage et vérification
build_docs.py prépare les pages et ressources, compile Hugo sous le chemin du blog, fusionne le sitemap et vérifie le déploiement avant de copier vers docs. Cette préparation empêche une compilation échouée d’écraser l’arbre publié.

Architecture

Les composants et leurs liens restent lisibles en texte. Le diagramme ajoute une vue interactive.

Contexte système Contexte
  1. JSON du CV et données AEO
  2. CV et À propos générés
  3. CV HTML et PDF LaTeX
  4. Markdown Hugo
  5. Compilation de production préparée
  6. Site statique dans docs

Liens vérifiés dans le dépôt.

Mermaid Diagramme interactif (chargement à l’ouverture)

Vue générale des composants et des échanges vérifiés dans le dépôt.

Vue statique de l’architecture de CV
Aperçu statique. Le diagramme interactif le remplace après le chargement de Mermaid.
flowchart LR

subgraph group_resume["CV and Resume"]
  node_buildcv["CV Compiler<br/>[build_cv.py]"]
  node_latex_en["English LaTeX CV<br/>[resume.tex]"]
  node_latex_fr["French LaTeX CV<br/>[resume.tex]"]
  node_sections_en["English CV Sections"]
  node_sections_fr["French CV Sections"]
  node_pdf_en["English PDF Resume<br/>[resume.pdf]"]
  node_pdf_fr["French PDF Resume<br/>[resume.pdf]"]
  node_html_resume["HTML Resumes"]
  node_cv_data["CV Data<br/>[cv.yaml]"]
end

subgraph group_content["Portfolio Content"]
  node_hugo_content["Posts Projects Recipes"]
  node_hugo_layouts["Blog Templates"]
  node_papers["Papers and Publications"]
end

subgraph group_web["Website Experiences"]
  node_hugo_site["Hugo Blog"]
  node_linktree["Social Links Page"]
end

subgraph group_integration["External Integration"]
  node_agent_worker["Agent-ready Home Worker<br/>[worker.mjs]"]
  node_map_service["MapMyVisitors"]
end

node_visitor(("Site Visitor"))

node_visitor -->|"views resumes"| node_html_resume
node_visitor -->|"browses blog"| node_hugo_site
node_visitor -->|"opens links"| node_linktree
node_latex_en -->|"includes sections"| node_sections_en
node_latex_fr -->|"includes sections"| node_sections_fr
node_buildcv -->|"compiles source"| node_latex_en
node_buildcv -->|"compiles source"| node_latex_fr
node_buildcv -->|"produces PDF"| node_pdf_en
node_buildcv -->|"produces PDF"| node_pdf_fr
node_hugo_site -->|"renders content"| node_hugo_content
node_hugo_site -->|"uses templates"| node_hugo_layouts
node_visitor -.->|"reads publications"| node_papers
node_html_resume -->|"loads visitor map"| node_map_service


class node_buildcv,node_latex_en,node_latex_fr,node_sections_en,node_sections_fr,node_pdf_en,node_pdf_fr,node_html_resume,node_cv_data toneBlue
class node_hugo_content,node_hugo_layouts,node_papers toneAmber
class node_hugo_site,node_linktree toneMint
class node_agent_worker,node_map_service toneRose
class node_visitor toneIndigo

Un CV et portfolio bilingue avec des CV HTML et PDF, un blogue Hugo, des publications, des liens sociaux et des routes lisibles par les agents. La compilation réunit le contenu édité, les données générées et les vérifications de déploiement.

Composants
17
Connexions
13
Liens appuyés par le code ou le README
11/13
Version texte du diagramme
  • JSON du CV et données AEO → CV et À propos générés
  • CV et À propos générés → Compilation de production préparée
  • CV HTML et PDF LaTeX → Compilation de production préparée
  • Markdown Hugo → Compilation de production préparée
  • Compilation de production préparée → Site statique dans docs
Suivre un parcours dans le code

Suivez une modification du blog depuis hugo/content vers Hugo, puis vers le dossier de préparation du déploiement. Le CV suit un autre parcours: modifier un JSON ne réécrit pas automatiquement toutes les sections HTML ou LaTeX manuelles.

Types et structure des fichiers

3 types déclarés, dont 3 dans l’aperçu des relations de base.

Diagramme des types
classDiagram
direction TB
class tc629f4786497["LaTeXLogStats"] {
}
class tc217ab0df529["MergeRootSitemapTests"] {
  test_flattens_sitemapindex_and_adds_static_pages()
  test_urlset_passthrough()
}
class tb2eba65b8551["RenderResumeMdTests"] {
  test_render_en_contains_required_headings()
  test_all_locales_exit_zero()
}
class b539fd1ca9096["unittest.TestCase"] {
  <<unresolved_base>>
}
b539fd1ca9096 <|-- tc217ab0df529
class b18f4b7dc7f0d["unittest.TestCase"] {
  <<unresolved_base>>
}
b18f4b7dc7f0d <|-- tb2eba65b8551

Les bases non résolues restent identifiées; les signatures complètes ne sont pas reconstruites.

Index des types

Référence

43 / 43 fichiers admissibles lus (2646 dans l’arbre); 0 trop volumineux, 0 échec de lecture et 0 diagnostic de syntaxe.

Ce que couvre l’analyse

Les dossiers connus de dépendances et de compilation, les fichiers d’identifiants et les binaires sont exclus. La collecte couvre les README, les manifestes reconnus et les fichiers source pris en charge.

Les statistiques Linguist couvrent l’ensemble du dépôt et peuvent inclure d’autres langages.

Carte des fichiers
flowchart TD
  root["CV"]
  f0["scripts/deploy/build_docs.py"]
  root --> f0
  f1["README.md"]
  root --> f1
  f2["build_cv.py"]
  root --> f2
  f3["docker-compose.yml"]
  root --> f3
  f4["requirements.txt"]
  root --> f4
  f5["hugo/package.json"]
  root --> f5
  f6["scripts/README.md"]
  root --> f6
  f7["scripts/_repo.py"]
  root --> f7
  f8["helm/cv-stack/README.md"]
  root --> f8
  f9["scripts/ci/spellcheck.py"]
  root --> f9
  f10["scripts/ci/update_aspell_fr_pws.py"]
  root --> f10
  f11["scripts/ci/verify-deploy-lychee.sh"]
  root --> f11
  f12["scripts/ci/write_advisory_summary.sh"]
  root --> f12
  f13["scripts/deploy/merge_root_sitemap.py"]
  root --> f13
  f14["scripts/deploy/optimize_images.py"]
  root --> f14
  f15["scripts/html/extract_cv_css.py"]
  root --> f15

Fichiers à lire 4

Références