Depuis la version [SPIP 1.4], il est possible d’installer des documents joints aux articles (et, en option, aux rubriques).
Pour des raisons de sécurité, SPIP n’autorise pas l’installation de n’importe quels types de documents. En effet, permettre l’installation de documents sur un serveur distant à partir d’une interface Web peut poser de sérieux problèmes de sécurité. C’est pourquoi cette liste d’autorisations existe, et pour cette même raison SPIP ne propose pas d’interface pour modifier cette liste.
- Le pavé permettant de joindre un document
- Ce pavé affiche systématiquement la liste complète des types de documents autorisés (ici dans l’encadré clair).
Comme vous pouvez le constater, la liste des types de fichiers autorisés est déjà relativement fournie, et nous l’enrichissons régulièrement lorsque le besoin est exprimé sur les listes.
Avant de poursuivre, prenez le temps de bien lire ce qui suit :
Cette manipulation est potentiellement dangereuse et peut introduire un énorme trou de sécurité dans votre site. Certains formats de fichiers (exécutables sur le serveur) ne doivent surtout pas être acceptés. En particulier, n’acceptez jamais l’installation de fichiers de type PHP (.php, .php3...) sur votre site, la sécurité de votre site serait totalement compromise. N’hésitez pas à vous renseigner avant d’ajouter des types de fichiers.
Volontairement, nous n’avons pas installé dans SPIP d’interface pour modifier la liste des types de fichiers autorisés. Cela pour réserver cette modification aux utilisateurs confirmés. Pour effectuer la manipulation, vous devez utiliser un gestionnaire de base de données (par exemple : phpMyAdmin). Or s’attaquer directement à la base de données de SPIP « à la main » (sans utiliser l’interface et les automatismes de SPIP) est potentiellement destructeur pour votre site. Si vous ne savez pas exactement ce que vous faites, ne le faites pas. Si vous n’avez pas l’habitude de phpMyAdmin, ne l’utilisez pas sur la base de SPIP. Dans tous les cas, effectuez une sauvegarde de votre site SPIP avant de procéder à des interventions manuelles dans la base.
Accessoirement, l’ajout d’un type de fichier ne se justifie que si les visiteurs de votre site peuvent utiliser (« lire ») ce type de fichier. Utiliser un format de fichier que l’on ne peut lire qu’avec un logiciel ultra-spécialisé sur un site grand public n’a pas vraiment de sens. Avant d’ajouter un type de fichier, vérifiez qu’il peut bien être utilisé par vos utilisateurs (notamment : lecteur ou plug-in gratuit et facile à installer ; ce format est-il lisible sur tous les ordinateurs, Mac, PC, Linux...?).
Pour toutes ces raisons, nous insistons sur le fait que cette manipulation ne doit être effectuée qu’en parfaite connaissance de cause. Si vous avez des doutes, renseignez-vous auprès de personnes compétentes ou, plus simplement encore, convertissez vos fichiers dans un format déjà autorisé et largement répandu (par exemple, un document FrameMaker ne pourra pas être lu directement par le grand public ; s’il s’agit simplement de diffuser son contenu, vous pouvez aussi bien en faire un fichier PDF directement téléchargeable par vos visiteurs plutôt que de vouloir ajouter le type « FrameMaker » dans la liste des fichiers autorisés par SPIP).
* *
Pour ajouter un type de fichier autorisé sur votre site sous SPIP, utilisez phpMyAdmin (ou tout logiciel équivalent) pour accéder à la gestion de la base de données.
Il vous faut ajouter un nouvel élément dans la table spip_types_documents
.
- Quelques types de documents dans phpMyAdmin
id_type
. Laissez ce champ vide. La numérotation des id_type
est effectuée automatiquement par mySQL.
titre
. Indiquez ici le nom du type de fichier (souvent il s’agit du nom du programme qui permet de créer et lire ce type de fichier). Choisissez un nom court et aussi générique que possible. Sur un site multilingue, prenez soin à ne pas utiliser un titre propre à une langue (par exemple, un visiteur anglophone ne sera pas tellement intéressé par un fichier indiqué comme étant une « image vectorielle pour Illustrator » ; on se contentera donc d’indiquer « Adobe Illustrator »).
descriptif
. Laissez vide ; ce champ n’est pas utilisé.
extension
. Ce champ est le plus important : c’est là qu’on indique le type de fichier identifié par son extension. Par exemple, « rm » et « ram » pour du Real, « pdf » pour un fichier Acrobat PDF, « gif » pour une image au format GIF...
mime_type
. Laissez vide ; ce champ n’est pas utilisé.
inclus
. Le choix est laissé entre : « embed », « non », « image ». Prenez bien soin à effectuer ici le bon choix (c’est très important pour le bon fonctionnement de votre site) ; il détermine de quelle manière ce type de document sera « appelé » dans votre site pour être présenté aux visiteurs :
- « non » : ce type de fichier ne peut pas être inclus directement à l’intérieur d’une page HTML ; on ne peut que le présenter au travers d’un lien hypertexte. Par exemple, un fichier PDF ne peut pas être affiché à l’intérieur d’une page HTML : le seul moyen de le joindre est de créer un lien hypertexte permettant d’ouvrir le fichier dans une nouvelle fenêtre (ou de le télécharger sur le disque dur du visiteur) ; un fichier de type « pdf » se voit donc attribuer le champ
inclus
fixé à « non » ; - « embed » : ce type de fichier peut-être directement affiché à l’intérieur d’une page HTML où il sera lu grâce à une extension du butineur (plug-in...). C’est le cas de la majorité des formats multimédia utilisés sur le Web : Flash, Shockwave, films vidéo...
- « image » : il s’agit de formats d’image affichés directement dans la page HTML sans extension particulière (avec le code HTML
<img src=...>
). A priori, vous n’aurez pas besoin d’ajouter de tels types de fichiers, la liste fournie par SPIP étant déjà exhaustive. (Notez bien : certains formats d’images réalisés avec des logiciels de « dessin » ne peuvent pas être affichés directement en tant que « image » et nécessitent une extension pour être lus ; de tels formats seront alors « embed », voire « non ».)
upload
. Indique que vous autorisez l’installation de ce type de fichier via l’interface Web de SPIP. On choisit donc « oui ».
maj
. Ce champ est géré automatiquement par SPIP. Laissez vide.
* *
Cette opération effectuée, vous pouvez créer une nouvelle icone (vignette de prévisualisation) correspondant à ce type de fichier. Pour assurer la cohérence graphique avec les icones livrées par défaut avec SPIP, cette vignette aura une taille d’environ 48 pixels de large et 52 pixels de haut.
Vous pouvez utiliser tout type de format (GIF, PNG, JPG) ; préférez un format autorisant un fond transparent.
Le nom de votre fichier sera formé ainsi :
- l’extension du type de fichier autorisé ;
- le format graphique de cette vignette (« .gif », « .png »...) ;
- par exemple, une vignette sauvegardée en PNG, créée pour le format PDF, sera nommée : « pdf.png ».
- N.B. Les noms se terminant par « -dist » sont réservés aux fichiers distribués avec SPIP. Ainsi, n’utilisez pas le nom « pdf-dist.png », ce nom est réservé au fichier créé par les développeurs de SPIP ; si vous utilisez tout de même ce nom, votre fichier risque d’être écrasé lors de votre prochaine mise-à-jour de SPIP.
Cette vignette s’installe par FTP dans le dossier /IMG/icones
.