Skip to content
LamizanaPublic

About

Portfolio et base de connaissances : cours de programmation (Python, data science, Django), Web 2.0/3.0, Git et système Linux. Site ProperDocs/Material déployé sur GitHub Pages.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

311 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Material for MkDocs Python GitHub Pages ProperDocs License MIT

ZehdBox

Base de connaissances de développement & portfolio

Python, Data Science, Web, Système.


Sommaire

Déplier le sommaire

À propos

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

Aperçu du site

Page d'accueil du site ZehdBox en thème clair

Thème sombre

Page d'accueil du site ZehdBox en thème sombre


Fonctionnalités

  • 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

Stack technique

Catégorie Technologie Badge
Générateur ProperDocs + Material for MkDocs ProperDocs
Thème Material for MkDocs Material for MkDocs
Langage Python 3.12 Python
Extensions PyMdown, Mermaid, Admonitions, Content Tabs Extensions Markdown
CI/CD GitHub Actions GitHub Actions
Hébergement GitHub Pages GitHub Pages
Recherche Plugin search (built-in) Search

Extensions Markdown activées

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)

Structure du projet

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

Projets

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 Python Django JavaScript PostgreSQL Docker Nginx
Tokenizer Token BEP-20 GOLD42 (BNB Smart Chain testnet) Solidity BEP-20 OpenZeppelin
TokenizeArt NFT BEP-721 Zehd42 sur BNB Smart Chain testnet, métadonnées sur IPFS Solidity BEP-721 OpenZeppelin IPFS Pinata
Linear Regression Régression linéaire - descente de gradient (projet 42) Python NumPy Pandas Matplotlib
DSLR Régression logistique multiclasse - le Choixpeau de Poudlard (projet 42) Python NumPy Pandas Seaborn
Minishell Interpréteur de commandes UNIX C UNIX
ft_irc Serveur IRC en C++ (RFC 2810-2813) C++ RFC 2810-2813
Push Swap Algorithme de tri optimisé en C C Algorithmique
So Long Jeu 2D en C (MiniLibX) C MiniLibX

Cours

Python

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

IA

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

Autres domaines

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

Installation

Prérequis

  • Python 3.12+
  • pip

Installation locale

# 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 --livereload

Le 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.


Commandes

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.py

Note

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.


CI/CD

Le déploiement est automatisé via GitHub Actions (deploy.yml) :

  1. Push sur main → déclenche le workflow
  2. Contrôle de parité → scripts/check_ci_parity.py vérifie que chaque plugin déclaré dans properdocs.yml est bien installé par requirements-ci.txt
  3. Build strict → le build échoue au moindre avertissement (liens cassés, références manquantes)
  4. Upload artifact → archivage du site généré
  5. 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é).


Contribution

Ce dépôt est un projet personnel : les corrections et les remarques restent bienvenues.

  1. Fork le dépôt
  2. Créer une branche depuis main : git checkout -b docs/typo-bases
  3. Committer en suivant la convention ci-dessous
  4. Pousser la branche : git push origin docs/typo-bases
  5. 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.

Convention de commits

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

Auteur

Alex Lamizana, étudiant à 42 Angoulême, spécialisation Data & IA


Remerciements


Licence

Distribué sous licence MIT (SPDX : MIT). Voir LICENSE.

© 2026 Alex Lamizana

About

Portfolio et base de connaissances : cours de programmation (Python, data science, Django), Web 2.0/3.0, Git et système Linux. Site ProperDocs/Material déployé sur GitHub Pages.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages