SimpleCIDServer : un serveur de fichiers

SimpleCIDServer est un serveur de fichiers écrit en PHP permettant le téléversement de fichiers dans un ou plusieurs dossiers 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 SimpleCIDServer propose un déploiement en trois é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 ;

  3. une étape d'interaction afin de permettre le déploiement du fichier téléversé dans un dossier de l'arborescence.

    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'>Deposit file</cid:label>
    5
        <cid:doc xml:lang='en'>This server accepts any content and allows the sender to choose the storage directory.</cid:doc>
    6
        <cid:meta name='file-name' cardinality='?' is='http://schema.org/name'>
    7
          <cid:label>File name</cid:label>
    8
        </cid:meta>
    9
        <cid:meta name='file-url' cardinality='1' is='http://schema.org/url'/>
    10
        <cid:exchange url="http://example.com/SimpleCIDRep.php?cdaction=testAuth" required='false' is='http://schema.org/AuthorizeAction'/>
    11
        <cid:upload url="http://example.com/SimpleCIDRep.php?cdaction=upload" required='true' useMetas='file-name'/>
    12
        <cid:interact url="http://example.com/SimpleCIDRep.php?cdaction=negotiationFrame" required='true' returnMetas='file-url'/>
    13
      </cid:process>
    14
      <cid:authentications>
    15
        <cid:basicHttp/>
    16
      </cid:authentications>
    17
      <cid:transports>
    18
        <cid:webTransport needCookies='false' sessionProperties='uploadedFile'>
    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:webInteract>
    30
            <request method='GET' properties='queryString'/>
    31
            <request method='POST;application/x-www-form-urlencoded' properties='post queryString'/>
    32
            <request method='POST;multipart/form-data' properties='post queryString'/>
    33
          </cid:webInteract>
    34
        </cid:webTransport>
    35
      </cid:transports>
    36
    </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/SimpleCIDRep.php).

Installation d'un SimpleCIDRep

L'installation demande l'initialisation d'un ou plusieurs jeux de logins et mots de passe pour effectuer les dépôts, le nom du dossier dans lequel téléverser les fichiers et le nom du dossier temporaire (dans lequel un fichier est téléversé avant d'être classé dans l'arborescence du dossier upload).

Utilisation

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

Après un téléversement, le serveur envoie une interaction permettant de sélectionner le chemin (au sein du dossier d'upload spécifié à l'installation) dans lequel déployer le fichier envoyé.

Interaction entre un SimpeCIDRep et un usager à travers le client générique

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/SimpeCIDRep.php?cdaction=control).

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

Pour réinitialiser les noms d'utilisateur et les mots 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.