# ====================================
# GITIGNORE LIONS WORKSPACE - COMPLET
# ====================================

# ===== FICHIERS DE BUILD ET ARTEFACTS =====
# Maven
**/target/
**/pom.xml.tag
**/pom.xml.releaseBackup
**/pom.xml.versionsBackup
**/pom.xml.next
**/release.properties
**/dependency-reduced-pom.xml
**/buildNumber.properties
**/.mvn/timing.properties
**/.mvn/wrapper/maven-wrapper.jar

# Gradle
**/.gradle/
**/build/
!**/src/main/**/build/
!**/src/test/**/build/
**/gradlew
**/gradlew.bat
!**/android/gradlew.bat
!**/android/gradlew

# Java
*.class
*.jar
*.war
*.ear
*.nar
*.zip
*.tar.gz
*.rar

# Quarkus
**/.quarkus/
**/quarkus.log

# Node.js / Frontend
**/node_modules/
**/.next/
**/out/
**/dist/
**/.swc/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
.pnpm-debug.log*
package-lock.json
yarn.lock
pnpm-lock.yaml

# Flutter/Dart
**/.dart_tool/
**/.flutter-plugins
**/.flutter-plugins-dependencies
**/.pub-cache/
**/.pub/
**/build/
**/.packages
**/pubspec.lock
**/ios/Flutter/.last_build_id
**/android/.gradle
**/android/captures/
**/android/local.properties
**/android/key.properties
**/android/app/debug
**/android/app/profile
**/android/app/release
**/ios/Pods/
**/ios/.symlinks/
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/ephemeral
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/Flutter/flutter_export_environment.sh
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*
**/lib/generated_plugin_registrant.dart

# TypeScript
*.tsbuildinfo
**/.tsbuildinfo

# ===== FICHIERS IDE =====
# IntelliJ IDEA
**/.idea/
**/*.iml
**/*.ipr
**/*.iws
**/out/

# Eclipse
**/.classpath
**/.project
**/.settings/
**/bin/
**/.factorypath
**/.loadpath
**/.recommenders
**/.metadata

# Visual Studio Code
**/.vscode/
**/*.code-workspace
**/.history/

# NetBeans
**/nbproject/private/
**/nbbuild/
**/dist/
**/nbdist/
**/.nb-gradle/

# Sublime Text
**/*.sublime-project
**/*.sublime-workspace

# ===== SYSTÈME D'EXPLOITATION =====
# macOS
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk

# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*

# ===== FICHIERS TEMPORAIRES ET CACHE =====
*.tmp
*.temp
*.bak
*.backup
*.old
*.swp
*.swo
*~
**/tmp/
**/temp/
**/.cache/
**/.parcel-cache/
**/.rpt2_cache/
**/.rts2_cache_cjs/
**/.rts2_cache_es/
**/.rts2_cache_umd/
**/.eslintcache
**/.prettiercache
**/.stylelintcache
**/.sass-cache/
**/*.css.map

# ===== SÉCURITÉ - FICHIERS SENSIBLES =====
# Variables d'environnement
**/.env
**/.env.local
**/.env.development
**/.env.development.local
**/.env.test
**/.env.test.local
**/.env.production
**/.env.production.local
**/.env.*.local

# Clés et certificats
*.key
*.pem
*.crt
*.p12
*.jks
*.keystore
*.pfx
*.cer

# Secrets et tokens
**/secrets/
**/credentials/
**/*secret*
**/*password*
**/*token*

# Ansible Vault secrets (chiffres ou non)
**/group_vars/*/secrets.yml
**/group_vars/*/vault.yml
**/.vault_pass
**/vault_password
**/ansible-vault-password

# Fichiers de configuration Keycloak avec données sensibles
**/*keycloak*realm*.json
**/*keycloak*config*.json
**/*realm*.json
!**/.env.example

# ===== LOGS =====
*.log
**/logs/
**/log/
*.log.*
*.log.gz
*.log.zip

# Crash logs
*.crash
*.dmp
hs_err_pid*.log
replay_pid*

# ===== BASE DE DONNÉES =====
*.db
*.sqlite
*.sqlite3
*.db-journal
*.db-wal
*.db-shm

# ===== DOCUMENTATION OBSOLÈTE =====
# Ignorer les fichiers .md de documentation temporaire/obsolète
# Mais garder les fichiers essentiels : README.md, CHANGELOG.md, CONTRIBUTING.md

# Fichiers de documentation temporaire/obsolète
**/*_HANDOFF_*.md
**/*_COMPLETE*.md
**/*_GUIDE*.md
**/*_REPORT*.md
**/*_SUMMARY*.md
**/*_AUDIT*.md
**/*_DEBUG*.md
**/*_FINAL*.md
**/*_MIGRATION*.md
**/*_OPTIMISATION*.md
**/*_PLAN*.md
**/*_STATUS*.md
**/*_PROGRESS*.md
**/*_SESSION*.md
**/*_RESUME*.md
**/*_CHECKLIST*.md
**/*_TRAVAIL*.md
**/*_RESTANT*.md
**/*_IMPLEMENTATION*.md
**/*_CORRECTIFS*.md
**/*_AMELIORATIONS*.md
**/*_INTEGRATION*.md
**/*_CONFIGURATION*.md
**/*_SETUP*.md
**/*_DEPLOYMENT*.md
**/*_DEPLOIEMENT*.md
**/*_DIAGRAMME*.md
**/*_DESCRIPTION*.md
**/*_VERSIONS*.md
**/*_DOCUMENTATION*.md
**/*_EXECUTIVE*.md
**/*_BEST_PRACTICES*.md
**/*_SPEC*.md
**/*_VALIDATION*.md
**/*_TASKS*.md
**/*_TEMPLATE*.md
**/*_CONSTITUTION*.md
**/*_ANALYSE*.md
**/*_TODO*.md
**/*_QUICKSTART*.md
**/*_ACCESSIBILITY*.md
**/*_COMPOSANTS*.md
**/*_USAGE*.md
**/*_OFFICIELLE*.md
**/*_PAGE_*.md
**/*_KEYCLOAK*.md
**/*_RESTRUCTURATION*.md
**/*_REFACTORING*.md
**/*_BACKEND*.md
**/*_ENTITIES*.md
**/*_DTOS*.md
**/*_SERVICES*.md
**/*_UI_*.md
**/*_SQL_*.md
**/*Architecture*.md
**/*FOOTER*.md
**/*API_*.md
**/*COMPOSANTS_*.md
**/*README_*.md
**/*CHARTE_*.md
**/*PHASE_*.md
**/*LAZY_*.md
**/*PRIMEFACES_*.md
**/*FREYA_*.md
**/*XHTML_*.md
**/*BEANS_*.md
**/*TESTS_*.md
**/*CONNUS_*.md
**/*ECHEC*.md

# Garder les fichiers .md essentiels (README, CHANGELOG, CONTRIBUTING)
!**/README.md
!**/CHANGELOG.md
!**/CONTRIBUTING.md
!**/LICENSE.md
!**/LICENSE.txt

# ===== EXÉCUTABLES INUTILES =====
# Ignorer les exécutables sauf ceux nécessaires
*.exe
!**/android/gradlew
!**/android/gradlew.bat
!**/node_modules/.bin/*
# Ignorer spécifiquement les outils de formatage
**/google-java-format*.exe
**/google-java-format*.jar

# ===== SCRIPTS TEMPORAIRES ET UTILITAIRES =====
# Scripts de développement temporaires (garder uniquement ceux essentiels)
**/fix-*.ps1
**/clean-*.ps1
**/test-*.ps1
**/verify-*.ps1
**/check-*.ps1
**/update-*.ps1
**/create-*.ps1
**/assign-*.ps1
**/configure-*.ps1
**/setup-*.ps1
**/push-*.ps1
**/deploy-*.ps1
**/migrate-*.ps1
**/integrate-*.ps1
**/restart-*.ps1
**/kill-*.ps1
**/import-*.ps1
**/finish-*.ps1
**/sync-*.ps1
**/validate-*.ps1
**/add-*.ps1
**/*-all-repos.bat
**/*-git-remotes.bat
**/*-keycloak*.bat
**/*-keycloak*.ps1
**/*-db.bat
**/*-ports.bat
**/*-local.bat
**/*-app.bat
**/*-working_dir/

# Garder uniquement les scripts essentiels
!**/afterwork/scripts/**/*.ps1
!**/afterwork/scripts/**/*.sh
!**/lions-infrastructure-2025/scripts/**/*.ps1
!**/lions-infrastructure-2025/scripts/**/*.sh
!**/btpxpress/scripts/**/*.ps1
!**/btpxpress/scripts/**/*.sh
!**/lions-user-manager/scripts/**/*.ps1
!**/lions-user-manager/scripts/**/*.sh

# ===== FICHIERS DE CONFIGURATION TEMPORAIRES =====
**/*.local.json
**/*.local.yaml
**/*.local.yml
**/*.local.properties
**/*.local.config
**/*.local.conf
**/.claude/
**/.cursor/
**/.specify/

# Unionflow: versionner la config Spec-Kit (constitution, specs, commandes Cursor)
!unionflow/.specify/
!unionflow/.specify/**
!unionflow/.cursor/
!unionflow/.cursor/commands/
!unionflow/.cursor/commands/**
!unionflow/.cursor/rules/
!unionflow/.cursor/rules/**

# ===== COUVERTURE DE CODE ET TESTS =====
**/coverage/
**/.nyc_output/
**/.hypothesis/
**/.pytest_cache/
**/junit.xml
**/test-results/
**/cypress/videos/
**/cypress/screenshots/
**/*.cover
**/.coverage

# ===== DOCKER =====
**/docker-compose.override.yml
**/.dockerignore.local

# ===== KUBERNETES =====
**/kubernetes/**/*.backup
**/kubernetes/**/*.old
**/kubernetes/deployed-backup-*/

# ===== AUTRES =====
# Fichiers de sauvegarde
**/*.orig
**/*.rej
**/*.patch

# Fichiers de lock
**/.lock
**/*.lock

# Fichiers de processus
**/Process
**/Run
**/C
**/cls

# Fichiers C++ temporaires (si présents)
**/*.o
**/*.obj
**/*.so
**/*.dylib
**/*.dll
**/main.cc
**/my_application.cc
**/my_application.h

# Fichiers de configuration temporaires
**/devtools_options.yaml

# ===== EXCEPTIONS =====
# Ne pas ignorer les fichiers essentiels même s'ils matchent les patterns
!**/.gitignore
!**/LICENSE
!**/LICENSE.txt
!**/LICENSE.md
!**/README.md
!**/CHANGELOG.md
!**/CONTRIBUTING.md
!**/pubspec.yaml
!**/package.json
!**/pom.xml
!**/build.gradle
!**/settings.gradle
!**/gradle.properties
!**/gradle-wrapper.properties
!**/gradle-wrapper.jar
!**/.env.example
!**/.env.template
!**/secrets.yml.template
!**/vault.yml.template
!**/.gitkeep
!**/.dockerignore
!**/Dockerfile
!**/docker-compose.yml
!**/docker-compose.yaml
