# Global

##

### Methods

#### calculateAge(p) → {number}

Calcule l'âge en années d'une personne à partir de sa date de naissance.

##### Parameters:

Name | Type | Description
--- | --- | ---
`p` | Object | Objet représentant une personne, avec un champ `birth` de type Date.

Source:
  - utils/module.js, line 13

##### Throws:

- "missing param p" si `p` est undefined.
  Type
    Error
- "wrong format" si `p` n'est pas un objet.
  Type
    Error
- "no birth field" si `p.birth` est manquant ou n'est pas une Date.
  Type
    Error

##### Returns:

L'âge en années (NaN si la date est invalide).

Type
  number

##### Example

    calculateAge({ birth: new Date("1998-01-22") }); // 28

#### calculateAge()

Source:
  - utils/module.test.js, line 2

#### isAdult(birth) → {boolean}

Vérifie qu'une personne est majeure (>= 18 ans) à partir de sa date de naissance.

##### Parameters:

Name | Type | Description
--- | --- | ---
`birth` | Date | La date de naissance.

Source:
  - utils/module.js, line 87

##### Returns:

`true` si la personne a 18 ans ou plus, sinon `false`.

Type
  boolean

##### Example

    isAdult(new Date("1998-01-22")); // true

#### isAdult()

Source:
  - utils/module.test.js, line 120

#### isValidCodePost(code) → {boolean}

Vérifie qu'un code postal est au format français (exactement 5 chiffres).

##### Parameters:

Name | Type | Description
--- | --- | ---
`code` | string | Le code postal à valider.

Source:
  - utils/module.js, line 41

##### Returns:

`true` si le code est composé de 5 chiffres exactement, sinon `false`.

Type
  boolean

##### Example

    isValidCodePost("75001"); // true
    isValidCodePost("123");   // false

#### isValidCodePost()

Source:
  - utils/module.test.js, line 44

#### isValidEmail(email) → {boolean}

Vérifie qu'une adresse email a un format valide (`local@domaine.ext`, sans espaces).

##### Parameters:

Name | Type | Description
--- | --- | ---
`email` | string | L'email à valider.

Source:
  - utils/module.js, line 73

##### Returns:

`true` si l'email est valide, sinon `false`.

Type
  boolean

##### Example

    isValidEmail("test@example.com"); // true
    isValidEmail("test@example");     // false

#### isValidEmail()

Source:
  - utils/module.test.js, line 93

#### isValidName(name) → {boolean}

Vérifie qu'une chaîne contient uniquement des lettres (accents/trémas inclus), espaces, apostrophes ou tirets — utilisé pour nom, prénom et ville.

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | La chaîne à valider.

Source:
  - utils/module.js, line 58

##### Returns:

`true` si la chaîne est valide, sinon `false`.

Type
  boolean

##### Example

    isValidName("Jean-Pierre"); // true
    isValidName("Élodie");      // true
    isValidName("Jean123");     // false

#### isValidName()

Source:
  - utils/module.test.js, line 63