> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Collection Users

`User` représente un compte utilisateur unique dans le système Overleaf. Il stocke les données d'authentification, les indicateurs de fonctionnalités, les préférences de l'éditeur, les droits d'accès et les métadonnées d'activité.

#### Identité et authentification

* `_id` : ObjectId MongoDB unique de l'utilisateur.
* `email` / `emails` : adresse e-mail principale et historique des adresses e-mail.
* `hashedPassword` : mot de passe haché avec BCrypt, utilisé pour l'authentification locale.
* `first_name` / `last_name` : champs de nom du profil utilisateur.
* `role` / `isAdmin` / `adminRoles` : indicateurs de rôle et de privilèges d'administration.
* `twoFactorAuthentication` : configuration de l'authentification à deux facteurs (si elle est activée).
* `samlIdentifiers` / `thirdPartyIdentifiers` : liaisons avec des fournisseurs d'identité externes.

#### État et cycle de vie du compte

* `signUpDate` : horodatage de création du compte.
* `holdingAccount` : indique si le compte est en attente de confirmation ou restreint.
* `must_reconfirm` : indique si l'utilisateur doit reconfirmer son adresse e-mail.
* `lastPrimaryEmailCheck` : date de la dernière validation de l'adresse e-mail principale.

#### Suivi des connexions et de l'activité

* `lastLoginIp` : adresse IP de la dernière connexion réussie.
* `loginCount` : nombre total de connexions réussies.
* `loginEpoch` : compteur interne des sessions de connexion.
* `lastLoggedIn` : horodatage de la dernière connexion.
* `lastActive` : horodatage de la dernière activité enregistrée.
* `lastFailedLogin` : horodatage de la dernière tentative de connexion échouée.

#### Préférences de l'éditeur (`ace`)

Définit les préférences de l'utilisateur pour l'éditeur en ligne :

* `theme` / `overallTheme` : thème de l'éditeur et de l'interface.
* `fontSize` : taille de police de l'éditeur.
* `autoComplete`, `autoPairDelimiters` : fonctionnalités d'aide à la saisie.
* `spellCheckLanguage` : langue utilisée pour la vérification orthographique.
* `pdfViewer` : moteur de visualisation PDF sélectionné.
* `syntaxValidation`, `mathPreview`, `breadcrumbs` : fonctionnalités d'ergonomie de l'éditeur.
* `enableNewEditor` : indique si la nouvelle interface de l'éditeur est activée.

#### Indicateurs de fonctionnalités et limites (`features`)

Contrôle les fonctionnalités disponibles pour l'utilisateur :

* `collaborators` : nombre maximal de collaborateurs (`-1` = illimité).
* `versioning`, `trackChanges` : fonctionnalités d'historique et de suivi des modifications.
* `dropbox`, `github`, `gitBridge` : disponibilité des intégrations externes.
* `compileTimeout` : durée maximale de compilation (en secondes).
* `compileGroup` : groupe de ressources de compilation attribué.
* `aiErrorAssistant` : indicateur de l'assistant d'erreurs de compilation basé sur l'IA.

#### Contrôle d'accès et permissions du personnel (`staffAccess`)

Définit des droits d'accès précis pour le personnel ou les éditeurs :

* Permissions de métriques et de gestion pour les éditeurs, les institutions, les groupes, les administrateurs et les expérimentations.

#### Inscriptions et intégrations

* `enrollment.sso` : inscriptions SSO liées.
* `refProviders` : intégrations de fournisseurs de références.
* `writefull` : état du compte de l'assistant d'écriture Writefull.
* `dsMobileApp` : configuration de l'application mobile (le cas échéant).

#### Programmes et expérimentations

* `alphaProgram` / `betaProgram` / `labsProgram` : participation aux programmes d'accès anticipé.
* `labsExperiments` : fonctionnalités expérimentales activées.
* `awareOfV2` : indique si l'utilisateur a pris connaissance de l'éditeur V2.

#### Parrainages et tutoriels

* `referal_id`, `refered_users`, `refered_user_count` : suivi des parrainages.
* `completedTutorials` : progression des tutoriels d'accueil et de découverte des fonctionnalités.

***

Voici un exemple réel d'utilisateur Overleaf.

<Accordion title="Exemple d'utilisateur">
  ```json5 theme={null}
  {
      _id: ObjectId('69661f10432ad80d8a7de39d'),
      enrollment: {
          sso: []
      },
      staffAccess: {
          publisherMetrics: false,
          publisherManagement: false,
          institutionMetrics: false,
          institutionManagement: false,
          groupMetrics: false,
          groupManagement: false,
          adminMetrics: false,
          splitTestMetrics: false,
          splitTestManagement: false
      },
      ace: {
          mode: 'none',
          theme: 'textmate',
          overallTheme: 'light-',
          fontSize: 12,
          autoComplete: true,
          autoPairDelimiters: true,
          spellCheckLanguage: 'en',
          pdfViewer: 'pdfjs',
          mathPreview: true,
          breadcrumbs: true,
          referencesSearchMode: 'advanced',
          syntaxValidation: true,
          enableNewEditor: false
      },
      features: {
          collaborators: -1,
          versioning: true,
          dropbox: true,
          github: true,
          gitBridge: true,
          compileTimeout: 180,
          compileGroup: 'standard',
          references: true,
          trackChanges: true,
          aiErrorAssistant: false
      },
      refProviders: {},
      writefull: {
          enabled: null,
          autoCreatedAccount: false,
          isPremium: false,
          premiumSource: null
      },
      aiErrorAssistant: {
          enabled: true
      },
      overleaf: {},
      twoFactorAuthentication: {},
      dsMobileApp: {},
      email: 'admin@overleaf.com',
      first_name: 'admin',
      role: '',
      institution: '',
      isAdmin: true,
      adminRoles: [],
      lastLoginIp: '172.19.0.2',
      loginCount: 14,
      holdingAccount: false,
      must_reconfirm: false,
      refered_users: [],
      refered_user_count: 0,
      alphaProgram: false,
      betaProgram: false,
      labsProgram: false,
      labsExperiments: [],
      awareOfV2: false,
      samlIdentifiers: [],
      thirdPartyIdentifiers: [],
      emails: [
          {
              email: 'admin@overleaf.com',
              createdAt: ISODate('2026-01-15T07:53:24.276Z'),
              reversedHostname: 'moc.faelrevo'
          }
      ],
      signUpDate: ISODate('2026-01-13T10:31:44.786Z'),
      featuresOverrides: [],
      referal_id: 'ncbyrxrr6rrfQzgp',
      __v: 0,
      hashedPassword: '$2a$12$bkfRN7zw27mwaFpUbnSsC.naeFoMAwoRxU0qk7dlPH2obhj8jx.lK',
      loginEpoch: 18,
      lastLoggedIn: ISODate('2026-01-19T05:09:01.075Z'),
      lastActive: ISODate('2026-01-19T05:06:43.145Z'),
      last_name: 'user',
      lastPrimaryEmailCheck: ISODate('2026-01-15T07:53:24.283Z'),
      featuresUpdatedAt: ISODate('2026-01-15T07:53:24.305Z'),
      completedTutorials: {
          'ide-redesign-beta-intro': {
              state: 'completed',
              updatedAt: ISODate('2026-01-18T10:55:18.095Z')
          }
      },
      lastFailedLogin: ISODate('2026-01-19T05:08:53.241Z')
  }
  ```
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.