=== Campus Condorcet - Proof Of Concept (POC) ===
              Note de déploiement

* Le POC est constitué de 7 briques logicielles :
 1. Fournisseur de service SAML2 (SP Django)
 2. Fournisseur d'identité SAML2 (IdP Authentic2)
 3. Système de traitement des formulaires (w.c.s.)
 4. Connecteur annuaire LDAP (sous-application Passerelle)
 5. Serveur HTTP (Apache)
 6. Annuaire LDAP (OpenLDAP/slapd)
 7. Serveur SMTP (exim4)

* Remarques concernant le déploiement de chacune des briques :

 1. Fournisseur de service SAML2 :
 - Le dépôt git contenant cette brique logicielle est récupérable à l'adresse
 git.entrouvert.org/paul-synchro.git.
 - L'instance de l'application, lancée en local, écoute sur le port 8008.
     $ python manage.py runserver 8008

 2. Fournisseur d'identité SAML2 :
 - L'instance de l'application, lancée en local, écoute sur le port 8000.
     $ python manage.py runserver

 3. Système de traitement des formulaires:
 - Instance d'URL wcs.example.com
 - La configuration Apache adéquate doit être effectuée

 4. Connecteur annuaire:
 - Code en local pour l'instant, pas de merge dans le dépôt EO

 5. Apache:
 - Configuration de l'instance VirtualHost disponible en annexes

 6. Annuaire LDAP :
 - Utilisation d'un fichier de peuplement de l'annuaire écrit par Matthew Craig,
   disponible à l'adresse :
   http://mcraig.org/ldif/Example.ldif
   -> Pas nécessaire dans l'absolu, seulement une définition minimale des
   différentes unités organisationnelles est indispensable pour l'insertion des
   entrées LDAP par le connecteur.

 7. Serveur HTTP :
 - La configuration de l'instance VirtualHost est disponible en annexes.
 - Possibilité de faire correspondre hostname et nom du VirtualHost (cf fichier
   /etc/hosts)

* Annexes :

 - Procédure d'obtention du module Lasso, script getlasso.sh :
 =================================================================
 #!/bin/sh

 # Get venv site-packages path
 DSTDIR=`python -c 'from distutils.sysconfig import get_python_lib;
 print(get_python_lib())'`

 # Get not venv site-packages path
 # Remove first path (assuming that is the venv path)
 NONPATH=`echo $PATH | sed 's/^[^:]*://'`
 SRCDIR=`PATH=$NONPATH python -c 'from distutils.sysconfig import
 get_python_lib; print(get_python_lib())'`

 # Clean up
 rm -f $DSTDIR/lasso.*
 rm -f $DSTDIR/_lasso.*

 # Link
 ln -sv $SRCDIR/lasso.py $DSTDIR
 ln -sv $SRCDIR/_lasso.* $DSTDIR

 exit 0
 =================================================================

 - Fichier de configuration /etc/apache2/vhost
 =================================================================
 <VirtualHost *>
     ServerAdmin webmaster@locahost
     ServerName www.example.com
     DocumentRoot /usr/share/wcs/web/

     SCGIMount / 127.0.0.1:3001

     Alias /static/ /var/lib/wcs/collectstatic/
     <LocationMatch "^/static">
         SCGIHandler off
     </LocationMatch>

     Alias /themes/ /usr/share/wcs/themes/
     RewriteEngine On
     RewriteCond  /usr/share/wcs/%{REQUEST_URI}  !-f
     RewriteCond  /usr/share/wcs/%{REQUEST_URI}  !-d
     RewriteRule  ^/themes/(.*)$ /var/lib/wcs/%{HTTP_HOST}/themes/$1

     CustomLog /var/log/apache2/wcs-access.log combined
     ErrorLog /var/log/apache2/wcs-error.log
 </VirtualHost>
 =================================================================
