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

27PARTAGES

11  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 0 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.
9  0 
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".
7  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 ?
3  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.
3  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.
1  0 
Avatar de sergio_is_back
Expert confirmé https://www.developpez.com
Le 25/02/2025 à 18:49
Citation Envoyé par SQLpro Voir le message
Le NULL, pas si simple en SQL. D'après la norme SQL et le bon vieux Ted Codd inventeur des SGBD relationnels, le NULL (marqueur et non valeur) n'est doté d'aucun type de données... Mais alors quel type de données SQL possède la colonne de la vue suivante ? :

Code : Sélectionner tout
1
2
3
CREATE VIEW V
AS
SELECT NULL AS C;
À méditer...

En SQL Server c'est du INT. En PostGreSQL c'est du TEXT...

A +
Après le type de données n'est pas forcément important tant qu'il n'y pas un DataBinding derrière... Mais effectivement j'ai déjà eu le cas où ça pose problème (Avec des DataBinding justement)... La colonne attendue est de type X et la colonne renvoyée (avec le NULL) est de type différent...
Cependant pour en revenir au sujet de l'article : Madame "NULL" (Une chaîne de caractère) n'est pas égal à NULL (Valeur non définie) si les codeurs ont bien fait leur boulot, d'ailleurs je ne crois pas qu'il y existe un SGBD où IsNull("NULL") renvoi vrai, mais ça c'est une histoire !
Après j'ai aussi vu des développeurs écrire "\0" dans la base pour une chaine vide, sauf que si en C\C++ c'est une chaine vide c'est pas le cas pour le SGDBR derrière donc lorsqu'on faisait une requête avec une clause where column='' ou where len(column)=0 ça renvoyait toutes les lignes avec column="\0"
1  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
1  0 
Avatar de SQLpro
Rédacteur https://www.developpez.com
Le 25/02/2025 à 15:58
Le NULL, pas si simple en SQL. D'après la norme SQL et le bon vieux Ted Codd inventeur des SGBD relationnels, le NULL (marqueur et non valeur) n'est doté d'aucun type de données... Mais alors quel type de données SQL possède la colonne de la vue suivante ? :

Code : Sélectionner tout
1
2
3
CREATE VIEW V
AS
SELECT NULL AS C;
À méditer...

En SQL Server c'est du INT. En PostGreSQL c'est du TEXT...

A +
2  2 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 25/02/2025 à 21:14
Quelle idée de s'appeler Null aussi.

A moins d'inventer des mots, plutôt que d'utiliser des mots courants dans un langage informatique, il y a une probabilité même faible que ce mot soit aussi un nom de famille quelque part dans le monde.

Exemple le mot Bonjour : implémentation Apple du protocole Zeroconf
et en version anglaise : Hello : authentification biométrique Windows

Je vais donner un scoop à ceux qui s'arrachent les cheveux pour régler le prob : il suffit de préfixer le nom avec un underscore par exemple.

0  0 
Avatar de laloune
Membre éclairé https://www.developpez.com
Le 25/02/2025 à 21:25
ça me rappelle l'histoire de little bobby tables :-)
0  0