1 mai 2011

[howto] Réparer un fichier Flash (.fla) corrompu

Parfois à l'ouverture d'un fichier projet Flash, Adobe Flash CS5 va vous dire "Flash ne peux pas analyser ce document" (Flash can not parse this document).

Ceci est du au fait qu'un élément du fichier FLA contient une valeur inattendue. Un fichier FLA est un zip (au même titre qu'un docx...). Ce zip contient majoritairement des fichiers au format XML. Ces fichiers XML doivent respecter une structure et un charset. Or il peut arriver qu'à l'enregistrement, CS5 insert corrompt un fichier XML, par exemple en insérant un caractère inattendu.

Caractère inattendu

Pour remédier au problème :
- Faites une sauvegarde de votre FLA
- Renommer votre FLA en ZIP
- Dézipper le fichier
- Parcourez le répertoire LIBRARY
- Ouvrez tous les fichiers XML avec Notepad++ (pas avec Bloc-Note!)
- Partez à la recherche d'incohérences, comme des balises vides ou des caractères spéciaux.
- Supprimez ces incohérences
- Re-zippez les fichiers à la racine (les fichiers doivent être à la racine du ZIP et non pas dans un sous-dossier)
- Renommez le ZIP en FLA

Par contre, s'il y a beaucoup de fichier XML, faites une recherche par dichotomie comme ceci :
- Supprimer la moitié des fichiers XML
- Re-zippez et ouvrez-le en FLA
Si l'erreur persiste :
- Supprimer la moitié restante des fichiers XM
- Re-zippez et ouvrez-le en FLA
Si l'erreur à disparue :
- Réintégrez la seulement la moitié des fichiers précédemment supprimés
- Re-zippez et ouvrez-le en FLA
Et ce ainsi de suite... Au final vous devriez ne trouver qu'un seul fichier XML qui corrompt votre FLA.
- Ouvrez-le avec Notepad++
- Recherchez les incohérences...

Si vous ne trouvez pas d'incohérences, vous pouvez essayer de supprimer la moitié des couches du document (supprimer les balises DOMLayer et ce qu'elles contiennent) du fichier XML et ré-essayer. Tant que le problème persiste, continuez jusqu'à trouver LA seule couche qui pose problème.
Dans le pire des cas, n'insérez pas le fichier corrompu dans le ZIP, vous récupérerez tout de même une grosse partie de votre FLA.

Moralité, faites des sauvegardes et attention aux dernières versions !