Aller au contenu principal

Est-ce qu'il me rendra mon fichier ?

Importing from FET 6 min de lecture

Votre fichier .fet est un outil de travail, alors avant de le confier à un logiciel, posez-vous une question et effectuez ce test de deux minutes pour y répondre.

Un fichier .fet ne paie pas de mine. Quelques centaines de kilo-octets de XML, stockés dans un dossier à côté de celui de l'année dernière.

Mais vous savez ce qu'il contient. La quinzaine passée en août à calculer que le bloc scientifique ne peut pas accueillir deux travaux pratiques en même temps. Le compromis avec le responsable des langues qui a nécessité trois conversations. Les onze contraintes que vous avez ajoutées une par une, chacune après qu'un problème soit survenu, un problème que vous ne voulez plus jamais revoir.

Rien de tout cela n'est écrit ailleurs. Cela existe sous forme de contraintes dans ce fichier, et si vous le perdez, vous ne perdez pas seulement un document — vous perdez le raisonnement, et vous le découvrez en septembre lorsque le Planning ne veut plus rien dire.

Alors, quand un outil web propose de l'ouvrir, la question n'est pas de savoir si l'outil est utile. C'est : va-t-il me rendre mon fichier intact ?

Pourquoi la réponse est généralement "pas tout à fait"

La plupart des outils qui lisent un .fet le font de manière évidente. Quelqu'un étudie le format, écrit du code pour les parties dont il a besoin — Enseignants, Matières, Salles, Activités, les contraintes courantes — et publie le résultat.

Cela fonctionne, mais échoue silencieusement. FET possède un vaste vocabulaire de contraintes qui s'enrichit à chaque version. Tout ce que l'auteur de l'outil n'a pas implémenté n'est tout simplement pas lu, et lorsque le fichier est réenregistré, ce qui n'a jamais été lu n'est pas écrit. Le fichier s'ouvre toujours. Il est toujours valide. Il lui manque juste les trois contraintes qui vous importaient le plus, et personne ne vous l'a dit.

C'est une défaillance contre laquelle il faut concevoir, car elle est invisible au moment précis où vous voudriez la détecter.

Ce que nous faisons à la place

FET Explorer n'essaie pas de comprendre chaque contrainte. Il essaie de ne pas en avoir besoin.

Lorsqu'un fichier est lu, chaque contrainte est stockée sous son propre nom, avec son contenu conservé tel quel — que cette application sache ou non ce que signifie cette contrainte. Lorsque vous téléchargez, chacune est réécrite sous le même nom, avec le même contenu, dans le même ordre.

Il n'y a pas de liste de types de contraintes pris en charge, car il n'y a rien à prendre en charge. Un type de contrainte introduit dans une version de FET dont nous n'avons jamais entendu parler passe à travers sans être touché, pour la même raison qu'un mot que vous ne connaissez pas survit à une copie manuscrite.

Dans les plannings présents dans notre propre corpus aujourd'hui, cela représente 2 987 contraintes réparties sur 20 types différents, qui font l'aller-retour sans qu'aucune d'entre elles ne soit un cas particulier dans le code d'exportation.

Les poids reviennent comme des poids. Une contrainte réglée à 80 % reste à 80 % — pas arrondie, pas recalculée, pas promue à "activée". Une contrainte inactive revient inactive. Vos commentaires reviennent.

Le fichier est vérifié avant que vous ne l'obteniez

Il y a une chose pour laquelle nous interviendrons.

Un .fet que FET refuse d'ouvrir est pire qu'aucun fichier : vous le découvrez à la toute fin, sans savoir lequel des milliers d'enregistrements est en cause. Le fichier est donc construit et inspecté avant de vous être remis.

La ligne de téléchargement, avec la sous-étiquette de vérification en dessous
La ligne de téléchargement, avec la sous-étiquette de vérification en dessous

Si quelque chose de réellement nécessaire manque — une Activité sans Matière, un cours pointant vers un Enseignant qui n'est pas dans la liste des Enseignants — vous en êtes informé, avec les enregistrements concernés nommés. Les éléments qui peuvent être définis par défaut le sont, et ne deviennent jamais votre problème.

Si le fichier est valide mais semble incomplet, vous recevez un avertissement et un bouton Télécharger quand même. C'est un conseil, pas une barrière.

Et si la vérification elle-même échoue, le téléchargement se poursuit simplement. Une vérification qui n'a pas produit d'avis n'est pas une raison pour se mettre entre vous et votre propre fichier.

Ne nous croyez pas sur parole — prenez deux minutes

C'est la partie qui vaut vraiment la peine d'être faite, car elle ne coûte presque rien et règle la question définitivement.

  1. Téléversez votre fichier .fet.
  2. Téléchargez-le immédiatement, sans rien changer.
  3. Comparez les deux fichiers.
Le test d'aller-retour signalant que toutes les vérifications sont au vert : ce qui a été exporté correspond à ce qui a été importé.
Le test d'aller-retour signalant que toutes les vérifications sont au vert : ce qui a été exporté correspond à ce qui a été importé.

Ils ne devraient différer que par la mise en forme — indentation, espacement des attributs, ordre de quelques champs optionnels — et rien d'autre. Mêmes Activités, mêmes contraintes, mêmes poids, mêmes Commentaires.

Si les deux fichiers diffèrent sur le fond, c'est un bug et nous voulons en entendre parler. Ce n'est pas quelque chose à contourner, et ce n'est pas quelque chose que vous devriez découvrir en septembre.

Une exception honnête

Si votre Planning a été construit à partir de feuilles de calcul plutôt que d'un .fet, il y a une subtilité à connaître. Les lignes CSV ne contiennent pas d'identifiants d'Activité FET, et les contraintes de placement ont besoin d'identifiants stables pour pointer vers des cours individuels.

Plutôt que de refuser, nous attribuons ces identifiants lors de la construction du fichier — et nous les stockons, afin qu'ils ne changent pas. Un second téléchargement correspond au premier. Vous pouvez construire un Planning à partir de feuilles de calcul et obtenir tout de même un .fet cohérent.

Ce que ceci n'est pas

FET Explorer ne génère pas de plannings. Il n'optimise pas, ne résout pas et n'améliore pas ce que FET a produit. FET fait le travail difficile ; ceci lit, présente, partage et modifie le résultat.

C'est exactement pourquoi l'aller-retour est important. Un outil qui ne fait que montrer un Planning peut se permettre de ne comprendre que la moitié du fichier. Un outil que vous pourriez utiliser pour modifier doit rendre le tout intact.

Essayez avec votre propre fichier →