Il y a quelques années, lorsque je passais un entretien dans une grosse banque pour intégrer dans une équipe de coachs crafts, deux coachs m'avaient demandé comment j'assurais ma veille technologique. J'avais alors énuméré tout un tas de sites web dont développez.com et là... Je les ai vu grincer des dents mais genre fort fort fort...
Aujourd'hui, je vois un article qui s'intitule : Tutoriel pour apprendre à développer des objets Java et pas simplement des classes de données et dès le second écran je peux lire ceci :
public final class Assert {
private Assert() {}
public static void notNull(String fieldName, Object input) {
if (input == null) {
throw MissingMandatoryValueException.forNullValue(fieldName);
}
}
public static void notBlank(String fieldName, String input) {
if (input == null) {
throw MissingMandatoryValueException.forNullValue(fieldName);
}
if (input.isBlank()) {
throw MissingMandatoryValueException.forBlankValue(fieldName);
}
}
public static StringAsserter field(String fieldName, String value) {
return new StringAsserter(fieldName, value);
}
public static class StringAsserter {
private final String fieldName;
private final String value;
private StringAsserter(String fieldName, String value) {
this.fieldName = fieldName;
this.value = value;
}
public StringAsserter notBlank() {
Assert.notBlank(fieldName, value);
return this;
}
public StringAsserter maxLength(int maxLength) {
if (value != null && value.length() > maxLength) {
throw StringSizeExceededException
.builder()
.field(fieldName)
.currentLength(value.length())
.maxLength(maxLength).build();
}
return this;
}
}
}
Que des méthodes statiques, un constructeur privé pour bien empêcher les instances, aucun état représenté... Donc sans critiquer l'auteur et son envie de bien faire (car il a le mérite d'avoir écrit quelque chose), cet article rappelle effectivement des principes de l'OOP mais sans jamais les comprendre ni même en illustrer ne serait-ce qu'un seul exemple valable.
L'objet est aux antipodes du static
, si vous avez du code statique c'est foncièrement que vous ne codez pas en objet. Et là, le seul exemple de l'article est basé sur ça... Bref, article à mettre à la corbeille, navrée pour son auteur.
Rien que le titre de cet article DOIT vous faire sourciller : "L'ère du mot de passe révolue pour l'alliance FIDO, qui propose un nouveau standard pour faciliter et normaliser les systèmes d'authentification"
Qu'est-ce qui cloche ? On est en train de vous vendre de l'identification pour de l'authentification ; en clair on détruit toute forme de fiabilité dans le système.
Pour bien comprendre je vais vous expliquer ci-après la différence fondamentale entre de l'identification et de l'authentification.
L'identification c'est qui vous êtes, par exemple :
- votre ADN ;
- vos empruntes digitales ;
- l'image de la structure du système veineux de votre main ;
- l'image de votre iris ;
- l'emprunte de votre voix ;
- etc.
Tout ceci constitue votre personne, c'est vous.
Vous avez remarqué le double problème ? Non ? C'est simple pourtant, toutes ces choses ne vous quitteront et ne changeront jamais TOUT AU LONG DE VOTRE VIE et en plus ON PEUT VOUS LES VOLER ! Bah oui, on peut copier une emprunte, la photo de votre iris, copier votre ADN à partir des mèches de cheveux que vous laissez traîner partout, etc. Une fois que quelqu'un les a copier, C'EST MORT ! Votre identité peut être falsifiée sans problème.
Mais alors qu'est-ce que l'authentification ? C'est l'action de pouvoir PROUVER que vous êtes bien la personne que vous prétendez être. En clair, une personne se pointant avec mon ADN peut se faire passer pour moi, elle peut me ressembler, etc. Mais si elle ne connaît pas mon mot de passe, ELLE NE PEUT PAS PROUVER QUE C'EST MOI donc elle ne peut pas SE FAIRE PASSER POUR MOI bien qu'elle possède mon ADN ! C'est la différence entre l'identification et l'authentification. L'identification c'est déclaratif, je déclare que je suis moi et on me croit sur parole parce que je ressemble à ce que je prétends être ; mais dans l'univers de la sécurité il faut des preuves et l'authentification c'est la preuve que c'est bien moi.
En 5000 ans, on n'a pas trouvé mieux que le mot de passe alors je vous pose la question, vous êtes toujours prêt à abandonner vos mots de passe pour leur système à la con maintenant ?