[
  {
    "objectID": "index.html",
    "href": "index.html",
    "title": "Louis Lacoste",
    "section": "",
    "text": "English\nJe suis doctorant en statistiques appliquées au laboratoire MIA Paris-Saclay sous la direction de Julie Aubert, Pierre Barbillon et Sophie Donnet.\nJe mettrai à jour plus tard"
  },
  {
    "objectID": "index.html#citations",
    "href": "index.html#citations",
    "title": "Louis Lacoste",
    "section": "Citations",
    "text": "Citations\n\n“Il faut être mou du critère”, P. B. 2025\n\n\n“Non mais les arbres tu les dessines mal !”, P. B. 2026\n\n\n“Louis c’est un geek”, paroles rapportées de S. D. 2026\n\n\n“Après tout je suis ta demi grande soeur par la mère”, B. B. 2026\n\n\n“Je rôde, j’attends que le bar ouvre”, P. B. Rochebrune 2026\n\n\n“T’es vraiment une mini Liliane”, E. T. à C. C. Rochebrune 2026\n\n\n“Alors que c’est toi qui avait un kit de couture”, C. C. à L. L. Rochebrune 2026\n\n\n“C’est la chasse aux oeufs de FachoBergé.”, E. T. 2026\n\n\n“ABC : Aurore Bergé Computation”, L. M. 2026\n\n\n“Pertinence Barbillon a été primesque comme tous les jeudis”, I. S. à propos de P. B. 2026"
  },
  {
    "objectID": "index.html#les-jeux-de-mots-de-pierre",
    "href": "index.html#les-jeux-de-mots-de-pierre",
    "title": "Louis Lacoste",
    "section": "Les jeux de mots de Pierre",
    "text": "Les jeux de mots de Pierre\n\n“On va de K-Rib en SIA.” 2026 “C’est là que la base blesse.” 2026, en parlant du choix de base pour la transformation ilr"
  },
  {
    "objectID": "biblio.html",
    "href": "biblio.html",
    "title": "Bibliography",
    "section": "",
    "text": "English"
  },
  {
    "objectID": "posts.html",
    "href": "posts.html",
    "title": "Posts",
    "section": "",
    "text": "English \n\n\n\n\n\n\n\n\n\nFaire une CI LaTeX avec GitLab\n\n\n\nci\n\n\nintégration continue\n\n\ngit\n\n\nGitLab\n\n\nLaTeX\n\n\nfrench\n\n\nfrançais\n\n\n\n\n\n\n\nLouis Lacoste\n\n\n23 sept. 2025\n\n\n\n\n\n\n\n\nAucun article correspondant"
  },
  {
    "objectID": "posts/ci-gitlab-latex.html",
    "href": "posts/ci-gitlab-latex.html",
    "title": "Faire une CI LaTeX avec GitLab",
    "section": "",
    "text": "English"
  },
  {
    "objectID": "posts/ci-gitlab-latex.html#la-phase-de-compilation-build_tex",
    "href": "posts/ci-gitlab-latex.html#la-phase-de-compilation-build_tex",
    "title": "Faire une CI LaTeX avec GitLab",
    "section": "La phase de compilation build_tex",
    "text": "La phase de compilation build_tex\nNous allons détailler l’étape build_tex :\n\nbuild_tex:\n  stage: build\n  image: danteev/texlive:latest # texlive plus inkscape and others\n  script:\n    - |\n      for FILE_NAME in $FILE_NAMES\n      do\n        echo \"Compiling ${FILE_NAME}\"\n        pdflatex --shell-escape ${FILE_NAME}.tex\n        if test -f ${FILE_NAME}.bcf; then\n          echo \"Found ${FILE_NAME}.bcf, running biber\"\n          biber ${FILE_NAME}\n        fi\n        pdflatex --shell-escape ${FILE_NAME}.tex\n      done\n  after_script:\n    - |\n      for FILE_NAME in $FILE_NAMES\n      do\n        echo \"============================================\"\n        cat ${FILE_NAME}.log\n        echo \"============================================\"\n      done\n\n  artifacts:\n    paths:\n      - \"*.pdf\"\n\nOn déclare tout d’abord le stage: build pour qualifier l’étape que l’on réalise ici. Il y en a 3 possibles : build, test, deploy (documentation GitLab). Ici nous choisissons build puisqu’il s’agit de la compilation de notre projet.\nÀ la suite nous chargeons une image docker qui contient les outils texlive.\nEt enfin la directive script définit en bash l’enchaînement d’étapes que nous réalisons pour compiler le projet.\n\n\n\n\n\n\nExécution conditionnelle de biber\n\n\n\nNoter que nous n’avons pas mis d’extensions dans FILE_NAMES afin de pouvoir détecter ici les fichiers bcf caractéristiques de la bibliographie.\n\n\nFinalement, nous utilisons la directive after_script pour afficher dans les journaux de la CI les fichiers de logs des compilations.\nEnfin artifacts spécifie que les artéfacts que l’on veut conserver de la CI sont tous les PDF à la racine du dépôt"
  },
  {
    "objectID": "posts/ci-gitlab-latex.html#la-phase-de-déploiement-deploy",
    "href": "posts/ci-gitlab-latex.html#la-phase-de-déploiement-deploy",
    "title": "Faire une CI LaTeX avec GitLab",
    "section": "La phase de déploiement deploy",
    "text": "La phase de déploiement deploy\n\ndeploy:\n  stage: deploy\n  image:\n    name: alpine/git:${GIT_VERSION}\n    entrypoint: [\"\"]\n\n  before_script:\n    # Clone le repo dans un dossier temporaire\n    - git clone \"https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git\" \"${CI_COMMIT_SHA}\"\n\n    # Configure l’identité git\n    - git config --global user.email \"${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}\"\n    - git config --global user.name \"${GIT_USER_NAME:-$GITLAB_USER_NAME}\"\n\n  script:\n    # Déplace les PDFs compilés dans le repo cloné\n    - mv *.pdf \"${CI_COMMIT_SHA}/\"\n    - cd \"${CI_COMMIT_SHA}\"\n\n    # Crée une branche orpheline (vierge, sans historique ni fichiers)\n    - git checkout --orphan \"${PDF_BRANCH}\"\n    - git reset --hard\n\n    # Ajoute uniquement les PDF\n    - git add -f *.pdf\n\n    # Vérifie s’il y a des changements et push\n    - |\n      CHANGES=$(git status --porcelain | wc -l)\n      if [ \"$CHANGES\" -gt \"0\" ]; then\n        git commit -m \"${COMMIT_MESSAGE:-Updating PDF files}\"\n        git push --force origin \"${PDF_BRANCH}\" -o ci.skip\n      else\n        echo \"No PDF changes to commit\"\n      fi\n\nFinalement nous déployons nos PDF. Pour cela on charge une image légère Alpine Linux avec la version Git sélectionnée dans les variables.\nAvec la directive before_script on clone le dépôt.\n\n\n\n\n\n\nPour créer le token GitLab\n\n\n\nNotez dans le git clone que nous employons une variable GITLAB_TOKEN, celle-ci est a créer au préalable et à déclarer dans le dépôt.\nPour cela :\n\nRendez-vous dans les paramètre de votre dépôt.\n\n\n\n\nDans les menus de gauche, déplier “Settings” et rendez-vous dans “Access tokens”\n\n\n\nIci ajoutez un nouveau token.\n\n\n\n\nCliquer sur “Add new token”\n\n\n\nEn configurant les permissions read_repository et write_repository afin de pouvoir cloner et pousser nos fichiers. Puis cliquer sur “Create project access token”.\n\n\n\nVotre token est maintenant affiché, copiez le car il ne sera pas raffiché après.\nRendez-vous maintenant dans CI/CD settings.\n\n\n\nCréer maintenant la variable en cliquant sur “Add variable”, nommez la GITLAB_TOKEN, dans “value” ajoutez le token copié.\n\n\n\nLa suite du script déplace les PDF dans le dépôt cloné, crée la branche de publication et ajoute les pdf.\nVous avez normalement maintenant une CI de compilation et publication de PDF ! Maintenant vous pouvez faire référence dans votre README.md à vos PDF en saisissant un lien du type :\nhttps://mongitlab.com/monnomutilisateur/mondepot/-/raw/monpdf.pdf\nqui permet d’afficher directement dans le navigateur le produit de la compilation. 😄"
  },
  {
    "objectID": "interests.html",
    "href": "interests.html",
    "title": "Personal interests",
    "section": "",
    "text": "English"
  },
  {
    "objectID": "interests.html#tech-and-homelab",
    "href": "interests.html#tech-and-homelab",
    "title": "Personal interests",
    "section": "Tech and homelab",
    "text": "Tech and homelab\nI enjoy tech subjects and homelab related subjects."
  },
  {
    "objectID": "interests.html#microbiology",
    "href": "interests.html#microbiology",
    "title": "Personal interests",
    "section": "Microbiology",
    "text": "Microbiology\nOne thing that I particularly love is microbiology and the creature that intrigue me the most is Physarum Polycephalum\n\n\n\nPhysarum Polycephalum, the Blob"
  },
  {
    "objectID": "publications.html",
    "href": "publications.html",
    "title": "Publications",
    "section": "",
    "text": "English"
  },
  {
    "objectID": "teaching.html",
    "href": "teaching.html",
    "title": "Teaching",
    "section": "",
    "text": "English \n\n2025-2026\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\nTeaching assistant in “Data Science: Statistical Learning” (9 hours) for second-year students at AgroParisTech\n\n\n\n2024-2025\n\nTeaching assistant in Statistics (33 hours) for first-year students at AgroParisTech.\nTeaching assistant in “Data Science: Statistical Learning” (16.5 hours) for second-year students at AgroParisTech\nTeaching assistant in “Computer science: programming and database” (6 hours) for first-year students at AgroParisTech"
  }
]