Daemons and Services/fr: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Daemons and Services/fr
| Old | New | Line | |
|---|---|---|---|
| 1 | + | # Que sont les daemons("service" Unix) et les services(windows)? | |
| 2 | + | ||
| 3 | + | Les daemons Unix et les services windows sont des programmes fonctionnant sans interaction de l'utilisateur. Par exemple les serveurs **www** ou **ftp** sont appelés des daemons sous linux et des services sous windows. Parce qu'ils n'ont pas d'interaction avec l'utilisateur directement, ils ferment leurs descripteurs stdin, stdout, stderr au démarrage. | |
| 4 | + | ||
| 5 | + | Avec Free Pascal, Lazarus il est possible d'écrire cette plate-forme de daemons/services indépendante au travers du paquet lazdaemon de Lazarus. Pour éviter les conflits de nom avec les composants de Delphi ces classes sont appelées 'daemons'. | |
| 6 | + | ||
| 7 | + | # Installer LazDaemon | |
| 8 | + | ||
| 9 | + | Avant de pouvoir commencer, installer le paquet lazdaemon. Soit à travers **Paquet -\> Configurer les paquets installés...** ou en ouvrant/installant le fichier lpk directement: lazarus/components/daemon/lazdaemon.lpk. Ce paquet installe quelques nouveaux composants et des éléments de menu dans l'IDE. | |
| 10 | + | ||
| 11 | + | # Les Classes | |
| 12 | + | ||
| 13 | + | ## TCustomDaemon | |
| 14 | + | ||
| 15 | + | C'est un descendant de la classe TDataModule qui fait tout le travail. Il peut y avoir plusieurs classes TCustomDaemons et/ou instances qui tournent en même temps et dans le même processus (multi threaded). | |
| 16 | + | ||
| 17 | + | ## TCustomDaemonApplication | |
| 18 | + | ||
| 19 | + | C'est un descendant de la classe TCustomApplication qui crée la classe TCustomDaemons. Cela ne nécessite pas de changement. Il s'exécute sous windows jusqu'à ce qu'il reçoive le signal d'arrêt ou sous linux jusqu'au signal TERM. | |
| 20 | + | ||
| 21 | + | ## TDaemonMapper | |
| 22 | + | ||
| 23 | + | Ce composant gère le service d'enregistrement. Chaque instance a besoin d'une entrée dans la propriété **DaemonDefs**. | |
| 24 | + | ||
| 25 | + | # Daemon - Etape par étape | |
| 26 | + | ||
| 27 | + | - Lorsque le daemon est lancé, les paramètres de la ligne de commande sont analysés. Les suivants sont prédéfinis: | |
| 28 | + | - -i --install: Enregistre le daemon. Cela n'a pas d'effet sous unix. | |
| 29 | + | - -u --uninstall: Désenregistre le daemon. Cela n'a pas d'effet sous unix. | |
| 30 | + | - -r --run: Démarre le daemon. Windows fait cela normalement lui-même. | |
| 31 | + | - Création de la classe TDaemonMapper | |
| 32 | + | - Création d'une classe TCustomDaemon pour chaque entrée de *DaemonDefs*. | |
| 33 | + | - installe, Désinstalle ou exécute chaque instance. | |
| 34 | + | - Si exécution: Démarre chaque instance dans son propre thread et puis attendre le signal Stop/TERM. | |
| 35 | + | ||
| 36 | + | # Les méthodes Daemon | |
| 37 | + | ||
| 38 | + | ## Start | |
| 39 | + | ||
| 40 | + | Appelé quand le daemon devrait démarrer. Cette méthode doit retourner immédiatement un *True*. | |
| 41 | + | ||
| 42 | + | ## Stop | |
| 43 | + | ||
| 44 | + | Appelé quand le daemon devrait arrêter. Cette méthode doit retourner immédiatement un *True*. | |
| 45 | + | ||
| 46 | + | ## Shutdown | |
| 47 | + | ||
| 48 | + | Appelé quand le daemon devrait être tué. Cette méthode devrait arrêter le daemon immédiatement et retourner un *True*. Ce n'est pas déclenché sous Linux. Linux tue simplement le daemon. | |
| 49 | + | ||
| 50 | + | ## Pause | |
| 51 | + | ||
| 52 | + | Appelé quand le daemon devrait faire une pause. Cette méthode doit retourner immédiatement un *True*. Sous Linux ce n'est pas déclenché car le kernel arrête l'ensemble du daemon avec le STOP et le continue avec CONT. | |
| 53 | + | ||
| 54 | + | ## Continue | |
| 55 | + | ||
| 56 | + | Appelé quand le daemon devrait continuer après une pause. Cette méthode doit retourner immédiatement un *True*. Sous Linux ce n'est pas déclenché. | |
| 57 | + | ||
| 58 | + | ## Install | |
| 59 | + | ||
| 60 | + | Called when daemon is registered as windows service. This method should return *True* on success. | |
| 61 | + | ||
| 62 | + | ## Uninstall | |
| 63 | + | ||
| 64 | + | Appelé quand le daemon est désenregistré comme service windows. Cette méthode devrait retourner *True* si elle réussit. | |
| 65 | + | ||
| 66 | + | ## AfterUnInstall | |
| 67 | + | ||
| 68 | + | Appelé quand le daemon est désenregistré comme service windows. Cette méthode devrait retourner *True* si elle réussit. | |
| 69 | + | ||
| 70 | + | ## HandleCustomCode | |
| 71 | + | ||
| 72 | + | Appelé quand un signal spécial a été envoyé au daemon. Cette méthode devrait retourner *True* si elle réussit. | |
| 73 | + | ||
| 74 | + | ## Pour pouvoir démarrer | |
| 75 | + | ||
| 76 | + | Avant d'être capable de créer une application à base de service ou de Daemon vous devez d'abord vous assurer que le paquet de daemon de Lazarus "lazdaemon" est installé. | |
| 77 | + | ||
| 78 | + | # Exemple | |
| 79 | + | ||
| 80 | + | Il est un exemple simple dans le répertoire examples/cleandir/. Lire le fichier README.txt. | |
| 81 | + | ||
| 82 | + | ------------------------------------------------------------------------ | |
| 83 | + | ||
| 84 | + | [[Office Automation]] | |
| 85 | + | ||
| 86 | + | --- | |
| 87 | + | *From the Free Pascal wiki, page "Daemons and Services/fr", as it stood on 2022-01-09 after a change by Slawek, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 88 | + | Category: Français |
