--- date: 2022-10-29T19:03:06+02:00 title: files/ weight: 30 --- Utilisez ce dossier pour y placer les fichiers que vous mettez à disposition des participants. {{% notice warning %}} Les fichiers binaires, avec lesquels on ne peut pas faire de diff, n'ont pas d'intérêt à être présents directement sur le dépôt : cela consomme inutilement de la place et rend le clonage du dépôt inutilement longue. Vous **devez** utiliser [git-lfs](https://docs.gitlab.com/ee/topics/git/lfs/) sur le GitLab du CRI pour tous les fichiers binaires contenus dans ce dossier. {{% /notice %}} Chaque fichier doit avoir une entrée correspondante dans le fichier `DIGESTS.txt` ; plus d'infos sur [la page `DIGESTS.txt`]({{}}). - Pas plus 4GB à télécharger **par étape** (ie. tous les fichiers de cette étape) : 4GB, c'est jusqu'à 5 minutes de téléchargement, c'est vraiment beaucoup lorsqu'on est impatient de faire l'étape. - Archives `.tar.bz2`, `.tar.gz`, `.tar.xz` ou `.zip` lorsque nécessaire. **PAS** de `.rar`, ... - Compresser (sans tarball, juste via **gzip**[^gz]) les fichiers lorsque c'est utile (memory dump, images BMP, disques, fichiers textes, ...). Indiquez dans le fichier `DIGESTS.txt` le hash du fichier compressé (utilisé par la plateforme pour vérifier que le fichier distribué n'a pas été altéré) **et** le hash du fichier initial décompressé (pour l'affichage sur la plateforme). - Utiliser `$(split -b 240M -d BIG_FILE BIG_FILE.)` pour uploader les gros fichiers (en cas d'erreur 413 notamment). Ces fichiers seront concaténés automatiquement au moment de leur import sur la plateforme. Seul le hash du fichier entier est requis dans le fichier `DIGESTS.txt`. [^gz]: l'intérêt de `gzip` est que le serveur web sera capable de distribuer le fichier sans faire apparaître la compression. Voir le [module nginx utilisé](https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html). Les fichiers peuvent posséder des attributs spécifiques dans [le `challenge.txt`]({{< relref "challenge.md" >}}#les-fichiers)