Skip to content

2. Installation

Jean-Baptiste MONIN edited this page Feb 2, 2026 · 4 revisions

Architecture d'installation

Le déploiement d'AkaStack suit un flux automatisé en deux étapes :

  • Bootstrap : Utilisation du dépôt AkaStack pour configurer l'hôte.

  • Orchestration : Clonage et configuration automatique du dépôt AkaStack-infra.

Prérequis

Avant de commencer, assurez-vous que votre machine hôte dispose de :

  • Git

  • Docker Desktop (recommandé pour le workflow moderne)

  • Vagrant (>= 2.4) & VirtualBox/Parallels (pour le workflow bas-niveau)

Configuration de la machine hôte (Automatisation)

L'installation est pilotée par le dépôt principal qui prépare votre environnement de manière agnostique.

1. Clonage du dépôt de Bootstrap :

git clone https://github.com/itakademy/AkaStack.git
cd AkaStack
  1. Lancement du script de setup : Ce script va configurer votre hôte, installer les dépendances nécessaires et cloner automatiquement le dépôt AkaStack-infra dans le dossier approprié.
chmod +x host-setup-<system>-<stack>.sh // ou <system> : macos | linux et <stack> : vagrant | docker
./host-setup-<system>-<stack>.sh.sh

Note pour les apprenants

L'utilisation du script de setup initial est obligatoire. Il ne se contente pas de cloner du code ; il vérifie la conformité de votre système (Path, droits SSH, certificats) pour garantir que votre environnement de développement est identique à celui de l'équipe et de la pré-production.

Orchestration Dual-Path

Une fois l'hôte prêt, vous avez le choix entre deux modes d'exécution. Cette double approche a une vocation pédagogique : maîtriser les standards Docker actuels tout en comprenant l'administration système bas-niveau (Vagrant/Ansible).

Path A: Docker (Cloud-Native Workflow) Idéal pour le développement rapide et la parité avec les environnements AWS (ECS/Fargate).

docker compose up -d --build

Path B: Vagrant (Low-Level Mastery) Idéal pour apprendre la gestion d'OS Linux, le provisionnement Shell et Ansible.

vagrant up

Qualité & Observabilité (SSL ready)

AkaStack utilise un Reverse Proxy Apache pour centraliser les accès. Grâce à mkcert, tous les services sont accessibles en HTTPS pour simuler une production réelle.

CI et Quality Gates

Le passage par le dépôt principal garantit que les GitHub Actions sont correctement configurées :

  • Analyse statique du code de provisionnement.

  • Tests d'intégration des conteneurs/VM.

  • Validation de la cohérence des sous-modules applicatifs.

Choix de l'intégration du Backend et du Frontend

AkaStack supports two distinct and fully supported workflows for integrating your backend and frontend into a project. This allows each client or product to be provisioned in the way that best fits its lifecycle.

A — Création de nouveaux services

WIP

B — Rattachement de services existants

WIP

Dans les deux cas, AkaStack maintient une séparation stricte entre la plateforme (infrastructure) et le code applicatif, garantissant que chaque projet reste entièrement reproductible, versionné et prêt pour le déploiement (Cloud-ready).

Accès et Opérations CLI

Une fois le provisionnement terminé, vous pouvez interagir avec votre environnement de deux manières, selon le chemin (Path) choisi lors de l'installation.

1. Accès via le navigateur

La stack utilise un nom de domaine local (défini dans votre .env). Par défaut :

Application : https://akastack.local

Outils d'observabilité : (mail., mongo., swagger., redis.)akastack.local

2. Accès en ligne de commande (CLI)

Selon votre mode d'exécution, la méthode de connexion varie. AkaStack maintient une structure de dossiers identique (/var/www/project) dans les deux mondes pour garantir la portabilité de vos commandes.

Mode A : Workflow Docker (Conteneurs isolés) En mode Docker, vous ne vous connectez pas à une "machine", mais vous exécutez des commandes à l'intérieur d'un service spécifique (le plus souvent le service php-fpm qui contient vos outils de développement).

Entrer dans le conteneur Backend :

docker compose exec php-fpm bash

Exécuter une commande sans entrer (ex: Composer) :

docker compose exec php-fpm composer install

Voir les logs en temps réel :

docker compose logs -f

Mode B : Workflow Vagrant (Machine Virtuelle complète) En mode Vagrant, vous vous connectez à une instance Linux complète (Ubuntu) qui fait tourner tous les services.

Se connecter en SSH :

vagrant ssh

Se déplacer dans le projet : Une fois dans la VM, le projet est automatiquement monté dans :

cd /var/www/project

Note pédagogique pour l'onboarding

Il est fortement conseillé aux apprenants de commencer par le workflow Vagrant pour comprendre comment les services (Apache, MySQL, PHP) interagissent au sein d'un OS Linux, avant de passer au workflow Docker qui automatise et isole ces processus pour la mise en production.