Networkor transforme vos contacts en intelligence relationnelle.
100% local · Aucune donnée dans le cloud · Propulsé par l'IA (Ollama)
📥 Télécharger · ✨ Fonctionnalités · 🚀 Démarrage · 🏗️ Architecture
|
|
|
|
💡 Captures réalisées sur l'interface Networkor. Détails et conventions de nommage dans
docs/screenshots/README.md.
# Télécharger la dernière release
wget https://github.com/nouhailler/networkor/releases/latest/download/networkor_1.0.0_amd64.deb
# Installer
sudo dpkg -i networkor_1.0.0_amd64.deb
# Démarrer
networkor-startPuis ouvrir http://localhost:8080 dans votre navigateur.
git clone https://github.com/nouhailler/networkor.git
cd networkor
cp .env.example .env # Éditez selon vos besoins
make db-up # Démarre PostgreSQL + pgvector
make db-migrate-docker # Applique le schéma SQL
make run # Lance le serveur (port 8080)
make web-dev # Lance le frontend dev (port 5173)# Prérequis : Go 1.22+, Node 18+, Docker, Ollama
git clone https://github.com/nouhailler/networkor.git
cd networkor
# Backend
go build -ldflags="-s -w" -o ./bin/networkor ./cmd/server
# Frontend
cd web && npm install && npm run build && cd ..
# Base de données
make db-up && make db-migrate-docker
# Modèles Ollama (une seule fois)
ollama pull nomic-embed-text # embedding (~274 MB)
ollama pull qwen2.5:7b # génération (~4.7 GB)
# Lancer
./bin/networkor| Outil | Version | Rôle |
|---|---|---|
| Go | 1.22+ | Compilation du serveur |
| Node.js | 18+ | Build du frontend |
| Docker | 20+ | PostgreSQL + pgvector |
| Ollama | dernière | LLM local |
make db-up # 1. Démarre la base de données
make db-migrate-docker # 2. Crée les tables
make run # 3. Lance le serveur → http://localhost:8080
make web-dev # 4. Lance le frontend → http://localhost:5173
ollama pull nomic-embed-text # 5. Installe le modèle d'embedding💡 Après l'étape 5, allez dans Paramètres → Ré-indexer tous les contacts pour activer la recherche IA.
┌──────────────────────────────────────────────────────────────┐
│ Navigateur (React + Vite) │
│ Dashboard · Contacts · Graphe · Import · Paramètres │
└───────────────────────────┬──────────────────────────────────┘
│ HTTP/JSON (port 5173 dev / 8080 prod)
┌───────────────────────────▼──────────────────────────────────┐
│ Serveur Go (Gin) :8080 │
│ │
│ /api/v1/contacts /api/v1/search /api/v1/dashboard │
│ /api/v1/import /api/v1/settings /api/v1/stats │
└───────┬─────────────────────┬────────────────────────────────┘
│ │
┌───────▼──────┐ ┌─────────▼──────────────────────────────┐
│ PostgreSQL │ │ Ollama (local) │
│ + pgvector │ │ nomic-embed-text │ qwen2.5:7b │
│ :5432 │ │ (embeddings) │ (génération) │
└──────────────┘ └────────────────────────────────────────┘
networkor/
├── cmd/server/main.go # Point d'entrée
├── internal/
│ ├── config/ # Configuration + thread-safe model switching
│ ├── handler/ # Couche HTTP (5 handlers)
│ ├── repository/ # Accès BDD (pgx)
│ └── service/ # Logique métier + scoring + IA
├── pkg/llm/ # Client Ollama (embed + chat séparés)
├── web/ # Frontend React + TypeScript
└── docker-compose.yml # Infrastructure locale
Chaque contact reçoit un score de santé relationnelle calculé en Go pur (sans LLM) :
┌─────────────────────────────────────────────────────┐
│ Récence du dernier échange max 40 pts │
│ < 7 jours → 40 │ < 30j → 30 │ < 90j → 15 │
│ Profondeur (nb interactions) max 25 pts │
│ 1-2 → 8 │ 3-9 → 15 │ 10+ → 25 │
│ Niveau relationnel max 20 pts │
│ Chaud → 20 │ Tiède → 12 │ Froid → 4 │
│ Rappels (complétés/actifs/retard) max 10 pts │
│ Tags VIP (client, clé, important) max 5 pts │
└─────────────────────────────────────────────────────┘
Total : 100 pts, clampé [0, 100]
Grades : 🟢 Excellent (≥80) · 🟡 Bon (60-79) · 🟠 Fragile (40-59) · 🔴 Critique (<40)
make help # Liste toutes les commandes disponibles
make build # Compile le binaire Go → ./bin/networkor
make run # Build + lance le serveur
make web-build # Build le frontend pour la production
make db-up # Démarre PostgreSQL + pgvector
make db-migrate-docker # Applique les migrations SQL
make db-reset # ⚠️ Recrée la base (détruit les données)
make fmt # Formate le code Go
make test # Lance les tests Go
make clean # Supprime les artefacts de buildCopiez .env.example en .env et ajustez :
# Serveur
PORT=8080
ENV=development # ou "production"
# PostgreSQL
DB_HOST=localhost
DB_PORT=5432
DB_USER=networkor
DB_PASSWORD=networkor_secret
DB_NAME=networkor_db
# Ollama (LLM local)
LLM_PROVIDER=ollama
LLM_BASE_URL=http://localhost:11434
EMBED_MODEL=nomic-embed-text # embedding (recherche IA)
CHAT_MODEL=qwen2.5:7b # génération (messages, insights)
EMBEDDING_DIMENSION=768
# Paramètres métier
RELAUNCH_DAYS=30 # Seuil de relance en joursLes modèles peuvent être changés à chaud depuis l'UI (Paramètres) sans redémarrage.
Contacts
GET /api/v1/contacts # Liste avec filtres
POST /api/v1/contacts # Créer un contact
GET /api/v1/contacts/:id # Détail contact
PUT /api/v1/contacts/:id # Mettre à jour
DELETE /api/v1/contacts/:id # Supprimer
GET /api/v1/contacts/:id/score # Score santé 0-100
POST /api/v1/contacts/:id/generate-message?type=email|linkedin|generalRecherche & Graphe
POST /api/v1/search # Recherche sémantique
GET /api/v1/graph # Données graphe réseau
POST /api/v1/contacts/reindex # Ré-indexation vectorielleDashboard & Stats
GET /api/v1/dashboard # KPIs + timeline + relances
GET /api/v1/contacts/:id/insights # Analyse relationnelle
GET /api/v1/stats/activity # Activité mensuelleImport
POST /api/v1/import/csv?source=linkedin|gmail|generic
POST /api/v1/import/bulk # Import JSON tableau
POST /api/v1/import/signature # Parse signature e-mailParamètres & Ollama
GET /api/v1/settings # Configuration courante
PUT /api/v1/settings # Changer modèles (à chaud)
GET /api/v1/settings/ollama/models # Modèles installés
POST /api/v1/settings/test # Test connectivité| Couche | Technologie | Rôle |
|---|---|---|
| Backend | Go 1.22 + Gin | API REST, logique métier |
| Base de données | PostgreSQL 15 + pgvector | Données relationnelles + vecteurs |
| LLM | Ollama (local) | Embeddings + génération texte |
| Frontend | React 18 + TypeScript | Interface utilisateur |
| Build | Vite 5 | Bundler frontend |
| CSS | Tailwind CSS 3 | Styles utilitaires |
| Graphe | React Flow | Visualisation réseau |
| Graphiques | Recharts 2 | Barres d'activité |
| État | TanStack Query 5 | Cache + état serveur |
| Infra | Docker Compose | PostgreSQL local |
- Forkez le dépôt
- Créez une branche (
git checkout -b feature/ma-fonctionnalite) - Committez (
git commit -m "feat: ajouter ma fonctionnalité") - Poussez (
git push origin feature/ma-fonctionnalite) - Ouvrez une Pull Request
MIT — voir LICENSE
Networkor est construit avec ❤️ pour les professionnels qui prennent leur réseau au sérieux.
Votre carnet d'adresses mérite mieux qu'un tableur.





