Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours programmation » Cours WinDev

Support de cours pour apprendre à Créer un service avec WinDev

Support de cours pour apprendre à Créer un service avec WinDev
Participez au vote ☆☆☆☆☆★★★★★

Présentation

Qu'est-ce qu'un service ?

Un service est une forme spécifique d'application destinée à être exécutée sans intervention de l'utilisateur.

Un service peut être configuré pour démarrer automatiquement en même temps que le système d'exploitation et pour fonctionner en tâche de fond.

 Les services sont également appelés daemons.

Dans quels cas utiliser un service ?

Un service doit être utilisé pour permettre à une application de répondre à tout moment à une sollicitation externe (lecture sur une socket par exemple).

Si le service doit se contenter d'exécuter une tâche de façon répétée, il est préférable de faire une application standard et de lancer cette application dans une tâche planifiée.

Différences entre un service et une application

•      Un service tourne toujours sous l'identité du même utilisateur (configuré lors de son installation) quel que soit l'utilisateur connecté à la machine.

•      Un service ne peut pas avoir d'interaction directe avec l'utilisateur connecté. L'ouverture d'une fenêtre avecOuvreest possible (par exemple pour créer un traitement graphique sur des images), mais sa fermeture doit être systématique une fois le traitement effectué. De façon générale, il ne doit pas y avoir d'appel de fonction bloquante (Info,Dialogue,Saisie ).

•      Un service qui utilise une base de données HyperFileSQL et plus généralement les fonctions H* pour l'accès à une base de données doit gérer les conflits (doublons, intégrité, modification, ) grâce à la fonctionHSurErreur. Dans le cas contraire, le service pourra être bloqué en cas de conflit.

•      Un service peut fonctionner sous l'identité du système d'exploitation lui-même.

•      Un service n'est pas soumis à l'UAC ou à la virtualisation (à partir de Windows Vista).

Création d'un service avec WinDev

Création d'un service

WinDev permet de créer un service :

•  soit à partir d'un nouveau projet. ? soit à partir d'un projet existant.

Pour créer un service à partir d'un nouveau projet :

•  Cliquez sur  parmi les boutons d'accès rapide.

•  Dans la roue qui s'affiche, cliquez sur "Projet".

•  L'assistant de création de projet se lance.

Dans un des premiers écrans de l'assistant, vous pouvez choisir le type de génération de votre projet. Il suffit de sélectionner "Service Windows" puis la plate-forme d'exécution (Windows ou Linux) et de suivre l'assistant.

Par défaut, le projet permettra de générer des services Windows 32 bits.

Pour créer un service à partir d'un projet existant, il suffit d'ajouter une nouvelle configuration de projet : sous le volet "Projet", dans le groupe "Configuration de projet", déroulez "Nouvelle configuration". Il est possible de créer :

•  une configuration de projet de type "Service" (32 bits).

•  une configuration de projet de type "Service 64 bits". ?            une configuration de projet de type "Daemon Linux".

Pour plus de détails, consultezConfiguration de projet.

Dév

eloppement d'un service

Programmation d'un service

Le projet créé dispose de deux traitements supplémentaires pour gérer le service :

Si le traitement principal est bloqué en attente sur une ressource (par exemple une socket), il appartient au traitement "Arrêt du * service" de détruire la ressource pour débloquer le traitement principal.

Note : A partir du début du processus d'arrêt du service, le traitement "Exécution du service" n'est plus appelé en boucle.

Remarque : Pour éditer les traitements spécifiques d'un service : sous le volet "Accueil", dans le groupe

"Général", déroulez          et sélectionnez "Code du projet".

Génération d'un service

L'assistant de génération :

•    du service Windows 32 bits ou 64 bits correspond à l'assistant de création de l'exécutable. Pour plus de détails, consultezCréation de l'exécutable.

•    du service Linux correspond à l'assistant de création de l'exécutable Linux. Pour plus de détails, consultezCréation de l'exécutable Linux.

Le téléchargement automatique du Framework WinDev n'est pas disponible pour les services.

Création de l'installation d'un service Windows 32 ou 64 bits

Pour créer l'installation d'un service Windows 32 ou 64 bits :

1.    Déroulez l'icône de génération parmi les boutons d'accès rapide et sélectionnez l'option "Créer la procédure d'installation du service".

Remarque : si la configuration en cours ne correspond pas à la configuration du service, cette option est disponible dans le menu "Autres générations".

2.    La première partie de l'assistant vous guide dans la génération du service (voir paragraphe précédent). Si la configuration en cours est un service 32 bits, la génération est réalisée en 32 bits. Si la configuration en cours est un service 64 bits, la génération est réalisée en 64 bits.

3.    Choisissez le mode d'installation :

•    Installation autonome : cette installation peut être exécutée directement sur le poste où le service doit être installé.

•    Installation en Push : cette installation permet de déployer le service à distance sur de nombreux postes connectés en réseau.

4.    Indiquez le répertoire où sera installé par défaut le service. Passez au plan suivant.

5.    Choisissez les fichiers à installer ainsi que le mode d'installation du framework.

6.    Dans l'écran "Description du service", précisez :

•    Le nom du service (à utiliser en programmation dans les fonctionsServiceDémarreouServiceInfopar exemple).

•    Le nom complet du service (affiché dans la colonne "Nom" du gestionnaire de services).

•    La description du service (affiché dans la colonne "Description" du gestionnaire de services).

Passez au plan suivant.

7.    Choisissez les paramètres de démarrage du service:

•    Automatique (par défaut)

•    Manuel

•    Désactivé

Remarque : Il est possible de démarrer le service en mode différé. Cette fonctionnalité est disponible

uniquement à partir de Windows Vista.

8.     Sélectionnez le mode de gestion d'erreur en cas d'échec de démarrage du service :

•    Ignorer les erreurs.

•    Inscrire les erreurs dans le journal d'événements.

•    Inscrire les erreurs dans le journal d'événements et redémarrer la machine avec la dernière configuration valide.

•    Inscrire les erreurs dans le journal d'événements et redémarrer la machine.

9.     Indiquez les paramètres de la ligne de commande à donner lors du démarrage du service. Passez au plan suivant.

10.   Indiquez les paramètres de gestion des erreurs du service. 

Plusieurs défaillances successives peuvent être détectées. Pour chacune d'entre elles, sélectionnez le mode de gestion des erreurs parmi les possibilités suivantes :

•    Ne rien faire.

•    Redémarrer le service (par défaut).

•    Redémarrer la machine.

•    Exécuter un programme.

Passez au plan suivant.

11.   Indiquez le compte utilisateur sous lequel le service devra s'exécuter:

•    Compte système local (par défaut).

•    Compte service local.

•    Compte service réseau.

•    Compte utilisateur sélectionné parmi des comptes existants.

Remarque : Lorsque le service s'exécute avec le compte système local (par défaut), ce service n'a pas accès au réseau. Si les traitements du service doivent accéder au réseau, il faut nécessairement indiquer pour son exécution le compte service réseau ou un utilisateur du domaine.

Passez au plan suivant.

12.   Choisissez les paramètres de gestion de l'accès aux bases de données.

13.   Choisissez les modules complémentaires : licence, lisez-moi, outils optionnels, désinstallateur.

14.   Selon le mode d'installation choisi (autonome ou push), indiquez les options demandées.

L'assistant va ensuite générer l'installation du service.

Services créés avec les versions antérieures à WinDev 15

Services créés avec l'exemple "WD Service NT"

Si vous aviez utilisé l'exemple "WDService NT" pour créer un service avec une version antérieure à WinDev 15, vous pouvez le convertir en un service WinDev de la façon suivante :

1. Ouvrez le projet dans WinDev (version 15 ou supérieure).

2. Créez une nouvelle configuration de type "Service Windows".

3. Dans le traitement "Initialisation" du projet, appelez la procédure "InitService" de votre projet.

4. Dans le traitement "Exécution du service", appelez la procédure "Service" de votre projet.

5. Dans le traitement "Arrêt du service", appelez la procédure "FinService" de votre projet.

Decouvrir ces documents

  • Cours WinDev complet

    Cours WinDev complet

  • Support de cours sur la Manipulation des données avec Windev

    Support de cours sur la Manipulation des données avec Windev

  • Formation avancé de Windev

    Formation avancé de Windev

  • Manuel complet sur les fonctionnalités de Windev

    Manuel complet sur les fonctionnalités de Windev

  • Support de Formation Protection des données sous WinDev

    Support de Formation Protection des données sous WinDev

  • Tutoriel pour apprendre à créer des objets avec 3DS Max

    Tutoriel pour apprendre à créer des objets avec 3DS Max

  • Apprendre à créer des pages Web Dynamiques avec ASP  .NET

    Apprendre à créer des pages Web Dynamiques avec ASP .NET

  • Guide pour créer un modèle avec Word 2016

    Guide pour créer un modèle avec Word 2016

Articles connexes

  • 9 façons amusantes et créatives d’apprendre l’anglais
  •  Comment s’améliorer en informatique avec plaisir ?
  • Études de cas modélisation avec UML
  • Quelle langue choisir pour booster ma carrière : espagnol, chinois, une autre ?
  • Comment créer et convertir vos vidéos pour vos cours en ligne ?
  • Python, pour quelles catégories d’applications ?
  • Fiche méthode : comment apprendre une leçon ?
  • Excel tutorial: how to do a case sensitive VLOOKUP
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02