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

BASH
mkdir -p ~/snipe-it && cd ~/snipe-it

Étape 2 : rédiger le fichier Docker Compose

Créez un fichier docker-compose.yml :

YAML
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_KEY au hasard ! Il faut le générer d'abord.

Étape 3 : générer la clé APP_KEY

BASH
# 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

BASH
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 :

  1. Vérification des prérequis (tout doit être vert ✓)
  2. Création du compte administrateur (nom d'utilisateur, e-mail, mot de passe)
  3. 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:8080 par https://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 :

  1. Admin → Import → Download CSV Template
  2. Remplissez vos données dans le modèle
  3. Uploadez le fichier CSV
  4. Prévisualisez et confirmez le mappage des champs
  5. 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 :

BASH
# 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 :

BASH
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 :

BASH
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é :

PYTHON
#!/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

BASH
# 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

BASH
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 :

  1. Zéro coût de licence — installez sur votre propre serveur, sans limite d'utilisateurs
  2. Maîtrise totale des données — tous les actifs sont stockés sur votre propre serveur
  3. Communauté active — la communauté Discord et les forums regorgent d'utilisateurs qui partagent leur expérience
  4. Écosystème d'intégrations riche — scripts officiels et tiers pour JAMF, Kandji, Jira, Google Workspace, etc.
  5. 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.