SingleCIDServer : un serveur de fichiers simple

SingleCIDServer est un serveur de fichiers écrit en PHP permettant le téléversement de fichiers dans un unique dossier par l'intermédiaire du protocole CID. Il est composé d'un unique fichier php à téléverser sur un serveur PHP. Une installation en ligne est préalable à toute utilisation.

Processus de déploiement

Le manifeste de SingleCIDServer propose un déploiement en deux étapes :

  1. une première étape exchange facultative dont l'enjeu est de tester l'authentification fournie par le client ;

  2. une seconde étape upload permettant de réaliser le déploiement.

1
<?xml version='1.0' encoding='UTF-8'?>
2
<cid:manifest xmlns:cid='http://www.cid-protocol.org/schema/v1/core'>
3
  <cid:process>
4
    <cid:label xml:lang='en'>Remote file repository</cid:label>
5
    <cid:doc xml:lang='en'>This server accepts any content and entreposes it on a single repository.</cid:doc>
6
    
7
    <cid:meta name='file-name' cardinality='?' is='http://schema.org/name'>
8
      <cid:label>File name</cid:label>
9
    </cid:meta>
10
    <cid:meta name='file-url' cardinality='1' is='http://schema.org/url'/>
11
    <cid:exchange url="http://example.com/SingleCIDRep.php?cdaction=testAuth" required='false' is='http://schema.org/AuthorizeAction'/>
12
    <cid:upload url="http://example.com/SingleCIDRep.php?cdaction=upload" required='true'  useMetas='file-name' returnMetas='file-url'/>
13
  </cid:process>
14
  <cid:authentications>
15
    <cid:basicHttp/>
16
  </cid:authentications>
17
  <cid:transports>
18
    <cid:webTransport needCookies='false'>
19
      <cid:webExchange>
20
        <request method='GET' properties='header queryString'/>
21
        <request method='POST;application/x-www-form-urlencoded' properties='post header queryString'/>
22
        <request method='POST;multipart/form-data' properties='post header queryString'/>
23
      </cid:webExchange>
24
      <cid:webUpload>
25
        <request method='PUT' properties='header queryString'/>
26
        <request method='POST' properties='header queryString'/>
27
        <request method='POST;multipart/form-data' properties='post header queryString'/>
28
      </cid:webUpload>
29
    </cid:webTransport>
30
  </cid:transports>
31
</cid:manifest>

Installation

Une fois le fichier de source téléversé sur un serveur PHP, l'installation se fait en ouvrant le fichier PHP dans un navigateur web (par exemple, à l'URL http://www.example.com/SingleCIDRep.php).

Installation d'un SingleCIDRep

L'installation demande l'initialisation d'un login et d'un mot de passe pour effectuer les dépôts. L'option auto-dezip permet de désarchiver automatiquement les fichiers reçus. L'option php upload permet d'accepter le téléversement de fichiers php.

Utilisation

Une fois installé, le manifeste est disponible à l'URL du fichier PHP (par exemple http://www.example.com/SingleCIDRep.php). Les fichiers téléversés sont accessibles à l'URL parente (par exemple, URL http://www.example.com).

Administration

Une page de contrôle de l'installation peut être affichée en utilisant le paramètre cdaction et la valeur control (par exemple http://example.co m/SingleCIDRep.php?cdaction=control).

Copie d'écran de la page de contrôle de SingleCIDRep

Pour réinitialiser le nom d'utilisateur et le mot de passe, il est possible d'éditer le fichier param.php créé à l'installation ou simplement de le supprimer et de procéder à nouveau à l'installation.

Avertissement sécurité

Attention, ce serveur est un démonstrateur développé à la fois pour illustrer le fonctionnement de CID et encourager le développement de nouvelles parties serveur.

Il n'est en revanche pas recommandé pour un usage industriel. Le login et le mot de passe définis par l’utilisateur sont stockés en clair dans le fichier PHP.