AMINE JAFJAF / PROJETS

Projets techniques d’Amine JAFJAF

Découvrez les projets d’Amine JAFJAF : 20 dépôts GitHub testés en TLS/PKI, DevOps, SRE et gouvernance, ainsi que le service web Quittance Facile.

Ce portfolio présente des projets identifiables et leurs choix techniques. Il distingue le produit réalisé des méthodes exposées dans les articles. Les architectures internes d’employeurs ou de clients n’y sont pas reproduites.

Vingt projets techniques à explorer

Ces dépôts publics montrent du code exécutable, des exemples fictifs, des tests et leurs limites. Ils couvrent trois gestes complémentaires : construire une solution, vérifier son comportement et encadrer les changements. Les vingt workflows GitHub Actions ont été vérifiés le 10 septembre 2026. Ce sont des laboratoires, des simulateurs et des outils de référence ; leur présence ici ne revendique pas une utilisation en production.

Ouvrir l’index complet sur GitHub.

TLS, certificats et PKI

Outil de référence testé

tls-expiry-monitor

Surveiller l’expiration de plusieurs endpoints TLS avec des seuils par cible et une sortie de supervision.

Ce que le projet démontre : Vérification de confiance, concurrence bornée et états d’alerte.

Python 3.12 · cryptography

Outil de référence testé

certificate-inventory-api

Tenir un inventaire de certificats avec propriétaires, environnements, recherche et filtres d’expiration.

Ce que le projet démontre : Validation API, persistance SQLite et conflits de modification.

Python 3.12 · FastAPI · SQLite

Outil de référence testé

csr-policy-validator

Contrôler une demande de certificat : signature, clé, CN, SAN, domaines et extensions autorisées.

Ce que le projet démontre : Politique explicite avant émission d’un certificat.

Python 3.12 · cryptography

Laboratoire testé

pki-lab

Construire une autorité racine, une intermédiaire, des certificats client/serveur et une liste de révocation.

Ce que le projet démontre : Chaîne de confiance et preuves de rejet avec OpenSSL.

Python 3.12 · cryptography · OpenSSL

Laboratoire testé

mtls-service-lab

Faire communiquer un client et une API par authentification TLS mutuelle dans Docker Compose.

Ce que le projet démontre : Séparation de la confiance TLS et de l’autorisation applicative.

Python 3.12 · cryptography · Docker Compose

Outil de référence testé

ocsp-crl-checker

Vérifier la signature et la fraîcheur de preuves OCSP ou CRL, avec une démonstration hors ligne.

Ce que le projet démontre : Rattachement à l’émetteur et distinction entre bon, révoqué et inconnu.

Python 3.12 · cryptography

Simulateur testé

certificate-lifecycle-orchestrator

Simuler la demande, l’émission, le renouvellement et la révocation avec un journal persistant.

Ce que le projet démontre : Machine à états, idempotence et transactions concurrentes.

Python 3.12 · SQLite

Laboratoire testé

ansible-tls-deployer

Déployer localement une paire certificat/clé avec un rôle Ansible et restaurer la version précédente en cas d’échec.

Ce que le projet démontre : Idempotence, permissions et reprise contrôlée.

Python 3.12 · cryptography · Ansible · Docker

Laboratoire testé

nginx-tls-hardening-lab

Comparer deux profils Nginx par de vraies négociations TLS et des contrôles de headers HTTP.

Ce que le projet démontre : Arbitrages entre compatibilité et restrictions de protocole.

Python 3.12 · cryptography · Docker Compose · Nginx

Outil de référence testé

tls-configuration-auditor

Analyser une configuration Nginx ou un endpoint autorisé et produire des constats classés par gravité.

Ce que le projet démontre : Collecte de preuves TLS et recommandations dont le périmètre reste explicite.

Python 3.12 · cryptography · OpenSSL

Infrastructure, DevOps et automatisation

Outil de référence testé

infrastructure-health-check

Exécuter des sondes DNS, TCP, HTTP et TLS à partir d’un fichier YAML.

Ce que le projet démontre : Gestion indépendante des erreurs, latence et codes de supervision.

Python 3.12 · YAML

Outil de référence testé

infra-drift-detector

Comparer des états attendus et observés en JSON ou YAML, avec exclusions et niveaux de gravité.

Ce que le projet démontre : Différences structurelles, chemins précis et intégration CI.

Python 3.12 · YAML

Outil de référence testé

configuration-compliance-auditor

Évaluer des règles de configuration pondérées et des exceptions avec date d’expiration.

Ce que le projet démontre : Conformité déclarative et distinction entre score brut et dérogations.

Python 3.12 · YAML

Simulateur testé

gitops-environment-promoter

Simuler une promotion entre quatre environnements et un retour à la version précédente.

Ce que le projet démontre : Manifestes cohérents, préconditions et journal des changements.

Python 3.12

Outil de référence testé

deployment-readiness-gate

Évaluer la préparation d’une version avec tests, sécurité, approbations, rollback et fenêtre de changement.

Ce que le projet démontre : Décision explicable à partir de preuves datées.

Python 3.12

Simulateur testé

automation-control-plane

Exécuter un catalogue fermé de tâches simulées avec validation des paramètres et rôles d’accès.

Ce que le projet démontre : RBAC simplifié, audit et prévention des exécutions en double.

Python 3.12 · SQLite

SRE, fiabilité et résilience

Outil de référence testé

sre-slo-toolkit

Calculer des SLI, objectifs de service et budgets d’erreur à partir de séries de requêtes fictives.

Ce que le projet démontre : Agrégation pondérée et traitement explicite de l’absence de données.

Python 3.12

Simulateur testé

reliability-game-day-simulator

Comparer des stratégies de reprise face à six familles de pannes simulées et reproductibles.

Ce que le projet démontre : Délais, retries, circuit breaker et critères d’expérience.

Python 3.12

Simulateur testé

incident-runbook-automation

Exécuter un runbook déclaratif local et reprendre après erreur sans rejouer les étapes terminées.

Ce que le projet démontre : Préconditions, points de reprise et compte rendu d’incident.

Python 3.12 · YAML

Pilotage et gouvernance technique

Outil de référence testé

technical-project-governance-kit

Initialiser et vérifier un espace de pilotage : RACI, RAID, jalons, décisions, dépendances et risques.

Ce que le projet démontre : Cohérence des responsabilités et rapport de gouvernance généré.

Python 3.12

Le laboratoire TLS Endpoint Check, publié précédemment, reste disponible. Il ne fait pas partie des vingt nouveaux projets.

Pour relier ces démonstrations à une démarche d’exploitation : automatisation des certificats TLS, chaîne de confiance PKI, Infrastructure as Code et pilotage d’un projet d’infrastructure critique.

Quittance Facile : un service web autour d’un document utile

Quittance Facile est mon projet personnel de génération de quittances de loyer et d’envoi par email. Le besoin relie une interface utilisateur, un document PDF et un traitement qui doit pouvoir fonctionner indépendamment du navigateur.

La présentation explique le périmètre du produit et les points d’attention : confirmation du paiement, consentement à l’envoi électronique, suivi de l’état d’envoi et autonomie du serveur. Elle ne revendique ni audience, ni disponibilité mesurée, ni résultat commercial.

Lire la présentation du projet Quittance Facile.

Lire les projets avec une grille technique

Pour évaluer un projet, je distingue le besoin, les contraintes, les décisions et leur vérification. Une technologie ne suffit pas à expliquer une architecture : le choix doit se comprendre à partir du service attendu et de ses modes de défaillance.

Question Élément à documenter
Quel problème est traité ? Parcours utilisateur et limites du périmètre
Que se passe-t-il en cas d’échec ? États explicites, reprise et intervention
Qu’est-ce qui autorise la livraison ? Tests, observations et décision de mise en service
Qui maintient le système ? Responsabilités et procédure d’exploitation

Cette grille rejoint le pilotage d’un projet d’infrastructure critique et la maîtrise de l’automatisation. Ces articles sont des ressources pédagogiques, pas la description de missions confidentielles.