Introduction à la télésurveillance
Informatique et Télésurveillance
Actuellement, l’utilisation de la caméra pour surveiller devient populaire. La caméra apparaît partout : dans la rue, dans l’appartement, dans les institutions gouvernementales, les usines, les magasins, etc. Depuis quelques années, grâce au développement de l’informatique, l’exigence de surveillance automatique à partir de caméras en utilisant un logiciel devient facile, utile et nécessaire.
Étapes d’un projet de télésurveillance
Avant de mettre en place son système de télésurveillance, le responsable de projet devra établir un cahier des charges exprimant ses besoins et le type d’architecture souhaité. Pour réaliser ce cahier de charges, le responsable devra étudier et envisager les points Suivants :
• La stratégie – Les objectifs du système de télésurveillance, la validation de ces objectifs par l’ensemble des acteurs, les aspects juridiques et administratifs et la mutualisation ou les échanges avec d’autres projets.
• L’organisation – Le site du projet et son périmètre, les besoins d’exploitation (visualisation, …), les personnes exploitant les images, les besoins en personnel pour exploiter et administrer le système, le financement, le coût du projet et le calcul du retour sur investissement.
• La technique – Les technologies et les produits nécessaires à la réalisation des objectifs opérationnels, l’architecture du système, l’évolutivité du système, l’ouverture du système ou système propriétaire et les normes techniques à respecter. Le cahier de charges devra également prévoir une partie organisation des travaux et déploiement du système de télésurveillance. Ce cahier de charges servira de document principal pour l’appel d’offre public ou privé. Suite à l’appel d’offre public ou privé, le responsable du projet analysera les offres reçues. Pour faciliter cette analyse, il pourra être mis en place une grille d’évaluation des offres.
Cette grille devra intégrer tous les paramètres clés du dispositif déployé. La réalisation du projet s’accompagnera du suivi des travaux qui permettra de prendre toutes les dispositions nécessaires au bon déroulement des travaux de réalisation. Il sera prévu le cas échéant des réunions de suivi des travaux.
La réception est une étape clé dans la réalisation du projet de télésurveillance. Elle consistera dans un premier temps à vérifier la conformité du système déployé avec le cahier de charges. Ainsi, l’ensemble du système devra être testé, essais techniques et fonctionnels. L’ensemble de la réception devra être consigné dans un compte-rendu. Les réserves éventuelles devront être levées dans les délais consignés dans le compte-rendu. Dans un deuxième temps, un dossier complet de réception devra être mis en place. Ce dossier a pour but de fournir l’ensemble des informations sur le système déployé. Ces informations pourront servir aux évolutions futures du site, dans le cadre du changement de prestataire effectuant la maintenance, mais surtout à garder une trace complète du projet.
Application
Microsoft Visual Studio Express est un ensemble d’environnements de développement intégrés gratuits développé par Microsoft. Il s’agit d’une version allégée de Microsoft Visual Studio. L’idée de ces éditions « express » est, selon Microsoft, de fournir un environnement de développement facile à utiliser et à apprendre pour des jeunes ou des passionnés. La première version de Visual Studio Express (2008) est sortie le 7 novembre 2008 et était supposée n’être gratuite que pour un an (mis à part SQL Server 2008 Express Edition). Toutefois, Microsoft a annoncé le 19 avril 2006 que ces éditions resteraient gratuites sans limite de date1. Visual Studio Express est composé de ces différents produits, chacun supportant un seul langage : Visual Basic, C#, C++, J#, Web Développer et SQL Server. Visual J# n’est plus disponible dans Visual Studio Express 2008. Conçu pour répondre aux besoins uniques du nouveau développeur d’applications, Visual C++ Express Edition est un outil agréable, simple d’utilisation et facile à prendre en main pour créer des applications dynamiques. L’intérêt est de profiter gratuitement d’un excellent environnement de développement C/C++. Les classiques alternatives gratuites (telles que Dev-C++) tiennent en effet difficilement la comparaison face au niveau d’élaboration des nombreuses fonctionnalités de cet IDE : un débogueur surpuissant, qui permet par exemple de recompiler une portion de code en cours d’exécution. des assistants à la programmation (IntelliSense) qui affichent des informations sur les fonctions et leurs paramètres, affichent la liste des membres d’une classe, assurent la complétion du mot en cours de frappe… un éditeur de ressources Win32 très complet disposant entre autres d’un concepteur graphique de boîtes de dialogue. un éditeur de code évolué supportant la navigation au sein du code source. un affichage de classes qui permet de visualiser l’ensemble des symboles sous forme hiérarchique, et de naviguer vers ces derniers. un concepteur de fenêtre WYSIWYG dans le cas du développement C++/CLI.
Visual Studio fournit deux conteneurs pour aider à gérer efficacement les éléments qui sont requis par l’effort de développement, tels que les références, les connexions de données, des dossiers et des fichiers. Ces conteneurs sont appelés solutions et des projets. On utilise l’Explorateur de solutions pour afficher et gérer des projets et des solutions et des questions s’y rapportant.
Puissance du langage et des bibliothèques
Créer des applications C++ gérées et natives… Visual C++ 2008 Express nous permet d’écrire, pour .NET Framework, des applications gérées qui tirent parti du grand nombre de classes contenues dans la bibliothèque de .NET Framework, notamment des fonctionnalités telles que le nettoyage de la mémoire. .NET Framework comprend des classes qui nous permettent d’effectuer facilement les tâches suivantes : créer des interfaces utilisateur graphiques, accéder à des données dans différents formats de base de données (y compris XML) et les manipuler. créer des applications Internet. utiliser des imprimantes. Visual C++ 2008 implémente la nouvelle norme ECMA C++/CLI relative à l’écriture de code simple mais néanmoins puissant pour le Common Language Runtime (CLR) de .NET Framework. Grâce à Visual C++, nous pouvons écrire des bibliothèques de classes, des applications console ou des applications Windows Forms. Visual C++ 2008 nous permet également d’utiliser C++ pour créer des applications console en code natif 32 bits ayant accès à toutes les bibliothèques standard C et C++. On peut aussi combiner du code natif et du code géré dans un même projet, ce qui nous offre la possibilité d’utiliser des bibliothèques existantes ainsi que des classes .NET Framework dans la même application.
Visual C++ est un compilateur à la pointe de la technologie qui génère du code ANSI-C et ISO-C++ moderne. À l’aide de Visual C++, on peut écrire des programmes C++ portables et conformes aux normes, qui utilisent des fonctionnalités avancées du langage. En fait, Visual C++ 2008 a amélioré sa conformité à la norme ISO C++ dans des domaines tels que la gestion des exceptions asynchrones dans les blocs catch, la portée de variables déclarées dans des boucles for et les vérifications des paramètres lors de l’exécution. La conformité ISO garantit que notre code est portable vers d’autres plates-formes et fonctionne avec d’autres outils conformes aux normes.
Le compilateur C++ de l’édition Express peut générer du code hautement optimisé pour Windows et .NET Framework. Les développeurs qui utilisent Visual C++ peuvent créer des applications avancées et hautement performantes pour les plates-formes Microsoft. En outre, pour optimiser encore davantage les performances, les développeurs peuvent utiliser du code assembleur en ligne en vue d’optimiser manuellement leur code. Le compilateur Visual C++ peut également générer du code en virgule flottante très performant pour des plateformes qui prennent en charge les instructions SSE/SSE2.
La bibliothèque STL (Standard Template Library) Visual C++ 2008 Express inclut une implémentation conforme à la norme ISO de la bibliothèque STL (Standard Template Library). STL est une bibliothèque à usage général d’algorithmes et de structures de données qui est basée sur un concept connu sous le nom de programmation générique. Cette bibliothèque comprend les classes de conteneurs, telles que vector, queue, list et map, qui sont implémentées à l’aide de modèles C++. Ces classes fonctionnent avec n’importe quel type de données, y compris avec les types intégrés et tous les types que nous définissons nous-même.
Bien que l’implémentation de la bibliothèque soit assez complexe, il est facile d’intégrer ses structures de données et algorithmes sophistiqués et ultraperformants dans nos programmes. On peut utiliser la bibliothèque STL pour générer du code géré pour .NET Framework ou du code natif pour un ordinateur spécifique.
Environnement de développement interactif
IntelliSense :
Il s’agit de l’une des fonctionnalités les plus populaires de Visual Studio. Elle peut nous faire économiser de nombreuses heures tout au long d’un projet. IntelliSense propose la saisie semi-automatique des instructions à mesure de notre saisie, ce qui nous permet d’accéder facilement aux propriétés, méthodes et événements. Par exemple, lors de la saisie du nom d’un objet, le fait de taper « -> », « :: » ou « . » affiche une liste contextuelle contenant les éléments disponibles pour cet objet. Dans l’écran suivant, on peut voir toutes les méthodes et propriétés disponibles pour la classe List.
Commentaires XML :
Les commentaires XML sont une façon de documenter notre code d’une façon simple et uniforme. Si on ajoute trois barres obliques (///) dans une ligne au début d’une méthode, Visual C++ Express générera de façon dynamique le modèle XML, y compris les paramètres et les valeurs de retour. Ces données XML peuvent être lues par d’autres outils de génération de documentation connus tels que NDoc pour produire une documentation de qualité professionnelle pour notre application ou composant.
liste des tâches :
Semblable à la liste des tâches Outlook, la liste des tâches nous permet d’effectuer le suivi des tâches que nous devons accomplir dans notre projet de programmation. On peut ajouter automatiquement une entrée à notre liste des tâches. Pour ce faire, on ajoute simplement un commentaire dans notre code en utilisant le format suivant : « //TODO: Mon commentaire ici ». Double-cliquons ensuite sur une tâche de la liste des tâches pour accéder directement à la ligne de code correspondante.
Rechercher toutes les références :
Lors du développement de solutions étendues, il peut être utile de déterminer l’endroit où une classe ou un membre spécifique est référencé dans l’ensemble de la solution. Pour ce faire, on clique avec le bouton droit sur la classe, puis on clique sur Rechercher toutes les références. Toutes les références à cette classe dans la solution actuelle s’affichent. Cette technique est plus précise que l’utilisation de fonctions de recherche standard, car elle utilise le compilateur pour rechercher les correspondances exactes pour la classe correspondante.
Naviguer dans le code :
Il est parfois difficile de retrouver une classe ou une méthode dans le code. Visual C++ Express simplifie cette navigation grâce à deux listes déroulantes dans le volet du concepteur de sources. La liste située à gauche nous permet de choisir parmi une ou plusieurs définitions de classes dans le fichier, et la liste située à droite nous permet d’accéder directement à la méthode ou au type en question.
Définition d’une section de code:
Il peut parfois être difficile de rechercher des sections de code. Mais certaines fonctionnalités de Visual C++ Express facilitent nettement cette tâche. Par exemple, si nous cliquons avec le bouton droit sur une variable ou une classe, puis si nous choisissons Atteindre la définition, nous accédons à l’endroit du code où le type a été défini.
Explorateur d’appels :
La fenêtre Explorateur d’appels nous permet de rechercher des appels de fonction. On peut ensuite parcourir les résultats de la recherche et naviguer facilement jusqu’aux références dans vos fichiers de code source. Par exemple, si nous cliquons avec le bouton droit sur un type, puis que nous choisissons Explorateur d’appels… Afficher le graphique des appels, tous les emplacements où un type particulier est appelé s’affichent.
Conclusion Générale
Dans ce projet de fin d’études, nous nous sommes intéressés à un sujet d’actualité, qui touche à notre sécurité et la sécurité de nos biens. Une étude très sérieuse a montré que des villes pilotes aux USA, et un peu partout en Europe, s’ayant doté d’un système de télésurveillance, ont vu le taux de criminalité descendre en flèche et les gens y vivent en tout tranquillité, chose primordiale pour l’épanouissement de tout être humain. Un système de télésurveillance est avant tout un outil de dissuasion, avant d’arriver à l’alarme quand quelque chose de suspect est repérée, puis les enregistrements peuvent servir le cas échéant à flouer les malfaiteurs et à les faire condamner, puisque c’est considéré comme une étant une preuve recevable par la justice mondialement. Notre choix s’est porté naturellement sur ce sujet, et tout le long de ce projet, on a appris à utiliser nos connaissances acquises pendant nos trois années d’études à un cas appliqué et pratique, ce qui doit être le fort de tout informaticien. Donc on s’est posé comme objectif de programmer une application permettant de visualiser quatre webcam sur un écran d’ordinateur, ou autre. On a vu dans le chapitre un que les possibilités d’utilisation des caméras sont nombreuses, mais selon les moyens dont nous disposions et malgré que ça a considérablement augmenté la difficulté de notre travail, on a du utilisé des webcams pas chères filaires disponibles sur notre marché. Bien que ça nous a retardé dans l’accomplissement de notre projet, mais ça nous a permis d’apprendre à rechercher la solution de différentes manières : internet, demander conseil aux anciens, pousser la réflexion à l’extrême, et finalement nos efforts ont payé et on a trouvé la façon de mener à bien le projet, à force de persévérance et d’acharnement, du coup nous ne regrettons pas notre démarche.
|
Table des matières
Introduction
CHAPITRE 1
Introduction à la télésurveillance
Informatique et Télésurveillance
Étapes d’un projet de télésurveillance
Télé surveiller un magasin
CHAPITRE 2
Application
Introduction
Présentation de l’IDE utilisé
Débogage Caractéristiques
Directshow
Codec Xvid
Les bibliothèques utilisées dans l’application (Télésurveillance)
Conclusion Générale
Télécharger le rapport complet