Une application dite de «bureau» ou desktop application est un programme exécuté directement par l'ordinateur de l'utilisateur du logiciel. Une telle application utilise généralement les ressources du système d'exploitation de la machine sur laquelle il est installé (fenêtres, menus, boîtes de dialogue,...) pour permettre une interaction avec l'utilisateur (entrée et sortie de données, pilotage de l'application,...)
Interaction entre un utilisateur et une application desktop
Des logiciels tels que Word, Photoshop ou Audacity ainsi que la plupart des programmes conçus avec un environnement de développement tels que IDLE sont typiquement des applications desktop: elles sont exécutées par le processeur de l'ordinateur sur lequel elles sont installées et font usage des ressources de son système d'exploitation.
Une application web est quant à elle une application installée sur un serveur web et exécutée par le processeur de ce dernier. L'utilisateur interagit à distance avec une application web principalement par le biais d'un navigateur web tel que Firefox, Chrome ou Edge. Le navigateur affiche des pages web jouant le rôle d'interface utilisateur graphique. Facebook est un exemple d'une telle application. Les utilisateurs d'une application web n'ont pas besoin de l'installer sur leur ordinateur comme c'est le cas d'une application desktop. Le programme fonctionne sur un serveur web envoyant au navigateur web de l'utilisateur des pages HTML faisant office d'interface. Le navigateur ne fait que réceptionner, afficher et retourner des informations à l'application web qui s'occupe de traiter les informations par le biais du processeur du serveur web sur lequel elle est installée.
Interaction entre un utilisateur et une application web
Une application web est donc un programme (pouvant être écrit dans différents langages de scripts tels que PHP, Python ou Perl) exécuté sur un serveur web. Le fonctionnement de la plupart des applications web repose sur l'utilisation de formulaires HTML qui permettent à l'utilisateur de choisir ou saisir des données à transmettre à l'application web en paramètres. Une fois les données traitées par l'application web, celle-ci construit le code HTML de la page web réceptionnant la réponse à transmettre à l'internaute via le réseau. Les pages web transmises par l'application web à l'internaute sont personnalisées selon les choix ou les saisies de ce dernier. Nous les appelons dès lors pages web dynamiques.
Le but de cette section sera de comprendre le fonctionnement d'une application web et d'en implémenter une à l'aide du module CherryPy offert par Python.