# Migration (informatique)

Une migration est, en informatique, le passage d'un état existant d'un système d'information ou d'une application vers une cible définie dans un projet ou un programme. La migration de données est généralement réalisée par programmation pour parvenir à un traitement automatisé, en libérant des ressources humaines de tâches embarrassantes. La migration est nécessaire lorsque des organisations ou des individus procèdent au changement des systèmes informatiques ou à leur mise à niveau.

## Types de migration

Il existe plusieurs types de migration$^,$$^,$$^,$$^,$ :
* Transfert / Refreshing : Cette transformation que l’on nomme parfois refreshing consiste en un déplacement d’un support physique de stockage vers un autre plus adapté aux exigences du temps, sans toucher au train de bits contenant l’information. Cela permet de résoudre la question de l’obsolescence des supports physiques.
* Normalisation : Une autre transformation conduit à changer le format des fichiers en séparant les données et informations, de tout outil logiciel ayant servi à leur constitution, et à les convertir dans un nouveau format standardisé offrant de plus grandes garanties de pérennité. En raison de la multitude des interactions entre logiciels, la méthode peut parfois entraîner des pertes d’information difficiles à identifier. De plus, la migration est dans une certaine mesure irréversible de par la séparation des données de leur contexte technologique de création.
    Ce type de migration de données implique une veille technologique permanente à propos des nouveaux standards ouverts et normes. À tout le moins, elle nécessite le suivi des modifications de versions logicielles, car il est impératif de ne pas « sauter » une version majeure dans la mesure où la compatibilité ascendante n’est garantie que pour un nombre donné de versions.
* Migration de données : Cette transformation vise à modifier l'ensemble des données gérées par un système informatique source (Matériel et logiciel) pour pouvoir les utiliser sur autre système cible. Les différences entre les logiciels obligent à transformer les données pour qu'elles soient compatibles avec le nouveau système. Cette transformation de données, pour pouvoir être réalisées avec succès, nécessite deux prérequis :
** Vérification des règles qui devront être vérifiées par les données migrées : Cette vérification doit se faire tant face aux anciennes règles (comparaison des data models) que face aux données avant migration (data cleansing).
** Identification des données migrées qui ne respecteront pas les nouvelles règles : Amnistie de certaines règles de validation pour certaines données migrées.
* Migration de système : Cette transformation vise à transformer un logiciel pour le faire fonctionner sur un autre ordinateur (par exemple pour passer d'un ordinateur MVS vers un ordinateur sous Unix). Les données auront cette fois la même organisation mais les programmes devront être adaptés pour prendre en compte le mode d'emploi de la nouvelle machine.

## Conservation des données

La migration peut aussi être utilisée comme une approche viable pour la conservation à long terme des objets numériques. Tel est l'acte de la réécriture des données d'un milieu obsolète à un milieu courant. Un exemple de cette migration est la reproduction sur microfilms des journaux âgés.

## Outils de migration de données

* Data Migration Toolkit (DMT) : un outil gratuitement disponible - développé en Java avec un environnement graphique - pour la migration des fichiers et des données de base de données.
* ETL Integrator : un outil open source ETL - qui permet JBI - pour la migration de données dans les environnements AOS.
* Scriptella : un outil open source ETL - qui permet l'exécution de script - pour la migration des données de base de données.
* Talend : un outil de génération de code - qui permet l'exécution de script - pour la transformation de données.
* nag migrate : un outil d'analyse et de migration (générateur de code) permettant de fusionner des systèmes hétérogènes et de transférer des volumes importants de données complexes du système de l'application source vers le système cible.
* TRANSMIG Solution : la solution de migration de données de Sodifrance, basée sur des ateliers logiciels performants et collaboratifs, associés à une méthodologie éprouvée garantissant une qualité optimale des données migrées.
* RECODE Data : une solution de migration intégrant la génération automatique de code, la fiabilisation des données source et les tableaux de bord métiers pour la validation