Retour aux mises à jour
New releaseAug 11, 2026

zoneminder v1.38.4

ZoneMinder est une application logicielle de télévision en circuit fermé, gratuite et open source, développée pour Linux, qui prend en charge les caméras IP, USB et analogiques.

Partager

ZoneMinder

Join Slack dessin

Toute la documentation de ZoneMinder est désormais en ligne sur https://zoneminder.readthedocs.org

Vue d'ensemble

ZoneMinder est un ensemble intégré d'applications qui fournit une solution de surveillance complète permettant la capture, l'analyse, l'enregistrement et le suivi de toutes les caméras de télésurveillance (CCTV) ou de sécurité connectées à une machine sous Linux. Il est conçu pour fonctionner sur les distributions qui prennent en charge l'interface Video For Linux (V4L) et a été testé avec des caméras vidéo connectées à des cartes BTTV, diverses caméras USB, et prend également en charge la plupart des caméras réseau IP.

Contacter l'équipe de développement

Avant de créer un problème dans notre forum GitHub, veuillez lire nos règles de publication : https://github.com/ZoneMinder/ZoneMinder/wiki/Github-Posting-Rules

Notre Dockerfile a été déplacé

Veuillez signaler les problèmes concernant le Dockerfile de ZoneMinder ici : https://github.com/ZoneMinder/zmdockerfiles

Méthodes d'installation

Installer à partir d'un dépôt de paquets

C'est la méthode recommandée pour installer ZoneMinder sur votre système. Des paquets ZoneMinder sont maintenus pour les distributions suivantes :

Si aucun dépôt hébergeant des paquets ZoneMinder n'est disponible pour votre distribution, vous êtes encouragé à construire votre propre paquet plutôt que de compiler à partir des sources. Bien que chaque distribution soit différente d'une manière qui la distingue des autres, elles sont souvent suffisamment similaires pour que vous puissiez adapter les instructions de construction de paquets d'une autre distribution à la vôtre.

La compilation depuis les sources est déconseillée

Historiquement, installer ZoneMinder sur votre système nécessitait une compilation à partir du code source en exécutant les commandes traditionnelles configure, make, make install. Pour que ZoneMinder compile, toutes ses dépendances devaient être déterminées et installées au préalable. Les scripts init et logrotate devaient être copiés manuellement à leur emplacement après la compilation. Des paquets optionnels tels que jscalendar et Cambozola devaient être installés manuellement. Les désinstallations pouvaient laisser des fichiers obsolètes, ce qui pouvait causer des problèmes lors d'une mise à niveau. En parlant de mises à niveau, toutes ces étapes manuelles doivent être répétées à chaque mise à niveau.

De meilleures méthodes existent aujourd'hui et font une grande partie de ce travail à votre place. L'équipe de développement actuelle, ainsi que d'autres bénévoles, a fait de grands progrès pour fournir les ressources nécessaires afin d'éviter la compilation depuis les sources.

Construire un paquet ZoneMinder

Construire ZoneMinder sous forme de paquet n'est pas plus difficile que de compiler à partir des sources. En fait, si vous avez déjà réussi à compiler ZoneMinder à partir des sources, vous trouverez peut-être ces étapes plus faciles.

Lors de la construction d'un paquet, il est préférable d'effectuer ce travail dans un environnement séparé, dédié au développement. Cela peut être aussi simple que de créer une machine virtuelle, d'utiliser Docker ou d'utiliser mock. Il suffit d'un seul « Oups » pour regretter d'avoir fait ce travail sur votre serveur de production.

Enfin, si vous souhaitez construire un instantané de développement à partir de la branche master, il est recommandé de commencer par construire votre paquet à l'aide d'une version officielle de ZoneMinder. Cela aidera à identifier si les problèmes que vous pourriez rencontrer sont causés par le processus de construction ou s'il s'agit d'un nouveau problème dans la branche master.

Veuillez consulter notre site ReadtheDocs pour des instructions spécifiques à chaque distribution.

Mainteneurs de paquets

La plupart des valeurs par défaut des variables de configuration de ZoneMinder ne sont pas configurables au moment de la compilation via autotools ou cmake. Un nouvel outil appelé zmeditconfigdata.sh a été ajouté pour permettre aux mainteneurs de paquets de manipuler toute variable stockée dans ConfigData.pm sans avoir à patcher les sources.

Par exemple, disons que j'ai créé un nouveau paquet ZoneMinder contenant le fichier javascript cambozola. Cependant, par défaut, le support de cambozola est désactivé. Pour corriger cela, ajoutez ceci au script d'empaquetage :

./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes

Notez que zmeditconfigdata.sh est destiné à être appelé, depuis le dossier racine de compilation, avant d'exécuter cmake ou configure.

Docker

Docker est un système permettant d'exécuter des applications dans des conteneurs isolés. ZoneMinder, ainsi que le serveur web ZM, s'exécuteront à l'aide du Dockerfile contenu dans ce dépôt. Cependant, il reste encore du travail à faire pour garantir que les principales fonctionnalités de ZM fonctionnent correctement et soient documentées.

Modèle de contribution et développement

Les pull requests sont les bienvenues ! Si vous souhaitez contribuer, veuillez suivre les étapes suivantes. Bien que l'étape 3 soit facultative, elle est préférée.

  1. Forkez le dépôt
  2. Ouvrez un problème sur notre suivi des problèmes GitHub. Suivez le modèle de signalement pour décrire le bug ou le problème de sécurité que vous avez trouvé. Veuillez noter que les demandes de fonctionnalités ou les questions doivent être publiées sur notre forum utilisateur ou sur le canal Slack.
  3. Créez votre branche de fonctionnalité (git checkout -b 456-my-new-feature)
  4. Validez vos modifications (git commit -am 'Added some feature') Il est préférable de « valider tôt et souvent » plutôt que de regrouper toutes les modifications dans un seul commit.
  5. Poussez votre branche vers votre fork sur GitHub (git push origin 456-my-new-feature)
  6. Créez une nouvelle pull request
  7. L'équipe examinera ensuite, discutera et, espérons-le, fusionnera vos modifications.

Catégories