# Orchestration SonarQube/SonarCloud — agrege les resultats de Ruff, # Bandit, ESLint et Stylelint (rapports generes localement/en CI, voir # CODE_QUALITY.md) plutot que de dupliquer leurs regles dans Sonar. # L'execution reelle (sonar-scanner) exige un serveur/token (SONAR_HOST_URL # + SONAR_TOKEN) non fournis dans cet environnement — ce fichier prepare # la configuration, l'analyse elle-meme se lance en Phase 4 (CI) une fois # ces secrets poses cote Gitea/SonarCloud. sonar.projectKey=forge-engine sonar.projectName=Forge Engine sonar.projectVersion=0.1.0 # Code source analyse par Sonar lui-meme (regles integrees Python/JS/CSS/HTML). sonar.sources=ai,auth,core,db,filters,publish,routes,screens,scripts,static/js,static/style.css,styles,templates,app.py,build_css.py sonar.tests=tests,static/js/play/__tests__,static/js/scenes/__tests__ sonar.exclusions=static/vendor/**,static/quiz-templates/**,static/characters/**,static/backgrounds/**,static/branding/**,static/icons/**,static/js/play/__tests__/**,static/js/scenes/__tests__/** sonar.test.exclusions=static/vendor/** sonar.python.version=3.13 sonar.sourceEncoding=UTF-8 # Rapports externes importes tels quels (evite de re-implementer les # memes regles cote Sonar) — chemins generes par les commandes documentees # dans CODE_QUALITY.md. sonar.python.ruff.reportPaths=reports/ruff-report.json sonar.python.bandit.reportPaths=reports/bandit-report.json sonar.python.coverage.reportPaths=reports/coverage.xml sonar.eslint.reportPaths=reports/eslint-report.json sonar.css.stylelint.reportPaths=reports/stylelint-report.json