Skip to content
Jean-Baptiste MONIN edited this page Feb 2, 2026 · 9 revisions

AkaStack

Environnement de développement et d'apprentissage de niveau entreprise (Enterprise-grade)

Résumé exécutif

AkaStack est une "dev box" orientée production, conçue pour offrir aux équipes et aux apprenants un environnement stable, reproductible et évolutif pour les applications web modernes.

Il s'agit de la stack de référence utilisée pour l'onboarding de nos étudiants. Elle n'est pas conçue comme une simple démo, mais comme une fondation professionnelle qui simule les conditions de production et enseigne :

  • Les workflows collaboratifs (Gitflow, CI/CD).

  • La séparation stricte des responsabilités (SoC - Separation of Concerns).

  • La gestion de projets pérennes.

  • La parité des environnements (Dev/Staging/Prod).

Méthodologie d'apprentissage Dual-Path

AkaStack propose deux approches de virtualisation distinctes. Cette architecture à double voie est intentionnellement conçue pour l'excellence pédagogique :

  • L'approche Vagrant (Maîtrise bas-niveau) : Utilise des scripts de provisionnement Shell et Ansible. Cette voie permet aux étudiants de comprendre le "bare metal" de l'administration Linux, l'orchestration manuelle des services et la gestion de configuration. Maîtriser ce niveau garantit la capacité à opérer dans n'importe quel environnement hérité ou hautement personnalisé.

  • L'approche Docker (Standards industriels modernes) : Utilise la conteneurisation et Docker Compose. Cette voie s'aligne sur les meilleures pratiques actuelles de l'industrie pour les microservices, la portabilité et le déploiement cloud-native.

En maîtrisant les deux, les étudiants comblent le fossé entre la compréhension du fonctionnement des choses (fondamentaux de l'infrastructure) et la manière dont elles sont déployées (automatisation DevOps moderne).


Ce que cette box fournit

AkaStack livre un environnement Full-Stack basé sur des standards industriels éprouvés, capable d'héberger n'importe quel framework moderne.

Stack de base (Agnostique au Framework)

  • Apache – Point d'entrée HTTP unique, gestion SSL et Reverse Proxy.

  • Service Backend – Serveur API et/ou logique métier (compatible PHP, Node.js, Python, Go, etc.).

  • Service Frontend – Interface utilisateur moderne (compatible React, Vue, Angular, Svelte, etc.).

  • Base de données relationnelle – Stockage de données structurées (MariaDB).

  • Base de données NoSQL – Stockage orienté documents (MongoDB).

  • Cache & Queuing – Gestion du cache et des files d'attente de tâches (Redis).

Gestion des processus

PM2 – Gestion du runtime pour les services JavaScript/SSR.

Outils & Observabilité

  • Documentation API – Interface de test et documentation des points d'entrée (Swagger UI).

  • MailHog – Interception et test des flux d'emails locaux.

  • Administration DB – Accès simplifié aux données (phpMyAdmin / Mongo Express).

Philosophie d'architecture

Cette box impose des principes d'ingénierie non négociables :

  • Une responsabilité par service : Chaque composant est isolé.

  • Aucun processus manuel en arrière-plan : Tout processus doit être supervisé.

  • Parité avec la production : Aucun raccourci de développement n'est autorisé à fuiter vers la production.

  • Séparation de l'infrastructure : Le code applicatif et la configuration serveur vivent dans des cycles de vie distincts.

Flux de haut niveau :

Browser
↓
Apache (reverse proxy)
├── (domain.tld) → Documentation & Infra status
├── www.(domain.tld) → Client Application (Frontend)
├── back.(domain.tld) → Client Application (Backend)
├── api.(domain.tld) → Business Logic (Backend API)
├── swagger.(domain.tld) → API documentation
├── *.(domain.tld)/phpmyadmin → MariaDb administration
├── mongo.(domain.tld) → NoSQL DB Management
├── mail.(domain.tld) → Email testing interface

Responsabilités du dépôt

Ce dépôt est le cœur de l'orchestration. Il ne contient pas de code métier, mais l'intelligence de l'infrastructure :

Configuration Vagrant / VirtualBox & Docker.

Scripts de provisionnement automatisés (Shell & Ansible).

Configuration des services (Apache, Redis, etc.).

Documentation opérationnelle et guides d'onboarding.

Les applications (Frontend & Backend) sont intégrées via des dépôts dédiés (généralement en tant que sous-modules Git), permettant un versionnage indépendant et des pipelines CI distincts.

CI / Quality gates

L'Intégration Continue est proposée via GitHub Actions pour garantir la stabilité de la stack :

  • Analyse statique du code de provisionnement et des playbooks Ansible.

  • Vérification de la cohérence des sous-modules.

  • Tests d'intégration des services.

  • Fail-fast feedback : Aucun changement n'est validé s'il casse l'environnement pour l'équipe ou les étudiants.


Public visé

AkaStack est l'outil privilégié pour :

  • Nos Étudiants : Pour apprendre à gérer une stack complexe de A à Z, en passant des scripts bas-niveau à la conteneurisation de haut niveau.

  • Les Leads techniques : Pour assurer la cohérence entre tous les postes de travail des développeurs.

  • Les organisations : Nécessitant une traçabilité et une reproductibilité totale de leurs environnements.


Licence

Ce projet est distribué sous licence MIT. Vous êtes libre de l'utiliser, de le modifier et de le partager.