Sources externes
Sources externes
La page Sources externes (contacts) (/admin/dird-sources) connecte un client à des annuaires externes dont les contacts apparaissent dans le softphone des utilisateurs (onglet « Tout »).
Sous-titre : « Connecte le client à Google, Microsoft 365, un annuaire LDAP, un fichier CSV serveur ou un CSV web. Les contacts apparaissent dans le softphone des utilisateurs (onglet « Tout »). »
Prérequis
Un client (tenant) doit être sélectionné. Sinon : « Sélectionne un client pour gérer ses sources de contacts. »
Organisation de la page
La page comprend, dans l'ordre :
- Connecteurs OAuth (identifiants Google / Microsoft, partagés par les sources OAuth).
- Affichages des contacts (colonnes visibles dans les résultats de recherche).
- Profils de recherche (quels affichages et quelles sources pour chaque service).
- Une carte par type de source, regroupant les sources créées.
Types de sources
| Type | Libellé | Usage |
|---|---|---|
| wazo | Collaborateurs | Contacts internes : noms, extensions et e-mails des collaborateurs. |
| personal | Contacts personnels | Carnets personnels des utilisateurs. |
| phonebook | Annuaires entreprise | Sources créées dans Annuaire entreprise (lecture seule ici). |
| conference | Conférences | Salles de conférence publiées comme contacts. |
| Google Contacts | OAuth Google (client_id/client_secret depuis Google Cloud Console, API Contacts activée). | |
| office365 | Microsoft 365 | OAuth Azure AD (app Azure avec Microsoft Graph User.Read + Contacts.Read). |
| ldap | LDAP / Active Directory | Annuaire LDAP générique. |
| csv | CSV serveur | Fichier CSV présent sur le serveur. |
| csv_ws | CSV web | Source CSV interrogée via une URL HTTP/HTTPS. |
Le type phonebook n'est pas modifiable depuis cette page : ces sources se créent dans l'annuaire d'entreprise et s'assignent ensuite aux profils de recherche.
Créer / modifier une source
Le bouton Ajouter d'une carte ouvre une boîte de dialogue à onglets (Connexion, Colonnes, Avancé).
Champ commun
| Champ | Type | Obligatoire | Détails |
|---|---|---|---|
| Nom (libre) | Texte | Oui | Nom affiché dans la liste. Vide → « Nom requis ». Placeholder : « Mon Google d'équipe ». |
Onglet Connexion (selon le type)
Google / Microsoft 365 (OAuth) : les identifiants Client ID et Client Secret se règlent dans la carte Connecteurs OAuth (au-dessus), pas par source. Le redirect URI à enregistrer côté Google Cloud / Azure est affiché. Pour Microsoft 365, le champ URL Microsoft Graph (endpoint) peut être personnalisé (défaut : https://graph.microsoft.com/v1.0/me/contacts).
LDAP / Active Directory :
| Champ | Type | Obligatoire | Détails |
|---|---|---|---|
| URI LDAP | Texte | Oui | Ex. ldaps://ldap.entreprise.ch:636. |
| Base DN | Texte | Oui | Ex. ou=users,dc=entreprise,dc=ch. |
| Utilisateur de connexion | Texte | Non | Bind DN (vide = anonyme). |
| Mot de passe de connexion | Mot de passe | Non | Envoyé uniquement si un utilisateur est renseigné. |
| Filtre LDAP | Texte | Non | Ex. (objectClass=person). |
| Timeout réseau | Nombre | Non | En secondes (placeholder 0.3). |
| Timeout recherche | Nombre | Non | En secondes (placeholder 1). |
Sans URI et base DN : « URI et base DN LDAP sont obligatoires. »
CSV serveur :
| Champ | Type | Obligatoire | Détails |
|---|---|---|---|
| Chemin du fichier CSV | Texte | Oui | Ex. /var/lib/maxipbx/directory.csv. Vide → « Le chemin du fichier CSV est obligatoire. ». |
| Séparateur | Texte | Non | Défaut : ,. |
CSV web :
| Champ | Type | Obligatoire | Détails |
|---|---|---|---|
| URL de recherche | Texte | Oui | URL HTTP(S) de recherche (ex. https://hr.entreprise.ch/contacts/search). |
| URL de liste | Texte | Non | Endpoint de liste complet (ex. …/contacts/all). |
| Séparateur | Texte | Non | Défaut : ,. |
| Timeout | Nombre | Non | En secondes (défaut 10). |
Une URL invalide affiche « Renseigne une URL … valide en http ou https. » et un timeout non numérique « Le timeout doit être un nombre. ».
Onglet Colonnes (mapping)
Présent pour toutes les sources. Définit comment les contacts sont recherchés et affichés. Chaque type a des valeurs par défaut adaptées à son schéma.
| Champ | Type | Détails |
|---|---|---|
| Colonnes recherchées | Texte (séparé par virgules) | Champs interrogés lors d'une recherche. |
| Colonnes de recherche inverse | Texte (séparé par virgules) | Champs utilisés pour identifier un appel entrant. |
| Colonnes affichées | Table clé → valeur | Modèles de mise en forme avec la syntaxe {champ} (ex. displayname: {firstname} {lastname}). |
Onglet Avancé (selon le type)
- LDAP : Colonne unique (ex.
objectGUID) et Format ID unique (ex.string). - CSV web : Vérification certificat TLS (
true,falseou chemin vers un CA.pem). - Autres : « Aucune option avancée spécifique supplémentaire pour ce type de source. »
Un indicateur en lecture seule confirme : « Champs officiels conservés selon le schéma de la source ».
Supprimer une source
Confirmation : « Supprimer "{nom}" ? » / « Cette source ne synchronisera plus de contacts dans le softphone. » Succès : « Source supprimée ».
Toasts : « Source {type} créée », « Source mise à jour », « Source supprimée ». État vide d'une carte : « Aucune source configurée. »
Affichages des contacts
Définissent les colonnes visibles dans les résultats de recherche du softphone. Bouton Nouvel affichage.
| Champ | Type | Détails |
|---|---|---|
| Nom de l'affichage | Texte | Obligatoire. Vide → « Nom d'affichage requis ». |
| Colonnes | Table | Au moins une colonne requise (« Ajoute au moins une colonne à l'affichage. »). |
Pour chaque colonne : champ (nom du champ source), Titre (en-tête visible), type (ex. number), valeur par défaut et modèle d'affichage du numéro (ex. {displayname}).
Suppression : « Supprimer l'affichage "{nom}" ? » / « Les profils qui utilisent cet affichage devront être ajustés. »
Profils de recherche
Un profil définit, pour chaque service, quelles sources servent à rechercher, identifier les numéros entrants et gérer les favoris, ainsi que l'affichage utilisé. Bouton Nouveau profil.
| Champ | Type | Détails |
|---|---|---|
| Nom du profil | Texte | Obligatoire (« Nom de profil requis »). |
| Affichage utilisé | Liste | Obligatoire (« Choisis un affichage pour ce profil. »). |
| Sources | Interrupteurs par service (Recherche / Numéro entrant / Favoris) | Au moins une source requise (« Choisis au moins une source pour ce profil. »). |
Enregistrement d'une ligne de profil : « Profil de recherche mis à jour ». Suppression : « Supprimer le profil "{nom}" ? » / « Les utilisateurs reliés à ce profil n'auront plus cette configuration d'annuaire. »
Si aucune source n'existe encore : « Crée au moins une source ci-dessous pour l'ajouter à un profil. »
Cette page fait partie du hub Communications.