- Docker (20.10+)
- Docker Compose (2.0+)
- Python (3.9+)
- Node.js (16+)
- Git
- Make
- PostgreSQL Client
- Redis Client
AuditronAI/
├── backend/
│ ├── app/
│ ├── tests/
│ └── requirements.txt
├── frontend/
│ ├── src/
│ ├── public/
│ └── package.json
├── k8s/
├── scripts/
└── docker-compose.yml
# Vérification des versions
docker --version
docker-compose --version
python3 --version
node --version
npm --version
# Création de la structure
mkdir -p AuditronAI/{backend,frontend,scripts,k8s}
cd AuditronAI
# Cloner le repository
git clone https://github.com/votre-repo/AuditronAI.git
cd AuditronAI
# Créer les fichiers d'environnement
cp .env.example .env
# PostgreSQL
docker volume create auditronai_postgres_data
docker-compose up -d postgres
# Redis
docker volume create auditronai_redis_data
docker-compose up -d redis
cd backend
python3 -m venv venv
source venv/bin/activate # Unix
# ou
.\venv\Scripts\activate # Windows
pip install -r requirements.txt
# Migrations
alembic upgrade head
# Seed data
python manage.py seed
cd frontend
npm install
# Configuration du développement
npm run dev
# Création des volumes
docker volume create prometheus_data
docker volume create grafana_data
# Démarrage des services
docker-compose -f docker-compose.monitoring.yml up -d
# OWASP ZAP
docker pull owasp/zap2docker-stable
# Vault
docker-compose -f docker-compose.security.yml up -d vault
# Backend
pip install pytest pytest-cov
# Frontend
npm install --save-dev jest @testing-library/react
# Backend
pip install debugpy ipdb
# Frontend
npm install --save-dev react-devtools
# Création des profils
mkdir -p config/profiles
touch config/profiles/{development,staging,production}.yml
# Installation des outils de gestion de profils
pip install python-dotenv pyyaml
# Backend metrics
pip install prometheus_client psutil
# Frontend metrics
npm install --save-dev @prometheus/client
# Backend profiling
pip install cProfile line_profiler memory_profiler
# Frontend profiling
npm install --save-dev react-profiler
# Création des scripts de backup
mkdir -p scripts/backup
touch scripts/backup/{database,files,config}.sh
chmod +x scripts/backup/*.sh
# Installation de GitLab Runner
docker run -d --name gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
# Démarrage de SonarQube
docker-compose -f docker-compose.quality.yml up -d sonarqube
# Configuration des hooks pre-commit
pip install pre-commit
pre-commit install
# k6 pour les tests de charge
docker pull grafana/k6
# Artillery pour les tests de performance
npm install -g artillery
# Installation de MkDocs
pip install mkdocs mkdocs-material
# Initialisation de la documentation
mkdocs new .
# Création de l'environnement
mkdir -p environments/staging
cp docker-compose.yml environments/staging/docker-compose.staging.yml
# Scripts de migration
touch scripts/{migrate,rollback}.sh
chmod +x scripts/{migrate,rollback}.sh
# Installation de Bandit pour Python
pip install bandit
# Installation de SNYK pour Node.js
npm install -g snyk
# Backend metrics
touch backend/app/core/metrics.py
# Frontend metrics
touch frontend/src/utils/metrics.ts
# Backend
pip install pytest-asyncio pytest-integration
# Frontend
npm install --save-dev cypress @testing-library/cypress
# Configuration Cypress
./node_modules/.bin/cypress open
# Configuration des alertes Prometheus
cat > monitoring/prometheus/alerts.yml << EOF
groups:
- name: AuditronAI
rules:
- alert: HighErrorRate
expr: rate(http_requests_total{status="500"}[5m]) > 0.1
for: 5m
labels:
severity: critical
EOF
# Configuration des dashboards Grafana
cp monitoring/grafana/dashboards/* /var/lib/grafana/dashboards/
# Installation des outils de workflow
npm install --save-dev husky lint-staged
# Configuration des hooks Git
cat > .husky/pre-commit << EOF
#!/bin/sh
npm run lint-staged
EOF
chmod +x .husky/pre-commit
# Backend
pip install radon xenon
# Frontend
npm install --save-dev source-map-explorer bundle-analyzer
# Documentation API avec Swagger
pip install fastapi-swagger
# Documentation technique avec Sphinx
pip install sphinx sphinx-rtd-theme
sphinx-quickstart docs
- Erreurs de connexion à la base de données
# Vérifier l'état de PostgreSQL
docker-compose ps postgres
docker-compose logs postgres
# Vérifier la connectivité
pg_isready -h localhost -p 5432
- Problèmes de build Frontend
# Nettoyer le cache
rm -rf node_modules
npm cache clean --force
npm install
- Problèmes de permissions Docker
# Ajouter l'utilisateur au groupe docker
sudo usermod -aG docker $USER
newgrp docker
- Backup des données
# Backup hebdomadaire
0 0 * * 0 /path/to/scripts/backup/database.sh
# Backup des configurations
0 0 1 * * /path/to/scripts/backup/config.sh
- Mise à jour des dépendances
# Backend
pip list --outdated
pip install -U -r requirements.txt
# Frontend
npm outdated
npm update
- Nettoyage des logs et métriques
# Nettoyage des logs anciens
find ./logs -type f -mtime +30 -delete
# Rotation des métriques Prometheus
docker-compose restart prometheus
./scripts/local-deploy.sh dev # Mode développement
./scripts/local-deploy.sh prod # Mode production
./scripts/local-deploy.sh test # Mode test
./scripts/check-environment.sh
./scripts/update-all.sh
- Documentation : http://localhost:8000/docs
- Monitoring : http://localhost:3001
- Métriques : http://localhost:9090
- SonarQube : http://localhost:9000
Pour plus d'informations, consultez la documentation complète dans le dossier docs/
.