Un fichier .pkl, souvent appelé « fichier pickle », est un format de fichier fondamental utilisé dans l'écosystème Python pour la sérialisation et la désérialisation des structures d'objets Python complexes. La sérialisation est le processus technique qui convertit un objet Python (comme une liste, un dictionnaire, un ensemble, ou même une instance de classe personnalisée) en un flux d'octets (byte stream) binaire. Ce flux d'octets peut ensuite être stocké de manière persistante dans un fichier ou transmis efficacement sur un réseau. La désérialisation est l'opération inverse, permettant de reconstruire fidèlement l'objet Python original à partir du flux d'octets stocké. Le module standard pickle de Python est l'outil qui fournit cette fonctionnalité. Les fichiers Pickle sont particulièrement utiles pour sauvegarder l'état interne d'un programme, mettre en cache les résultats de calculs intensifs (caching), et faciliter le transfert de structures de données complexes entre différentes applications Python. Cependant, il est impératif de noter que les fichiers pickle sont intrinsèquement dangereux s'ils proviennent de sources non fiables. Le format permet l'exécution de code arbitraire (arbitrary code execution) lors de la désérialisation, ce qui expose le système à des risques de compromission par un fichier malveillant. Il est donc crucial de ne charger des fichiers .pkl qu'à partir de sources entièrement vérifiées et fiables. Pour l'échange de données avec des systèmes externes, des formats plus sécurisés et interopérables comme JSON ou YAML sont généralement préférés.