web-dev-qa-db-fra.com

Quelle est la structure de dossier optimale pour un répertoire Web?

Je fais du développement Web depuis des années et j'ai toujours créé une structure Web semblable à celle-ci:

public_html/login.php
public_html/css/login.css
public_html/js/login.js
public_html/img/logo.png

J'ai vu d'autres personnes utiliser:

styles/login.css
images/logo.png

Et puis récemment, j'ai découvert que mon collègue aime:

public_html/a/login.js   - application
public_html/s/login.css  - styles
public_html/i/logo.png   - images
public_html/p/photo1.jpg - photos
public_html/f/menu.swf   - flash

Outre la sauvegarde d'un octet ou deux, existe-t-il des avantages ou des inconvénients à l'une ou l'autre de ces options? Existe-t-il une meilleure pratique pour ce concept?

9
St. John Johnson

Je m'en tiendrai à votre système actuel, même si je suis peut-être partial, car j'utilise moi-même à peu près les mêmes noms.

Je trouve que garder un nom de dossier de trois lettres est assez prolixe pour avoir un sens, mais assez concis pour garder mes URL bien rangées.

Couper chaque dossier en une seule lettre est excessif et, comme le souligne mc10, il est largement ouvert à interprétation. Par exemple, je ne choisirais jamais "a" pour les fichiers Javascript: j'aurais choisi "b" pour "comportement". Je ne pense pas que l’un ou l’autre soit plus correct, cela montre simplement à quel point le schéma de nommage est ambigu.

Bien que l’utilisation de "styles" et "images" en tant que noms de dossiers convienne parfaitement, j'estime qu'il est beaucoup plus logique d'utiliser un nom plus court. Pensez au nombre de fois que ce dossier sera référencé, dans chaque fichier, dans chaque URL et demande, et les octets commencent à s'additionner. Certes, je ne pense pas que vous constaterez des économies de bande passante dans le monde réel en utilisant des noms de dossier plus courts, mais je vais utiliser chaque bit (et octet) que je peux obtenir.

Je m'en tiens habituellement à ces dossiers:

  • js - fichiers Javascript
  • img - Fichiers d'image
  • css - fichiers CSS
  • lib - Scripts côté serveur qui ne produisent pas de sortie. Bibliothèques, cours, etc.
  • doc - Les fichiers binaires, tels que les documents bureautiques et les PDF, qui ne font pas partie de la navigation de page normale
6
Jacob Hume

Les dossiers CSS et JS conviennent bien à un site individuel qui peut être codé de manière statique (uniquement en HTML), mais cela n’est pas pratique pour un site plus grand qui utilise un CMS.

Les CMS utilisent des dossiers "styles" et "images" dans leur propre structure de dossiers, mais ils sont généralement enfouis dans des sous-répertoires. C'est une manière agréable de présenter le contenu, et favorisée par de nombreux CMS.

Avoir des noms de dossier d'une lettre est source de confusion. À première vue, j'aurais été confondu avec la différence entre les photos (p) et les images (i). Utiliser a pour "application" semble aussi cryptique.

2
kevinji

L'utilisation de dossiers pour css et js, par opposition à des fichiers individuels, dépend entièrement de la portée de votre projet.

Si vous avez ou aurez éventuellement besoin de plus d'un script ou d'une feuille de style, leur organisation dans des dossiers facilitera la maintenance et la gestion du site.

Si vous décidez d'utiliser à nouveau des dossiers, il est préférable de nommer ces noms longs ou abrégés.

Bien que les noms à une lettre économisent des octets et puissent sembler un peu plus ordonnés, d’après mon expérience, si vous avez plus d’une poignée de personnes travaillant sur le site, cela peut prêter à confusion.

1
ajcw

Vous pouvez aussi faire cette méthode pour.

1ère méthode:

  • / i/commun /
  • / i/layout /
  • / i/lib /
  • / i/misc/docs/pdf /
  • / i/misc/docs/csv /
  • / i/misc/docs/txt /

Remarque: il est préférable que chaque fichier soit renommé dans son résumé md5.

Exemples:

  • /i/common/9df48e2cf2d25740e4ba54e8cd73b3a3.png,
  • /i/layout/2b33962041cb835c227bba27424a28af.css,
  • /i/lib/a8a2a48ddaa95527c6d3db763e2b7809.js,
  • /i/misc/docs/pdf/68aafcfe9aa1ab7d83a6ce8df302155e.pdf

2ème méthode:

  • / actifs/communs /
  • / assets/templates/template_name /
  • / assets/includes/js /
  • / assets/misc/pdf /
  • / assets/misc/csv /
  • / assets/misc/txt /

Remarque: il n'est pas nécessaire de renommer les fichiers en chaînes md5, mais chaque espace doit être remplacé par un tiret/-

Exemples

  • /assets/common/uploads/2014/12/company-site-has-been-launched.jpg

3ème méthode:

  • / site/fichiers /
  • /disposition du site/
  • / site/scripts /
  • / site/misc/docs/pdf /
  • / site/misc/docs/csv /
  • / site/misc/docs/txt /

REMARQUES: Dans le sous-répertoire "common" du dossier public_html, vous pouvez créer un nouveau sous-répertoire et le nommer "uploads/2014/12/pour vos fichiers téléchargés, de la même manière que la manière dont wordpress organise vos téléchargements.

1
js92