Derniers Articles
Vous êtes ici : Accueil / Tutoriaux / GroupWare Windev sur MySQL

GroupWare Windev sur MySQL


La gestion des comptes utilisateurs et de leurs rôles dans une application est facilement gérable avec le Groupware utilisateur de Windev. Cette fonctionnalité peut être implémentée avec MySQL. Cet article en décrit la mise en œuvre et un exemple d’utilisation.

Préparation

Vérifier que le driver d’accès natif MySQL est installé

Puisqu’il s’agit d’utiliser MySQL, il faut que le driver d’accès natif à MySQL soit installé sur le poste de développement. C’est un préalable indispensable. Ce driver est téléchargeable gratuitement sur le site PC Soft.

Créer une base de données et un compte utilisateur sur MySQL

Pour accueillir le futur Groupware, il faut une base de données dédiée à cet usage. Il faut également créer un compte pour accéder à la base.

Ouvrez une connexion MySQL et tapez les commandes suivantes.

Pour créer la base :

CREATE DATABASE groupware_windev;

Pour créer l’utilisateur :

Attention : selon la portée que vous voulez donner à cette connexion, la déclaration du host variera. « localhost » pour le plus restrictif jusqu’à « % » pour le plus étendu.

CREATE USER cnx_groupware IDENTIFIED BY ‘motdepasse‘;

Le fait de ne pas préciser le host revient à utiliser %

Enfin, donnez les droits à cette connexion sur la base :

GRANT ALL ON groupware_windev.* TO cnx_groupware;

Utiliser le Groupware dans une application Windev

Activer le Groupware dans le projet

Pour utiliser le groupware dans une application Windev, il faut d’abord l’activer dans le projet.

Allez dans le menu « Projet » puis cliquez sur la rubrique « Groupware utilisateur ».

Puis sélectionnez « Groupware utilisateur automatique » dans l’onglet « Intégration »


Et sélectionnez « Lancement manuel » dans l’onglet « Exécution ».


Initialiser l’application en déclarant la connexion au Groupware

Dans le code d’initialisation de l’application, ajoutez le code suivant :

SI gpwOuvreConnexion(« CnxGPW« ,« cnx_groupware« ,« motdepasse« ,« localhost« , « groupware_windev« ,hAccèsNatifMySQL) = Faux ALORS
Erreur(ErreurInfo())
FIN

Ce code déclare et établit la connexion avec la base de données du Groupware. A la première connexion, les tables nécessaires seront créées dans la base.


Établir la connexion avec le Groupware

Dans un menu ou un bouton de commande proposant la Connexion, ajoutez le code suivant :

SI gpwOuvre() = gpwOk ALORS
FEN_Accueil..Titre = gpwRecupInfoUtilisateur(gpwInfoLogin)
SINON
Erreur(ErreurInfo())
FIN

Ce code ouvre la connexion et demande à l’utilisateur un identifiant et un mot de passe.

A la toute première connexion, vous devez vous connecter avec l’identifiant « Superviseur » et définir un mot de passe.


Un superviseur peut ensuite « Lancer l’application », « Configurer le groupware » ou « Fermer l’application’.


En cliquant sur « Configurer le groupware » vous entrez dans l’outil d’administration qui permet de créer des comptes utilisateurs, des groupes et de gérer les droits de ces utilisateurs et groupes sur les objets de l’application.


Octroyer des droits par le code

Il est également possible d’octroyer des droits à l’utilisateur en cours par le code.

Si par exemple, on veut donner accès au contenu d’un menu en fonction de l’appartenance à un certain groupe (« Commerciaux » dans l’exemple), on pourra tester cette appartenance en interrogeant gpwRecupInfoUtilisateur(gpwInfoGroupe). Cette fonction retourne la liste de tous les groupes auxquels appartient l’utilisateur connecté :

SI Contient(gpwRecupInfoUtilisateur(gpwInfoGroupe), »Commerciaux ») ALORS
OPT_Sce_commercial..Etat = Actif
FIN

Déconnexion de l’utilisateur

Pour déconnecter un utilisateur, il suffit d’utiliser l’instruction gpwDéconnecteUtilisateur().

On retirera dans la foulée tous les droits accordés par le code à l’utilisateur qui vient de se déconnecter.

2 commentaires

  1. Bonjour ,

    je tient a vous remercier pour cette superbe solution ; toute fois un petit problème m’a été générer lors de la création du Mot de passe superviseur : Mot de passe Incorrecte (Première exécution)

    donc je vous sauré gré si possible de nous apporté aide

    merci

  2. Bonjour,

    Super sans cet article aucune info sur le net….merci encore.

Répondre

Votre adresse email ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

shared on wplocker.com