À retenir
- Permet de « geler » l'état d'un programme pour le restaurer plus tard.
- Essentiel pour faire communiquer deux machines qui n'utilisent pas forcément le même langage.
- La « désérialisation » est l'opération inverse qui reconstruit l'objet d'origine.
Se dit d'un élément informatique (objet, donnée, transaction) capable d'être converti dans un format linéaire, comme une suite d'octets ou de caractères, afin d'être stocké ou transmis. C'est un peu comme transformer un château de LEGO en une liste d'instructions précises : une fois la liste en main, on peut reconstruire le château n'importe où à l'identique.
Étymologie
Dérivé du mot « série », du latin series (enchaînement, suite). Le terme illustre le passage d'une structure de données complexe et ramifiée en mémoire vers une forme « en série » (linéaire), prête à être envoyée dans un tuyau réseau ou écrite sur un disque.
Exemples d'usage
- Une classe en Java qui implémente l'interface
Serializablepour permettre la sauvegarde de son état sur un disque dur. - Un objet JavaScript transformé en texte
JSONpour être envoyé depuis un navigateur vers un serveur. - En bases de données, des transactions « sérialisables » qui garantissent un résultat cohérent même si elles sont lancées en même temps.
Cas d'usage
Ce concept intervient massivement dans la persistance des données (sauvegarder l'état d'un logiciel), le développement web (échanges via des API) et la cybersécurité (vérification de l'intégrité des données reçues).
Bonnes pratiques
Évitez de sérialiser des informations sensibles, comme des mots de passe, en utilisant des mots-clés comme transient. Privilégiez des formats ouverts et lisibles comme JSON ou XML pour assurer la compatibilité entre différents langages de programmation.
Synonymes
Antonymes
Conseil
Si vous débutez, entraînez-vous à transformer un petit objet (comme un profil utilisateur) en texte JSON, puis à refaire l'inverse. C'est la forme de sérialisation la plus concrète et la plus utilisée aujourd'hui.
Questions fréquentes
Est-ce que tout est sérialisable ?
Non. Certains objets liés au système, comme une connexion réseau active ou un fichier en cours de lecture, ne peuvent pas être figés simplement.
Pourquoi parle-t-on de sécurité ?
La désérialisation de données provenant d'une source non fiable est dangereuse, car un pirate peut y cacher des instructions malveillantes.