Le vote par Internet prépare son retour pour 2020

Ah, comme le vote pour l’ADP ?
Là où t’as des dizaines de personnes qui ne retrouvent plus leur vote ?

Décidément, y a pas que la violence des policiers qui est importée de Russie.

Il choisit un terme informatique pour sa plaque d'immatriculation, et sa vie tourne au cauchemar

Il a pris "null" pour sa plaque.
Depuis, tous les PV dont l’auteur n’est pas connu arrivent dans sa boîte aux lettres…

Y a pourtant une solution simple pour remédier à ça, ça s’appelle le typage ><.

Pour ceux qui ne programment pas, les variables ($variable) peuvent avoir différentes types : tableaux, nombres, chaines de caractères, valeurs booléens (vrai/faux), null, undefined…

Par exemple :

$variable = null

La variable reçoit la valeur "null". La variable existe, est définie, mais sa valeur est "null", autrement dit « rien ».

Dans le code :

$variable = "null"

La valeur reçoit comme valeur la chaîne de caractère « null ». Sa valeur est une chaîne de caractère « null », mais la valeur n’est pas "null" comme ci-dessus.

La différence est un peu comme la différence entre des chiffres et des lettres :

$variable = 6

Ici, la variable est un nombre : 6.

Par contre là :

$variable = "six"

Ici, la variable est une chaîne de caractères : « six ». Si on veut additionner « six » avec « cinq », le programme affichera une erreur : on n’additionne pas des chaînes de caractères, des mots. Ça n’a aucun sens.

De même là :

$variable = "6"

La variable est encore une chaîne de caractères, à cause des guillemets. En prog (généralement) les guillemets servent à délimiter une chaîne de caractères. Les nombres, eux, sont assignés directement, sans guillemets.

Malheureusement (je pense), certains langages sont laxistes.

Ainsi, ils diront que « 6 » et « "6" » sont égaux. Alors oui, les valeurs sont égales, mais pas les types ! Le premier est un nombre, l’autre une chaîne de caractères.

Or c’est là que le typage est important : on peut faire des tests pour savoir si la valeur correspond ET si le type correspond. Et c’est bien ça qui manque au système informatique dans l’article : ils ne font pas un test de type, juste de la valeur.

Dans d’autres langages, le type est scrupuleusement respecté, et de telles erreurs n’apparaissent pas.

Il y a parfois pire : dans certains langage, la valeur booléenne « false », une chaîne vide « "" », le nombre « 0 », la chaîne « "0" », la valeur nulle « null », la chaîne « "null" », un tableau vide « [] », ou un tableau avec juste 0 dedans « [0] », sont tous égales entre-elles si on typages sont ignorés.
C’est très souvent la source de confusion et de problèmes…

Il y a parfois encore pire : en JavaScript, on peut tester si une valeur est un nombre. C’est pratique si on souhaite vérifier que la variable peut être additionnée, multipliée, etc.
Si on ne le fait pas et qu’on effectue des calculs sur une chaîne de caractères, on obtiendra la valeur/erreur « NaN », pour « not a number », ou « ce n’est pas un nombre ! ».

Ce qui est amusant, c’est que « NaN » possède le même type qu’un… nombre !

idem pour moi !!!!!! Aucun soutien trouvé ! Alors que j'ai signé le 13/6. J'ai voulu remplir un formulaire de recours et là on m'indique que le n° de mon récépissé n'est pas valide ??? Ca sent très mauvais cette affaire. @Place_Beauvau une explication ?????

On pari que le gouvernement va invoquer le sacro-saint bogue informatique pour expliquer ça ? En supposant qu'ils s'expliquent, bien-sûr (faudrait pas que Sir Macaron sache que son idée de privatiser la France soit impopulaire, quand-même).