IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Une femme dont le nom est Null continue de rencontrer des problèmes avec les systèmes informatiques,
Car en IT Null désigne l'état d'un pointeur qui n'a pas de cible ou d'une variable qui n'a pas de valeur

Le , par Patrick Ruiz

133PARTAGES

12  0 
Une femme dont le nom est Null continue de rencontrer des problèmes avec les systèmes informatiques
Car en IT Null désigne l'état d'un pointeur qui n'a pas de cible ou d'une variable qui n'a pas de valeur

Pour la plupart des gens, le nom de famille est simplement un moyen de s'identifier. Mais pour ceux dont le nom de famille est « Null », c'est une source constante de frustration numérique. Et pour cause : Null est considéré par les systèmes informatiques comme l'état d'un pointeur qui n'a pas de cible ou d'une variable qui n'a pas de valeur. Cet état de choses entraîne une cascade de problèmes techniques pour tous ceux qui portent ce nom : documents de voyage refusés ou de contraventions inattendues, etc.

Nontra Null, une créatrice de vêtements en Californie, ne connaît que trop bien ce combat. En 2014, elle s'est retrouvée coincée dans un cauchemar bureaucratique alors qu'elle demandait un visa pour assister au mariage d'une amie en Inde. Le système du consulat indien a tout simplement refusé de traiter sa demande, reconnaissant « Null » comme un champ vide plutôt que comme un véritable nom de famille. Après de multiples tentatives et une frustration croissante, son visa a finalement été délivré, juste un jour avant son départ. Pour éviter de tels maux de tête, Nontra utilise désormais son nom de jeune fille ou met un trait d'union dans son nom de famille chaque fois que c'est possible.



Elle est loin d'être la seule à vivre cette épreuve. Jan Null, météorologue à Half Moon Bay, en Californie, rencontre régulièrement des problèmes lorsqu'il effectue des réservations d'hôtel en ligne. Il a appris à contourner le problème en ajoutant son initiale à son nom de famille pour éviter de se faire éjecter des systèmes de réservation.

Joseph Tartaro, auditeur en cybersécurité, a quant à lui pensé qu'il serait astucieux d'utiliser « NULL » comme plaque d'immatriculation. Cette plaisanterie s'est rapidement retournée contre lui. En effet, les bases de données des forces de l'ordre utilisant souvent « null » pour remplacer des informations manquantes. C’est ainsi que ce dernier s'est retrouvé inondé de contraventions pour des voitures dont les plaques d'immatriculation n'avaient pas été enregistrées.



La faute aux programmeurs ou aux conventions des années 60 ?

L'origine du problème remonte aux années 1960, lorsque l'informaticien britannique Tony Hoare a introduit le terme « null » en tant que concept de programmation pour signifier l'absence de données. Ainsi, en php, une variable de valeur NULL est considérée comme non-définie :

Code php : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php 
$a=NULL; 
  
if(isset($a)) { 
    echo '$a est définie'; 
} else { 
    echo '$a est indéfinie'; 
} 
  
if(is_null($a)) { 
    echo '$a est NULL'; 
} else { 
    echo '$a n\'est pas NULL'; 
} 
  
if(isset($b)) { 
    echo '$b est défini'; 
} else { 
    echo '$b est indéfini'; 
} 
  
if(is_null($b)) { 
    echo '$b est NULL'; 
} else { 
    echo '$b n\'est pas NULL'; 
}

Les personnes ayant pour nom Null ne sont pas les seules qui font face à des difficultés avec les systèmes informatiques. « J'ai travaillé avec une personne originaire d'Israël. Son nom de famille était/est Or. Il a essayé d'ouvrir un compte bancaire à la BOFA, et leur système ne pouvait littéralement pas accepter son nom. La solution a été de saisir son nom de famille comme 0r. Bien sûr, il m'a montré sa carte de guichet automatique et elle était bien là ! », rapporte un internaute.

Et vous ?

Ces comportements erratiques des systèmes informatiques face à ces noms particuliers peuvent-ils être considérés comme la faute des programmeurs ?
Quelles solutions informatiques proposez-vous pour la résolution de ce type de problèmes ?
Vous avez lu gratuitement 2 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de tatayo
Expert éminent sénior https://www.developpez.com
Le 25/02/2025 à 6:28
Bonjour,
Citation Envoyé par Patrick Ruiz Voir le message
Ces comportements erratiques des systèmes informatiques face à ces noms particuliers peuvent-ils être considérés comme la faute des programmeurs ?
Tout à fait, car null (l'absence de valeur) n'est pas la même chose que "Null" ou 'Null' (la chaine de caractères).
Citation Envoyé par Patrick Ruiz Voir le message
Quelles solutions informatiques proposez-vous pour la résolution de ce type de problèmes ?
Traiter une chaine comme une chaine, et un Null comme une absence de valeur.

D'ailleurs en voyant le titre j'ai cru à une blague.

Tatayo.
15  1 
Avatar de escartefigue
Modérateur https://www.developpez.com
Le 25/02/2025 à 15:29
Comme je l'explique dans mon blog ICI, le marqueur null n'a rien à voir avec une chaîne de caractères.
Null est un marqueur, et il est applicable sur tout type de données : numérique, alphanumérique, date... et il signifie que la valeur est inconnue.

Une chaîne de caractères contenant la valeur "null" reste une chaîne de caractères, sa valeur est connue, c'est "null".
12  0 
Avatar de psalgueiro
Membre à l'essai https://www.developpez.com
Le 25/02/2025 à 12:03
Bonjour,

Je pense qu'il y a une confusion, il n'y a, ici, aucun lien entre les problèmes des ces personnes et l'absence de valeur en programmation ou les pointeurs "null".

Leurs problèmes viennent du fait que les programmeurs ont, par convention, utilisé la chaine de caractères "NULL" pour remplir les champs obligatoires dans leurs bases de données.

Tant que personne ou aucune plaque d'immatriculation n'a cette valeur, il n'y a aucun problème, mais dés le moment ou l'on crée une personne avec ce nom ou une plaque d'immatriculation avec cette valeur, le système va logiquement associer toutes les données à la personne ou à la plaque d'immatriculation.

Les programmeurs n'ont tout simplement pas imaginé que la valeur "NULL" pourrait un jour correspondre à un vrai personne ou a une immatriculation.

Ces comportements erratiques des systèmes informatiques face à ces noms particuliers peuvent-ils être considérés comme la faute des programmeurs ?
Peut-on dire que le comportement est erratique ? je ne suis pas convaincu, je pense que le programme fait exactement ce pourquoi il a été crée.
Pour la responsabilité des programmeurs, qui d'autre pourrait être responsable ?
9  0 
Avatar de Pyramidev
Expert éminent https://www.developpez.com
Le 25/02/2025 à 19:50
Le 5 novembre 2015, Christopher Null a publié un article sur ses mésaventures : Hello, I'm Mr. Null. My Name Makes Me Invisible to Computers.

Le 6 mars 2021, Stephen Warwick a publié un article à propos d'un bogue rencontré par Rachel True : Author takes to Twitter after breaking iCloud with 'True' last name

Citation Envoyé par Patrick Ruiz Voir le message
Ces comportements erratiques des systèmes informatiques face à ces noms particuliers peuvent-ils être considérés comme la faute des programmeurs ?
C'est la faute de tous ceux qui encouragent à coder à l'arrache. Beaucoup de managers en font partie. C'est hélas aussi le cas de beaucoup de développeurs. Il y a aussi des cas où c'est de la faute d'un client dans les cas où ce dernier a trop de pouvoir pour faire baisser à court terme les coûts de développement. Il y a beaucoup de cas par cas.
7  0 
Avatar de popo
Expert confirmé https://www.developpez.com
Le 26/02/2025 à 10:41
Citation Envoyé par L33tige Voir le message
A mon avis ça sent les webapp Javascript et ou un texte "Null" peut se retrouver à être converti en null comme par exemple un classique JSON.parse(prenom) et que prenom s'avère être 'null' BIM tu te retrouve avec un null envoyé au backend alors que pourtant t'avais un contrôle coté formulaire mais oui c'est une erreur de mauvaise conception de base.
N'importe quoi !
En JSON, le null s'exprime sans guillemet.
S'il y a des guillemets c'est une chaine et JSON.parse le traite comme tel
9  2 
Avatar de Pyramidev
Expert éminent https://www.developpez.com
Le 27/02/2025 à 13:29
Citation Envoyé par L33tige Voir le message


Du coup si t'as un formulaire avec un texte qui contient null et qu'il est parse dans dans ce qui est envoyé au back il va se passer quoi ?
  • JSON.parse("\"Pyramidev\"")"Pyramidev"
  • JSON.parse("\"null\"")"null"
  • JSON.parse("null")null
  • JSON.parse("Pyramidev")Uncaught SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Si on fait un JSON.parse(prenom) et que la chaîne prenom est bien supposée être un JSON qui ne contient qu'une chaîne, alors la chaîne prenom doit avoir des guillemets, par exemple "\"Pyramidev\"" et non pas "Pyramidev". Sinon, on se prend une exception SyntaxError dans le happy path.

Si, au lieu de valoir "\"Pyramidev\"", prenom vaut "\"null\"", alors JSON.parse(prenom) retourne bien la chaîne "null" et non pas null.
7  0 
Avatar de popo
Expert confirmé https://www.developpez.com
Le 28/02/2025 à 9:22
Citation Envoyé par L33tige Voir le message
Je pense que tu devrais arrêter de parler



Du coup si t'as un formulaire avec un texte qui contient null et qu'il est parse dans dans ce qui est envoyé au back il va se passer quoi ? t'as 1h pour trouver la réponse tkt

Littéralement 5 secondes pour vérifier tes dires, et 6 likes en plus j'hallucine faut changer de métier

On parle ici d'une erreur donc potentiellement quelque-chose qui à été fait par un débutant, pour moi c'est une erreur qui peut se produire comme cela, après, si t'as une meilleure idée hein hésite pas à partager
Et moi, je pense que tu devrais prendre un peu de recul et prendre le temps d'analyser la situation comme un développeur.
JSON.parse() attend du JSON.

Ceci est du JSON : { "prenom" : "null" }.
La chaine envoyé à JSON.parse sera la suivante : "{ \"prenom\" : \"null\" }".
Et le contenu de la propriété "prenom" sera la chaine "null" et non la valeur null.

Le champ de ton formulaire est un prénom.
Un prénom, ce n'est pas du JSON et c'est un non sens d'appliquer un JSON.parse dessus..
Je te retourne donc le compliment : si ça te parait sensé d'appeler JSON.parse sur autre chose que du JSON, change de métier.
7  1 
Avatar de pierre.E
Membre confirmé https://www.developpez.com
Le 27/02/2025 à 16:38
portant le même nom que la ville où je vie j ai eu quelque problème avec le logiciel de réservation utilisé par la pâtisserie
Quand la vendeuse rentrait mon nom ca lui sortait tous les clients de sa liste qui habitaient la ville.
Bon ça a été corrigé depuis.
5  0 
Avatar de Nb
Membre averti https://www.developpez.com
Le 25/02/2025 à 12:38
Bonjour,
L exemple php fourni n est pas pertinent car isset ne sert pas a verifier si une variable est definie ou pas, elle sert à verifier qu une variable est definie ET non nulle.

Sinon c est un probleme vieux comme l informatique due a de vieilles conventions ou a une incompréhension du la otion de null par les developpeurs.
4  0 
Avatar de popo
Expert confirmé https://www.developpez.com
Le 28/02/2025 à 16:54
Je prend aucun problème à l'envers et je n'essaie pas de me convaincre de quoi que ce soit.
Que ce soit un code écrit par un junior ou un spécialiste de Javascript, il y a un moment où la personne va tester un minimum ce qu'il a fait.

Et, selon tes propres termes il faut "Littéralement 5 secondes pour vérifier" que JSON.parse("Null"); (il y a un N majuscule) plante et que ce n'est pas adapté.
5  1