Snipe-IT est une solution de gestion de parc informatique qui existe en deux versions : une édition open source que vous pouvez installer sur vos propres serveurs et une offre cloud hébergée par l’équipe derrière le projet. Le produit est utilisé par des organisations de toutes tailles, des établissements scolaires aux grandes entreprises, pour suivre leurs actifs matériels et logiciels.

Le cœur du système repose sur le suivi des actifs. Chaque équipement peut être enregistré avec un numéro de série, un tag unique, un modèle et une étiquette de statut qui indique s’il est déployable, en attente, archivé ou indisponible. L’attribution et le retour des actifs se font en quelques clics, et chaque mouvement est conservé dans un historique détaillé. Il est possible de regrouper les actifs par modèles pour faciliter la gestion en masse, d’ajouter des champs personnalisés pour des informations spécifiques à votre organisation, et de suivre automatiquement la dépréciation ainsi que la fin de vie prévue des équipements.
Au-delà des actifs proprement dits, Snipe-IT permet de gérer les licences logicielles en suivant leurs attributions et leurs dates d’expiration. Les accessoires comme les claviers ou les souris, ainsi que les consommables tels que les toners, peuvent également être inventoriés et attribués.
La gestion des utilisateurs est assez complète. Chaque profil utilisateur affiche un historique centralisé de tous les éléments qui lui ont été confiés. L’importation peut se faire par fichier CSV ou par synchronisation avec Active Directory, LDAP ou Google Secure LDAP. Des rôles et permissions permettent de définir finement les droits d’accès, et le protocole SCIM est pris en charge pour l’approvisionnement automatique des comptes.
Pour ceux qui ont besoin d’interconnecter Snipe-IT avec d’autres outils, l’API REST JSON est le point d’entrée principal. Elle est documentée et permet de développer des automatisations sur mesure. Des intégrations natives existent avec Slack, SAML, JAMF et Kandji, et une passerelle officielle avec Jira est également disponible. La communauté a par ailleurs produit des SDK dans plusieurs langages comme Python, .NET ou PowerShell.
Côté utilisation au quotidien, l’interface est accessible depuis un navigateur et s’adapte aux écrans mobiles, ce qui peut être utile pour des mises à jour sur le terrain. Le logiciel est traduit dans plus de cinquante-cinq langues officiellement, mais les tests en français montrent que les traductions sont incomplètes. Les notifications par email alertent sur les garanties ou licences arrivant à expiration, et des alertes Slack peuvent être configurées pour les attributions et les retours. La génération d’étiquettes de QR codes facilite l’accès aux informations d’un actif via un scanner, et des rapports détaillés peuvent être produits sur les actifs, les licences, les attributions ou la dépréciation.
Une instance de démo est disponible sur le site de l’éditeur.
L’édition open source est gratuite et peut être installée sur vos propres serveurs via docker. L’équipe publie des mises à jour régulières, avec des corrections et des nouvelles fonctionnalités qui apparaissent toutes les quelques semaines. Le code est ouvert et les contributeurs sont nombreux, ce qui assure une certaine transparence et une absence de verrouillage propriétaire.
Une application mobile officielle est en cours de développement. Une application Android officieuse existe cependant.

Installation sur http://localhost:8000 avec docker
L’installation se fait grâce à un conteneur docker, il faut donc que votre serveur soit prêt à lancer des services docker. Si ce n’est pas le cas, vous trouverez le guide d’installation docker sous Ubuntu ici et celui de Devuan ici.
Dans un répertoire dédié, nous allons créer un fichier docker-compose.yml et un fichier .env.
Voici le contenu de docker-compose.yml :
volumes:
db_data:
storage:
services:
app:
image: snipe/snipe-it:latest
restart: unless-stopped
volumes:
- ./storage:/var/lib/snipeit
ports:
- "8000:80"
depends_on:
db:
condition: service_healthy
restart: true
env_file:
- .env
db:
image: mariadb:11.4.7
restart: unless-stopped
volumes:
- ./db_data:/var/lib/mysql
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
timeout: 1s
retries: 5
Et voici le contenu du fichier .env (changez les mots de passe mentionnés par les vôtres) :
APP_VERSION=
APP_PORT=8000
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:3ilviXqB9u6DX1NRcyWGJ+sjySF+H18CPDGb3+IVwMQ=
APP_URL=http://localhost:8000
APP_TIMEZONE='UTC'
APP_LOCALE=fr-FR
MAX_RESULTS=500
PRIVATE_FILESYSTEM_DISK=local
PUBLIC_FILESYSTEM_DISK=local_public
DB_CONNECTION=mariadb
DB_HOST=db
DB_SOCKET=null
DB_PORT='3306'
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD=changeme1234
MYSQL_ROOT_PASSWORD=changeme1234
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'
DB_DUMP_SKIP_SSL=false
DB_DUMP_SINGLE_TRANSACTION=false
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
DB_SSL=false
DB_SSL_IS_PAAS=false
DB_SSL_KEY_PATH=null
DB_SSL_CERT_PATH=null
DB_SSL_CA_PATH=null
DB_SSL_CIPHER=null
DB_SSL_VERIFY_SERVER=null
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_TLS_VERIFY_PEER=true
MAIL_FROM_ADDR=you@example.com
MAIL_FROM_NAME='Snipe-IT'
MAIL_REPLYTO_ADDR=you@example.com
MAIL_REPLYTO_NAME='Snipe-IT'
MAIL_AUTO_EMBED_METHOD='attachment'
MICROSOFT_GRAPH_CLIENT_ID=null
MICROSOFT_GRAPH_CLIENT_SECRET=null
MICROSOFT_GRAPH_TENANT_ID=null
MICROSOFT_GRAPH_SAVE_TO_SENT_ITEMS=false
ALLOW_BACKUP_DELETE=false
ALLOW_DATA_PURGE=false
IMAGE_LIB=gd
MAIL_BACKUP_NOTIFICATION_DRIVER=null
MAIL_BACKUP_NOTIFICATION_ADDRESS=null
BACKUP_ENV=true
SESSION_LIFETIME=12000
EXPIRE_ON_CLOSE=false
ENCRYPT=false
COOKIE_NAME=snipeit_session
COOKIE_DOMAIN=null
SECURE_COOKIES=false
API_TOKEN_EXPIRATION_YEARS=40
APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1,172.16.0.0/12
ALLOW_IFRAMING=false
REFERRER_POLICY=same-origin
ENABLE_CSP=false
CORS_ALLOWED_ORIGINS=null
ENABLE_HSTS=false
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_CONNECTION=sync
CACHE_PREFIX=snipeit
REDIS_HOST=null
REDIS_PASSWORD=null
REDIS_PORT=6379
MEMCACHED_HOST=null
MEMCACHED_PORT=null
PUBLIC_AWS_SECRET_ACCESS_KEY=null
PUBLIC_AWS_ACCESS_KEY_ID=null
PUBLIC_AWS_DEFAULT_REGION=null
PUBLIC_AWS_BUCKET=null
PUBLIC_AWS_URL=null
PUBLIC_AWS_ENDPOINT=null
PUBLIC_AWS_PATH_STYLE=null
PUBLIC_AWS_BUCKET_ROOT=null
PRIVATE_AWS_ACCESS_KEY_ID=null
PRIVATE_AWS_SECRET_ACCESS_KEY=null
PRIVATE_AWS_DEFAULT_REGION=null
PRIVATE_AWS_BUCKET=null
PRIVATE_AWS_URL=null
PRIVATE_AWS_ENDPOINT=null
PRIVATE_AWS_PATH_STYLE=null
PRIVATE_AWS_BUCKET_ROOT=null
AWS_ACCESS_KEY_ID=null
AWS_SECRET_ACCESS_KEY=null
AWS_DEFAULT_REGION=null
LOGIN_MAX_ATTEMPTS=5
LOGIN_LOCKOUT_DURATION=60
RESET_PASSWORD_LINK_EXPIRES=900
INVITE_PASSWORD_LINK_EXPIRES=1500
LOG_CHANNEL=stderr
LOG_MAX_DAYS=10
APP_LOCKED=false
APP_CIPHER=AES-256-CBC
APP_FORCE_TLS=false
GOOGLE_MAPS_API=
LDAP_MEM_LIM=500M
LDAP_TIME_LIM=600
On lance ensuite le service Snipe-IT par la commande :
docker compose up -d
Rendez-vous sur http://localhost:8000. Le paramétrage initial se fait en répondant à quelques questions sur 4 étapes.

Vous avez ensuite accès au produit, qui est très riche de fonctionnalités.

