Visualisation interactive et en temps réel de l'architecture de projets logiciels multi-langages
Project description
Archiviz
Visualisation interactive et en temps réel de l'architecture de projets logiciels multi-langages.
Archiviz analyse votre code source et génère un graphe interactif de son architecture — dépendances, couches, modules, classes, fonctions — accessible directement dans le navigateur.
Fonctionnalités
- Analyse multi-langages : Python, JavaScript/TypeScript, Java, Go, Rust, C#, SQL, Docker
- Graphe interactif : navigation, zoom, filtres par type et par langage, recherche
- Temps réel : mise à jour automatique du graphe dès qu'un fichier est modifié
- Détection automatique : couches architecturales, dépendances cycliques, points de fragilité
- Assistance IA (optionnel) : réduction du bruit, détection de motifs, explications en langage naturel
- 100 % local : aucune dépendance cloud obligatoire
Installation
pip install archiviz
Requires Python >= 3.9
Utilisation rapide
# Analyser le répertoire courant et ouvrir l'interface web
archiviz start
# Analyser un projet spécifique
archiviz start --repertoire /chemin/vers/projet
# Changer le port (défaut : 8000)
archiviz start --port 9000
# Activer l'assistance IA
archiviz start --ia
Puis ouvrez http://localhost:8000 dans votre navigateur.
Options CLI
| Option | Court | Défaut | Description |
|---|---|---|---|
--repertoire |
-r |
. |
Répertoire du projet à analyser |
--port |
-p |
8000 |
Port du serveur web |
--hote |
-H |
localhost |
Hôte du serveur |
--ignore |
-i |
— | Patterns à ignorer (séparés par virgule) |
--ia |
— | off | Activer l'assistance IA |
Utilisation programmatique
from archiviz import ModeleGraphe, GestionnaireAnalyse
modele = ModeleGraphe()
gestionnaire = GestionnaireAnalyse(modele)
gestionnaire.analyser_repertoire("/chemin/vers/projet")
print(f"Composants : {len(modele.noeuds)}")
print(f"Relations : {len(modele.aretes)}")
Architecture du package
archiviz/
├── analyseur/ Adaptateurs par langage (Python, JS, Java, Go, Rust, C#, SQL, Docker)
├── graphe/ Modèle de graphe unifié (noeuds, arêtes, cycles)
├── serveur/ Serveur FastAPI + WebSocket
├── interface_web/ Interface HTML/CSS/JS (vis-network)
├── surveillance/ Surveillance du système de fichiers (watchdog)
├── assistance_ia/ Intégration IA (OpenAI, Anthropic)
└── utils/ Gestion des erreurs
Langages supportés
| Langage | Fichiers détectés | Éléments analysés |
|---|---|---|
| Python | .py |
modules, classes, fonctions, imports |
| JavaScript / TypeScript | .js .ts .jsx .tsx |
modules, classes, fonctions, imports |
| Java | .java |
packages, classes, interfaces, méthodes |
| Go | .go |
packages, structs, fonctions |
| Rust | .rs |
crates, modules, structs, fonctions |
| C# | .cs |
namespaces, classes, interfaces, méthodes |
| SQL | .sql |
tables, vues, procédures |
| Docker | Dockerfile docker-compose.yml |
images, services, volumes |
Dépendances optionnelles
# Outils de développement
pip install "archiviz[dev]"
# Assistance IA (OpenAI / Anthropic)
pip install "archiviz[ia]"
# Tout
pip install "archiviz[dev,ia]"
Développement
# Cloner et installer en mode édition
git clone https://github.com/archiviz/archiviz
cd archiviz
pip install -e ".[dev,ia]"
# Lancer les tests
pytest
# Linter
ruff check src/
# Formatage
black src/
Documentation
- Python
- JavaScript / TypeScript
- Java
- Go
- Rust
- C#
- SQL
- Docker
- Analyse d'un projet Python
- Analyse d'un projet Fullstack
- Utilisation de l'API programmatique
- Guide de publication PyPI
Licence
MIT — Copyright (c) 2026 Archiviz Team.
Voir le fichier LICENSE pour le texte complet.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file archiviz-0.1.1.tar.gz.
File metadata
- Download URL: archiviz-0.1.1.tar.gz
- Upload date:
- Size: 47.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ea98050f84a649b9bc87cae890cac02479572a1cead688137f4f609b84412ad
|
|
| MD5 |
11263e63537d494c3e0e0ed2ab414612
|
|
| BLAKE2b-256 |
345253390166965371cc03619c07c3cf3b5fe3346e66be608d4a8a3b7d243557
|
File details
Details for the file archiviz-0.1.1-py3-none-any.whl.
File metadata
- Download URL: archiviz-0.1.1-py3-none-any.whl
- Upload date:
- Size: 46.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0db87bf2facc7f47b0551d561f885ec79dd6902c1912a19a6f06086ab576dd7f
|
|
| MD5 |
b797b284ddf1d9b6518bd70aaab6856e
|
|
| BLAKE2b-256 |
33bab76d60f306b906e2579e20ace0ad928a7d8e6481f803bf75a49f71cdf2f4
|