106 lines
4.0 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
# Chargement env utilisateur (~/.4nk_template/.env)
"$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/env/ensure_env.sh" || true
if [[ -f "${HOME}/.4nk_template/.env" ]]; then
set -a
. "${HOME}/.4nk_template/.env"
set +a
fi
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TARGET_DIR="${1:-.}"
OUTPUT_DIR="${2:-tests/reports/agents}"
mkdir -p "$OUTPUT_DIR"
usage() {
cat <<USAGE
Usage: $0 [target_dir] [output_dir] [agent]
Agents:
Fondamentaux: fondation, structure
Documentation: documentation, donnees-csv, documents-bureautiques
Tests: tests, performance
Techniques: qualite-technique, quality-tech, dependances, compilation, resolution, ssh-scripts
Frontend: frontend
Open source et CI: open-source, gitea, versionnage, securite, deploiement
Synchronisation: sync-template, derogations-locales
all
Par défaut: all
USAGE
}
AGENT="${3:-all}"
case "$AGENT" in
quality-tech|qualite-technique)
"$DIR/quality_tech.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
qualite-formelle|fondation)
"$DIR/qualite_formelle.sh" "$TARGET_DIR" "$OUTPUT_DIR" || "$DIR/fondation_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
structure)
"$DIR/structure_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
tests)
"$DIR/tests_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
performance)
"$DIR/performance_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
documentation)
"$DIR/documentation_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
donnees-csv)
"$DIR/donnees_csv_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
documents-bureautiques)
"$DIR/documents_bureautiques_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
securite)
"$DIR/security_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
deploiement)
"$DIR/deployment_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
dependances)
"$DIR/dependances_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
compilation)
"$DIR/compilation_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
resolution)
"$DIR/resolution_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
ssh-scripts)
"$DIR/ssh_scripts_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
frontend)
"$DIR/frontend_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
open-source)
"$DIR/open_source_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
gitea)
"$DIR/gitea_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
versionnage)
"$DIR/versionnage_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
sync-template)
"$DIR/sync_template_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
derogations-locales)
"$DIR/derogations_locales_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" ;;
all)
"$DIR/quality_tech.sh" "$TARGET_DIR" "$OUTPUT_DIR"
"$DIR/qualite_formelle.sh" "$TARGET_DIR" "$OUTPUT_DIR"
"$DIR/fondation_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/structure_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/tests_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR"
"$DIR/performance_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/documentation_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR"
"$DIR/donnees_csv_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/documents_bureautiques_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/security_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR"
"$DIR/deployment_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR"
"$DIR/dependances_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/compilation_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/resolution_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/ssh_scripts_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/frontend_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/open_source_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/gitea_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/versionnage_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/sync_template_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true
"$DIR/derogations_locales_agent.sh" "$TARGET_DIR" "$OUTPUT_DIR" || true ;;
-h|--help)
usage; exit 0 ;;
*)
echo "Agent inconnu: $AGENT" >&2; usage; exit 2 ;;
esac
echo "Agents terminés → $OUTPUT_DIR"