Pour les images svg, c'est à toi de voir. Ca demandera moins de puissance au serveur mais encore faut il que les navigateurs soient capable de comprendre convenablement ce format d'image.
Réponses :
1) ajax c'est :
- un langage au niveau du navigateur : en général du javascript , parfois un activex, du java (java <> javascript) ou de l'actionscript (le langage des flash)
- des fichiers statique ou dynamique (créé à la demande par du php, de l'asp, ...) envoyé par le serveur. Ce sont normalement des fichiers xml mais certains utilisent des fichiers textes basique.
Les css n'ont rien à voir avec de l'ajax vu que les css sont fait pour modifier la façon dont les éléments sont affiché dans la page alors que l'ajax permet de récupérer des données sur le serveur (ou de lui en envoyer) sans rafraichir toute la page.
2) Les "images réactives où l'on peut sélectionner une zone ", c'est au niveau html que ca se gére. La balise "map" (de mémoire c'est le bon nom mais je ne l'utilise jamais) permet de décrire les zones de l'image qui devront se comporter comme des liens. Le probléme, c'est que si tu utilise le format svg, tu risques d'avoir un petit décalage entre les zones que tu indiques et l'image affiché vu que le svg n'est pas un format d'image qui décrit le résultat final pixel par pixel.
Pour l'affichage du menu regarde du côté de javascript. Je pense que c'est encore le plus simple vu que ca sera couplé à une balise "map". Pour l'exécution des actions, appelle une nouvelle page, ca sera le plus simple vu que tu débutes.
Personellement, si j'avais à faire ce genre de projet, je ferais un programme windows/linux/autre classique. Ca aurait au moins l'avantage de ne pas nécessiter l'action d'un programme externe (le navigateur) pour que tout s'exécute comme il faut. Autre avantage d'un programme classique : t'auras l'alerte affiché à l'écran dés que l'alerte tombe et non pas 20 ou 30 secondes plus tard. En plus de ça, le php est soumis à un "timeout" donc si pour x raison une étape prend trop de temps, tu risques de "perdre" une alerte (par exemple tu pourais ne pas recevoir de mail)
Pour la base de donnée que tu utilises un programme classique ou que tu le fasses sous forme de site web, mysql sera largement sufisant pour gérer le stockage des données.
Pour la sécurité, tu as tord de la négliger. Même si ton application n'est qu'une application de surveillance, elle a surement un role critique. Par conséquent vous ne pouvez pas vous permettre de perdre une journée à réinstaller un serveur (sous peine de ne plus avoir de surveillance pendant 24 heures) par ce qu'un petit malin est tombé sur une faille ce qui a mis le boxon partout. Certe, si votre serveur n'est pas relié à un réseau munis d'accés à internet, vous n'aurez pas besoin de crypter tous les échanges mais il y a quand même un niveau minimum de sécurité à mettre en place : trop de société s'en sont déjà mordus les doigts.
PS : Pour le coup de la sécurité, j'ai bossé dans une boite qui ne s'en était pas préocupé pour un des outils interne à la boite. Résultat, pendant une semaine seuls les informaticiens ont pu bosser et ils ne bossaient que sur la remise en route du systéme et la récupération des données.