MaxiPBX
Administration

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 :

  1. Connecteurs OAuth (identifiants Google / Microsoft, partagés par les sources OAuth).
  2. Affichages des contacts (colonnes visibles dans les résultats de recherche).
  3. Profils de recherche (quels affichages et quelles sources pour chaque service).
  4. 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 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, false ou 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.