Qu'est-ce que Snipe-IT ? Pourquoi en avez-vous besoin
Snipe-IT est un système open source et gratuit de gestion de patrimoine informatique (IT Asset Management, ITAM), construit sur Laravel 12 (PHP) et distribué sous licence AGPL-3.0. Avec plus de 10 000 étoiles sur GitHub, c'est l'outil de gestion de patrimoine open source le plus populaire au monde.
💡 Scénario typique : votre équipe dispose de 10 ordinateurs portables, 5 écrans et 20 licences logicielles. Qui utilise quel matériel ? Quelle licence arrive bientôt à expiration ? Quand faut-il amortir ou mettre au rebut ? Gérer tout ça dans Excel, c'est courir droit au chaos. Snipe-IT a été créé précisément pour résoudre ces problèmes.
Aperçu des fonctionnalités principales
| Fonctionnalité | Description |
|---|---|
| 📦 Gestion du matériel | Suivi du cycle de vie complet des PC portables, serveurs, téléphones, écrans, etc. |
| 🔑 Gestion des licences | Date d'achat, rappels d'expiration, suivi du nombre de postes pour les licences logicielles |
| 🖱️ Gestion des accessoires | Suivi des stocks de consommables comme les souris, claviers, câbles réseau |
| 📋 Prêt et retour | Attribution d'actifs (checkout) aux employés, enregistrement de l'état et des commentaires au retour (checkin) |
| 📊 Calcul d'amortissement | Calcul automatique de la valeur amortie des actifs, par an ou par mois |
| 🔌 API REST | API JSON complète, intégrable avec Jenkins, Ansible, Jamf et d'autres outils |
| 🌐 Multilingue | Prise en charge de plus de 40 langues (dont le chinois et le français) |
| 📱 Compatible mobile | Interface Web responsive, gestion des actifs même depuis un smartphone |
Snipe-IT vs solutions commerciales
| Critère | Snipe-IT (auto-hébergé) | Snipe-IT Cloud | JAMF Pro | Freshservice |
|---|---|---|---|---|
| Coût | Totalement gratuit | À partir de 399 $/an | ~100 $/appareil/an | ~49 $/utilisateur/mois |
| Souveraineté des données | Vos serveurs, votre contrôle | Hébergé dans le cloud | Hébergé dans le cloud | Hébergé dans le cloud |
| Personnalisation | Entièrement personnalisable | Limitée | Haute | Moyenne |
| Complexité de déploiement | Docker en un clic | Aucun déploiement | Configuration MDM requise | SaaS, prêt à l'emploi |
| Échelle idéale | 10 à 1 000+ appareils | 10 à 500 appareils | 50+ appareils Apple | Équipes de 50+ personnes |
Déploiement en un clic avec Docker
L'équipe Snipe-IT fournit une image Docker officielle. Avec Docker Compose, vous pouvez avoir un serveur opérationnel en moins de 5 minutes.
Prérequis
- Docker 20+ et Docker Compose 2+
- Au moins 2 Go de RAM (4 Go recommandés)
- 10 Go d'espace disque disponible
Étape 1 : créer le répertoire du projet
mkdir -p ~/snipe-it && cd ~/snipe-it
Étape 2 : rédiger le fichier Docker Compose
Créez un fichier docker-compose.yml :
version: '3.8'
services:
snipeit-db:
image: mysql:8.0
container_name: snipeit-db
environment:
MYSQL_ROOT_PASSWORD: rootpassword123
MYSQL_DATABASE: snipeit
MYSQL_USER: snipeit
MYSQL_PASSWORD: snipeit_password_456
volumes:
- db-data:/var/lib/mysql
restart: always
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
snipeit:
image: snipe/snipe-it:latest
container_name: snipe-it
ports:
- "8080:80"
environment:
# Configuration de la base de données
DB_HOST: snipeit-db
DB_DATABASE: snipeit
DB_USERNAME: snipeit
DB_PASSWORD: snipeit_password_456
# Configuration de l'application
APP_KEY: base64:CHANGE_ME_GENERATE_KEY
APP_ENV: production
APP_DEBUG: false
APP_URL: http://localhost:8080
APP_TIMEZONE: Asia/Shanghai
APP_LOCALE: zh-CN
# Configuration e-mail (optionnel)
MAIL_PORT_587_TCP_ADDR: smtp.example.com
MAIL_PORT_587_TCP_PORT: 587
MAIL_ENV_FROM_ADDR: admin@yourcompany.com
MAIL_ENV_FROM_NAME: Snipe-IT Admin
MAIL_ENV_ENCRYPTION: tls
MAIL_ENV_USERNAME: admin@yourcompany.com
MAIL_ENV_PASSWORD: your-email-password
depends_on:
snipeit-db:
condition: service_healthy
volumes:
- snipeit-images:/var/lib/snipeit
restart: always
volumes:
db-data:
snipeit-images:
⚠️ Important : ne remplissez pas
APP_KEYau hasard ! Il faut le générer d'abord.
Étape 3 : générer la clé APP_KEY
# Lancer un conteneur temporaire pour générer la clé
docker run --rm snipe/snipe-it:latest php artisan key:generate --show
# Résultat semblable à : base64:abcdef1234567890...
# Remplacez la valeur dans le APP_KEY du docker-compose.yml
Étape 4 : démarrer les services
docker compose up -d
# Vérifier les journaux pour confirmer le démarrage
docker compose logs -f snipeit
Étape 5 : accéder à l'interface Web
Ouvrez http://localhost:8080 dans votre navigateur. L'assistant d'installation s'affiche :
- Vérification des prérequis (tout doit être vert ✓)
- Création du compte administrateur (nom d'utilisateur, e-mail, mot de passe)
- Terminé ! Vous accédez au tableau de bord.
🔒 Recommandation pour la production : utilisez un reverse proxy Nginx avec un certificat Let's Encrypt HTTPS. Remplacez
http://localhost:8080parhttps://snipeit.votreentreprise.com.
Prise en main rapide : 5 étapes pour commencer à gérer vos actifs
Après l'installation, suivez ces étapes pour enregistrer votre premier lot d'actifs.
Étape 1 : configurer les informations de l'entreprise et le branding
Allez dans Admin → Settings → Branding. Uploadez le logo de votre entreprise, définissez le nom du site et le fuseau horaire par défaut.
Étape 2 : créer des catégories d'actifs
Snipe-IT organise les actifs par catégorie. Allez dans Admin → Categories et créez :
| Nom de la catégorie | Type | Usage |
|---|---|---|
| Ordinateurs portables | Asset | MacBook, ThinkPad, etc. |
| Écrans | Asset | Moniteurs externes |
| Licences logicielles | License | Office, Adobe, etc. |
| Accessoires | Accessory | Souris, claviers, câbles |
| Consommables | Consumable | Papier d'impression, cartouches |
Étape 3 : ajouter des actifs matériels
Allez dans Assets → New Asset et renseignez :
Nom de l'actif : MacBook Pro 14" M3
Étiquette d'actif : MBP-2026-001 ← Identifiant unique, utilisez une convention de numérotation
Catégorie : Ordinateurs portables
Statut : Ready to Deploy (prêt à déployer)
Emplacement : Bureau principal
Date d'achat : 2026-03-15
Prix d'achat : 14 999 ¥
Fournisseur : Apple Store
Fin de garantie : 2029-03-15
Modèle : MacBook Pro 14-inch M3 Pro
Numéro de série : C02XXXXX
Étape 4 : attribuer à un employé (Checkout)
Sur la page de détails de l'actif, cliquez sur Check Out :
Attribuer à : Utilisateur (à créer d'abord dans People)
Date de retour prévue : 2027-03-15 (optionnel)
Commentaires : Utilisé pour le nouveau projet de la R&D
Envoyer un e-mail de notification : ✓
L'employé reçoit un e-mail et confirme la réception. Le statut de l'actif passe à Deployed.
Étape 5 : import en masse
Vous avez un fichier Excel ? Snipe-IT accepte les imports CSV :
- Admin → Import → Download CSV Template
- Remplissez vos données dans le modèle
- Uploadez le fichier CSV
- Prévisualisez et confirmez le mappage des champs
- Cliquez sur Import
Fonctionnalités avancées en pratique
1. Calcul automatique de l'amortissement
Snipe-IT prend en charge plusieurs modèles d'amortissement pour connaître en temps réel la valeur de vos actifs.
Allez dans Admin → Depreciations et créez une règle :
Nom : Amortissement linéaire PC sur 3 ans
Mois : 36 (3 ans)
Type d'amortissement : Linéaire
Associez ensuite cette règle à un actif. Le calcul se fait automatiquement :
| Date | Valeur d'origine | Valeur après amortissement | Remarque |
|---|---|---|---|
| 2026-03 | 14 999 ¥ | 14 999 ¥ | Tout juste acheté |
| 2027-03 | 14 999 ¥ | 9 999 ¥ | 1 an d'utilisation |
| 2028-03 | 14 999 ¥ | 4 999 ¥ | 2 ans d'utilisation |
| 2029-03 | 14 999 ¥ | 0 ¥ | Amorti intégralement |
2. Gestion des licences et rappels d'expiration
Une licence logicielle expire sans que personne ne le remarque ? Snipe-IT surveille ça pour vous.
Ajoutez une licence :
Nom : Microsoft 365 Business
Clé de licence : XXXX-XXXX-XXXX-XXXX
Nombre total de postes : 25
Déjà attribués : 18
Date d'achat : 2026-01-01
Date d'expiration : 2027-01-01
Fournisseur : Microsoft
Prix d'achat : 1 288 ¥/utilisateur/an
Quand une licence approche de son expiration, le système : - 📧 Envoie un e-mail d'alerte à l'administrateur - 🔒 Affiche une alerte rouge sur le tableau de bord - 📊 La met en évidence dans les rapports
3. Champs personnalisés — enregistrez tout ce dont vous avez besoin
Snipe-IT permet d'ajouter des champs personnalisés à chaque catégorie :
# Via Admin → Custom Fields
Nom du champ Type Format
Modèle de CPU Texte
Taille de la RAM Texte
Système d'exploitation Liste déroulante macOS, Windows, Linux
Département attribué Liste déroulante R&D, Produit, Design
Adresse IP interne Texte ^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
4. Rapports et audit
Snipe-IT intègre plusieurs types de rapports :
- Inventaire des actifs — liste complète de tous les actifs, filtrable par statut/emplacement/catégorie
- Rapport d'amortissement — statistiques d'amortissement par période
- Actifs non attribués — liste des actifs inactifs, pour éviter les achats inutilisés
- Licences expirantes — licences logicielles sur le point d'expirer
- Rapport d'audit — historique des vérifications : qui a confirmé quel statut et quand
5. Intégration API en pratique
Snipe-IT propose une API REST complète, appelable avec curl ou tout autre client HTTP.
Obtenir un token API : Allez dans Profile → Generate API Token
Lister tous les actifs :
curl -X GET "https://snipeit.votreentreprise.com/api/v1/hardware" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Créer un nouvel actif :
curl -X POST "https://snipeit.votreentreprise.com/api/v1/hardware" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Dell XPS 15",
"asset_tag": "DELL-2026-001",
"model_id": 3,
"status_id": 1,
"rtd_location_id": 1,
"purchase_date": "2026-07-30",
"purchase_cost": "9999.00",
"serial": "SN123456789"
}'
Intégration dans un pipeline CI/CD — par exemple, créer automatiquement un enregistrement d'actif lors de l'arrivée d'un nouvel employé :
#!/usr/bin/env python3
"""Création automatique d'un enregistrement d'actif IT pour un nouvel employé"""
import requests
SNIPE_URL = "https://snipeit.votreentreprise.com/api/v1"
API_TOKEN = "YOUR_API_TOKEN"
def onboard_employee(name, email, asset_tag, model_id=1):
"""Attribuer un ordinateur portable à un nouvel employé"""
headers = {
"Accept": "application/json",
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json",
}
# 1. Créer l'utilisateur
user = requests.post(f"{SNIPE_URL}/users", headers=headers, json={
"first_name": name.split()[0],
"last_name": name.split()[-1],
"username": email.split("@")[0],
"email": email,
})
if user.status_code != 200:
print(f"Échec de la création de l'utilisateur : {user.text}")
return
user_id = user.json()["payload"]["id"]
# 2. Attribuer l'actif
checkout = requests.post(
f"{SNIPE_URL}/hardware/{asset_tag}/checkout",
headers=headers,
json={"assigned_user": user_id}
)
if checkout.status_code == 200:
print(f"✅ {name} s'est vu attribuer l'actif {asset_tag}")
else:
print(f"❌ Échec de l'attribution de l'actif : {checkout.text}")
# Exemple d'utilisation
onboard_employee("Zhang San", "zhangsan@company.com", "MBP-2026-015")
Opérations quotidiennes
Sauvegarde de la base de données
# Exporter la base de données
docker exec snipeit-db mysqldump -u snipeit -psnipeit_password_456 snipeit > \
~/backup/snipeit-$(date +%Y%m%d).sql
# Exporter les volumes persistants
tar czf ~/backup/snipeit-images-$(date +%Y%m%d).tar.gz \
/var/lib/docker/volumes/snipe-it_snipeit-images/
Mise à jour de Snipe-IT
cd ~/snipe-it
# Tirer la dernière image
docker compose pull snipeit
# Recréer le conteneur
docker compose up -d snipeit
# Vérifier la version
docker exec snipe-it php artisan snipeit:version
Dépannage courant
| Problème | Solution |
|---|---|
| Erreur 500 sur une page | Consultez docker compose logs snipeit pour voir les erreurs Laravel |
| Échec de connexion à la base de données | Vérifiez que DB_HOST vaut snipeit-db (nom du conteneur) et que la base est prête |
| Les e-mails ne partent pas | Vérifiez la configuration SMTP et que le pare-feu ne bloque pas le port 587 |
| Erreur APP_KEY | Régénérez la clé, confirmez le format base64:xxxx |
| Échec d'upload de fichier | Vérifiez les permissions du volume snipeit-images |
Pourquoi Snipe-IT mérite un investissement à long terme
Depuis son ouverture en 2013, Snipe-IT bénéficie de 13 ans de développement continu et de plus de 500 contributeurs sur GitHub. Comparé aux tableaux Excel ou aux SaaS commerciaux, ses avantages sont clairs :
- Zéro coût de licence — installez sur votre propre serveur, sans limite d'utilisateurs
- Maîtrise totale des données — tous les actifs sont stockés sur votre propre serveur
- Communauté active — la communauté Discord et les forums regorgent d'utilisateurs qui partagent leur expérience
- Écosystème d'intégrations riche — scripts officiels et tiers pour JAMF, Kandji, Jira, Google Workspace, etc.
- Grande évolutivité — de 10 à 10 000 appareils, Snipe-IT suit la cadence
Si vous gérez encore les actifs de votre entreprise dans Excel, ou si les solutions ITAM commerciales vous semblent trop chères, Snipe-IT est le choix le plus pragmatique.
- 🌐 Site officiel : snipeitapp.com
- 📦 GitHub : grokability/snipe-it
- 📖 Documentation : snipe-it.readme.io
- 💬 Communauté : Discord
- 🐳 Docker Hub : snipe/snipe-it