EN version 17, c'est encore plus simple
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
WD POUVOIR CREER SES PROPRES ACCES SANS PASSER PAR LE GROUPWARE
Discussion dans 'Windev' créé par ptrous, Déc 23, 2019.
Page 1 sur 3
Bonjour,
Par module qui gère les accès tu veux dire gérer les rôles et habilitations ?Cliquez pour agrandir...
Dans ce cas t'aura du fil à retordre
Je n'utilise plus le groupware utilisateur de windev depuis des décennies, par contre j'ai monté mon propre système Profils-Rôles-Habilitations que j'utilise dans des projets assez volumineux et complexes (pas forcement ce que tu dois faire mais il faut s'attendre,si tu compte mettre un en place, à des évaluations au fur et à mesure)
Après qlqs années d'amplification, d'amélioration continues.. et beaucoup de nuits blanchesje ne peux pas dire que je suis totalement satisfait, mais je peux me permettre d'avoir un certain confort de programmation en utilisant ce système dans le pratique.
Pour te donner une idée de l’ampleur de taf de la mise en marche de son propre système de Profils-Rôles-Habilitations, de la complexité de mise en œuvre, mais aussi de l'aisance et la simplicité de l'usage une fois le systeme est en marche.
Voici, en grosso modo, ce que j’utilise:
La gestion des profils:
![]()
La fiche Profil Administrateur ACS :
![]()
Une Fiche d'un utilisateur affecté à ce profil:
![]()
A la sortie de cette fiche une chaine contenant tous les rôles est générée /mise à jour.
Dans notre exemple voici à quoi cette chaine des roles ressemble :
Par contre la même chaine d'un profil Vision détaillée par exemple sera de la sorte :Code (Text):ROLE_documentsPreRemplis,ROLE_nouvelleDsp,ROLE_formulaireAmontDsp,ROLE_validationAvisRectificatif,ROLE_validationAvisRectificatifOffre,ROLE_validationAvisRectificatifOffreFinale,ROLE_consolidationDCEpt,ROLE_consolidationDCEOffrept,ROLE_consolidationDCEOffreFinalept,ROLE_definirOrdreDuJourCIM,ROLE_baseConnaissance,ROLE_instanceCAO,ROLE_REDACTION,ROLE_direction_service,ROLE_recommandationAttributairesPressentisPA,ROLE_recommandationAttributairesPressentis,ROLE_recommandationProjetsPressentis,ROLE_recommandationAttributairesPressentisPADsp,ROLE_recommandationAttributairesPressentisDsp,ROLE_recommandationAttributairesPressentisEnveloppeUnique,ROLE_calendrierInitial,ROLE_envoiDemat,ROLE_envoiDematOffre,ROLE_envoiDematOffreFinale,ROLE_suiviEchange,ROLE_envoiLettreConsultation,ROLE_envoiDCEOperateur,ROLE_suiviEchangeDemat,ROLE_suiviEchangeDematOffre,ROLE_suiviEchangeDsp,ROLE_suiviEchangeDematOffreFinale,ROLE_attributionMarcheAvenant,ROLE_definirOrdreDuJourCAO,ROLE_declarerSansSuite,ROLE_envoyerDossierCAO,ROLE_declarerClos,ROLE_dupliquerConsultation,ROLE_creerContactEntreprise,ROLE_accordCadre,ROLE_REDACTION,ROLE_clause,ROLE_choixSupportRectificatif,ROLE_choixSupportRectificatifOffre,ROLE_choixSupportRectificatifOffreFinale,ROLE_referentielSupportExterne,ROLE_biCles,ROLE_lancementConsultation,ROLE_faireSuite,ROLE_compteBOAMP,ROLE_gestionAction,ROLE_attributionMarche,ROLE_transmissionMarcheControleLegalite,ROLE_attributionMarcheDsp,ROLE_ouvertureCandidature,ROLE_ouvertureCandidatureEnveloppeUnique,ROLE_nouvelleConsultation,ROLE_caracteristiquesConsultation,ROLE_annonceAccueil,ROLE_declarerClosDSP,ROLE_preparationAvisAttribution,ROLE_REDACTION,ROLE_integralement_article,ROLE_validationPiecesDCE,ROLE_validationPiecesDCEOffre,ROLE_validationPiecesDCEOffreFinale,ROLE_registreDepot,ROLE_registreDepotOffre,ROLE_registreDepotOffreFinale,ROLE_recommandationCandidaturesAdmissiblesPA,ROLE_recommandationDspPA1,ROLE_recommandationDspPA2,ROLE_visionDetaillee,ROLE_REDACTION,ROLE_document,ROLE_invaliderDCE,ROLE_REDACTION,ROLE_canevas,ROLE_validerCalendrierInitial,ROLE_registreRetrait,ROLE_registreRetraitOffre,ROLE_registreRetraitOffreFinale,ROLE_fichePratique,ROLE_choixSupportAttribution,ROLE_dupliquerDSP,ROLE_ecritureConsultation,ROLE_nouvelAvenant,ROLE_creerAvenant,ROLE_validationAAPC,ROLE_questionReponse,ROLE_questionReponseOffre,ROLE_questionReponseOffreFinale,ROLE_consolidationDCEpa,ROLE_consolidationDCEOffrepa,ROLE_consolidationDCEOffreFinalepa,ROLE_creerEntreprise,ROLE_instanceCIM,ROLE_nouvelAvenant,ROLE_creerAvenant,ROLE_gestionAvenants,ROLE_candidatureEcarte,ROLE_candidatureEcartePA,ROLE_leveeAnonymat,ROLE_dissocierLot,ROLE_quorumCAO,ROLE_avisAttribution,ROLE_avisAttributionAvenant,ROLE_notificationAvenant,ROLE_visionDetailleeBeneficiaire,ROLE_complementAction,ROLE_choixSupportPublicite,ROLE_preinscriptionRecommandationCandidaturesAdmissiblesPA,ROLE_preinscriptionRecommandationAttributairesPressentisEnveloppeUnique,ROLE_preinscriptionSuiviEchange,ROLE_preinscriptionRecommandationDspPA1,ROLE_preinscriptionRecommandationAttributairesPressentisPA,ROLE_preinscriptionRecommandationAttributairesPressentis,ROLE_preinscriptionCandidature,ROLE_preinscriptionOffre, ROLE_preinscriptionOffreFinale,ROLE_attribution,ROLE_preinscriptionAvisCommission,ROLE_preparationAvisRectificatif,ROLE_preparationAvisRectificatifOffre,ROLE_preparationAvisRectificatifOffreFinale,ROLE_suiviDeliberationAmont,ROLE_suiviDeliberationAval,ROLE_suiviDeliberationAvalAvenant,ROLE_reunionCAO,ROLE_commissionDeliberations,ROLE_calendrierReel,ROLE_ajustementDCE,ROLE_ajustementDCEOffre,ROLE_ajustementDCEOffreFinale,ROLE_quorumCIM,ROLE_recommandationCandidature,ROLE_recommandationDspSAPIN,ROLE_ouvertureCandidature,ROLE_ouvertureCandidatureEnveloppeUnique,ROLE_statistiques,ROLE_gestionCourrier,ROLE_redactionLettreConsultation,ROLE_utilisateur,ROLE_preInscrireConsultationCIM,ROLE_afficherToutesConsultations,ROLE_confirmationAttribution,ROLE_avisCommission,ROLE_lancementRectification,ROLE_lancementRectificationOffre,ROLE_lancementRectificationOffreFinale,ROLE_infoBulle,ROLE_declarerInfructueux,ROLE_validationAvisAttribution,ROLE_reunionCIM,ROLE_sirenRaisonSocial,ROLE_registreDepotConcours,ROLE_ouvertureOffre,ROLE_ouvertureReponse,ROLE_ouvertureProjetPA,ROLE_ouvertureOffreFinale,ROLE_ouvertureOffreFinanciere,ROLE_ouvertureOffreSimple,ROLE_ouvertureOffreEnveloppeUnique,ROLE_envoyerDossierCIM,ROLE_preparationAAPC,ROLE_profil,ROLE_suiviEnvoiPublicite,ROLE_attributionSousReserve,ROLE_attributionSousReservePA,ROLE_attributionSousReserveEnveloppeUnique,ROLE_organigrammeDirection,ROLE_envoiDossier,ROLE_gestionDocumentModele,ROLE_accesAuxRapportsMisADispositionPourTousMembres
Code (Text):ROLE_visionDetaillee,ROLE_calendrierReel,ROLE_visionDetailleeBeneficiaire,ROLE_historiqueAjustementDce
Voici comment je test si un profile, selon ses propres roles, a les habilitations par exemple de voir un tel bouton, menu,... ou pas:
Code (Windev):ZR_Recensement[ZR_Recensement].BTN_Validation5..Visible =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(gsRole,"ROLE_administrerLesProcedures",MotComplet)
ZR_Recensement[ZR_Recensement].BTN_Refuser5..Visible =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(gsRole,"ROLE_administrerLesProcedures",MotComplet)
ZR_Recensement[ZR_Recensement].BTN_ModifierComm..Visible =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(gsRole,"ROLE_administrerLesProcedures",MotComplet)
Ce système n'est pas parfait mais je le maitrise bien et il me fait gagner énormément du temps.
Certes on peut faire autrement, mais l'essentiel c'est qu'on soit alaise avec la méthode qu'on choisi.
Bon dev.
Gemini1961, ptrous, WX1331 et 1 autre personne aiment ça.
Bonjour je vois vraiment que j ai du taf,
BonjourBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
,
par simple curiosité, pourquoi tu n'utilise plus le Groupware. C'est quoi les problème que tu as rencontré ?
Ce système n'est pas parfait mais je le maitrise bien et il me fait gagner énormément du temps.Cliquez pour agrandir...
Perso je n'ai pas eu de problème avec le groupware, sauf par exemple sur le clic d'un bouton, ca plante en disant qu'on a pas accès au bouton mais qu'en réalité on a accès. Mais en ouvrant l'app de nouveau tout est ok... Mais ce n'est pas très fréquent, 1x par mois pour 50 utilisateurs par exemple. Ce qui ne vaut pas la peine de se pencher à refaire le groupware dans mon cas. Mais je ne l'ai peut-être pas poussé assez loin pour voir les lacunes de celui-ci.
Si d'autre personne veule partager leur expérience avec le groupware je suis preneur aussi

Merci
Mais je voudrais savoir si tu l a déja utilisé avec un autre SGBD comme Sql Server .?
Euh... non, justement, toujours sur HFSQL et seulement en windev. Probablement pour ca que je n'ai jamais vraiment vu ces limites![]()
Euh... non, justement, toujours sur HFSQL et seulement en windev. Probablement pour ca que je n'ai jamais vraiment vu ces limitesCliquez pour agrandir...
Dans ce cas t'aura du fil à retordre
Je n'utilise plus le groupware utilisateur de windev depuis des décennies, par contre j'ai monté mon propre système Profils-Rôles-Habilitations que j'utilise dans des projets assez volumineux et complexes (pas forcement ce que tu dois faire mais il faut s'attendre,si tu compte mettre un en place, à des évaluations au fur et à mesure)
Après qlqs années d'amplification, d'amélioration continues.. et beaucoup de nuits blanchesje ne peux pas dire que je suis totalement satisfait, mais je peux me permettre d'avoir un certain confort de programmation en utilisant ce système dans le pratique.
Pour te donner une idée de l’ampleur de taf de la mise en marche de son propre système de Profils-Rôles-Habilitations, de la complexité de mise en œuvre, mais aussi de l'aisance et la simplicité de l'usage une fois le systeme est en marche.
Voici, en grosso modo, ce que j’utilise:
La gestion des profils:
![]()
La fiche Profil Administrateur ACS :
![]()
Une Fiche d'un utilisateur affecté à ce profil:
![]()
A la sortie de cette fiche une chaine contenant tous les rôles est générée /mise à jour.
Dans notre exemple voici à quoi cette chaine des roles ressemble :
Par contre la même chaine d'un profil Vision détaillée par exemple sera de la sorte :Code (Text):ROLE_documentsPreRemplis,ROLE_nouvelleDsp,ROLE_formulaireAmontDsp,ROLE_validationAvisRectificatif,ROLE_validationAvisRectificatifOffre,ROLE_validationAvisRectificatifOffreFinale,ROLE_consolidationDCEpt,ROLE_consolidationDCEOffrept,ROLE_consolidationDCEOffreFinalept,ROLE_definirOrdreDuJourCIM,ROLE_baseConnaissance,ROLE_instanceCAO,ROLE_REDACTION,ROLE_direction_service,ROLE_recommandationAttributairesPressentisPA,ROLE_recommandationAttributairesPressentis,ROLE_recommandationProjetsPressentis,ROLE_recommandationAttributairesPressentisPADsp,ROLE_recommandationAttributairesPressentisDsp,ROLE_recommandationAttributairesPressentisEnveloppeUnique,ROLE_calendrierInitial,ROLE_envoiDemat,ROLE_envoiDematOffre,ROLE_envoiDematOffreFinale,ROLE_suiviEchange,ROLE_envoiLettreConsultation,ROLE_envoiDCEOperateur,ROLE_suiviEchangeDemat,ROLE_suiviEchangeDematOffre,ROLE_suiviEchangeDsp,ROLE_suiviEchangeDematOffreFinale,ROLE_attributionMarcheAvenant,ROLE_definirOrdreDuJourCAO,ROLE_declarerSansSuite,ROLE_envoyerDossierCAO,ROLE_declarerClos,ROLE_dupliquerConsultation,ROLE_creerContactEntreprise,ROLE_accordCadre,ROLE_REDACTION,ROLE_clause,ROLE_choixSupportRectificatif,ROLE_choixSupportRectificatifOffre,ROLE_choixSupportRectificatifOffreFinale,ROLE_referentielSupportExterne,ROLE_biCles,ROLE_lancementConsultation,ROLE_faireSuite,ROLE_compteBOAMP,ROLE_gestionAction,ROLE_attributionMarche,ROLE_transmissionMarcheControleLegalite,ROLE_attributionMarcheDsp,ROLE_ouvertureCandidature,ROLE_ouvertureCandidatureEnveloppeUnique,ROLE_nouvelleConsultation,ROLE_caracteristiquesConsultation,ROLE_annonceAccueil,ROLE_declarerClosDSP,ROLE_preparationAvisAttribution,ROLE_REDACTION,ROLE_integralement_article,ROLE_validationPiecesDCE,ROLE_validationPiecesDCEOffre,ROLE_validationPiecesDCEOffreFinale,ROLE_registreDepot,ROLE_registreDepotOffre,ROLE_registreDepotOffreFinale,ROLE_recommandationCandidaturesAdmissiblesPA,ROLE_recommandationDspPA1,ROLE_recommandationDspPA2,ROLE_visionDetaillee,ROLE_REDACTION,ROLE_document,ROLE_invaliderDCE,ROLE_REDACTION,ROLE_canevas,ROLE_validerCalendrierInitial,ROLE_registreRetrait,ROLE_registreRetraitOffre,ROLE_registreRetraitOffreFinale,ROLE_fichePratique,ROLE_choixSupportAttribution,ROLE_dupliquerDSP,ROLE_ecritureConsultation,ROLE_nouvelAvenant,ROLE_creerAvenant,ROLE_validationAAPC,ROLE_questionReponse,ROLE_questionReponseOffre,ROLE_questionReponseOffreFinale,ROLE_consolidationDCEpa,ROLE_consolidationDCEOffrepa,ROLE_consolidationDCEOffreFinalepa,ROLE_creerEntreprise,ROLE_instanceCIM,ROLE_nouvelAvenant,ROLE_creerAvenant,ROLE_gestionAvenants,ROLE_candidatureEcarte,ROLE_candidatureEcartePA,ROLE_leveeAnonymat,ROLE_dissocierLot,ROLE_quorumCAO,ROLE_avisAttribution,ROLE_avisAttributionAvenant,ROLE_notificationAvenant,ROLE_visionDetailleeBeneficiaire,ROLE_complementAction,ROLE_choixSupportPublicite,ROLE_preinscriptionRecommandationCandidaturesAdmissiblesPA,ROLE_preinscriptionRecommandationAttributairesPressentisEnveloppeUnique,ROLE_preinscriptionSuiviEchange,ROLE_preinscriptionRecommandationDspPA1,ROLE_preinscriptionRecommandationAttributairesPressentisPA,ROLE_preinscriptionRecommandationAttributairesPressentis,ROLE_preinscriptionCandidature,ROLE_preinscriptionOffre, ROLE_preinscriptionOffreFinale,ROLE_attribution,ROLE_preinscriptionAvisCommission,ROLE_preparationAvisRectificatif,ROLE_preparationAvisRectificatifOffre,ROLE_preparationAvisRectificatifOffreFinale,ROLE_suiviDeliberationAmont,ROLE_suiviDeliberationAval,ROLE_suiviDeliberationAvalAvenant,ROLE_reunionCAO,ROLE_commissionDeliberations,ROLE_calendrierReel,ROLE_ajustementDCE,ROLE_ajustementDCEOffre,ROLE_ajustementDCEOffreFinale,ROLE_quorumCIM,ROLE_recommandationCandidature,ROLE_recommandationDspSAPIN,ROLE_ouvertureCandidature,ROLE_ouvertureCandidatureEnveloppeUnique,ROLE_statistiques,ROLE_gestionCourrier,ROLE_redactionLettreConsultation,ROLE_utilisateur,ROLE_preInscrireConsultationCIM,ROLE_afficherToutesConsultations,ROLE_confirmationAttribution,ROLE_avisCommission,ROLE_lancementRectification,ROLE_lancementRectificationOffre,ROLE_lancementRectificationOffreFinale,ROLE_infoBulle,ROLE_declarerInfructueux,ROLE_validationAvisAttribution,ROLE_reunionCIM,ROLE_sirenRaisonSocial,ROLE_registreDepotConcours,ROLE_ouvertureOffre,ROLE_ouvertureReponse,ROLE_ouvertureProjetPA,ROLE_ouvertureOffreFinale,ROLE_ouvertureOffreFinanciere,ROLE_ouvertureOffreSimple,ROLE_ouvertureOffreEnveloppeUnique,ROLE_envoyerDossierCIM,ROLE_preparationAAPC,ROLE_profil,ROLE_suiviEnvoiPublicite,ROLE_attributionSousReserve,ROLE_attributionSousReservePA,ROLE_attributionSousReserveEnveloppeUnique,ROLE_organigrammeDirection,ROLE_envoiDossier,ROLE_gestionDocumentModele,ROLE_accesAuxRapportsMisADispositionPourTousMembres
Code (Text):ROLE_visionDetaillee,ROLE_calendrierReel,ROLE_visionDetailleeBeneficiaire,ROLE_historiqueAjustementDce
Voici comment je test si un profile, selon ses propres roles, a les habilitations par exemple de voir un tel bouton, menu,... ou pas:
Code (Windev):ZR_Recensement[ZR_Recensement].BTN_Validation5..Visible =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(gsRole,"ROLE_administrerLesProcedures",MotComplet)
ZR_Recensement[ZR_Recensement].BTN_Refuser5..Visible =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(gsRole,"ROLE_administrerLesProcedures",MotComplet)
ZR_Recensement[ZR_Recensement].BTN_ModifierComm..Visible =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(gsRole,"ROLE_administrerLesProcedures",MotComplet)
Ce système n'est pas parfait mais je le maitrise bien et il me fait gagner énormément du temps.
Certes on peut faire autrement, mais l'essentiel c'est qu'on soit alaise avec la méthode qu'on choisi.
Bon dev.
Cliquez pour agrandir...