Règlements et périodes règlementaires (Lära)

TABLE DES MATIÈRES
Cycle/getlist
Cycle/getperiodlist
Cycle/getuserprogress
Cycle/getmemberstatuses
Cycle/updatememberstatuses
Cycle/updatememberstatus
Cycle/changecurrentmemberstatus
Cycle/getperiodstatuseslist
Description des codes d’erreurs de cycle

CYCLES

Les « cycles » dans l'API correspondent aux « règlements » dans Lära LMS, qui sont un ensemble de périodes règlementaires comportant des exigences à remplir pour les utilisateurs qui y sont soumis, qui sont nommées dans l'API « period ».

Cycle/getlist

Retourne l’ensemble des règlements pour une organisation.
Adresse de l'appel API : https://.../lmsapi/cycle/getlist

Requête

Exemple de contenu d'appel de requête de la liste des règlements pour une organisation* :

{}

* Aucun champ n'est requis.

Réponse

Exemple d'un contenu d'appel de réponse de la liste des règlements pour une organisation : 

[
    {
        "id": "kXDPpcwin05pz%2abcd3uMhUcA%3d%3d",
        "adminName": "Règlement",
        "useMembershipStatuses": false,
        "isActive": true,
        "isDeleted": false
    },
    {
        "id": "BD3xLibLkQkY0lZrxBxqw1%3d%3d",
        "adminName": "Mon Assistance",
        "useMembershipStatuses": true,
        "isActive": false,
        "isDeleted": false
    },
]

Description des champs

Nom

Obligatoire

Commentaires/description

id

 

Identifiant unique du règlement. (Type string) 

adminName

 

Nom administratif du règlement tel que vu par les administrateurs dans le système. 

useMembershipStatuses

Booléen indiquant si oui ou non les plages d'adhésion des utilisateurs soumis aux exigences de la période règlementaire seront considérées. Si cette option est désactivée, le calcul des exigence ne tiendra pas compte des plages d'adhésion des membres.

isActive

 

Booléen indiquant si oui ou non le règlement est activé.

isDeleted

 

Booléen indiquant si oui ou non le règlement est supprimé.

Cycle/getperiodlist

Retourne l’ensemble des périodes règlementaires du règlement choisi.
Adresse de l'appel API : https://.../lmsapi/cycle/getperiodlist

Requête

Exemple de contenu d'appel de requête de la liste des périodes d'un règlements pour une organisation :

{
  "id": "vBW5xMw1VQ2A8DFaNy22zA",
  "filterDate": "2020-01-01T00:00:00Z"
}

Description des champs

Nom
Obligatoire
Commentaire/description
id
X
Identifiant unique du règlement. (Type string)
filterDate

Date de début minimale de la période règlementaire 

(Type string) : YYYY-MM-DDTHH:MM:SSZ

Réponse

Exemple d'un contenu d'appel de réponse de la liste des périodes d'un règlements pour une organisation : 

[
    {
        "id": "m1V3F8viyukyu8bSXg45m3pOA%3d%3d",
        "adminName": "Règlement - 2022-2023",
        "startDate": "2022-05-31T00:00:00",
        "isAccessibleBeforeStart": true,
        "duration": 2,
        "durationUnit": 4,
        "isRequirementsShown": false,
        "hideTypesWithNoCredit": false,
        "hideCategoriesWithNoCredit": false,
        "ruleId": "aRYKMpUwyGhukzQNTHp21A%3d%3d",
        "isUserStatement": true,
        "isActive": true,
        "isDeleted": false,
        "requirements": [
            {
                "id": "nNjP3%2bb2EMyuo318lYvydmA%3d%3d",
                "cyclePeriodId": "m1V3F8viyukyu8bSXg45m3pOA%3d%3d",
                "type": 1,
                "targetValue": 40.0,
                "parentId": "",
                "ruleId": "",
                "providerId": ""
            }
        ]
    },
    {
        "id": "h98PuYEznoKoyuulo2n73Eg%3d%3d",
        "adminName": "Règlement - 2024-2025",
        "startDate": "2024-04-01T00:00:00",
        "isAccessibleBeforeStart": true,
        "duration": 2,
        "durationUnit": 4,
        "isRequirementsShown": false,
        "hideTypesWithNoCredit": false,
        "hideCategoriesWithNoCredit": false,
        "ruleId": "aRYKMpUwBJbyNTHuky21A%3d%3d",
        "isUserStatement": true,
        "isActive": false,
        "isDeleted": false,
        "requirements": [
            {
                "id": "j9XoGU3mn7f5K7vuvyuiyu%3d%3d",
                "cyclePeriodId": "h98PuYyuiyuiyur2n73Eg%3d%3d",
                "type": 1,
                "targetValue": 30.0,
                "parentId": "",
                "ruleId": "",
                "providerId": ""
            }
        ]
    },
[

Description des champs

Nom

Obligatoire

Commentaires/description

adminName

 

Nom administratif de la période tel que vu par les administrateurs dans le système. 

startDate

 

Date de début du la période.

isAccessibleBeforeStart

Booléen indiquant si on permet ou non l'accès à la période avant sa date de début.

duration

 

Durée de la période en heures, jours, semaines, mois ou années selon le « durationUnit » choisi.

durationUnit

 

Unité de mesure de la durée.

  • 0 = heures
  • 1 = jours
  • 2 = semaines
  • 3 = mois
  • 4 = années

isRequirementsShown

 

Booléen indiquant si on affiche ou non les exigences aux utilisateurs.

hideTypesWithNoCredit

Booléen indiquant si un type sans crédit et/ou heure complété(e) est affiché dans la distribution des crédits/heures du dossier utilisateur
hideCategoriesWithNoCredit

Booléen indiquant si une catégorie sans crédit et/ou heure complété(e) est affichée dans la distribution des crédits/heures du dossier utilisateur

ruleId

 

Règles d’affectation des utilisateurs à la période. (Type String)

isUserStatement

 

Booléen indiquant si on exige ou non une déclaration solennelle.

isActive

 

Booléen indiquant si oui ou non la période est activée.

isDeleted

 

Booléen indiquant si oui ou non la période est supprimée.

requirements

 

Liste des exigences pour compléter la période règlementaire :

  • id : identifiant unique de l'exigence. (Type String)
  • cyclePeriodId : identifiant unique de la période. (Type String)
  • type : le type de requis. (Type Number)
    • 1 = crédits 
    • 2 = types de formations
    • 3 = nombre de catégories
  • targetValue : la valeur à atteindre. (Type Number)
  • parentId : l’identifiant unique du requis parent. Il s'agit des exigences en heures pour la période règlementaire dont dépendent d'autres exigences (Type String)
  • ruleId : l’identifiant unique de la règle attachée (Type String)
  • providerId : l’identifiant unique du fournisseur attaché (Type String)

Cycle/getuserprogress

Retourne la progression d'un utilisateur en relation avec ses exigences dans une période règlementaire.
Adresse de l'appel API : https://.../lmsapi/cycle/getuserprogress

Requête

Exemple d'un contenu d'appel de requête de la progression d'un utilisateur en relation avec ses exigences dans une période règlementaire.

{
  "id": "DTUvbcrKNN3szXg6aQY%2fSg%3d%3d",
  "userId": "nWJ7HZLyI8l2otoNsxuXgA%3d%3d"
}

Description des champs

Nom
Obligatoire
Commentaire/description
id
X
Identifiant unique de la période règlementaire. (Type string)
userId
X

Identifiant unique de l'utilisateur. (Type string)

Réponse

Exemple d'un contenu d'appel de réponse de la progression d'un utilisateur en relation avec ses exigences dans une période règlementaire :

{
  "id": "DTUvbcrKNN3szXg6aQY%2fSg%3d%3d",
  "userId": "nWJ7HZLyI8l2otoNsxuXgA%3d%3d",
  "userStatusId": "uprlbtvuqNuwmncYPu1ljg%3d%3d",
  "requiredCredits": 40.0,
  "completedCredits": 22.0,
  "exemptedCredits": 8.0,
  "providerCredits": 30.0,
  "customFieldAPIName": "custom_field"
}

Description des champs

Nom

Obligatoire

Commentaires/description

id

 

Identifiant unique de la période règlementaire. (Type string)

userId

 

Identifiant unique de l’utilisateur. (Type string)

Utilisé si connu, autrement utiliser customFieldValue et customFieldAPIName.

userStatusId
Identifiant unique du statut du membre actuellement pour la période règlementaire. (Type string) 
requiredCredits
Exigences de l'utilisateur soumis aux exigences de la période règlementaire, en nombre d'heures.
completedCredits
Exigences remplies par l'utilisateur soumis aux exigences de la période règlementaire, en nombre d'heures.
exemptedCredits
Exigences retirées du dossier de l'utilisateur soumis aux exigences de la période règlementaires, en nombre d'heures.
providerCredits
Exigences pour une fournisseur de services remplies par l'utilisateur soumis aux exigences d'une période règlementaire, en nombre d'heures,
CustomFieldAPIName
Champ personnalisé lié à l'utilisateur.

Nom API du champ personnalisé à cibler. 

Utilisé avec customFieldValue si l’identifiant de l’utilisateur n’est pas connu.

Cycle/getmemberstatuses

Retourne la liste des états d'adhésion d'un utilisateur soumis aux exigences d'une période règlementaires.
Adresse de l'appel API : https://.../lmsapi/cycle/getmemberstatuses

Requête

Exemple d'un contenu d'appel de requête de la liste des états d'adhésion d'un utilisateur soumis aux exigences d'une période règlementaire :

{
  "userId": "DTUvbcrKNN3szXg6aLW%2fSg%3d%3d",
  "customFieldAPIName": "num_membre",
  "customFieldValue": "17MQ198"
}

Description des champs

Nom
Obligatoire
Commentaire/description
userId
X

Identifiant unique de l’utilisateur. (Type string) 

Utilisé si connu, autrement utiliser customFieldValue et customFieldAPIName.

customFieldAPIName

Nom API du champ personnalisé à cibler. 

Utilisé avec customFieldValue si l’identifiant de l’utilisateur n’est pas connu.

customFieldValue

Valeur du champ personnalisé à cibler.

Utilisé avec customFieldAPIName si l’identifiant de l’utilisateur n’est pas connu.

Réponse

Exemple d'un contenu d'appel de réponse de la liste des états d'adhésion d'un utilisateur soumis aux exigences d'une période règlementaire :

{
    "statuses": [
        {
            "entryId": "txEsgZNLJHsO2FY%2bO1vk4w%3d%3d",
            "userId": "WhcMwDXxCq%2fsp4YP%2btHUjg%3d%3d",
            "status": "Membre",
            "isActiveMember": true,
            "startDate": "2020-01-01T00:00:00",
            "endDate": "2020-12-31T00:00:00"
        },
        {
            "entryId": "hcJB3jKrzKuSWUYE2%2forFQ%3d%3d",
            "userId": "WhcMwDXxCq%2fsp4YP%2btHUjg%3d%3d",
            "status": "Radié",
            "isActiveMember": false,
            "startDate": "2021-01-01T00:00:00",
            "endDate": "0001-01-01T00:00:00"
        }
    ]
}

Description des champs

Nom

Obligatoire

Commentaires/description

statuses

 

La liste des statuts de l’utilisateur : 

  • entryId : identifiant unique de l’entrée de statut. (Type String)
  • userId : identifiant unique de l'utilisateur. (Type String)
  • status : nom du statut de l’utilisateur. Sert à l'identification dans l'API. (Type String)
  • isActiveMember : booléen indiquant si le membre est considéré actif ou non dans la plage de dates définie. C'est sur ce champ que le système base l'affectation de l'utilisateur aux exigences de la période règlementaire.
  • startDate : date de début de la plage de dates du statut.
  • endDate : date de fin de la plage de dates du statut.

Cycle/updatememberstatuses

Met à jour tous les statuts d’un membre.
Adresse de l'appel API : https://.../lmsapi/cycle/updatememberstatuses

ATTENTION : Cet appel supprimera tous les statuts présents pour l'utilisateur et les remplacera par les nouveaux statuts soumis. Il ne doit y avoir qu'une seule entrée sans date de fin.

Requête

Exemple d'un contenu d'appel de requête de mise à jour des statuts d'un utilisateur soumis aux exigences d'une période règlementaire :

{
  "userId": "WhcMwDXxCq%2fsp4YP%2btHUjg%3d%3d",
  "customFieldAPIName": "Num_membre",
  "customFieldValue": "17MQ198"
  "statuses": [
        {
            "userId": "WhcMwDXxCq%2fsp4YP%2btHUjg%3d%3d",
            "status": "Membre",
            "isActiveMember": true,
            "startDate": "2020-01-01T00:00:00",
            "endDate": "2020-12-31T23:59:59",
         },
         {
            "userId": "WhcMwDXxCq%2fsp4YP%2btHUjg%3d%3d",
            "status": "Radié",
            "isActiveMember": false,
            "startDate": "2021-01-01T00:00:00",
        }
    ]
}

Description des champs

Nom
Obligatoire
Commentaire/description
userId
X

Identifiant unique de l’utilisateur. (Type string) 

Utilisé si connu, autrement utiliser customFieldValue et customFieldAPIName.

customFieldAPIName

Nom API du champ personnalisé à cibler. 

Utilisé avec customFieldValue si l’identifiant de l’utilisateur n’est pas connu.

customFieldValue

Valeur du champ personnalisé à cibler.

Utilisé avec customFieldAPIName si l’identifiant de l’utilisateur n’est pas connu.

statuses

La liste des statuts de l’utilisateur : 

  • userId : identifiant unique de l'utilisateur. (Type String)
  • status : nom du statut de l’utilisateur. Sert à l'identification dans l'API. (Type String)
  • isActiveMember : booléen indiquant si le membre est considéré actif ou non dans la plage de dates définie. C'est sur ce champ que le système base l'affectation de l'utilisateur aux exigences de la période règlementaire. 
  • startDate : date de début de la plage de dates du statut.
  • endDate : date de fin de la plage de dates du statut. Laisser vide si la plage est en cours.

Réponse

Exemple d'un contenu d'appel de réponse de mise à jour des statuts d'un utilisateur soumis aux exigences d'une période règlementaire 

{
    "isSuccess": true
}

Description des champs

Nom
Obligatoire
Commentaire/description
isSuccess

Booléen indiquant si l'opération a été menée avec succès ou non.

Cycle/updatememberstatus

Met à jour le statut d’un utilisateur soumis aux exigences d'une période règlementaire.
Adresse de l'appel API : https://.../lmsapi/cycle/updatememberstatus


Requête

Exemple d'un contenu d'appel de requête de mise à jour du statut d'un utilisateur soumis aux exigences d'une période règlementaire :

{
  "userId": "WhcMwDXxCq%2fsp4YP%2btHUjg%3d%3d",
  "customFieldAPIName": "Num_membre",
  "customFieldValue": "17MQ198"
  "entryId": "UJaPnAzY1OXv6yI%2baYCqzA%3d%3d",
  "status": {
    "status": "Non-membre",
    "isActiveMember" : false,
    "startDate": "2021-01-01T00:00:00"
    "endDate": "2022-12-31T00:00:00"
  }
}

Description des champs

Nom
Obligatoire
Commentaire/description
userId
X

Identifiant unique de l’utilisateur. (Type string) 

Utilisé si connu, autrement utiliser customFieldValue et customFieldAPIName.

customFieldAPIName

Nom API du champ personnalisé à cibler. 

Utilisé avec customFieldValue si l’identifiant de l’utilisateur n’est pas connu.

customFieldValue

Valeur du champ personnalisé à cibler.

Utilisé avec customFieldAPIName si l’identifiant de l’utilisateur n’est pas connu.

entryId
X
Identifiant de l'entrée du statut. Lorsqu'un statut est créé une première fois, un « entryId » lui est assigné. Vous pouvez obtenir ces « entryId » par la méthode /cycle/getmemberstatuses. (Type String)
Status
Informations de mise à jour d'un statut : 
  • status : nom du statut de l’utilisateur. Sert à l'identification dans l'API. (Type String)
  • isActiveMember : booléen indiquant si le membre est considéré actif ou non dans la plage de dates définie. C'est sur ce champ que le système base l'affectation de l'utilisateur aux exigences de la période règlementaire. Si aucune valeur n’est spécifiée (Null = par défaut), le statut sera ignoré. Le champ « status » sera alors utilisé afin de déterminer cette valeur à true si la valeur correspond à une des entrées suivantes : 
  • membre
  • member
  • 1ère inscription
  • inscription
  • temporaire
  • limitation du droit d'exercice
  • suspension du droit d'exercice
  • autorisation spéciale
  • startDate : date de début de la plage de dates du statut.
  • endDate : date de fin de la plage de dates du statut. Laisser vide si la plage est en cours.

Réponse

Exemple d'un contenu d'appel de réponse de mise à jour du statut d'un utilisateur soumis aux exigences d'une période règlementaire :

{
    "isSuccess": true
}

Description des champs

Nom
Obligatoire
Commentaire/description
isSuccess

Booléen indiquant si l'opération a été menée avec succès ou non.

Cycle/changecurrentmemberstatus

Ferme la plage active du statut d’un utilisateur soumis aux exigences d'une période règlementaire et ajoute une nouvelle entrée.
Adresse de l'appel API : https://.../lmsapi/cycle/changecurrentmemberstatus


Requête

Exemple d'un contenu d'appel de requête de changement du statut d'un utilisateur soumis aux exigences d'une période règlementaire :

{
  "userId": "WhcMwDXxCq%2fsp4YP%2btHUjg%3d%3d",
  "customFieldAPIName": "Num_membre",
  "customFieldValue": "17MQ198"
  "status": {
    "status": "Membre",
    "isActiveMember" : true,
    "startDate": "2023-01-01T00:00:00"
    "endDate": "2025-01-01T00:00:00"
  }
}

Description des champs

Nom
Obligatoire
Commentaire/description
userId
X

Identifiant unique de l’utilisateur. (Type string) 

Utilisé si connu, autrement utiliser customFieldValue et customFieldAPIName.

customFieldAPIName

Nom API du champ personnalisé à cibler. 

Utilisé avec customFieldValue si l’identifiant de l’utilisateur n’est pas connu.

customFieldValue

Valeur du champ personnalisé à cibler.

Utilisé avec customFieldAPIName si l’identifiant de l’utilisateur n’est pas connu.

Status
Informations de mise à jour d'un statut : 
  • status : nom du statut de l’utilisateur. Sert à l'identification dans l'API. (Type String)
  • isActiveMember : booléen indiquant si le membre est considéré actif ou non dans la plage de dates définie. C'est sur ce champ que le système base l'affectation de l'utilisateur aux exigences de la période règlementaire. Si aucune valeur n’est spécifiée (Null = par défaut), le statut sera ignoré. Le champ « status » sera alors utilisé afin de déterminer cette valeur à true si la valeur correspond à une des entrées suivantes : 
  • membre
  • member
  • 1ère inscription
  • inscription
  • temporaire
  • limitation du droit d'exercice
  • suspension du droit d'exercice
  • autorisation spéciale
  • startDate : date de début de la plage de dates du statut.
  • endDate : date de fin de la plage de dates du statut. Laisser vide si la plage est en cours.

Réponse

Exemple d'un contenu d'appel de réponse de changement du statut d'un utilisateur soumis aux exigences d'une période règlementaire :

{
    "isSuccess": true
}

Description des champs

Nom
Obligatoire
Commentaire/description
isSuccess

Booléen indiquant si l'opération a été menée avec succès ou non.

Cycle/getperiodstatuseslist

Retourne la liste des statuts existants pour une période règlementaire.
Adresse de l'appel API : https://.../lmsapi/cycle/getperiodstatuseslist


Requête

Exemple d'un contenu d'appel de requête de liste des statuts d'une période règlementaire :

{
   "id": "m1V3F8viVz8bSXg45m3pOA%3d%3d"
}

Description des champs

Nom
Obligatoire
Commentaire/description
id
X

Identifiant unique de la période réglementaire. (Type String)

Réponse

Exemple d'un contenu d'appel de réponse de liste des statuts d'une période règlementaire :

[
    {
        "id": "m1V3F8viVz8bSXg45m3pOA%3d%3d",
        "statusId": "Lhp7lNjdUAnQc4pGKe4tDg%3d%3d",
        "adminName": "En cours",
        "name": {
            "texts": [
                {
                    "text": "En cours",
                    "languageId": 1
                },
                {
                    "text": "Ongoing",
                    "languageId": 2
                },
                {
                    "languageId": 3
                },
                {
                    "languageId": 4
                }
            ],
            "ErrorID": 0
        },
        "shortDescription": {
            "texts": [
                {
                    "text": "Voici ma description courte",
                    "languageId": 1
                },
                {
                    "text": "Short description",                    
                    "languageId": 2
                },
                {
                    "languageId": 3
                },
                {
                    "languageId": 4
                }
            ],
            "ErrorID": 0
        },
        "fullDescription": {
            "texts": [
                {
                    "text": "<p>Le nombre d'heures obligatoires à compléter sur deux ans est inscrit dans la partie supérieure droite de votre registre.</p>",
                    "languageId": 1
                },
                {
                    "text": "<p>The number of mandatory hours to be completed over two years is listed in the upper right hand corner of your folder.</p>",                    
                    "languageId": 2
                },
                {
                    "languageId": 3
                },
                {
                    "languageId": 4
                }
            ],
            "ErrorID": 0
        }
    },
    {
        "id": "m1V3F8viVz8bSXg45m3pOA%3d%3d",
        "statusId": "xsZkyQGVStGJwPRu4xt0Fg%3d%3d",
        "adminName": "Conforme",
        "name": {
            "texts": [
                {
                    "text": "Conforme",
                    "languageId": 1
                },
                {
                    "text": "Completed",
                    "languageId": 2
                },
                {
                    "languageId": 3
                },
                {
                    "languageId": 4
                }
            ],
            "ErrorID": 0
        },
        "shortDescription": {
            "texts": [
                {
                    "text": "Heures complétées",
                    "languageId": 1
                },
                {
                    "text": "Hours completed",
                    "languageId": 2
                },
                {
                    "languageId": 3
                },
                {
                    "languageId": 4
                }
            ],
            "ErrorID": 0
        },
        "fullDescription": {
            "texts": [
                {
                    "text": "Description complète",
                    "languageId": 1
                },
                {
                    "text": "Complete description",
                    "languageId": 2
                },
                {
                    "languageId": 3
                },
                {
                    "languageId": 4
                }
            ],
            "ErrorID": 0
        }
    }
]

Description des champs

Nom

Obligatoire

Commentaires/description

id

X

Identifiant unique de la période règlementaire. (Type string)

statusId

 

Identifiant unique du statut de membre pour la période règlementaire. (Type string)

adminName
Nom administratif du statut 
name
Nom du statut affiché à l'utilisateur soumis aux exigences de la période règlementaire :
  • texts: nom du statut affiché à l'utilisateur. (Type string)
  • languageId : Le nom du statut peut être multilingue (Type Number) : 
    • 1 = Français (Canada) 
    • 2 = Anglais
    • 3 = Espagnol
    • 4 = Allemand

ErrorId : 

shortDescription




Description courte du statut affichée à l'utilisateur soumis aux exigences de la période règlementaire :
  • texts: description courte affichée à l'utilisateur. (Type string)
  • languageId : Le nom du statut peut être multilingue (Type Number) : 
    • 1 = Français (Canada) 
    • 2 = Anglais
    • 3 = Espagnol
    • 4 = Allemand

ErrorId :

fullDescription
Description longue du statut affichée à l'utilisateur soumis aux exigences de la période règlementaire :
  • texts: description longue affichée à l'utilisateur. (Type string)
  • languageId : Le nom du statut peut être multilingue (Type Number) : 
    • 1 = Français (Canada) 
    • 2 = Anglais
    • 3 = Espagnol
    • 4 = Allemand

ErrorId :

Description des codes d’erreurs de cycle

Numéro

Message

Commentaires/description

1000

Required id

Vous devez fournir un identifiant pour le cycle

1001

Invalid id

L’identifiant fourni pour le cycle est invalide.

1002

Required memberId

Vous devez fournir un identifiant pour le membre.

1003

Invalid memberId

L’identifiant fourni pour le membre est invalide.

1004

Required customFieldAPIName

Vous devez fournir le nom du champ personnalisé dans l’api.

1005

Invalid customFieldAPIName

Le nom du champ personnalisé dans l’api fourni est invalide.

1006

A list of statuses must be provided

La liste des statuts doit être fournie.

1007

A status must be provided

Un statut non-vide doit être défini.

1008

Invalid status id

L’identifiant de l’entrée d’un statut est invalide.

1009

Invalid user

L’identifiant de l’utilisateur fourni est invalide.

1010

Invalid date

La date de fin de la plage du statut doit être supérieure ou égale à la date de début.

Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.