Communitygithub.com

Système de téléchargement et de gestion de fichiers

Concevoir un cadre systématique pour télécharger et gérer des fichiers, en définissant l'organisation visuelle et spatiale des zones de dépôt, des files d'attente de téléchargement et des actions de gestion des fichiers pour garantir une expérience utilisateur fiable et efficace.

Qu'est-ce que Système de téléchargement et de gestion de fichiers ?

Ce skill fournit une méthodologie complète pour concevoir l'expérience de bout en bout du transfert de fichiers depuis l'appareil d'un utilisateur vers un serveur. Il couvre la définition des états d'interaction des zones de dépôt (idle, survol, actif, désactivé), le rythme spatial de la file d'attente de téléchargement, et les boucles de rétroaction (progression, succès, erreur) nécessaires pour maintenir la confiance de l'utilisateur lors d'opérations à latence élevée. Le skill est applicable à une variété de cas d'utilisation, notamment les systèmes de gestion de contenu, les applications SaaS, les outils de gestion de projet, les outils créatifs et les interfaces de stockage cloud. Il ne doit pas être utilisé pour de simples pièces jointes textuelles, des transferts automatisés, des photos de profil uniques, ou des actifs statiques gérés par les workflows des développeurs. Les entrées incluent les contraintes de type et de taille de fichier, les attentes de volume, le contexte de téléchargement, les exigences de métadonnées et les jetons du système de conception parent. Les sorties sont des spécifications anatomiques de la zone de dépôt, un plan de gestion de la file d'attente, une matrice de progression et de rétroaction, et une hiérarchie des actions. Le workflow guide la conception du déclencheur de téléchargement (zone de dépôt), l'établissement de la file d'attente de téléchargement, la fourniture d'un retour d'information granulaire sur l'état, la conception pour la gestion des fichiers après téléchargement, et la planification pour un empilement réactif. Des règles de décision et des contraintes sont fournies pour garantir une expérience utilisateur cohérente et accessible, incluant des règles d'accessibilité WCAG 2.2.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/file-upload-management-system

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Système de téléchargement et de gestion de fichiers ?

Objectif

Le système de téléchargement et de gestion de fichiers fournit une méthodologie pour concevoir l'expérience de bout en bout du transfert de fichiers depuis l'appareil d'un utilisateur vers un serveur. Il garantit que le processus est transparent, récupérable et accessible. Ce système définit les états d'interaction du déclencheur de téléchargement (zones de dépôt), le rythme spatial de la file d'attente de téléchargement, et les boucles de rétroaction (progression, succès et erreur) nécessaires pour maintenir la confiance de l'utilisateur lors d'opérations à latence élevée.

Cas d'utilisation

  • Systèmes de gestion de contenu (CMS) : Conception de médiathèques et de téléchargeurs de ressources.
  • Applications SaaS : Mise en œuvre de la gestion de documents, d'importations CSV, ou de pièces jointes aux profils utilisateur.
  • Outils de gestion de projet : Structuration des pièces jointes dans les tâches ou les commentaires.
  • Outils créatifs : Conception de téléchargeurs haut volume pour photos, vidéos, ou fichiers de conception.
  • Interfaces de stockage cloud : Gestion des opérations complexes de téléchargement de dossiers et de fichiers.

Quand ne PAS l'utiliser

  • Pièces jointes de texte court : Si le "fichier" n'est qu'un petit extrait de texte, utilisez une zone de texte standard ou le copy-to-clipboard-implementation.
  • Transferts automatisés par le système : Lorsque l'utilisateur ne déclenche pas ou ne surveille pas le téléchargement (ex. télémétrie en arrière-plan).
  • Photos de profil uniques : Bien que ce système s'applique, un déclencheur "Avatar" simple (issu de user-avatar-system) pourrait être plus approprié pour les mises à jour d'image unique de faible complexité.
  • Actifs statiques : Pour les actifs qui font partie du code du site (ex. icônes, images de thème), qui sont gérés via les workflows des développeurs.

Entrées

  1. Contraintes de type et de taille de fichier : Qu'est-ce qui est autorisé (PDF, JPG, PNG) et quelles sont les tailles maximales ?
  2. Attente de volume : L'utilisateur télécharge-t-il un fichier à la fois ou 50+ fichiers en masse ?
  3. Contexte du téléchargement : S'agit-il d'une tâche autonome (ex. "Importer des données") ou d'une action de support (ex. "Joindre au message") ?
  4. Exigences de métadonnées : Le fichier nécessite-t-il un titre, une description ou des tags pendant le processus de téléchargement ?
  5. Jetons système : Échelles d'espacement, de couleur et de typographie du système de conception parent.

Sorties

  1. Spécification anatomique de la zone de dépôt : Définitions visuelles pour le déclencheur de téléchargement (états Inactif, Survol, Actif et Désactivé).
  2. Plan de gestion de la file d'attente : Organisation spatiale des éléments de liste "En attente", "Téléchargement en cours" et "Terminé".
  3. Matrice de progression et de rétroaction : Traitements visuels pour les barres de progression, les indicateurs de pourcentage et les états de succès/erreur.
  4. Hiérarchie des actions : Règles pour les actions "Annuler", "Réessayer", "Supprimer" et "Modifier" dans la liste des fichiers.

Workflow

1. Concevoir le déclencheur de téléchargement (la zone de dépôt)

Établir une invitation claire à l'interaction :

  • État Inactif : Utilisez une bordure en pointillés ou pleine avec une icône (généralement un nuage ou un trombone) et une instruction claire (ex. "Glissez-déposez ou cliquez pour télécharger").
  • État de glissement : Modifiez la couleur d'arrière-plan ou le style de bordure pour fournir un retour immédiat indiquant que la zone est prête à recevoir le fichier.
  • Solution de repli mobile : Assurez-vous que la zone de dépôt reste un grand bouton tactile (24x24px minimum selon WCAG 2.2 SC 2.5.8, 44x44px recommandé) qui ouvre le sélecteur de fichiers natif du système.

2. Établir la file d'attente de téléchargement

Gérer plusieurs fichiers sans encombrer l'interface :

  • Retour immédiat : Dès qu'un fichier est sélectionné, ajoutez-le à une liste en dessous ou à l'intérieur du déclencheur.
  • Anatomie du fichier : Chaque élément de liste doit inclure :
    • Vignette/Icône : Pour aider l'utilisateur à identifier le type ou le contenu du fichier.
    • Nom et taille du fichier : Pour confirmer que le bon fichier a été choisi.
    • Indicateur de progression : Une barre ou un cercle indiquant l'état du téléchargement.
    • Actions : Un moyen d'annuler un téléchargement en cours ou de supprimer un téléchargement terminé.

3. Fournir un retour d'état granulaire

Utiliser le step-progress-system et l'interactive-state-system pour les états des fichiers :

  • Téléchargement en cours : Affichez une barre de progression et, pour les téléchargements longs, le pourcentage ou "X sur Y Mo" téléchargé.
  • Succès : Utilisez une couleur sémantique "Succès" (vert) et une icône de coche. Fournissez une action "Afficher" ou "Lien".
  • Erreur : Utilisez une couleur sémantique "Erreur" (rouge). Fournissez une raison claire (ex. "Fichier trop volumineux") et un bouton "Réessayer".

4. Concevoir pour la gestion des fichiers (post-téléchargement)

Définir comment les utilisateurs interagissent avec leurs ressources téléchargées :

  • Modification des métadonnées : Si des titres ou des descriptions sont nécessaires, fournissez une édition en ligne ou une fenêtre modale "Paramètres".
  • Suppression : Utilisez une icône "Corbeille" avec une étape de confirmation pour les actions destructrices.
  • Vue Grille vs. Liste : Pour les téléchargements lourds en médias, fournissez une vue en grille des vignettes ; pour les téléchargements lourds en documents, utilisez une vue en liste pour la densité des métadonnées.

5. Planifier l'empilement réactif

  • La file d'attente compacte : Sur mobile, réduisez les métadonnées (comme la taille du fichier) et priorisez le nom du fichier et la barre de progression.
  • Plein écran ciblé : Pour les téléchargeurs complexes (comme un importateur CSV avec mappage), utilisez un écran de superposition plein écran pour supprimer les distractions.

Règles de décision

  • La règle de "l'entrée instantanée" : Les fichiers doivent apparaître dans l'interface utilisateur au moment où ils sont déposés/sélectionnés, même si la requête serveur réelle n'a pas encore commencé.
  • Visibilité de la progression : Utilisez une barre de progression pour tout fichier dont le téléchargement prend >1 seconde. Pour les téléchargements très rapides, passez directement à l'état "Succès".
  • Actions par lots : Si l'utilisateur peut télécharger 5 fichiers ou plus, fournissez une action "Tout effacer" ou "Tout télécharger" pour gérer la file d'attente collectivement.
  • Gestion des conflits : Définissez ce qui se passe si un fichier portant le même nom existe (ex. "Conserver les deux", "Remplacer", "Ignorer").
  • État vide : Si la médiathèque est vide, utilisez le empty-state-system pour fournir un bouton "Télécharger" comme CTA principal.

Contraintes

  • Accessibilité :
    • La zone de dépôt doit être focalisable et utilisable via les touches Espace ou Entrée.
    • Utilisez aria-live="polite" pour annoncer la progression du téléchargement et son achèvement aux lecteurs d'écran (évitez de les submerger avec chaque tick de pourcentage).
    • Les entrées de fichier doivent avoir une <label> cachée mais accessible.
    • Assurez-vous que le focus n'est jamais piégé derrière la zone de dépôt ou la liste de progression (WCAG 2.4.11 Focus Not Obscured) — les en-têtes collants ou les notifications toast ne doivent pas couvrir l'élément focalisé.
    • Les cibles tactiles pour les actions Annuler/Réessayer/Supprimer doivent mesurer au moins 24x24px (WCAG 2.2 SC 2.5.8) ; 44x44px sont préférés pour les actions primaires.
  • Réactivité : Les zones de dépôt doivent être fluides et ne jamais provoquer de débordement horizontal.
  • Contraste : Les barres de progression et les messages d'erreur doivent respecter les ratios de contraste WCAG AA (4,5:1).

Modèles d'échec courants

  • L'"échec silencieux" : Un téléchargement échoue, mais l'interface utilisateur ne fournit aucun retour, laissant l'utilisateur attendre indéfiniment.
  • La progression qui disparaît : La barre de progression disparaît avant que le téléchargement ne soit réellement finalisé, provoquant une "anxiété de dernière minute".
  • Zones de dépôt trop petites : Créer une cible minuscule difficile à atteindre avec une souris ou le pouce.
  • Absence d'"Annuler" : Ne pas permettre à un utilisateur d'arrêter un téléchargement accidentel volumineux.
  • Erreurs obscures : Afficher "Erreur 500" au lieu de "Le serveur est actuellement occupé, veuillez réessayer dans un instant."

Critères de validation

  • La zone de dépôt a des états Inactif, Survol et Glissement distincts.
  • Chaque fichier dans la file d'attente affiche son nom, sa taille et sa progression.
  • Les états Succès et Erreur sont indiqués à la fois par la couleur et par des icônes.
  • Les utilisateurs peuvent annuler ou supprimer des fichiers de la file d'attente.
  • Les régions live ARIA sont utilisées pour les mises à jour de statut.
  • La mise en page est réactive et gère les noms de fichiers longs avec élégance.
  • Tous les éléments interactifs respectent le minimum de 24x24px (44x44px préféré) pour les cibles tactiles WCAG 2.2.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design a systematic framework for global command menus (Cmd+K panels) that combines keyboard-driven navigation, command execution, and shortcut discovery into an accessible, responsive overlay.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

Skills associés