remove obsolete documentation

This commit is contained in:
Frédéric Péters 2021-02-04 10:29:09 +01:00
parent 8ead3895a3
commit c3e414e918
12 changed files with 0 additions and 1224 deletions

View File

@ -1,8 +0,0 @@
all:
$(MAKE) -C fr
clean:
$(MAKE) -C fr clean
.PHONY: clean

View File

@ -1,34 +0,0 @@
REST2HTML = rst2html
RST2LATEX = ../scripts/rst2latex.py
PDFLATEX = pdflatex
all: wcs-admin.pdf wcs-admin.html
%.html: %.rst
$(REST2HTML) --stylesheet=default.css --link-stylesheet --language=fr $? > $@
figures-no-alpha-stamp:
-rm -rf figures-no-alpha/
mkdir figures-no-alpha/
for F in figures/*.png; do \
../scripts/removealpha.sh $$F figures-no-alpha/`basename $$F`; \
done
touch figures-no-alpha-stamp
%.tex: %.rst figures-no-alpha-stamp
cat $? | sed -e 's/figures\//figures-no-alpha\//' \
-e 's/ ::$$/ : ::/g' \
-e 's/.. section-numbering:://' | $(RST2LATEX) --language=fr > $@
%.pdf: %.tex custom.tex
$(PDFLATEX) $?
logfile=`echo "$@" |sed -r "s/(.*)....$$/\\1/"`.log; while [ -f "$$logfile" -a -n "`grep "Rerun to get cross-references right" $$logfile`" ]; do $(PDFLATEX) $< ; done
clean:
-rm *.aux *.toc *.log *.out
-rm wcs-admin.pdf
-rm wcs-admin.tex
-rm wcs-admin.html
-rm -rf figures-no-alpha figures-no-alpha-stamp
.PHONY: all clean

View File

@ -1,45 +0,0 @@
\usepackage{float,fancyhdr,lscape,sectsty,colortbl,color,lastpage,setspace}
\usepackage[perpage,bottom]{footmisc}
\usepackage[hang]{caption2}
\usepackage{marvosym}
\usepackage{float,url,listings,tocbibind,fancyhdr,calc,placeins}
\usepackage{palatino}
\usepackage[Glenn]{fncychap}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\fancyhead[L]{w.c.s.}
\fancyhead[R]{Guide de l'administrateur}
\fancyfoot[C]{Page \thepage}
\addtolength{\headheight}{1.6pt}
\setlength\parindent{0pt}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
\setlength\abovecaptionskip{0.1ex}
\makeatletter
\renewcommand{\maketitle}{\begin{titlepage}%
\let\footnotesize\small
\let\footnoterule\relax
\parindent \z@
\reset@font
\null\vfil
\begin{flushleft}
\huge \@title
\end{flushleft}
\par
\hrule height 1pt
\par
\begin{flushright}
\LARGE \@author \par
\end{flushright}
\vskip 60\p@
\vfil\null
\end{titlepage}%
\setcounter{footnote}{0}%
}
\makeatother

View File

@ -1,143 +0,0 @@
body {
font-family: sans-serif;
}
h1 a, h2 a, h3 a, h4 a {
text-decoration: inherit;
color: inherit;
}
pre.literal-block {
background: #eee;
border: 1px inset black;
padding: 2px;
margin: auto 10px;
overflow: auto;
}
h1.title {
text-align: center;
background: #eef;
border: 1px solid #aaf;
letter-spacing: 1px;
}
div.section {
margin-bottom: 2em;
}
div.section h1 {
padding: 0 15px;
background: #eef;
border: 1px solid #aaf;
}
div.section h2 {
padding: 0 15px;
background: #eef;
border: 1px solid #aaf;
}
div.document {
margin-top: 1em;
border-top: 1px solid #aaf;
border-bottom: 1px solid #aaf;
}
div.section p,
div.section ul {
text-align: justify;
}
div.contents {
float: right;
border: 1px solid black;
margin: 1em;
background: #eef;
max-width: 33%;
}
div#building-liberty-services-with-lasso div#table-of-contents {
max-width: inherit;
float: none;
background: white url(lasso.png) bottom right no-repeat;
}
div.contents ul {
padding-left: 1em;
list-style: none;
}
div.contents li {
padding-bottom: 2px;
}
div.contents p {
background: #ddf;
text-align: center;
border-bottom: 1px solid black;
margin: 0;
}
th.docinfo-name {
text-align: right;
padding-right: 0.5em;
}
dd {
margin-bottom: 1ex;
}
table.table {
margin: 1ex 0;
border-spacing: 0px;
}
table.table th {
padding: 0px 1ex;
background: #eef;
font-weight: normal;
}
table.table td {
padding: 0 0.5ex;
}
div.note, div.warning {
padding: 0.3ex;
padding-left: 60px;
min-height: 50px;
margin: 1ex 1em;
}
div.note {
background: #ffa url(note.png) top left no-repeat;
border: 1px solid #fd8;
}
div.warning {
background: #ffd url(warning.png) top left no-repeat;
}
p.admonition-title {
font-weight: bold;
display: inline;
display: none;
padding-right: 1em;
}
div.figure {
margin: 0 auto;
width: 70%;
min-width: 800px;
text-align: center;
}
div.figure p.caption {
font-style: italic;
margin: 1ex 0 2em 0;
text-align: center;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

View File

@ -1,490 +0,0 @@
%%% Copyright Ulf A. Lindgren
%%%
%%% Note Premission is granted to modify this file under
%%% the condition that it is saved using another
%%% file and package name.
%%%
%%% Revision 1.1 (1997)
%%%
%%% Jan. 8th Modified package name base date option
%%% Jan. 22th Modified FmN and FmTi for error in book.cls
%%% \MakeUppercase{#}->{\MakeUppercase#}
%%% Apr. 6th Modified Lenny option to prevent undesired
%%% skip of line.
%%% Nov. 8th Fixed \@chapapp for AMS
%%%
%%% Revision 1.2 (1998)
%%%
%%% Feb. 11th Fixed appendix problem related to Bjarne
%%% Aug. 11th Fixed problem related to 11pt and 12pt
%%% suggested by Tomas Lundberg. THANKS!
%%%
%%% Revision 1.3 (2004)
%%% Sep. 20th problem with frontmatter, mainmatter and
%%% backmatter, pointed out by Lapo Mori
%%%
%%% Revision 1.31 (2004)
%%% Sep. 21th problem with the Rejne definition streched text
%%% caused ugly gaps in the vrule aligned with the title
%%% text. Kindly pointed out to me by Hendri Adriaens
%%%
%%% Revision 1.32 (2005)
%%% Jun. 23th compatibility problem with the KOMA class 'scrbook.cls'
%%% a remedy is a redefinition of '\@schapter' in
%%% line with that used in KOMA. The problem was pointed
%%% out to me by Mikkel Holm Olsen
%%%
%%% Revision 1.33 (2005)
%%% Aug. 9th misspelled ``TWELV'' corrected, the error was pointed
%%% out to me by George Pearson
%%%
%%% Last modified Aug. 9th 2005
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{fncychap}
[2004/09/21 v1.33
LaTeX package (Revised chapters)]
%%%% DEFINITION OF Chapapp variables
\newcommand{\CNV}{\huge\bfseries}
\newcommand{\ChNameVar}[1]{\renewcommand{\CNV}{#1}}
%%%% DEFINITION OF TheChapter variables
\newcommand{\CNoV}{\huge\bfseries}
\newcommand{\ChNumVar}[1]{\renewcommand{\CNoV}{#1}}
\newif\ifUCN
\UCNfalse
\newif\ifLCN
\LCNfalse
\def\ChNameLowerCase{\LCNtrue\UCNfalse}
\def\ChNameUpperCase{\UCNtrue\LCNfalse}
\def\ChNameAsIs{\UCNfalse\LCNfalse}
%%%%% Fix for AMSBook 971008
\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}
%%%%% Fix for Bjarne and appendix 980211
\newif\ifinapp
\inappfalse
\renewcommand\appendix{\par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\inapptrue%
\renewcommand\@chapapp{\appendixname}%
\renewcommand\thechapter{\@Alph\c@chapter}}
%%%%% Fix for frontmatter, mainmatter, and backmatter 040920
\@ifundefined{@mainmatter}{\newif\if@mainmatter \@mainmattertrue}{}
%%%%%
\newcommand{\FmN}[1]{%
\ifUCN
{\MakeUppercase#1}\LCNfalse
\else
\ifLCN
{\MakeLowercase#1}\UCNfalse
\else #1
\fi
\fi}
%%%% DEFINITION OF Title variables
\newcommand{\CTV}{\Huge\bfseries}
\newcommand{\ChTitleVar}[1]{\renewcommand{\CTV}{#1}}
%%%% DEFINITION OF the basic rule width
\newlength{\RW}
\setlength{\RW}{1pt}
\newcommand{\ChRuleWidth}[1]{\setlength{\RW}{#1}}
\newif\ifUCT
\UCTfalse
\newif\ifLCT
\LCTfalse
\def\ChTitleLowerCase{\LCTtrue\UCTfalse}
\def\ChTitleUpperCase{\UCTtrue\LCTfalse}
\def\ChTitleAsIs{\UCTfalse\LCTfalse}
\newcommand{\FmTi}[1]{%
\ifUCT
{\MakeUppercase#1}\LCTfalse
\else
\ifLCT
{\MakeLowercase#1}\UCTfalse
\else {#1}
\fi
\fi}
\newlength{\mylen}
\newlength{\myhi}
\newlength{\px}
\newlength{\py}
\newlength{\pyy}
\newlength{\pxx}
\def\mghrulefill#1{\leavevmode\leaders\hrule\@height #1\hfill\kern\z@}
\newcommand{\DOCH}{%
\CNV\FmN{\@chapapp}\space \CNoV\thechapter
\par\nobreak
\vskip 20\p@
}
\newcommand{\DOTI}[1]{%
\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@
}
\newcommand{\DOTIS}[1]{%
\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@
}
%%%%%% SONNY DEF
\DeclareOption{Sonny}{%
\ChNameVar{\Large\sf}
\ChNumVar{\Huge}
\ChTitleVar{\Large\sf}
\ChRuleWidth{0.5pt}
\ChNameUpperCase
\renewcommand{\DOCH}{%
\raggedleft
\CNV\FmN{\@chapapp}\space \CNoV\thechapter
\par\nobreak
\vskip 40\p@}
\renewcommand{\DOTI}[1]{%
\CTV\raggedleft\mghrulefill{\RW}\par\nobreak
\vskip 5\p@
\CTV\FmTi{#1}\par\nobreak
\mghrulefill{\RW}\par\nobreak
\vskip 40\p@}
\renewcommand{\DOTIS}[1]{%
\CTV\raggedleft\mghrulefill{\RW}\par\nobreak
\vskip 5\p@
\CTV\FmTi{#1}\par\nobreak
\mghrulefill{\RW}\par\nobreak
\vskip 40\p@}
}
%%%%%% LENNY DEF
\DeclareOption{Lenny}{%
\ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont}
\ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont}
\ChTitleVar{\Huge\bfseries\rm}
\ChRuleWidth{1pt}
\renewcommand{\DOCH}{%
\settowidth{\px}{\CNV\FmN{\@chapapp}}
\addtolength{\px}{2pt}
\settoheight{\py}{\CNV\FmN{\@chapapp}}
\addtolength{\py}{1pt}
\settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter}
\addtolength{\mylen}{1pt}
\settowidth{\pxx}{\CNoV\thechapter}
\addtolength{\pxx}{-1pt}
\settoheight{\pyy}{\CNoV\thechapter}
\addtolength{\pyy}{-2pt}
\setlength{\myhi}{\pyy}
\addtolength{\myhi}{-1\py}
\par
\parbox[b]{\textwidth}{%
\rule[\py]{\RW}{\myhi}%
\hskip -\RW%
\rule[\pyy]{\px}{\RW}%
\hskip -\px%
\raggedright%
\CNV\FmN{\@chapapp}\space\CNoV\thechapter%
\hskip1pt%
\mghrulefill{\RW}%
\rule{\RW}{\pyy}\par\nobreak%
\vskip -\baselineskip%
\vskip -\pyy%
\hskip \mylen%
\mghrulefill{\RW}\par\nobreak%
\vskip \pyy}%
\vskip 20\p@}
\renewcommand{\DOTI}[1]{%
\raggedright
\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@}
\renewcommand{\DOTIS}[1]{%
\raggedright
\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@}
}
%%%%%%% GLENN DEF
\DeclareOption{Glenn}{%
\ChNameVar{\bfseries\Large\sf}
\ChNumVar{\Huge}
\ChTitleVar{\bfseries\Large\rm}
\ChRuleWidth{1pt}
\ChNameUpperCase
\ChTitleUpperCase
\renewcommand{\DOCH}{%
\settoheight{\myhi}{\CTV\FmTi{Test}}
\setlength{\py}{\baselineskip}
\addtolength{\py}{\RW}
\addtolength{\py}{\myhi}
\setlength{\pyy}{\py}
\addtolength{\pyy}{-1\RW}
\raggedright
\CNV\FmN{\@chapapp}\space\CNoV\thechapter
\hskip 3pt\mghrulefill{\RW}\rule[-1\pyy]{2\RW}{\py}\par\nobreak}
\renewcommand{\DOTI}[1]{%
\addtolength{\pyy}{-4pt}
\settoheight{\myhi}{\CTV\FmTi{#1}}
\addtolength{\myhi}{\py}
\addtolength{\myhi}{-1\RW}
\vskip -1\pyy
\rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt
\raggedleft\CTV\FmTi{#1}\par\nobreak
\vskip 80\p@}
\newlength{\backskip}
\renewcommand{\DOTIS}[1]{%
% \setlength{\py}{10pt}
% \setlength{\pyy}{\py}
% \addtolength{\pyy}{\RW}
% \setlength{\myhi}{\baselineskip}
% \addtolength{\myhi}{\pyy}
% \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak
% \addtolength{}{}
%\vskip -1\baselineskip
% \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt
% \raggedleft\CTV\FmTi{#1}\par\nobreak
% \vskip 60\p@}
%% Fix suggested by Tomas Lundberg
\setlength{\py}{25pt} % eller vad man vill
\setlength{\pyy}{\py}
\setlength{\backskip}{\py}
\addtolength{\backskip}{2pt}
\addtolength{\pyy}{\RW}
\setlength{\myhi}{\baselineskip}
\addtolength{\myhi}{\pyy}
\mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak
\vskip -1\backskip
\rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 3pt %
\raggedleft\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@}
}
%%%%%%% CONNY DEF
\DeclareOption{Conny}{%
\ChNameUpperCase
\ChTitleUpperCase
\ChNameVar{\centering\Huge\rm\bfseries}
\ChNumVar{\Huge}
\ChTitleVar{\centering\Huge\rm}
\ChRuleWidth{2pt}
\renewcommand{\DOCH}{%
\mghrulefill{3\RW}\par\nobreak
\vskip -0.5\baselineskip
\mghrulefill{\RW}\par\nobreak
\CNV\FmN{\@chapapp}\space \CNoV\thechapter
\par\nobreak
\vskip -0.5\baselineskip
}
\renewcommand{\DOTI}[1]{%
\mghrulefill{\RW}\par\nobreak
\CTV\FmTi{#1}\par\nobreak
\vskip 60\p@
}
\renewcommand{\DOTIS}[1]{%
\mghrulefill{\RW}\par\nobreak
\CTV\FmTi{#1}\par\nobreak
\vskip 60\p@
}
}
%%%%%%% REJNE DEF
\DeclareOption{Rejne}{%
\ChNameUpperCase
\ChTitleUpperCase
\ChNameVar{\centering\Large\rm}
\ChNumVar{\Huge}
\ChTitleVar{\centering\Huge\rm}
\ChRuleWidth{1pt}
\renewcommand{\DOCH}{%
\settoheight{\py}{\CNoV\thechapter}
\parskip=0pt plus 1pt % Set parskip to default, just in case v1.31
\addtolength{\py}{-1pt}
\CNV\FmN{\@chapapp}\par\nobreak
\vskip 20\p@
\setlength{\myhi}{2\baselineskip}
\setlength{\px}{\myhi}
\addtolength{\px}{-1\RW}
\rule[-1\px]{\RW}{\myhi}\mghrulefill{\RW}\hskip
10pt\raisebox{-0.5\py}{\CNoV\thechapter}\hskip 10pt\mghrulefill{\RW}\rule[-1\px]{\RW}{\myhi}\par\nobreak
\vskip -3\p@% Added -2pt vskip to correct for streched text v1.31
}
\renewcommand{\DOTI}[1]{%
\setlength{\mylen}{\textwidth}
\parskip=0pt plus 1pt % Set parskip to default, just in case v1.31
\addtolength{\mylen}{-2\RW}
{\vrule width\RW}\parbox{\mylen}{\CTV\FmTi{#1}}{\vrule width\RW}\par\nobreak%
\vskip -3pt\rule{\RW}{2\baselineskip}\mghrulefill{\RW}\rule{\RW}{2\baselineskip}%
\vskip 60\p@% Added -2pt in vskip to correct for streched text v1.31
}
\renewcommand{\DOTIS}[1]{%
\setlength{\py}{\fboxrule}
\setlength{\fboxrule}{\RW}
\setlength{\mylen}{\textwidth}
\addtolength{\mylen}{-2\RW}
\fbox{\parbox{\mylen}{\vskip 2\baselineskip\CTV\FmTi{#1}\par\nobreak\vskip \baselineskip}}
\setlength{\fboxrule}{\py}
\vskip 60\p@
}
}
%%%%%%% BJARNE DEF
\DeclareOption{Bjarne}{%
\ChNameUpperCase
\ChTitleUpperCase
\ChNameVar{\raggedleft\normalsize\rm}
\ChNumVar{\raggedleft \bfseries\Large}
\ChTitleVar{\raggedleft \Large\rm}
\ChRuleWidth{1pt}
%% Note thechapter -> c@chapter fix appendix bug
%% Fixed misspelled 12
\newcounter{AlphaCnt}
\newcounter{AlphaDecCnt}
\newcommand{\AlphaNo}{%
\ifcase\number\theAlphaCnt
\ifnum\c@chapter=0
ZERO\else{}\fi
\or ONE\or TWO\or THREE\or FOUR\or FIVE
\or SIX\or SEVEN\or EIGHT\or NINE\or TEN
\or ELEVEN\or TWELVE\or THIRTEEN\or FOURTEEN\or FIFTEEN
\or SIXTEEN\or SEVENTEEN\or EIGHTEEN\or NINETEEN\fi
}
\newcommand{\AlphaDecNo}{%
\setcounter{AlphaDecCnt}{0}
\@whilenum\number\theAlphaCnt>0\do
{\addtocounter{AlphaCnt}{-10}
\addtocounter{AlphaDecCnt}{1}}
\ifnum\number\theAlphaCnt=0
\else
\addtocounter{AlphaDecCnt}{-1}
\addtocounter{AlphaCnt}{10}
\fi
\ifcase\number\theAlphaDecCnt\or TEN\or TWENTY\or THIRTY\or
FORTY\or FIFTY\or SIXTY\or SEVENTY\or EIGHTY\or NINETY\fi
}
\newcommand{\TheAlphaChapter}{%
\ifinapp
\thechapter
\else
\setcounter{AlphaCnt}{\c@chapter}
\ifnum\c@chapter<20
\AlphaNo
\else
\AlphaDecNo\AlphaNo
\fi
\fi
}
\renewcommand{\DOCH}{%
\mghrulefill{\RW}\par\nobreak
\CNV\FmN{\@chapapp}\par\nobreak
\CNoV\TheAlphaChapter\par\nobreak
\vskip -1\baselineskip\vskip 5pt\mghrulefill{\RW}\par\nobreak
\vskip 20\p@
}
\renewcommand{\DOTI}[1]{%
\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@
}
\renewcommand{\DOTIS}[1]{%
\CTV\FmTi{#1}\par\nobreak
\vskip 40\p@
}
}
\DeclareOption*{%
\PackageWarning{fancychapter}{unknown style option}
}
\ProcessOptions* \relax
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 040920
\DOCH
\fi
\fi
\interlinepenalty\@M
\DOTI{#1}
}}
%%% Begin: To avoid problem with scrbook.cls (fncychap version 1.32)
%%OUT:
%\def\@schapter#1{\if@twocolumn
% \@topnewpage[\@makeschapterhead{#1}]%
% \else
% \@makeschapterhead{#1}%
% \@afterheading
% \fi}
%%IN:
\def\@schapter#1{%
\if@twocolumn%
\@makeschapterhead{#1}%
\else%
\@makeschapterhead{#1}%
\@afterheading%
\fi}
%%% End: To avoid problem with scrbook.cls (fncychap version 1.32)
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\DOTIS{#1}
\vskip 40\p@
}}
\endinput

View File

@ -1,469 +0,0 @@
==================================
w.c.s. - Guide de l'administrateur
==================================
:auteur: Christophe Boutet et Pierre Cros
:contact: cboutet@entrouvert.com
:contact: pcros@entrouvert.com
:copyright: Copyright © 2005-2006 Entr'ouvert
.. contents:: Table des matières
.. section-numbering::
Vue générale
============
w.c.s est un logiciel permettant de générer des formulaires et des consultations
en ligne et de les intégrer dans un workflow. Il est conforme aux standards et
protocoles du consortium `Liberty Alliance`_ grâce à l'utilisation de la
librairie certifiée Lasso_. Il dispose d'une interface d'administration et d'un
back-office soignés permettant une personnalisation poussée et son adaption à de
nombreux usages différents.
Se procurer et installer w.c.s.
===============================
Installation sous Debian_ Sarge
+++++++++++++++++++++++++++++++
Pour fonctionner correctement Authentic s'appuie sur :
* Apache_ (1.3 ou 2, Apache2 recommandé) ;
* Lasso_ (0.6.2) ;
* Quixote_ (2.0) ;
* mod_python_ ou SCGI_ (SCGI_ recommandé).
Installation des paquets
------------------------
En tant que root tapez la commande ::
echo 'deb http://deb.entrouvert.org/ sarge main' \
>> /etc/apt/sources.list
Cette commande ajoute le répertoire qui contient tous les paquets nécessaires
dans votre fichier sources.list.
Toujours en tant que root tapez ::
apt-get update
apt-get install wcs
Tous les paquets nécessaires sont installés.
Si vous ne souhaitez pas modifier votre fichier sources.list vous pouvez
récupérer les paquets nécessaire et les installer manuellement avec la commande
dpkg -i :
* wcs et Quixote 2.0 sur http://wcs.labs.libre-entreprise.org/ ;
* Lasso sur http://lasso.entrouvert.org.
Configuration d'Apache_
-----------------------
Il faut ensuite configurer Apache_ pour avoir un virtual host w.c.s., le
fichier d'example ci-dessous s'appelle vhost-apache-wcs et il est installé par
défaut. Il fonctionne (en remplaçant www.example.com par le nom de domaine que
vous avez choisi pour w.c.s., nous utiliserons wcs.example.com) pour Apache2 et
SCGI_. Vous le trouverez dans le répertoire ``/etc/apache2/sites-enabled`` ::
<VirtualHost *>
ServerAdmin webmaster@locahost
ServerName wcs.example.com
DocumentRoot /usr/share/wcs/web/
<LocationMatch "^/(forms|admin|liberty|login|logout|themes|consultations|token)|^/$">
SCGIServer 127.0.0.1:3001
SCGIHandler On
</LocationMatch>
SSLEngine On
CustomLog /var/log/apache2/wcs-access.log combined
ErrorLog /var/log/apache2/wcs-error.log
</VirtualHost>
Il faut également vous assurer qu'Apache_ est configuré pour supporter le SSL,
vérifiez que dans votre fichier /etc/apache2/ports.conf vous avez une ligne ::
Listen 443
Ajoutez la si elle n'est pas présente.
Ensuite, il s'agit d'activer le module SCGI, s'il ne l'était déjà ::
a2enmod scgi
Vous pouvez ensuite redémarrer Apache_ (toujours en root) ::
/etc/init.d/apache2 restart
Pensez également à modifier votre fichier /etc/hosts le cas échéant. Lorsque wcs
fonctionne, l'interface d'administration est se trouve à l'URL
http://wcs.example.com/admin.
Installation avec une autre distribution Linux
++++++++++++++++++++++++++++++++++++++++++++++
Nous supposons qu'Apache_, SCGI_ ou mod_python_ sont déjà installés. Il faut
ensuite télécharger les sources suivantes et les installer :
* Lasso http://lasso.entrouvert.org ;
* Quixote http://www.mems-exchange.org/software/quixote/ ;
* Authentic http://authentic.labs.libre-entreprise.org/.
Pour installer Authentic, décompressez les sources que vous avez téléchargées
et lancez le script setup.py ::
tar xzf wcs*.tar.gz
cd wcs*
python setup.py install
Il vous faut ensuite configurer correctement Apache_.
Lorsque que w.c.s. fonctionne, l'interface d'administration est accessible à
l'URL http://wcs.example.com/admin.
Installation sous Windows
+++++++++++++++++++++++++
Nous n'avons pas à l'heure actuelle réalisé d'installation de w.c.s. sous
Windows. Mais étant donné que tous les composants nécessaires à son utilisation
fonctionne sur ce système d'exploitation, l'installation est envisageable et
nous seront peut-être amenés à la décrire bientôt. N'hésitez pas à nous faire
part de vos tentatives.
Configuration de base de wcs
============================
Création clés publiques et privées
++++++++++++++++++++++++++++++++++
Si vous ne possédez pas de clés au format pem, il vous faut en créer car elles
seront nécessaire pour configurer wcs comme fournisseur de service. Pour créer
un couple clé publique/clé privée avec OpenSSL_, utilisez ces commandes ::
openssl genrsa -out nom-de-la-clé-privé.pem 2048
Cette commande crée la clé privée sous la forme d'un fichier appelé
nom-de-la-clé-privé.pem. ::
openssl rsa -in nom-de-la-clé-privé-key.pem -pubout\
-out nom-de-la-clé-publique.pem
Cette commande extrait la clé publique de la clé privée sous la forme d'un
fichier appelé nom-de-la-clé-publique.pem.
Configuration de base du fournisseur de service
+++++++++++++++++++++++++++++++++++++++++++++++
Allez sur l'interface d'administration de w.c.s. http://wcs.example.com/admin.
.. figure:: figures/wcs-admin.png
L'interface d'administration lorsqu'aucun utilisateur n'existe encore.
Cliquez sur l'onglet paramètres puis sur le lien « fournisseur de service ».
.. figure:: figures/wcs-admin-settings-liberty_sp.png
Configuration du fournisseur de service wcs
Les deux premiers champs sont remplis automatiquement, ne cherchez pas à les
modifier à moins de savoir réellement ce que vous faites.
Champs :
* Identifiant du fournisseur (un identifiant qui prend nécessairement la
forme d'une URL) ;
* URL de la racine (toutes les URL nécessaires à `Liberty Alliance`_ se
trouvent sur cette racine) ;
* Nom de l'organisation (nom de l'organisation qui gère le fournisseur
d'identité) ;
* Clé privée (clé privée au format pem) ;
* Clé publique (clé publique au format pem) ;
* Domaine commun, pour « Identity Provider Introduction » (L'identity
provider introduction est un mécanisme `Liberty Alliance`_ permettant à un
fournisseur d'identité, pour un nom de domaine particulier, de générer un
cookie sur la machine de l'utilisateur. C'est utile lorsqu'il y a plusieurs
fournisseurs d'identités associés à un fournisseur de service : dans le
cookie on associe les fournisseurs de service d'un domaine, au fournisseur
d'identité qui a délivré le cookie. Cela permet de stipuler au fournisseur de
service : « cet utilisateur utilise le fournisseur d'identité du domaine
».).
Une fois tous ces champs dûment remplis, cliquez sur le bouton valider.
Enregistrement du fichier de metadata
+++++++++++++++++++++++++++++++++++++
Dans l'interface d'administration de wcs vous pouvez récupérer le
fichier de metadata. Cela sera utile par la suite lorsqu'il s'agira de
déclarer wcs fournisseur de service sur un fournisseur d'identité. Procédez
comme suit :
* cliquez sur l'onglet paramètres ;
* vous voyez un lien « Metadata du fournisseur de service ». Faites un clic
droit et « enregistrer la cible du lien sous » ;
* choisissez le nom que vous donnez à ce fichier (par exemple
metadata-wcs.xml) et l'endroit ou vous le sauvegardez.
Déclarer un fournisseur d'identité
++++++++++++++++++++++++++++++++++
Sur l'interface d'administration de w.c.s., cliquez sur l'onglet
paramètres, puis sur le lien « fournisseurs d'identités ». Cliquez encore
sur « nouveau ».
.. figure:: figures/wcs-admin-settings-liberty_idp-new.png
Déclarer un fournisseur d'identité
Compléter les champs suivants :
* Metadata (le fichier de metadata du fournisseur d'identité) ;
* Clé publique (la clé publique du fournisseur d'identité) ;
* Chaîne de certification (certificat contenant toute la chaîne
d'authentification jusqu'au root CA).
Création Administrateur
+++++++++++++++++++++++
Les paramètres Liberty doivent avoir été configurés préablablement à la création
des utilisateurs. Pour créer l'administrateur, allez sur l'interface
d'administration de w.c.s.. Cliquez sur l'onglet « Gestion des identités », puis
sur le lien « Ajouter une identité ».
.. figure:: figures/wcs-admin-users-new.png
Création de la première identité, celle de l'administrateur
Remplissez les champs suivants :
* Nom (saisissez vos Nom et prénom) ;
* Courriel (saisissez votre Courriel) ;
* Compte administrateur (cochez cette case pour que le compte créé soit un
compte administrateur) ;
Cliquez sur valider, le compte administrateur est créé.
Onglet rôles
============
À chaque rôle il faut affecter une ou plusieurs adresses mail, qui seront
destinataires des notifications de remplissage de formulaires par les
utilisateurs.
Onglet utilisateurs
===================
Une fois un rôle créé, il faut aller sur les utilisateurs qui y auront accès au
back-office correspondant et leur affecter le rôle.
On peut également grâce à cet onglet créer des utilisateurs, mais la création
d'un utilisateur à ce niveau n'est pas suffisante, s'agissant d'un contexte
Liberty Alliance, il faut également que l'utilisateur dispose d'un compte sur le
fournisseur d'identité.
Onglet catégories
=================
Il permet de gérer les catégories dans lesquelles les formulaires seront rangés
coté utilisateur, par exemple « vie pratique ».
Par défaut si la catégorie de rangement n'est pas choisie pour un formulaire,
il est classé dans la catégorie divers.
Onglet formulaires
==================
il permet de créer et d'administrer les formulaires :
Création du formulaire
++++++++++++++++++++++
Cliquer sur nouveau
Donner un nom au formulaire, puis fixer la valeur des champs et les nommer:
Les champs : titre, sous titre, et commentaire, ne sont pas de champs de
réponse, ils servent à apporter des compléments d'information sur les
formulaires.
Le champ commentaire, en particulier, permet de préciser le caractère
obligatoire des réponses sur certaines question, matérialisé par un carré rouge,
mais aussi tout type d'information utiles, en revanche, il n'a pas fonction à
servir d'aide directe à la complétion d'une question (traitée par ailleurs).
Les autres champs fixent la nature de la réponse que l'on souhaite voir
apportée : date, adresse mail, bloc de texte, ligne de texte (qui sert également
pour les chiffres), case à cocher, liste, upload de fichier.
Une fois les champs fixés, il faut choisir le destinataire du formulaire.
Ensuite on affecte un rôle au formulaire, par défaut un formulaire est
accessible à tout le monde, on peut restreindre l'accès de manière fine par le
biais des rôles.
La catégorie permet de classer l'affichage du formulaire coté utilisateur.
Il reste alors une série d'options :
- Cochée, la case « Inclure une page de confirmation » permet d'afficher une page
récapitulative coté utilisateur avant qu'il n'envoie le formulaire.
- Cochée, la case « Permettre la discussion » autorise un dialogue via le
back-office entre l'utilisateur et la personne en charge du traitement d'un
formulaire.
- Cochée, la case « accès public » permet à tous les utilisateurs d'un formulaire
de visualiser toutes les réponses apportées.
- Cochée, la case « Envoyer des courriels de notification détaillés » , génère
pour la personne chargée du traitement, un mail reprenant tous les champs
complétés par le demandeur.
- Cochée, la case « Désactiver l'accès au formulaire » ne permet plus la
visualisation, donc la complétion du formulaire concerné coté utilisateur.
Cette option permet de conserver dans la base les formulaires à utilisation
saisonnière.
La validation en bas de page génère la création du formulaire et vous dirige
vers l'écran suivant qui va vous permettre de définir précisement les champs
selon leur type.
Définition des champs
+++++++++++++++++++++
Outre la définition des champs, vous pouvez depuis cet écran modifier leur ordre
par « drag&drop ».
Tous les types de champs disposent d'une série d'options communes:
Obligatoire: il s'agit d'une case à cocher qui fixe le caractère obligatoire
d'une réponse pour l'utilisateur, si la case n'est pas cochée, la réponse à la
question est optionnelle.
Affichage dans les Listings: il n'est pas forcément pertinent que tous les
champs figurent dans le listing de back-office d'autant que dans le cas de
formulaires comprenant beaucoup de champs, le listing n'est pas très lisible si
tous sont affichés. Cette option permet donc, par le biais d'une case à cocher
de fixer, ou non, l'affichage du champ concerné dans le listing back-office.
Remarque: permet d'apporter une aide au répondant, dans le cas d'un champ
adresse électronique: Exemple: francis.kuntz@wanagro.com.
Champ date : Il oblige le répondant à compléter une date de la forme 12/12/2005,
dans le cas des mois ou jours à chiffre unique, le zéro n'est pas obligatoire,
3/6/2005 est admis.
Les dates admises actuellement vont du 01/01/1800 au 31/12/2099, un contrôle est
opéré.
Champ adresse électronique : le répondant devra mentionner une adresse mail, la
vérification s'effectue sur l'arobase.
Champ bloc de texte : la taille du bloc de texte est modifiable, par défaut le
nombre de caractères par ligne est fixé à 20 et le nombre de lignes à 3. Pour un
affichage optimal coté utilisateur, 70 caractères par ligne constitue un bon
compromis. 10 lignes par bloc permet une réponse déjà longue, sachant que si
l'utilisateur dépasse, il aura un ascenseur.
Champ ligne de texte: Par défaut le nombre de caractères d'une ligne est fixé à
20, Le champ texte permet, de base une réponse comprenant des lettres et des
chiffres, si la réponse ne doit comporter que des chiffres, il convient
d'appliquer une règle dans le champ regex prévu à cet effet.
Exemple de règles :
- Tél : 10 chiffres ``^\d{10}$``
- Code postal : 5 chiffres ``^\d{5}$``
- Valeur numérique ``^\d+$``
La valeur Liberty, si elle est complétée autorise le pré-remplissage.
Si vous souhaitez utiliser cette fonction, il est indispensable que vous mettiez
en place un fournisseur de service candle.
La case explicite, si elle est cochée, demande un consentement supplémentaire à
l'utilisateur pour la complétion.
Champ liste : grâce à « éléments », il vous faut fixer possibilités de réponse à
votre liste, ajoutez autant d'éléments que nécessaire.
Vous pouvez choisir d'afficher les réponses sous forme de bouton radio à l'aide
de la case à cocher prévue à cet effet.
Champ case à cocher : Case à cocher ; Un formulaire, une fois créé apparaît
sous la forme d'un résumé d'une ligne en bout de laquelle sont affichés 4
boutons qui respectivement permettent: l'édition, la modification des champs,
la duplication et la suppression.
Éditer
++++++
Le bouton prévu à cet effet permet d'éditer le formulaire.
Vous pourrez ensuite modifier le cas échéant, les types de champ du formulaire
concerné, ainsi que les rôles, catégories, destinataire et d'activer/désactiver
le formulaire.
Modifier
++++++++
Grâce à ce bouton, vous pourrez ensuite modifier les paramètres des champs d'un
formulaire ainsi que les déplacer par « drag&drop ».
Dupliquer
+++++++++
Ce bouton permet la duplication d'un formulaire, pour éviter d'avoir à faire une
création ex-nihilo si vous souhaiter créer un formulaire ayant une structuration
proche d'un existant.
Supprimer
+++++++++
Vous pourrez ici supprimer un formulaire. Afin d'éviter les suppressions
brutales ou les erreurs de manipulation, une confirmation de la suppression
est demandée.
Onglet Logs
===========
S'il est activé, permet d'analyser le comportement des répondants.
Onglet Paramètres
=================
Sert à paramétrer complètement l'application
Licences
========
w.c.s., Authentic_, et Lasso_ sont publiés sous la `licence GNU/GPL`_.
.. _Lasso: http://lasso.entrouvert.org/
.. _`licence GNU/GPL`: http://www.gnu.org/copyleft/gpl.html
.. _`Liberty Alliance`: http://projectliberty.org/
.. _Authentic: http://authentic.labs.libre-entreprise.org
.. _Debian: http://www.debian.org/
.. _Apache: http://www.apache.org/
.. _Quixote: http://www.mems-exchange.org/software/Quixote
.. _mod_python: http://www.modpython.org/
.. _SCGI: http://www.mems-exchange.org/software/scgi/
.. _OpenSSL: http://www.openssl.org

View File

@ -1,5 +0,0 @@
#! /bin/sh
size=$(identify $1 | cut -d ' ' -f 3)
composite $1 -size $(identify $1 | cut -d ' ' -f3) xc:white $2

View File

@ -1,30 +0,0 @@
#! /usr/bin/python
"""A minimal reST frontend, to create appropriate LaTeX files."""
try:
import locale
locale.setlocale(locale.LC_ALL, '')
except:
pass
from docutils.core import publish_cmdline, Publisher
def set_io(self, source_path=None, destination_path=None):
Publisher.set_io_orig(self, source_path, destination_path='/dev/null')
Publisher.set_io_orig, Publisher.set_io = Publisher.set_io, set_io
output = publish_cmdline(writer_name='latex',
settings_overrides = {
'documentclass': 'report',
'documentoptions': '11pt,a4paper,titlepage',
'use_latex_toc': True,
'use_latex_docinfo': True,
'stylesheet': 'custom.tex'})
output = output.replace('\\includegraphics',
'\\includegraphics[width=.9\\textwidth,height=15cm,clip,keepaspectratio]')
output = output.replace('\\begin{figure}[htbp]', '\\begin{figure}[H]')
print output