Compétences
Chaque compétence est reliée à ce que j’en ai fait : les liens mènent aux projets et aux articles correspondants.
Langages
- En projet
- C et C++ (compilateur, shell), Java (Spring Boot et Quarkus : gestion de stock, plateforme de documents), Python (tableau de bord), JavaScript et React (trois projets), SmartPy (dApp Tezos)
- Étudiés en détail
- OCaml, Haskell, Lisp (SBCL) : higher-order functions, lazy evaluation, récursion. Assembleur x86-64 (syntaxe AT&T, ABI System V). Ada.
- Notions
- Rust
Fondations
- Compilation
- Langages formels, grammaires LL(1) et LR, ensembles First et Follow, liveness analysis, SSA, register allocation. Mise en pratique : compilateur vers C, article reference counting.
- Mathématiques
- Théorie des graphes, probabilités et statistiques
- Machine learning
- PCA, clustering, apprentissage supervisé, réseaux de neurones
- Design patterns
- Visitor, Singleton, Builder, Chain of Responsibility, Observer, Adapter, CRTP
Infrastructure et réseaux
- Systèmes
- Linux (Debian), administration en ligne de commande, SSH. Mise en pratique : serveur auto-hébergé, article hardening Debian.
- Conteneurs et CI/CD
- Docker, Docker Compose, Git, GitLab CI, GitHub Actions (par exemple dans le tableau de bord)
- Données et monitoring
- PostgreSQL, Prometheus, Grafana
- Réseaux
- GNS3, Wireshark, certificats TLS avec certbot, reverse tunnels SSH
Sécurité
- Applicative
- Authentification JWT, 2FA par TOTP, RBAC, chiffrement AES-GCM et RSA. Mise en pratique : plateforme de documents, article TOTP.
- Web
- Path traversal et durcissement d’un serveur : article path traversal.
- Pratique
- CTF (stéganographie, privilege escalation), OSINT