Difference between revisions of "Downloads/Fr"

From TuxFamilyFAQ
Jump to navigationJump to search
(ajout de l'utilisation de rsync en consultation et remplissage)
 
(44 intermediate revisions by 10 users not shown)
Line 1: Line 1:
<big> Espaces de Downloads </big>
+
<big> Espaces de téléchargement </big>
  
 
{{Template:Languages}}
 
{{Template:Languages}}
Line 5: Line 5:
 
= Description =
 
= Description =
  
Les dépôts (repositories) permettent le stockage de gros fichiers que vous souhaitez rendre disponibles au téléchargement :
+
Les dépôts (repositories) permettent le stockage de fichiers statiques que vous souhaitez rendre disponibles au téléchargement. Cela implique aussi bien les "gros" fichiers :
*fichiers ISO ;
+
* fichiers ISO
*dépôts de paquets (.deb, .rpm, etc.).
+
* dépôts de paquets (<tt>.deb</tt>, <tt>.rpm</tt>, etc.)
 +
* vidéos
 +
* photographies haute-résolution
 +
.. que les fichiers de moindre taille :
 +
* fichiers CSS
 +
* avatars des membres de vos applications web
 +
* images des thèmes de vos applications web
 +
* ...
  
Le quota par défaut est de 1024 Mo, mais il peut être augmenté sur simple demande. Dans certains cas, la corruption des administrateurs devant un comptoir peut s'avérer nécessaire... Les fichiers pourront alors être téléchargés en utilisant les protocoles ftp, http et rsync.
+
Cela n'inclut pas les fichiers dynamiques (<tt>.cgi</tt>, <tt>.php</tt>, ...).
 +
 
 +
Le quota par défaut est de 1024 Mo, mais il peut être augmenté sur simple demande. Dans certains cas, la corruption des administrateurs devant un comptoir peut s'avérer nécessaire... Les fichiers pourront alors être téléchargés en utilisant les protocoles <tt>ftp</tt>, <tt>http</tt> et <tt>rsync</tt>.
 +
 
 +
'''A noter''' : choisissez avec soin le nom de votre projet, car l'URL de consultation de votre dépôt sera de la forme http://download.tuxfamily.org/PROJET/
 +
 
 +
=== Quelle différence avec un espace web standard ? ===
 +
 
 +
Utiliser les espaces de téléchargement est primordial pour que TuxFamily
 +
puisse continuer à fournir un service convenable.
 +
 
 +
En effet, les espaces web
 +
sont conçus spécifiquement pour servir du contenu '''dynamique''' (disques rapides,
 +
mais espace disque coûteux et limité, plusieurs machines en load balancing
 +
pour tout ce qui est pages web dynamiques,...) alors que les espaces de
 +
téléchargement sont eux optimisés pour fournir du contenu '''statique''' (espace
 +
disque conséquent et peu coûteux, architecture répartie sur plusieurs serveurs
 +
avec du geodns pour servir les clients en fonction de leur répartition
 +
géographique, pas de pages web dynamiques,...).
 +
Ainsi, même si par hasard vous avez réussi à obtenir un quota élevé pour
 +
votre espace web standard, vous ne devez pas l'utiliser pour stocker et
 +
distribuer de gros fichiers statiques.
  
 
= Dépendances =
 
= Dépendances =
  
*Un [[User/Fr|compte utilisateur]] ;
+
*Un [[User/Fr|compte utilisateur]]
*un [[Group/Fr|projet validé par l'équipe de modération]].
+
*un [[Group/Fr|projet validé par l'équipe de modération]]
  
 
= Création =
 
= Création =
  
Vous pouvez demander la création de votre espace de téléchargement via le panel d'administration de votre groupe projet (tout en bas du panel).
+
* Connectez-vous sur le panel
 +
* Sélectionnez le groupe pour cet espace de téléchargement
 +
* Cliquez sur "Créer" dans la rubrique "Espaces de téléchargement" (vers le bas)
 +
* Remplissez le champ "Description"
  
 
== Conseils de création ==  
 
== Conseils de création ==  
Line 43: Line 74:
  
 
Euh... D'abord, faites tourner vos neurones 7 fois dans votre cerveau car la destruction est irréversible !
 
Euh... D'abord, faites tourner vos neurones 7 fois dans votre cerveau car la destruction est irréversible !
*Connectez-vous sur le panel ;
+
*Connectez-vous sur le panel
*cliquez sur le groupe de votre projet ;
+
*Cliquez sur le groupe de votre projet
*cliquez sur votre repository ;
+
*Cliquez sur votre dépôt
*cliquez sur « détruire ».
+
*Cliquez sur « Détruire »
  
 
Et ne venez pas pleurer ;-)
 
Et ne venez pas pleurer ;-)
Line 54: Line 85:
 
==Consultation==
 
==Consultation==
 
Les URL de consultation sont :
 
Les URL de consultation sont :
 +
*http://download.tuxfamily.org
 +
*https://download.tuxfamily.org
 
*ftp://download.tuxfamily.org
 
*ftp://download.tuxfamily.org
*http://download.tuxfamily.org
 
 
*rsync://download.tuxfamily.org/pub
 
*rsync://download.tuxfamily.org/pub
  
Pour des fichiers ISO de DVD qui feraient donc probablement plus de 2 Go, conseillez à vos utilisateurs d'utiliser ftp ou rsync, apache ayant un bogue « historique » à 2 Go empêchant de récupérer l'intégralité du fichier (c'est ballot).
+
Avec rsync, pour télécharger tout l'espace dans le répertoire "download", taper:
 +
 
 +
$ rsync -av rsync://download.tuxfamily.org/pub/'''mon_projet'''/ download/
 +
 
 +
Mais on préfère une utilisation en HTTP, c'est plus souple et plus simple pour tout le monde ;)
 +
 
 +
Pour le HTTP, on peut tout télécharger en utilisant wget, mais il y aura des fichier HTML de listing (index.html) en plus:
  
==Remplissage==
+
$ wget -r -l inf -nH -np http://download.tuxfamily.org/'''mon_projet'''/
  
Utilisez tout simplement votre client ftp sur ftp.tuxfamily.org avec classiquement votre login (celui du panel). Les fichiers appartiennent à votre groupe et sont donc remplaçables par vos comparses sur votre projet.
+
==Remplissage par FTP==
  
Pensez à ajouter un fichier README précisant :
+
Utilisez tout simplement votre client <tt>ftp</tt> sur ftp://ftp.tuxfamily.org avec classiquement votre login (celui du panel). Les fichiers appartiennent à votre groupe et sont donc remplaçables par vos comparses sur votre projet.
 +
 
 +
Pensez à ajouter un fichier <tt>README</tt> précisant :
 
*le contenu du dépôt ainsi que son organisation ;
 
*le contenu du dépôt ainsi que son organisation ;
*la licence retenue pour les fichiers mis à disposition en téléchargement (voir LicenceLibre) : ajouter un fichier LICENSE pendant que vous y êtes voire COPYRIGHT (à la debian) ;
+
*la licence retenue pour les fichiers mis à disposition en téléchargement (voir [[Licence/Fr|Licence Libre]]) : ajouter un fichier <tt>LICENSE</tt> pendant que vous y êtes voire <tt>COPYRIGHT</tt> (à la Debian) ;
 
*la façon d'utiliser ce dépôt ;
 
*la façon d'utiliser ce dépôt ;
*vous pouvez nommer ce fichier MANIFEST (ou _README ou .README ? pour qu'il apparaisse en premier de la liste) => vérifiez ensuite ce qui est affiché lors de la  connexion par ftp.
+
*vous pouvez nommer ce fichier <tt>MANIFEST</tt> (ou <tt>_README</tt> ou <tt>.README</tt> ? pour qu'il apparaisse en premier de la liste) : vérifiez ensuite ce qui est affiché lors de la  connexion par ftp.
  
Si vous ne voulez pas que le mot de passe de votre compte utilisateur (celui qui vous permet entre autre de gérer votre compte sur le panel...) transiste en clair sur le réseau en utilisant ftp (ça peut se comprendre ;-)), utilisez sftp, un protocole sécurisé par ssh.
+
==Remplissage par SSH (ou SFTP ou rsync over SSH)==
 +
 
 +
Si vous ne voulez pas que le mot de passe de votre compte utilisateur (celui qui vous permet entre autre de gérer votre compte sur le panel...) transiste en clair sur le réseau en utilisant <tt>ftp</tt> (ça peut se comprendre ;-)), utilisez un protocole sécurisé par <tt>ssh</tt> comme <tt>sftp</tt>.
 +
 
 +
===Par SFTP===
  
 
Pour les besoins de l'exemple, nous supposerons que :
 
Pour les besoins de l'exemple, nous supposerons que :
*« utilisateur » est votre nom de connexion sur le panel vhffs de TuxFamily ;
+
<tt>utilisateur</tt> » est votre nom de connexion sur le panel vhffs de TuxFamily ;
*« mon_projet » est le nom de votre projet concerné par l'espace de téléchargement, sachant que vous pouvez en avoir plusieurs ;
+
<tt>mon_projet</tt> » est le nom de votre projet concerné par l'espace de téléchargement, sachant que vous pouvez en avoir plusieurs ;
*« local_user » est votre nom de connexion votre machine .
+
<tt>local_user</tt> » est votre nom de connexion sur votre machine .
  
 
Dans une console, tapez la commande suivante :
 
Dans une console, tapez la commande suivante :
  
sftp utilisateur@ftp.tuxfamily.org
+
sftp utilisateur@ftp.tuxfamily.org
  
 
Si vous ne vous êtes jamais connecté de cette manière, la première fois, vous recevrez dans la console un message du style :
 
Si vous ne vous êtes jamais connecté de cette manière, la première fois, vous recevrez dans la console un message du style :
  
Connecting to ftp.tuxfamily.org...
+
Connecting to ftp.tuxfamily.org...
 
+
The authenticity of host 'ftp.tuxfamily.org (212.85.158.7)' can't be established.
The authenticity of host 'ftp.tuxfamily.org (212.85.158.7)' can't be established.
+
RSA key fingerprint is ef:3b:cd:b3:a0:66:bc:fb:f7:3a:98:1f:32:45:8c:24.
 
+
Are you sure you want to continue connecting (yes/no)?
RSA key fingerprint is ef:3b:cd:b3:a0:66:bc:fb:f7:3a:98:1f:32:45:8c:24.
 
 
 
Are you sure you want to continue connecting (yes/no)?
 
  
 
Évidemment, vous répondrez oui. Enfin... yes ;-)
 
Évidemment, vous répondrez oui. Enfin... yes ;-)
Line 95: Line 136:
 
Vous verrez alors apparaître l'avertissement suivant :
 
Vous verrez alors apparaître l'avertissement suivant :
  
Warning: Permanently added 'ftp.tuxfamily.org,212.85.158.7' (RSA) to the list of known hosts.
+
Warning: Permanently added 'ftp.tuxfamily.org,212.85.158.7' (RSA) to the list of known hosts.
  
indiquant donc que le ftp de Tuxfamily est ajouté à la liste des hôtes connus par ssh sur la machine avec laquelle vous vous connectez.
+
indiquant donc que le <tt>ftp</tt> de Tuxfamily est ajouté à la liste des hôtes connus par <tt>ssh</tt> sur la machine avec laquelle vous vous connectez.
  
Ensuite, dans le cas où vous n'auriez pas « sécurisé » la console (ajouter lien interne vers documentation svn et ssh, par exemple), ssh vous demande de fournir votre phrase de passe :
+
Ensuite, dans le cas où vous n'auriez pas « sécurisé » la console (voir l'exemple d'un [[SVN/Fr#Utilisation|shell sécurisé]]), <tt>ssh</tt> vous demande de fournir votre phrase de passe :
  
Enter passphrase for key '/home/local_user/.ssh/id_dsa':
+
Enter passphrase for key '/home/local_user/.ssh/id_dsa':
  
 
ou peut-être :
 
ou peut-être :
  
Enter passphrase for key '/home/local_user/.ssh/id_rsa':
+
Enter passphrase for key '/home/local_user/.ssh/id_rsa':
 +
 
 +
suivant le type de clé ssh que vous avez créé, ou tout simplement
  
suivant le type de clé ssh que vous avez créé.
+
''utilisateur''@ftp.tuxfamily.org's password:
  
 
Si vous ne vous êtes pas trompé dans votre phrase de passe, l'invite de votre console devient :
 
Si vous ne vous êtes pas trompé dans votre phrase de passe, l'invite de votre console devient :
  
sftp>
+
sftp>
  
Un petit « ls » vous permet d'afficher l'ensemble des projets que vous avez créé chez TuxFamily, dont « mon_projet », plus le répertoire « ssh_keys ».
+
Un petit « <tt>ls</tt> » vous permet d'afficher l'ensemble des projets que vous avez créé chez TuxFamily, dont « <tt>mon_projet</tt> », plus le répertoire « <tt>ssh_keys</tt> ».
  
Allez dans le répertoire « mon_projet » et relancez « ls ». [1]
+
Allez dans le répertoire « <tt>mon_projet</tt> » et relancez « <tt>ls</tt> » <ref> Petit rappel : l'autocomplémentation, l'historique clavier, le déplacement avec la flèche gauche ne fonctionnent pas toujours dans une connexion sécurisée <tt>sftp</tt> !
 +
Dans ce cas, usez et abusez des commandes « <tt>ls</tt> », « <tt>cd</tt> » et « <tt>pwd</tt> » !
 +
Judicieusement utilisées avec la sélection de texte avec la souris, vous vous faciliterez grandement la vie ! </ref>
 +
.
 +
sftp> cd mon_projet
 +
sftp> ls
 +
mon_projet-repository          mon_projet.tuxfamily.org-web
 +
sftp>
  
sftp> cd mon_projet
+
C'est peut-être un peu ambigü, mais il se trouve que le répertoire « <tt>mon_projet-repository</tt> » est équivalent à votre espace de téléchargement auquel les internautes accèderont par le lien http://download.tuxfamily.org/mon_projet
sftp> ls
 
mon_projet-repository           mon_projet.tuxfamily.org-web
 
sftp>
 
  
C'est peut-être un peu ambigü, mais il se trouve que le répertoire « mon_projet-repository » est équivalent à votre espace de téléchargement auquel les internautes accèderont par le lien http://download.tuxfamily.org/mon_projet
+
Alors, un petit « <tt>cd</tt> » supplémentaire, et vous pourrez installer dans le répertoire tous les fichiers que vous destinez au téléchargement.
  
Alors, un petit « cd » supplémentaire, et vous pourrez installer dans le répertoire tous les fichiers que vous destinez au téléchargement.
+
sftp> cd mon_projet-repository
  
sftp> cd mon_projet-repository
+
Vous pouvez aussi en profiter pour mettre à jour ou installer votre site web en utilisant <tt>sftp</tt>.
  
 +
Rappelez-vous. Si vous êtes dans le répertoire distant « <tt>mon_projet</tt> », la commande « <tt>ls</tt> » renvoie :
  
Vous pouvez aussi en profiter pour mettre à jour ou installer votre site web en utilisant sftp.
+
sftp> ls
 +
mon_projet-repository          mon_projet.tuxfamily.org-web
  
Rappelez-vous. Si vous êtes dans le répertoire distant « mon_projet », la commande « ls » renvoie :
+
Entrez dans « <tt>mon_projet.tuxfamily.org-web</tt> » et affichez-en le contenu :
  
sftp> ls
+
sftp> cd mon_projet.tuxfamily.org-web
mon_projet-repository          mon_projet.tuxfamily.org-web
+
sftp> ls
 +
awstats      htdocs      logs        php-include  tmp
  
Entrez dans « mon_projet.tuxfamily.org-web » et affichez-en le contenu :
+
La racine de votre site web est « <tt>htdocs</tt> ».
  
sftp> cd mon_projet.tuxfamily.org-web
+
  sftp> cd htdocs
sftp> ls
 
awstats      htdocs      logs        php-include tmp
 
 
 
La racine de votre site web est « htdocs ».
 
 
 
sftp> cd htdocs
 
  
 
Vous êtes donc à présent à l'endroit qui peut être visualisé de l'extérieur avec l'URL « http://mon_projet.tuxfamily.org ».
 
Vous êtes donc à présent à l'endroit qui peut être visualisé de l'extérieur avec l'URL « http://mon_projet.tuxfamily.org ».
  
Pour plus d'informations sur la copie de vos fichiers locaux sur votre espace de téléchargement TuxFamily ou votre espace web, vous n'êtes nullement dispensé de la lecture de la page de manuel de sftp ;-).
+
Pour plus d'informations sur la copie de vos fichiers locaux sur votre espace de téléchargement TuxFamily ou votre espace web, vous n'êtes nullement dispensé de la lecture de la page de manuel de <tt>sftp</tt> ;-).
 
En plus, il y a une version française...
 
En plus, il y a une version française...
  
 
Si vous pensez qu'elle n'est pas à jour, il vous reste la version originale accessible par la commande suivante :
 
Si vous pensez qu'elle n'est pas à jour, il vous reste la version originale accessible par la commande suivante :
  
LANG=C man sftp
+
LANG=C man sftp
  
 
Voilà pour le moment !
 
Voilà pour le moment !
  
Nous tâcherons d'améliorer cette section dès que nous saurons faire un peu de formatage sur le wiki afin de la rendre plus agréable et plus évidente à lire !
+
<references/>
  
 +
===Par rsync (over SSH)===
  
[1] Petit rappel : l'autocomplémentation, l'historique clavier, le déplacement avec la flèche gauche ne fonctionnent pas dans une connexion sécurisée !
+
rsync permet une utilisation moins interactive et plus facilement automatisable.  Pour ajouter le contenu de la racine du répertoire "download" au sous-répertoire "temp" de l'espace de téléchargement, taper:
Donc, usez et abusez des commandes « ls », « cd » et « pwd » !
+
 
Judicieusement utilisées avec la sélection de texte avec la souris, vous vous faciliterez grandement la vie !
+
$ rsync -av ./download/ '''utilisateur'''@ssh.tuxfamily.org:'''mon_projet'''/'''mon_projet'''-repository/temp/
 +
 
 +
==Remplissage via PHP/votre application==
 +
Pour vos avatars de forum, ou les fichiers joints ou les uploads pour votre wiki, il est recommandé d'utiliser un download repository (ce sont des fichiers statiques, consommateurs d'espace disque).
 +
 
 +
La taille des fichiers pour l'upload par HTTP est limitée à 128 Mo (à confirmer).
 +
 
 +
Voir [[WebArea/Fr#Compatibilit.C3.A9s_avec_certaines_applications|les recommandations par application]] pour savoir comment procéder pour chacun, en bref :
 +
* pour que php/votre application puisse y écrire du contenu : utiliser /data/repository/[votre_nom_de_groupe]/statique/
 +
* pour que php/votre application puisse vous fournir le contenu : faire en sorte que le lien fourni par votre application pointe sur http://download.tuxfamily.org/[votre_nom_de_groupe]/statique/
  
 
==Statistiques==
 
==Statistiques==
  
Les statistiques concernant votre dépot sont disponibles sur http://stats.download.tuxfamily.org/VOTREGROUPE/ , par exemple : http://stats.download.tuxfamily.org/vhffs4/
+
Les [[Awstats/Fr|statistiques]] concernant votre dépôt sont disponibles sur : http://stats.download.tuxfamily.org/VOTREGROUPE/<br />
 +
Par exemple : http://stats.download.tuxfamily.org/vhffs4/
 +
 
 +
=Espaces de téléchargement et civisme=
 +
 
 +
Comme sur toute architecture mutualisée, les ressources pour le service de téléchargement sont réparties entre tous les hébergés. Nous vous demandons donc de respecter ces règles fort simples et qui à mon avis ne sont que du bon sens...
 +
 
 +
*Ne pas gaspiller l'espace disque. Il vous faut nettoyer régulièrement vos espaces de téléchargement et supprimer les fichiers caducs.
 +
*Nous prévenir avant de releaser de gros fichiers (des ISO d'une distribution par exemple).
 +
*Pour ceux qui auraient envie de figurer sur des sites du genre de http://distrowatch.com idem, nous faire signe AVANT nous permet de prévenir nos fournisseurs de bande passante qu'il risque d'y avoir un pic de consommation...
 +
**Nous recommandons d'éviter de donner un lien direct vers l'ISO sur distrowatch et préconisons plutôt de donner une page listant les miroirs existant (4 au minimum afin de répartir la charge).
 +
**Nous serions aussi embêtés que vous de devoir fermer ce service, ce qui a failli nous arriver.
 +
*De plus, nous encourageons vivement les personnes qui font des paquets pour une certaine distribution commençant par 'U' et finissant par 'buntu' de se mettre en relation avec les dépôts officiels pour y intégrer leurs paquets au lieu de créer un nième dépôt sur TuxFamily.
 +
* Privilégiez plutôt ce service pour vos ISOs de développement (moins de téléchargements qu'une release publique) ou comme serveur primaire de miroir (ça vous arrangera quand les autres miroirs seront martelés par des milliers de FTP).
 +
*Merci aussi d'encourager vos utilisateurs à ne pas utiliser ces #@!$#@!$#@$! de logiciels qui ouvrent 20000 connexions sur le serveur pour télécharger 1 fichier... En effet, ils ne permettent pas de gagner en vitesse de téléchargement mais surchargent surtout inutilement nos serveurs.
 +
 
 +
La politique de TuxFamily a toujours été de brider les services au minimum et d'être peu regardant sur les ressources consommées cependant, en cas d'abus, nous ne laisserons pas un utilisateur dégrader le service (et donc nuire à tous les autres projets) et l'indélicat sera mis à la porte sans ménagement.
  
 
= Remarques diverses =
 
= Remarques diverses =
  
*Voir http://download.tuxfamily.org/vhffs4/ pour un exemple de dépôt de paquets debian.
+
*Voir http://download.tuxfamily.org/vhffs4/ pour un exemple de dépôt de paquets Debian.
*N'hésitez pas à mettre un fichier README par répertoire afin que l'utilisateur sache ce qu'il peut trouver dans l'arborescence.
+
*N'hésitez pas à mettre un fichier <tt>README</tt> par répertoire afin que l'utilisateur sache ce qu'il peut trouver dans l'arborescence.
*Pour les fichiers ISO, pensez à mettre un fichier de description donnant les md5sum ou sha1 (cela permet de vérifier que le téléchargement s'est correctement déroulé).
+
*Pour les fichiers ISO, pensez à mettre un fichier de description donnant les <tt>md5sum</tt> ou <tt>sha1</tt> (cela permet de vérifier que le téléchargement s'est correctement déroulé).
 
*Essayez d'organiser un minimum les répertoires (mieux que votre chambre de geek, hein ?) pour prévoir les versions ultérieures, les paquets de vos logiciels, plutôt qu'un vaste foutoir innommable qui vous ferait honte par la suite...
 
*Essayez d'organiser un minimum les répertoires (mieux que votre chambre de geek, hein ?) pour prévoir les versions ultérieures, les paquets de vos logiciels, plutôt qu'un vaste foutoir innommable qui vous ferait honte par la suite...
 +
*Vous pouvez aussi [http://faq.tuxfamily.org/WebArea/Fr#Copier_des_fichiers_vers_les_espaces_de_t.C3.A9l.C3.A9chargements écrire dans votre espace de téléchargement depuis votre site web].
 +
*Tous les fichiers déposés sur les dépôts de téléchargement seront téléchargeables publiquement, et ce quelles que soient les permissions utilisées sur les fichiers.
  
 
= Liens utiles =
 
= Liens utiles =
Line 179: Line 251:
 
Euh... Rien pour le moment.
 
Euh... Rien pour le moment.
  
Si vous en connaissez qui devraient se trouver ici, n'hésitez à éditer, ou au moins le signaler, par exemple sur IRC.
+
Si vous en connaissez qui devraient se trouver ici, n'hésitez pas à éditer, ou au moins le signaler, par exemple sur IRC.

Latest revision as of 19:06, 27 October 2019

Espaces de téléchargement



Description

Les dépôts (repositories) permettent le stockage de fichiers statiques que vous souhaitez rendre disponibles au téléchargement. Cela implique aussi bien les "gros" fichiers :

  • fichiers ISO
  • dépôts de paquets (.deb, .rpm, etc.)
  • vidéos
  • photographies haute-résolution

.. que les fichiers de moindre taille :

  • fichiers CSS
  • avatars des membres de vos applications web
  • images des thèmes de vos applications web
  • ...

Cela n'inclut pas les fichiers dynamiques (.cgi, .php, ...).

Le quota par défaut est de 1024 Mo, mais il peut être augmenté sur simple demande. Dans certains cas, la corruption des administrateurs devant un comptoir peut s'avérer nécessaire... Les fichiers pourront alors être téléchargés en utilisant les protocoles ftp, http et rsync.

A noter : choisissez avec soin le nom de votre projet, car l'URL de consultation de votre dépôt sera de la forme http://download.tuxfamily.org/PROJET/

Quelle différence avec un espace web standard ?

Utiliser les espaces de téléchargement est primordial pour que TuxFamily puisse continuer à fournir un service convenable.

En effet, les espaces web sont conçus spécifiquement pour servir du contenu dynamique (disques rapides, mais espace disque coûteux et limité, plusieurs machines en load balancing pour tout ce qui est pages web dynamiques,...) alors que les espaces de téléchargement sont eux optimisés pour fournir du contenu statique (espace disque conséquent et peu coûteux, architecture répartie sur plusieurs serveurs avec du geodns pour servir les clients en fonction de leur répartition géographique, pas de pages web dynamiques,...). Ainsi, même si par hasard vous avez réussi à obtenir un quota élevé pour votre espace web standard, vous ne devez pas l'utiliser pour stocker et distribuer de gros fichiers statiques.

Dépendances

Création

  • Connectez-vous sur le panel
  • Sélectionnez le groupe pour cet espace de téléchargement
  • Cliquez sur "Créer" dans la rubrique "Espaces de téléchargement" (vers le bas)
  • Remplissez le champ "Description"

Conseils de création

  • Comme d'habitude, mettez une description claire avec la licence, cela fera gagner du temps à tout le monde, particulièrement à vous ;-)

Modération

La création de cet espace de téléchargement est soumise à modération. Voir ici.

Comment l'administrer (panel)

Il n'y a aucune option sur le panel.

Configuration

Rien à configurer :)

Comment gérer les droits de mon groupe ?

Cet objet peut être partagé avec votre groupe en utilisant les ACL.

Comment le détruire ?

Euh... D'abord, faites tourner vos neurones 7 fois dans votre cerveau car la destruction est irréversible !

  • Connectez-vous sur le panel
  • Cliquez sur le groupe de votre projet
  • Cliquez sur votre dépôt
  • Cliquez sur « Détruire »

Et ne venez pas pleurer ;-)

Comment l'utiliser

Consultation

Les URL de consultation sont :

Avec rsync, pour télécharger tout l'espace dans le répertoire "download", taper:

$ rsync -av rsync://download.tuxfamily.org/pub/mon_projet/ download/

Mais on préfère une utilisation en HTTP, c'est plus souple et plus simple pour tout le monde ;)

Pour le HTTP, on peut tout télécharger en utilisant wget, mais il y aura des fichier HTML de listing (index.html) en plus:

$ wget -r -l inf -nH -np http://download.tuxfamily.org/mon_projet/

Remplissage par FTP

Utilisez tout simplement votre client ftp sur ftp://ftp.tuxfamily.org avec classiquement votre login (celui du panel). Les fichiers appartiennent à votre groupe et sont donc remplaçables par vos comparses sur votre projet.

Pensez à ajouter un fichier README précisant :

  • le contenu du dépôt ainsi que son organisation ;
  • la licence retenue pour les fichiers mis à disposition en téléchargement (voir Licence Libre) : ajouter un fichier LICENSE pendant que vous y êtes voire COPYRIGHT (à la Debian) ;
  • la façon d'utiliser ce dépôt ;
  • vous pouvez nommer ce fichier MANIFEST (ou _README ou .README ? pour qu'il apparaisse en premier de la liste) : vérifiez ensuite ce qui est affiché lors de la connexion par ftp.

Remplissage par SSH (ou SFTP ou rsync over SSH)

Si vous ne voulez pas que le mot de passe de votre compte utilisateur (celui qui vous permet entre autre de gérer votre compte sur le panel...) transiste en clair sur le réseau en utilisant ftp (ça peut se comprendre ;-)), utilisez un protocole sécurisé par ssh comme sftp.

Par SFTP

Pour les besoins de l'exemple, nous supposerons que :

  • « utilisateur » est votre nom de connexion sur le panel vhffs de TuxFamily ;
  • « mon_projet » est le nom de votre projet concerné par l'espace de téléchargement, sachant que vous pouvez en avoir plusieurs ;
  • « local_user » est votre nom de connexion sur votre machine .

Dans une console, tapez la commande suivante :

sftp utilisateur@ftp.tuxfamily.org

Si vous ne vous êtes jamais connecté de cette manière, la première fois, vous recevrez dans la console un message du style :

Connecting to ftp.tuxfamily.org...
The authenticity of host 'ftp.tuxfamily.org (212.85.158.7)' can't be established.
RSA key fingerprint is ef:3b:cd:b3:a0:66:bc:fb:f7:3a:98:1f:32:45:8c:24.
Are you sure you want to continue connecting (yes/no)?

Évidemment, vous répondrez oui. Enfin... yes ;-)

Vous verrez alors apparaître l'avertissement suivant :

Warning: Permanently added 'ftp.tuxfamily.org,212.85.158.7' (RSA) to the list of known hosts.

indiquant donc que le ftp de Tuxfamily est ajouté à la liste des hôtes connus par ssh sur la machine avec laquelle vous vous connectez.

Ensuite, dans le cas où vous n'auriez pas « sécurisé » la console (voir l'exemple d'un shell sécurisé), ssh vous demande de fournir votre phrase de passe :

Enter passphrase for key '/home/local_user/.ssh/id_dsa':

ou peut-être :

Enter passphrase for key '/home/local_user/.ssh/id_rsa':

suivant le type de clé ssh que vous avez créé, ou tout simplement

utilisateur@ftp.tuxfamily.org's password:

Si vous ne vous êtes pas trompé dans votre phrase de passe, l'invite de votre console devient :

sftp>

Un petit « ls » vous permet d'afficher l'ensemble des projets que vous avez créé chez TuxFamily, dont « mon_projet », plus le répertoire « ssh_keys ».

Allez dans le répertoire « mon_projet » et relancez « ls » [1] .

sftp> cd mon_projet
sftp> ls
mon_projet-repository           mon_projet.tuxfamily.org-web
sftp>

C'est peut-être un peu ambigü, mais il se trouve que le répertoire « mon_projet-repository » est équivalent à votre espace de téléchargement auquel les internautes accèderont par le lien http://download.tuxfamily.org/mon_projet

Alors, un petit « cd » supplémentaire, et vous pourrez installer dans le répertoire tous les fichiers que vous destinez au téléchargement.

sftp> cd mon_projet-repository

Vous pouvez aussi en profiter pour mettre à jour ou installer votre site web en utilisant sftp.

Rappelez-vous. Si vous êtes dans le répertoire distant « mon_projet », la commande « ls » renvoie :

sftp> ls
mon_projet-repository           mon_projet.tuxfamily.org-web

Entrez dans « mon_projet.tuxfamily.org-web » et affichez-en le contenu :

sftp> cd mon_projet.tuxfamily.org-web
sftp> ls
awstats      htdocs       logs         php-include  tmp

La racine de votre site web est « htdocs ».

sftp> cd htdocs

Vous êtes donc à présent à l'endroit qui peut être visualisé de l'extérieur avec l'URL « http://mon_projet.tuxfamily.org ».

Pour plus d'informations sur la copie de vos fichiers locaux sur votre espace de téléchargement TuxFamily ou votre espace web, vous n'êtes nullement dispensé de la lecture de la page de manuel de sftp ;-). En plus, il y a une version française...

Si vous pensez qu'elle n'est pas à jour, il vous reste la version originale accessible par la commande suivante :

LANG=C man sftp

Voilà pour le moment !

  1. Petit rappel : l'autocomplémentation, l'historique clavier, le déplacement avec la flèche gauche ne fonctionnent pas toujours dans une connexion sécurisée sftp ! Dans ce cas, usez et abusez des commandes « ls », « cd » et « pwd » ! Judicieusement utilisées avec la sélection de texte avec la souris, vous vous faciliterez grandement la vie !

Par rsync (over SSH)

rsync permet une utilisation moins interactive et plus facilement automatisable. Pour ajouter le contenu de la racine du répertoire "download" au sous-répertoire "temp" de l'espace de téléchargement, taper:

$ rsync -av ./download/ utilisateur@ssh.tuxfamily.org:mon_projet/mon_projet-repository/temp/

Remplissage via PHP/votre application

Pour vos avatars de forum, ou les fichiers joints ou les uploads pour votre wiki, il est recommandé d'utiliser un download repository (ce sont des fichiers statiques, consommateurs d'espace disque).

La taille des fichiers pour l'upload par HTTP est limitée à 128 Mo (à confirmer).

Voir les recommandations par application pour savoir comment procéder pour chacun, en bref :

  • pour que php/votre application puisse y écrire du contenu : utiliser /data/repository/[votre_nom_de_groupe]/statique/
  • pour que php/votre application puisse vous fournir le contenu : faire en sorte que le lien fourni par votre application pointe sur http://download.tuxfamily.org/[votre_nom_de_groupe]/statique/

Statistiques

Les statistiques concernant votre dépôt sont disponibles sur : http://stats.download.tuxfamily.org/VOTREGROUPE/
Par exemple : http://stats.download.tuxfamily.org/vhffs4/

Espaces de téléchargement et civisme

Comme sur toute architecture mutualisée, les ressources pour le service de téléchargement sont réparties entre tous les hébergés. Nous vous demandons donc de respecter ces règles fort simples et qui à mon avis ne sont que du bon sens...

  • Ne pas gaspiller l'espace disque. Il vous faut nettoyer régulièrement vos espaces de téléchargement et supprimer les fichiers caducs.
  • Nous prévenir avant de releaser de gros fichiers (des ISO d'une distribution par exemple).
  • Pour ceux qui auraient envie de figurer sur des sites du genre de http://distrowatch.com idem, nous faire signe AVANT nous permet de prévenir nos fournisseurs de bande passante qu'il risque d'y avoir un pic de consommation...
    • Nous recommandons d'éviter de donner un lien direct vers l'ISO sur distrowatch et préconisons plutôt de donner une page listant les miroirs existant (4 au minimum afin de répartir la charge).
    • Nous serions aussi embêtés que vous de devoir fermer ce service, ce qui a failli nous arriver.
  • De plus, nous encourageons vivement les personnes qui font des paquets pour une certaine distribution commençant par 'U' et finissant par 'buntu' de se mettre en relation avec les dépôts officiels pour y intégrer leurs paquets au lieu de créer un nième dépôt sur TuxFamily.
  • Privilégiez plutôt ce service pour vos ISOs de développement (moins de téléchargements qu'une release publique) ou comme serveur primaire de miroir (ça vous arrangera quand les autres miroirs seront martelés par des milliers de FTP).
  • Merci aussi d'encourager vos utilisateurs à ne pas utiliser ces #@!$#@!$#@$! de logiciels qui ouvrent 20000 connexions sur le serveur pour télécharger 1 fichier... En effet, ils ne permettent pas de gagner en vitesse de téléchargement mais surchargent surtout inutilement nos serveurs.

La politique de TuxFamily a toujours été de brider les services au minimum et d'être peu regardant sur les ressources consommées cependant, en cas d'abus, nous ne laisserons pas un utilisateur dégrader le service (et donc nuire à tous les autres projets) et l'indélicat sera mis à la porte sans ménagement.

Remarques diverses

  • Voir http://download.tuxfamily.org/vhffs4/ pour un exemple de dépôt de paquets Debian.
  • N'hésitez pas à mettre un fichier README par répertoire afin que l'utilisateur sache ce qu'il peut trouver dans l'arborescence.
  • Pour les fichiers ISO, pensez à mettre un fichier de description donnant les md5sum ou sha1 (cela permet de vérifier que le téléchargement s'est correctement déroulé).
  • Essayez d'organiser un minimum les répertoires (mieux que votre chambre de geek, hein ?) pour prévoir les versions ultérieures, les paquets de vos logiciels, plutôt qu'un vaste foutoir innommable qui vous ferait honte par la suite...
  • Vous pouvez aussi écrire dans votre espace de téléchargement depuis votre site web.
  • Tous les fichiers déposés sur les dépôts de téléchargement seront téléchargeables publiquement, et ce quelles que soient les permissions utilisées sur les fichiers.

Liens utiles

Euh... Rien pour le moment.

Si vous en connaissez qui devraient se trouver ici, n'hésitez pas à éditer, ou au moins le signaler, par exemple sur IRC.