Fork of github.com/TomPlanche/first-year-thesis
  • Typst 93.8%
  • D2 5.4%
  • Shell 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-11 15:05:51 +02:00
assets [26] (chore on main) Small changes 2026-06-11 15:05:51 +02:00
notes/attendance_stats_opti [8] (feat on main) Cleaner outline + wip 2025-11-24 10:15:41 +01:00
.gitignore [8] (feat on main) Cleaner outline + wip 2025-11-24 10:15:41 +01:00
custom-outline.typ [25] (feat on main) Cleaner conclusion 2026-06-11 13:46:46 +02:00
glossary.typ [26] (chore on main) Small changes 2026-06-11 15:05:51 +02:00
LICENCE [1] (feat on main) Initial commit. 2025-09-11 09:26:50 +02:00
main.pdf [26] (chore on main) Small changes 2026-06-11 15:05:51 +02:00
main.typ [26] (chore on main) Small changes 2026-06-11 15:05:51 +02:00
README-FR.md [12] (docs on main) Add READMEs 2025-11-25 12:14:02 +01:00
README.md [12] (docs on main) Add READMEs 2025-11-25 12:14:02 +01:00

CNAM Engineering Internship Report

This repository contains my activity report (Rapport d'activités) for my CNAM engineering internship at Affluences, completed during the 2025-2026 academic year.

About

This is an academic report documenting my year-long work-study experience as a backend developer in the Internal Services team at Affluences, a French company specializing in real-time crowd management and visitor flow optimization.

Technologies

Typst

The document is built using Typst, a modern typesetting system written in Rust. Typst offers several advantages over traditional systems:

  • Fast compilation: Near-instant previews thanks to Rust's performance
  • Modern syntax: Clean, readable markup language
  • Incremental compilation: Only recompiles changed parts
  • Package ecosystem: Extensible through community packages
  • Open source: Free and actively developed

Template

The report uses the clean-cnam-template package (v1.3.0), which I created specifically for CNAM academic documents. I use this template for both my internship reports and course materials, providing:

  • Professional CNAM branding and layout
  • Customizable title page with institutional logos
  • Proper academic document structure
  • French language support

Custom Outline

The table of contents features a unique tree-based rendering system inspired by the visual aesthetics of Grégoire Gamichon's thesis on demoscene and warez art.

The custom outline (custom-outline.typ) generates an ASCII-art tree structure using Unicode box-drawing characters:

┌┬┐
│└ Introduction.....................................2
│  └ Affluences.....................................3
└ Work Environment..................................5
   ├ Working conditions and integration.............5
   │  ├ Technical environment and tools.............6
   │  │  ├ Main technical stack.....................6

This visual approach transforms the traditional linear table of contents into a hierarchical tree that immediately communicates document structure, combining technical precision with aesthetic appeal.

Project Structure

.
├── main.typ              # Main document entry point
├── custom-outline.typ    # Custom tree-based outline renderer
├── glossary.typ          # Technical terms glossary
├── assets/              # Logos, backgrounds, fonts
│   ├── fonts/          # Custom fonts (gitignored)
│   └── logos/          # Company and institution logos
└── notes/              # Working notes (not compiled)

Document Content

The report covers:

  1. Acknowledgments - Thanks to mentors and colleagues
  2. Introduction - Context at Affluences
  3. Work Environment - Technical stack, tools, and agile methodology
  4. Missions - Key projects and optimizations
  5. Glossary - Technical terms used throughout

Language

All document content is in French. Code comments and technical documentation use English.