# Global

##

### Methods

#### armstrongNumber(number) → {string}

Vérifie si un nombre fait partie des nombres d'Armstrong.

##### Parameters:

Name | Type | Description
--- | --- | ---
`number` | number | Le nombre à tester

Source:
  - fonctions_principales.js, line 535

##### Returns:

Type
  string

##### Example

    armstrongNumber(153) → 153 est un nombre d'Armstrong, car  1<sup>3</sup> + 5<sup>3</sup> + 3<sup>3</sup> = 153.

#### binaryToDecimal(value) → {number|string}

Convertis un nombre binaire en décimal.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | string | Le nombre à convertir

Source:
  - fonctions_principales.js, line 258

##### Requires:

- formatNumberResult

##### Returns:

- Le nombre en décimal soit en nombre ou soit en string si supérieur à 1000 car pour 1000 par exemple formatNumberResult renvoie '1 000'

Type
  number | string

##### Example

    binaryToDecimal('10') → 2

#### binaryToHexadecimal(value) → {string}

Convertis un nombre binaire en hexadécimal.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | string | Le nombre à convertir

Source:
  - fonctions_principales.js, line 309

##### Returns:

- Le nombre en hexadécimal

Type
  string

##### Example

    binaryToHexadecimal('1111') → 'F'

#### binaryToText(s) → {string}

Convertis du Binaire (UTF-8) en Texte.

##### Parameters:

Name | Type | Description
--- | --- | ---
`s` | string | La chaîne de caractère contenant tous les octets à convertir

Source:
  - fonctions_principales.js, line 405

##### Returns:

Type
  string

##### Example

    binaryToText('01100001 01100010 01100011') → 'abc'

#### calculateAge(birthDateEntered) → {string}

Calcule l'âge de quelqu'un selon ça date de naissance.

##### Parameters:

Name | Type | Description
--- | --- | ---
`birthDateEntered` | string | Date de naissance (dd/mm/yyyy)

Source:
  - fonctions_principales.js, line 53
See:
  - https://momentjs.com/

##### Requires:

- formatNumberResult, isValidDate
- "external:moment.js"

##### Returns:

- L'âge en jours, mois et années

Type
  string

##### Example

    calculateAge('31/03/2003')

#### capitalize(s) → {string}

Majuscule à la 1ère lettre d'une string.

##### Parameters:

Name | Type | Description
--- | --- | ---
`s` | string |

Source:
  - fonctions_annexes.js, line 41

##### Returns:

Type
  string

##### Example

    capitalize('hello world!') → 'Hello world!'

#### convertArabicToRoman(nombre) → {string}

Convertis un nombre arabe en nombre romain.

##### Parameters:

Name | Type | Description
--- | --- | ---
`nombre` | number | Le nombre arabe à convertir

Source:
  - fonctions_principales.js, line 467

##### Requires:

- correspondancesRomainArabe

##### Returns:

Type
  string

##### Example

    convertArabicToRoman(24) → 'XXIV'

#### convertCurrency(value, currency, url)

Convertis une valeur dans une devise dans une autre devise grâce à l'API exchangeratesapi.io.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | number | la valeur à convertir
`currency` | string | la devise à avoir après conversion
`url` | string | l'url de la requête à l'API en fonction du paramètre dans l'url '?base='

Source:
  - fonctions_principales.js, line 197
See:
  - https://jquery.com/ Requête en AJAX avec jQuery
  - https://api.exchangeratesapi.io/ API de taux de change

##### Requires:

- formatNumberResult
- correspondancesMonnaie

##### Example

    convertCurrency(50, "$ Américain", "https://api.exchangeratesapi.io/latest?base=EUR")
    Ajoute au DOM de la page dans la div .results et .rateDate :
    50 EUR = 55.17 $ Américain
    Dernier rafraîchissement du taux d'échange : 08/11/2019

#### convertDistance(firstValue, unitFirstValue, unitFinalValue) → {string}

Convertis la longueur (distance) avec les unités allant de picomètre au Téramètre.

##### Parameters:

Name | Type | Description
--- | --- | ---
`firstValue` | number | Le nombre que vous voulez convertir
`unitFirstValue` | string | L'unité du nombre que vous voulez convertir
`unitFinalValue` | string | L'unité de votre nombre après la conversion

Source:
  - fonctions_principales.js, line 123

##### Returns:

- Conversion de longueur : firstValue unitFirstValue = result

Type
  string

##### Example

    convertDistance(500, 'cm', 'm') → Conversion de longueur : 500 cm = 5 m

#### convertRomanToArabic(str) → {number}

Convertis un nombre romain en nombre arabe.

##### Parameters:

Name | Type | Description
--- | --- | ---
`str` | string | Le nombre romain à convertir

Source:
  - fonctions_principales.js, line 511

##### Requires:

- correspondancesRomainArabe

##### Returns:

Type
  number

##### Example

    convertRomanToArabic('XXIV') → 24

#### convertTemperature(degree, unit) → {string}

Convertis des °C en °F et l'inverse aussi.

##### Parameters:

Name | Type | Description
--- | --- | ---
`degree` | number | Nombre de degrès
`unit` | string | Unité du nombre (°C ou °F)

Source:
  - fonctions_principales.js, line 101

##### Returns:

- degree unit = temperatureValue

Type
  string

##### Example

    convertTemperature(23, '°C') → 23 °C = 73.4 °F

#### createSessionCookie(name, value)

Créer un cookie de session.

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | Nom du cookie
`value` | string | Valeur du cookie

Source:
  - fonctions_annexes.js, line 153

#### dateTimeUTC(utc) → {function}

Donne la date et l'heure selon l'UTC (Universal Time Coordinated).

##### Parameters:

Name | Type | Description
--- | --- | ---
`utc` | string | Heure de décalage par rapport à l'UTC

Source:
  - fonctions_annexes.js, line 53

##### Requires:

- showDateTime
- timeNow, utcOffset, timeNow.setMinutes(timeNow.getMinutes() + utcOffset)

##### Returns:

→ showDateTime(enteredOffset) → Retourne l'exécution de la fonction showDateTime

Type
  function

##### Example

    dateTimeUTC('0')

#### decimalToBinary(value) → {string}

Convertis un nombre décimal en binaire.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | string | Le nombre à convertir en string

Source:
  - fonctions_principales.js, line 241

##### Returns:

- Le nombre en binaire

Type
  string

##### Example

    decimalToBinary('2') → '10'

#### decimalToHexadecimal(value) → {string}

Convertis un nombre décimal en hexadécimal.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | string | Le nombre à convertir

Source:
  - fonctions_principales.js, line 275

##### Returns:

- Le nombre en hexadécimal

Type
  string

##### Example

    decimalToHexadecimal('15') → 'F'

#### filterStudents(filteredLetter, students) → {string}

Affiche uniquement les prénoms (qui sont dans la liste) qui commencent par la lettre souhaitée.

##### Parameters:

Name | Type | Description
--- | --- | ---
`filteredLetter` | string | La lettre à filtré
`students` | array | La liste des prénoms

Source:
  - fonctions_principales.js, line 150

##### Returns:

- Prénoms qui commence par filteredLetter (totalfilteredLetterStudents) : filteredStudents

Type
  string

##### Example

    filterStudents('P', ['Prénom1', 'Prénom2', 'Divlo']) → Prénoms qui commence par P (2) : Prénom1 et Prénom2.

#### formatNumberResult(num) → {number|string}

Formate un nombre avec des espaces.

##### Parameters:

Name | Type | Description
--- | --- | ---
`num` | number |

Source:
  - fonctions_annexes.js, line 14

##### Returns:

- Le nombre formaté soit en nombre ou soit en string si supérieur à 1000 car pour 1000 par exemple formatNumberResult renvoie '1 000'

Type
  number | string

##### Example

    formatNumberResult(76120) → '76 120'

#### getRandomQuote() → {string}

Génère aléatoirement une citation ou un proverbe.

Source:
  - fonctions_principales.js, line 183

##### Requires:

- quotes
- randomNumber

##### Returns:

- une citation au hasard à partir de la constante 'quotes' dans variables.js

Type
  string

##### Example

    getRandomQuote() → " Ne fais jamais rien contre ta conscience, même si l'Etat te le demande. " <br> <br> - Albert Einstein

#### hexadecimalToBinary(value) → {string}

Convertis un nombre hexadécimal en binaire.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | string | Le nombre à convertir

Source:
  - fonctions_principales.js, line 326

##### Returns:

- Le nombre en binaire

Type
  string

##### Example

    hexadecimalToBinary('F') → '1111'

#### hexadecimalToDecimal(value) → {number|string}

Convertis un nombre hexadécimal en décimal.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | string | Le nombre à convertir

Source:
  - fonctions_principales.js, line 292

##### Requires:

- formatNumberResult

##### Returns:

- Le nombre en décimal soit en nombre ou soit en string si supérieur à 1000 car pour 1000 par exemple formatNumberResult renvoie '1 000'

Type
  number | string

##### Example

    hexadecimalToDecimal('F') → 15

#### hexadecimalToText(s) → {string}

Convertis de l'Hexadécimal (UTF-8) en Texte.

##### Parameters:

Name | Type | Description
--- | --- | ---
`s` | string | La chaîne de caractère contenant tous les nombres Hexadécimal à convertir

Source:
  - fonctions_principales.js, line 450

##### Returns:

Type
  string

##### Example

    hexadecimalToText('61 62 63') → 'abc'

#### isEmptyValue(value) → {boolean}

Vérifie si une valeur est vide.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | string |

Source:
  - fonctions_annexes.js, line 3

##### Returns:

Type
  boolean

##### Example

    isEmptyValue(null) → true

#### isFloat(value) → {boolean}

Vérifie si une string est un float (integer exclu).

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | number |

Source:
  - fonctions_annexes.js, line 30

##### Returns:

Type
  boolean

##### Example

    isFloat(76120.474) → true

#### isValidDate(verifyDate, currentDate) → {boolean}

Vérifie si une date est valide (si la variable verifyDate a déjà exister avant la variable currentDate).

##### Parameters:

Name | Type | Description
--- | --- | ---
`verifyDate` | string | (format : dd/mm/yyyy) sachant qu'il faut faire -1 au mois car de 0 à 11 donc par exemple 14/12/2019 sera le 14 novembre 2019
`currentDate` | string | (format : dd/mm/yyyy) pas besoin de faire -1 au mois donc par exemple 14/12/2019 sera le 14 décembre 2019

Source:
  - fonctions_annexes.js, line 122

##### Returns:

Type
  boolean

##### Example

    isValidDate('10/11/2019', '11/11/2019') → false → Comparaison entre le 10 décembre 2019 et le 11 novembre 2019
    isValidDate('10/10/2019', '11/11/2019') → true → Comparison entre le 10 novembre 2019 et le 11 novembre 2019

#### numberUnicodeToText(string) → {string}

Convertis chaque codePoint Unicode en caractère.

##### Parameters:

Name | Type | Description
--- | --- | ---
`string` | string | Nombre Unicode à convertir espacé par un espace à chaque fois

Source:
  - fonctions_principales.js, line 362

##### Returns:

Type
  string

##### Example

    numberUnicodeToText('97 98 99') → 'abc'

#### randomNumber(min, max) → {number}

Génère un nombre aléatoire entre un minimum inclus et un maximum inclus.

##### Parameters:

Name | Type | Description
--- | --- | ---
`min` | number | Nombre Minimum
`max` | number | Nombre Maximum

Source:
  - fonctions_principales.js, line 34

##### Returns:

Nombre aléatoire

Type
  number

##### Example

    randomNumber(1, 2) → retourne soit 1 ou 2

#### realDateTime(id) → {boolean}

Affiche l'heure en temps réel.

##### Parameters:

Name | Type | Description
--- | --- | ---
`id` | string |

Source:
  - fonctions_annexes.js, line 99

##### Returns:

true → Toujours true

Type
  boolean

##### Example

    window.onload = realDateTime('realDateTime') → va afficher l'heure en temps réel au chargement de la page dans la balise avec l'id realDateTime

#### showDateTime(utc) → {object}

Affiche la date et l'heure (format : dd/mm/yyyy - 00:00:00).

##### Parameters:

Name | Type | Description
--- | --- | ---
`utc` | string | Heure de décalage par rapport à l'UTC

Source:
  - fonctions_annexes.js, line 68

##### Requires:

- showDateTime

##### Returns:

Retourne un objet contenant l'année, le mois, le jour, l'heure, les minutes, les secondes et la date formaté

Type
  object

##### Example

    dateTimeUTC('0') → dateTimeUTC vous renvoie l'exécution de showDateTime

#### stringPermutations(string) → {array}

Retourne un tableau contenant toutes les possibilités d'anagramme d'un mot.

##### Parameters:

Name | Type | Description
--- | --- | ---
`string` | string | La chaîne de caractère à permuter

Source:
  - fonctions_principales.js, line 561

##### Returns:

Type
  array

##### Example

    stringPermutations('abc') → ["abc", "acb", "bac", "bca", "cab", "cba"]

#### textToBinary(s) → {string}

Convertis un Texte en Binaire (UTF-8).

##### Parameters:

Name | Type | Description
--- | --- | ---
`s` | string | La chaîne de caractère à convertir

Source:
  - fonctions_principales.js, line 383

##### Returns:

Type
  string

##### Example

    textToBinary('abc') → '01100001 01100010 01100011'

#### textToHexadecimal(s) → {string}

Convertis un Texte en Hexadécimal (UTF-8).

##### Parameters:

Name | Type | Description
--- | --- | ---
`s` | string | La chaîne de caractère à convertir

Source:
  - fonctions_principales.js, line 427

##### Returns:

Type
  string

##### Example

    textToHexadecimal('abc') → '61 62 63'

#### textToNumberUnicode(value) → {string}

Convertis chaque caractère d'une string en codePoint Unicode.

##### Parameters:

Name | Type | Description
--- | --- | ---
`value` | string | La chaîne de caractère à convertir

Source:
  - fonctions_principales.js, line 342

##### Returns:

Type
  string

##### Example

    textToNumberUnicode('abc') → '97 98 99'

#### weatherRequest()

Affiche la météo et l'heure locale grâce à l'API : openweathermap.org. Le nom de la ville se récupère en Javascript qui créé un cookie pour récupérer cette variable en php. Ainsi PHP va récupérer le JSON de l'api openweathermap.org puis ajax va se charger d'afficher le résultat. Plus d'informations : /scripts/main.js et /php/getWeatherJson.php

Source:
  - fonctions_principales.js, line 3
See:
  - https://jquery.com/ Requête en AJAX avec jQuery
  - https://openweathermap.org/ API de météo

##### Requires:

- formatNumberResult, dateTimeUTC, showDateTime, capitalize

##### Example

    Ajoute au DOM de la page dans la div .results, la météo de la ville demandée.