Base de connaissances de développement & portfolio
Python, Data Science, Web, Système.
Déplier le sommaire
ZehdBox est un site vitrine & base de connaissances personnel, couvrant le développement logiciel, la data science, le web et le système. Il sert à la fois de portfolio pour les recruteurs et de mémo technique alimenté au fil de l'apprentissage.
Contenu structuré, déployé automatiquement via GitHub Actions sur GitHub Pages.
Live : lamizana.github.io/ZehdBox
- Cours Python complet : bases du langage, exercices, fonctions, bibliothèques (NumPy, Pandas, Scikit-learn), régression linéaire, Django
- 9 fiches projets détaillées : contexte, stack, défis techniques, résultats
- Blog technique avec articles et images
- Cours Système : Linux, Windows
- Cours Web : Web2, Web3, blockchain
- Tutoriels Strudel : audio live coding
- Recherche full-text intégrée
- Mode sombre automatique (selon les préférences système)
- Responsive design (mobile, tablette, desktop)
- Déploiement automatique via GitHub Actions
| Extension | Usage |
|---|---|
pymdownx.highlight |
Coloration syntaxique du code |
pymdownx.superfences |
Fenced code blocks avancés + Mermaid |
pymdownx.tabbed |
Onglets de contenu (alternates) |
pymdownx.details |
Admonitions repliables |
pymdownx.emoji |
Icônes Material Design |
pymdownx.tasklist |
Listes de tâches cochables |
attr_list + md_in_html |
Grid cards et boutons |
admonition |
Blocs d'information (note, tip, warning) |
ZehdBox/
├── .github/
│ ├── assets/ # Aperçus du site utilisés par ce README
│ └── workflows/deploy.yml # CI/CD GitHub Actions
├── ZehdBox/
│ ├── properdocs.yml # Configuration du site
│ ├── docs/
│ │ ├── index.md # Accueil
│ │ ├── projets/ # 9 fiches projets
│ │ ├── cours/
│ │ │ ├── index.md # Hub des cours
│ │ │ └── python/
│ │ │ ├── bases/ # Variables, types, opérateurs, chaînes, flux
│ │ │ ├── exercices/ # Exercices nombres & chaînes
│ │ │ ├── fonctions.md # Fonctions Python
│ │ │ ├── librairies/ # Hub du parcours data science
│ │ │ ├── numpy/ # NumPy + projet Dés
│ │ │ ├── pandas/ # Pandas + tutoriel et exercices Météo
│ │ │ ├── scikit-learn.md # Machine learning
│ │ │ └── django/ # Installation, modèles, vues, templates
│ │ ├── ia/ # Intelligence artificielle : régression linéaire, DSLR
│ │ ├── blog/ # Articles techniques
│ │ ├── systeme/ # Linux & Windows
│ │ ├── web/ # Web 2.0, Web 3.0, blockchain
│ │ ├── strudel/ # Tutoriels audio live coding
│ │ ├── github/ # Git & GitHub
│ │ ├── mkdocs/ # Documentation du générateur
│ │ ├── about.md, contact.md # Pages vitrine
│ │ ├── tags.md # Index des tags
│ │ ├── images/ # Images du site
│ │ └── css/custom.css # Styles personnalisés
│ ├── overrides/sitemap.xml # Sitemap aux dates de révision git
│ ├── scripts/check_ci_parity.py # Garde-fou : parité plugins / requirements
│ ├── requirements-ci.txt # Dépendances figées (CI)
│ ├── requirements-dev.txt # Dépendances de développement
│ └── site/ # Site généré (ignoré par Git)
├── LICENSE # MIT
├── TODO.md # Suivi de l'indexation Google
└── README.md
Inventaire complet des 9 fiches projets (même liste et ordre que
projets/index.md).
| Projet | Description | Stack |
|---|---|---|
| Transcendance | Pong multijoueur local - solo, 1v1, 4 joueurs, tournoi | |
| Tokenizer | Token BEP-20 GOLD42 (BNB Smart Chain testnet) | |
| TokenizeArt | NFT BEP-721 Zehd42 sur BNB Smart Chain testnet, métadonnées sur IPFS |
|
| Linear Regression | Régression linéaire - descente de gradient (projet 42) | |
| DSLR | Régression logistique multiclasse - le Choixpeau de Poudlard (projet 42) | |
| Minishell | Interpréteur de commandes UNIX | |
| ft_irc | Serveur IRC en C++ (RFC 2810-2813) | |
| Push Swap | Algorithme de tri optimisé en C | |
| So Long | Jeu 2D en C (MiniLibX) |
| Section | Contenu | Lien |
|---|---|---|
| Les bases | Variables, types, opérateurs, chaînes, flux, répétitives | Bases |
| Exercices | 15 exercices de révision + exercices chaînes | Exercices |
| Fonctions | Définir, appeler, return, portée, docstrings | Fonctions |
| Bibliothèques | Le parcours data science : point d'entrée des trois sections suivantes | Bibliothèques |
| ↳ NumPy | Tableaux, opérations vectorielles, projet Dés | NumPy |
| ↳ Pandas | DataFrames, tutoriel Météo, exercices API | Pandas |
| ↳ Scikit-learn | Machine learning : classification, régression | Scikit-learn |
| Django | Installation, Docker & PostgreSQL, modèles, vues, templates | Django |
| Section | Contenu | Lien |
|---|---|---|
| Intelligence Artificielle | Les modèles codés de zéro : régression linéaire et régression logistique | IA |
| ↳ Régression linéaire | Moindres carrés et descente de gradient codés de zéro | Régression linéaire |
| ↳ DSLR | Régression logistique multiclasse : le Choixpeau de Poudlard | DSLR |
| Domaine | Pages | Lien |
|---|---|---|
| Système | Linux, Windows | Système |
| Web | Web2, Web3, blockchain | Web |
| Git & GitHub | Commandes, workflows | GitHub |
| MkDocs | Documentation, thèmes | MkDocs |
| Blog | Articles techniques | Blog |
| Strudel | Tutoriels audio live coding | Strudel |
- Python 3.12+
- pip
# 1. Cloner le dépôt
git clone https://github.com/Lamizana/ZehdBox.git
cd ZehdBox
# 2. Créer et activer l'environnement virtuel
python3 -m venv .env
source .env/bin/activate
# 3. Installer les dépendances (CI + outils de développement)
cd ZehdBox
pip install --upgrade pip
pip install -r requirements-dev.txt
# 4. Lancer le serveur local
properdocs serve --dev-addr=127.0.0.1:8001 --livereloadLe site sera accessible sur http://127.0.0.1:8001.
Note
requirements-ci.txt fige les versions utilisées par le workflow de déploiement ; requirements-dev.txt l'inclut (-r requirements-ci.txt) et ajoute les outils de développement local. Le script scripts/check_ci_parity.py vérifie que les deux restent cohérents avec properdocs.yml.
| Commande | Description |
|---|---|
properdocs serve --dev-addr=127.0.0.1:8001 --livereload |
Serveur local avec rechargement à chaud |
properdocs build -f properdocs.yml --strict |
Build de validation (avertissements = erreurs) |
python scripts/check_ci_parity.py |
Vérifie que chaque plugin de properdocs.yml est installé par requirements-ci.txt |
Warning
Toutes les commandes doivent être lancées depuis le dossier ZehdBox/ avec l'environnement virtuel activé.
# Serveur local
properdocs serve --dev-addr=127.0.0.1:8001 --livereload
# Build de validation
properdocs build -f properdocs.yml --strict
# Contrôle de parité plugins / requirements (à lancer avant de committer)
python scripts/check_ci_parity.pyNote
Le déploiement ne se fait pas en local : un simple git push sur main déclenche le workflow GitHub Actions (voir la section CI/CD ci-dessous). La commande properdocs gh-deploy n'est donc pas utilisée par ce projet.
Le déploiement est automatisé via GitHub Actions (deploy.yml) :
- Push sur
main→ déclenche le workflow - Contrôle de parité →
scripts/check_ci_parity.pyvérifie que chaque plugin déclaré dansproperdocs.ymlest bien installé parrequirements-ci.txt - Build strict → le build échoue au moindre avertissement (liens cassés, références manquantes)
- Upload artifact → archivage du site généré
- Deploy → déploiement sur GitHub Pages
Le workflow utilise fetch-depth: 0 pour conserver l'historique git complet (nécessaire pour git-revision-date-localized).
Important
Aucune commande de déploiement manuelle n'est nécessaire. Le workflow est la seule source de vérité pour la mise en ligne ; ne pas publier via une branche gh-pages (vestige de l'ancien déploiement MkDocs, désormais abandonné).
Ce dépôt est un projet personnel : les corrections et les remarques restent bienvenues.
- Fork le dépôt
- Créer une branche depuis
main:git checkout -b docs/typo-bases - Committer en suivant la convention ci-dessous
- Pousser la branche :
git push origin docs/typo-bases - Ouvrir une Pull Request en décrivant le changement
Tip
Avant de pousser, lancer le build local (properdocs build -f properdocs.yml --strict) : la CI échoue au moindre avertissement.
Le projet suit Conventional Commits, avec une ligne de sujet en français :
<type>(<scope>): <description>
- description à l'impératif présent, sans point final
- ligne de sujet ≤ 72 caractères
- un commit = un changement identifiable
| Type | Usage |
|---|---|
feat |
Nouvelle page ou nouvelle fonctionnalité |
fix |
Correction de bug ou d'information erronée |
docs |
Contenu, documentation |
style |
Mise en forme, CSS, thème |
perf |
Optimisation (images, vidéos) |
refactor |
Réécriture sans changement de comportement |
test |
Ajout ou correction de tests |
chore |
Maintenance, dépendances, outillage |
revert |
Annulation d'un commit |
Scopes : nav, ia, python, exercices, projets, web, systeme, blog, css, config, seo, readme, deps, ci.
Exemples issus de l'historique du dépôt :
docs(web): documente le déploiement du contrat BEP-20
fix(seo): ajoute la description des pages projets
style(css): corrige le contraste des cartes en mode sombre
Alex Lamizana, étudiant à 42 Angoulême, spécialisation Data & IA
- ProperDocs : générateur du site, successeur maintenu de MkDocs
- Material for MkDocs : thème du site
- PyMdown Extensions : onglets, admonitions, emoji
- shields.io : badges de ce README
Distribué sous licence MIT (SPDX : MIT). Voir LICENSE.
© 2026 Alex Lamizana

