mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-24 02:49:07 +01:00
Remove all Docbook doc stuff
This commit is contained in:
parent
a6fe99a79b
commit
7588deba34
12 changed files with 7 additions and 639 deletions
|
@ -7,13 +7,3 @@ repos:
|
||||||
- id: php-stan
|
- id: php-stan
|
||||||
files: ^src\/.*\.(php)$
|
files: ^src\/.*\.(php)$
|
||||||
args: ['--configuration=.phpstan/config.neon']
|
args: ['--configuration=.phpstan/config.neon']
|
||||||
- repo: local
|
|
||||||
hooks:
|
|
||||||
- id: xmlint
|
|
||||||
files: ^doc\/.*\.(docbook)$
|
|
||||||
name: xmlint
|
|
||||||
entry: xmllint --valid --noout doc/LdapSaisie.docbook
|
|
||||||
pass_filenames: false
|
|
||||||
language: system
|
|
||||||
types: [text]
|
|
||||||
pass_filenames: false
|
|
||||||
|
|
273
INSTALL
273
INSTALL
|
@ -1,273 +0,0 @@
|
||||||
|
|
||||||
/========================\
|
|
||||||
| INSTALLATION |
|
|
||||||
\========================/
|
|
||||||
|
|
||||||
|
|
||||||
1. Pré-requis
|
|
||||||
=============
|
|
||||||
|
|
||||||
* Le service Apache HTTP avec le module mod_rewrite d'activé. Les règles de réécriture d'URL sont définies
|
|
||||||
dans le fichier .htaccess fourni avec l'application et il est donc nécessaire d'autoriser une telle configuration
|
|
||||||
à ce niveau via la directive AllowOverride devant inclure à minima FileInfo.
|
|
||||||
* L'utisateur exécutant le serveur web doit avoir les droits d'écriture sur le dossier 'tmp'. En cas d'installation
|
|
||||||
à partir du paquet Debian, ce dossier est remplacé par un lien symbolique vers le dossier /var/cache/ldapsaisie/.
|
|
||||||
* PHP 5.6 (ou supérieur) avec magic_quotes_gpc et register_globals à off.L'outil CLI de PHP est par ailleurs
|
|
||||||
nécessaire pour l'utilisation des outils CLI fournis avec l'application (fourni par le paquet php-cli dans Debian).
|
|
||||||
* Le support LDAP dans PHP (paquet php-ldap dans Debian)
|
|
||||||
* Le support mhash dans PHP (paquet php5-mhash dans Debian Lenny, intégré à php-common dans les versions supérieurs)
|
|
||||||
* Le support json dans PHP (pear install pecl/json sur RedHat, intégré au paquet php5-common précédement)
|
|
||||||
* Net_LDAP2 (paquet php-net-ldap2 dans Debian ou pear install net_ldap2)
|
|
||||||
* Le support mbstring dans PHP (paquet php-mbstring depuis Debian Stretch, intégré au paquet php-common dans Debian)
|
|
||||||
* Smarty (paquet smarty3 dans Debian)
|
|
||||||
* La librairie File_CSV_DataSource (paquet php-file-csv-datasource dans Debian)
|
|
||||||
* La librairie Console_Table (nécessaire pour le fonctionnement de l'outil CLI, paquet php-console-table dans Debian)
|
|
||||||
* Les librairies Mail et Mail_Mime (nécessaire pour l'envoi de courriels, paquets php-mail et php-mail-mime dans Debian)
|
|
||||||
* La librairie Net_FTP (nécessaire pour le fonctionnement du LSaddon FTP, paquet php-console-table dans Debian)
|
|
||||||
* La librairie PhpSecLib (nécessaire pour le fonctionnement du LSaddon SSH, paquet php-console-table dans Debian)
|
|
||||||
|
|
||||||
#################
|
|
||||||
# Avertissement #
|
|
||||||
#################
|
|
||||||
#
|
|
||||||
# La librairie Net_LDAP2 oblige le fait que la racine DSE de l'annuaire soit lisible en anonyme sinon la connexion à
|
|
||||||
# l'annuaire échouera systématiquement.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
2. Téléchargement
|
|
||||||
=================
|
|
||||||
|
|
||||||
2.1. A partir du paquet Debian
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
L'installation à partir du paquet Debian peut être réalisée soit en téléchargeant manuellement le paquet, soit en
|
|
||||||
déclarant le dépôt APT suivant dans votre fichier /etc/apt/sources.list :
|
|
||||||
|
|
||||||
deb http://ldapsaisie.org/debian stable main
|
|
||||||
|
|
||||||
|
|
||||||
Il ne vous restera ensuite plus qu'a installer le paquet ldapsaisie avec la commande suivante :
|
|
||||||
|
|
||||||
apt-get install ldapsaisie
|
|
||||||
|
|
||||||
|
|
||||||
Le fichier /etc/ldapsaisie/apache.conf est un example de configuration du serveur web Apache. La configuration du
|
|
||||||
logiciel ce fera ensuite dans le dossier /etc/ldapsaisie/local/.
|
|
||||||
|
|
||||||
2.2. A partir de Git
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
Le dépôt Git peut être récupéré anonymement en utilisant la commande suivante :
|
|
||||||
|
|
||||||
git clone https://gitlab.easter-eggs.com/ee/ldapsaisie.git
|
|
||||||
|
|
||||||
|
|
||||||
La racine web de l'application se trouvera alors dans le dossier /ldapsaisie/src/public_html/.
|
|
||||||
|
|
||||||
2.3. A partir des snapshot
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
Toutes les nuits, un snapshot de l'arbre Git est réalisé et est téléchargeable au format tar.gz à l'adresse suivante :
|
|
||||||
|
|
||||||
http://ldapsaisie.org/download/ldapsaisie-snapshoot.tar.gz
|
|
||||||
|
|
||||||
3. Arborescence du projet
|
|
||||||
=========================
|
|
||||||
|
|
||||||
Racine
|
|
||||||
|
|
||||||
doc/
|
|
||||||
Les fichiers sources de la documentation (docbook).
|
|
||||||
lsexample/
|
|
||||||
Les fichiers relatifs à l'annuaire d'exemple.
|
|
||||||
src/
|
|
||||||
|
|
||||||
Les sources de l'application.
|
|
||||||
|
|
||||||
public_html/
|
|
||||||
La racine web de l'application : celle-ci ne contient que les fichiers .htaccess et index.php qui configure et déclenche la réécriture d'URL.
|
|
||||||
conf/
|
|
||||||
|
|
||||||
Contient les fichiers de configuration.
|
|
||||||
|
|
||||||
LSobjects/
|
|
||||||
Configuration des LSobjects.
|
|
||||||
LSaddons/
|
|
||||||
Configuration des LSaddons.
|
|
||||||
LSauth/
|
|
||||||
Configuration des LSauthMethod.
|
|
||||||
|
|
||||||
includes/
|
|
||||||
|
|
||||||
Contient les fichiers des ressources.
|
|
||||||
|
|
||||||
addons/
|
|
||||||
Les addons au projet.
|
|
||||||
class/
|
|
||||||
Les fichiers de définition des classes PHP.
|
|
||||||
js/
|
|
||||||
Les fichiers Javascript.
|
|
||||||
libs/
|
|
||||||
Les librairies utilisées.
|
|
||||||
|
|
||||||
lang/
|
|
||||||
Les fichiers d'internationalisation.
|
|
||||||
templates/
|
|
||||||
Les fichiers template de l'interface. Il y a un sous-dossier par template.
|
|
||||||
css/
|
|
||||||
Les fichiers css de l'interface. Il y a un sous-dossier par template CSS.
|
|
||||||
images/
|
|
||||||
Les images de l'interface. Il y a un sous-dossier par template d'image.
|
|
||||||
local/
|
|
||||||
Les fichiers personnalisés de l'installation.
|
|
||||||
tmp/
|
|
||||||
Les fichiers temporaires (y compris le cache des templates).
|
|
||||||
|
|
||||||
|
|
||||||
4. Tutoriel d'installation
|
|
||||||
==========================
|
|
||||||
|
|
||||||
Cette section décrit les différentes étapes de l'installation de LdapSaisie. Deux méthodes d'installation sont présentées
|
|
||||||
ici, l'une à partir des sources du projet et l'autre à partir du paquet Debian.
|
|
||||||
|
|
||||||
Dans ce tutoriel, nous partirons du principe que vous avez pleinement la main sur votre serveur (installation de nouveau
|
|
||||||
paquet et configuration de votre serveur web). Nous partons également du principe que votre annuaire LDAP est déjà en
|
|
||||||
place. Nous utiliserons pour cette exemple de mise ne oeuvre l'annuaire correspondant au schéma et à la configuration
|
|
||||||
présente dans les sources du projet dans le dossier lsexample.
|
|
||||||
|
|
||||||
1. La première étape consiste à installer le locigiel en tant que tel. Pour cela, référez vous au chapitre
|
|
||||||
Téléchargement.
|
|
||||||
|
|
||||||
En cas d'installation à à partir du paquet Debian, la configuration du logiciel se fera dans le dossier
|
|
||||||
/etc/ldapsaisie/local/. Les fichiers placés dans ce dossier prévaleront toujours aux fichiers fournis par le paquet
|
|
||||||
Debian, vous permettant facilement de modifier un composant existant ou dans écrire de nouveaux. Ainsi, pour modifier
|
|
||||||
un fichier CSS par exemple, il vous suffira de le placer dans le dossier /etc/ldapsaisie/local/css/.
|
|
||||||
|
|
||||||
Pour une installation à partir du code source, il vous faut cloner le dépôt Git du projet dans le dossier
|
|
||||||
/var/www/ldapsaisie. Pour cela il vous faut avoir installés les outils de Git contenu, dans Debian, dans le paquet
|
|
||||||
git-core. Le dépôt Git doit ensuite être récupéré anonymement en utilisant la commande suivante :
|
|
||||||
|
|
||||||
git clone https://gitlab.easter-eggs.com/ee/ldapsaisie.git /var/www/ldapsaisie
|
|
||||||
|
|
||||||
|
|
||||||
########
|
|
||||||
# Note #
|
|
||||||
########
|
|
||||||
#
|
|
||||||
# Pour que cette commande se déroule correctement, vous devez avoir accès au port TCP 443 du serveur
|
|
||||||
# gitlab.easter-eggs.com. En cas de problème vérifiez votre parefeu.
|
|
||||||
#
|
|
||||||
|
|
||||||
La suite des opérations se déroulera donc maintenant dans le dossier /var/www/ldapsaisie. Pour avoir plus de détails
|
|
||||||
sur les élements qu'on retrouve dans ce dossier, vous pouvez consulter la section concernée. Nous allons nous
|
|
||||||
instérésser plus particulièrement :
|
|
||||||
|
|
||||||
* au script upgradeFromGit.sh permettant la mise à jour de votre repos tout en concervant les adaptations que nous
|
|
||||||
ferons pour l'usage d'LdapSaisie adapté à notre annuaire ;
|
|
||||||
* au dossier config.local dans lequel seront stockés vos fichiers et vos adaptations de l'application ;
|
|
||||||
* au dossier src/public_html qui correspond à la futur racine du site web de l'application.
|
|
||||||
|
|
||||||
Le principe de l'adaptation est ici de mettre vos fichiers personnalisés dans le dossier config.local, de les déclarer
|
|
||||||
dans votre fichier config.local/local.sh contenant la liste des fichiers devant être installés. Le fichier local.sh est
|
|
||||||
la source de configuration du script upgradeFromGit.sh. Il faut donc dans un premier temps créer votre fichier local.sh
|
|
||||||
en copiant le fichier d'example local.sh.example. Ce fichier est un script bash déclarant les variables de
|
|
||||||
configurations suivantes :
|
|
||||||
|
|
||||||
LOCAL_FILES
|
|
||||||
|
|
||||||
La liste des chemins des fichiers à installer dans l'arboressence du site. Cette élément doivent être séparés par
|
|
||||||
des espaces ou des retour à la liste. Exemple :
|
|
||||||
|
|
||||||
public_html/conf/config.inc.php
|
|
||||||
public_html/lang/fr_FR.UTF8/lang.php
|
|
||||||
|
|
||||||
LOG_FILE
|
|
||||||
Nom du fichier de log des mises à jour.
|
|
||||||
THEME
|
|
||||||
Le nom du theme à installer (facultatif et non traité dans ce tutoriel).
|
|
||||||
BUILD_DOC
|
|
||||||
Variable booléene définissant si la documentation doit être compiler en utilisant le script buildDocExports.sh.
|
|
||||||
Ceci ne sera pas expliqué dans ce tutoriel et nous partirons donc du principe que cette variable est à 0.
|
|
||||||
|
|
||||||
########
|
|
||||||
# Note #
|
|
||||||
########
|
|
||||||
#
|
|
||||||
# * D'autres variables sont présentes dans ce fichier et concerne uniquement la compilation de la documentation.
|
|
||||||
# Elle peuvent être ignorée à partir du moment ou la variable BUILD_DOC vaut 0.
|
|
||||||
#
|
|
||||||
# * Il est possible d'utiliser dans ce fichier de configuration la variable bash $ROOT_DIR correspondant au chemin
|
|
||||||
# du dossier d'installation, c'est à dire dans notre exemple /var/www/ldapsaisie.
|
|
||||||
#
|
|
||||||
|
|
||||||
2. La deuxième étape concerne la configuration globale de l'application : Cette partie est principalement contenue dans
|
|
||||||
le fichier conf/config.inc.php (ou /etc/ldapsaisie/local/conf/config.inc.php en cas d'installation à partir du paquet
|
|
||||||
Debian). Il faut donc dans un premier temps copier ce fichier dans le dossier config.local et le déclarer dans la liste
|
|
||||||
des fichiers à déployer lors des mises à jour (variable LOCAL_FILES dans le fichier local.sh). Il s'agit en particulier
|
|
||||||
dans ce fichier de configurer la connexion à votre annuaire. Vous pouvez vous inspirer du fichier d'exemple fourni et
|
|
||||||
pour plus de détails, consulter la documentation du projet. [1]
|
|
||||||
|
|
||||||
########
|
|
||||||
# Note #
|
|
||||||
########
|
|
||||||
#
|
|
||||||
# Notez qu'il est possible de passer l'application en mode debug ce qui peut être utile par la suite.
|
|
||||||
#
|
|
||||||
|
|
||||||
3. La troisième étape concerne la configuration des types de LSobjects : Chaque type d'objet manipulé par LdapSaisie
|
|
||||||
doit correspondre avec un type de LSobject.
|
|
||||||
|
|
||||||
a. Création du fichier de classe :
|
|
||||||
Ce fichier contient la déclaration de la classe PHP correspondant au type de LSobject. Cette classe étend la classe
|
|
||||||
LSldapObject qui contient pour ainsi dire toute les méthodes et proprités nécessaires pour les types de LSobject simples
|
|
||||||
(sans LSrelation). Les fichiers des classes sont contenus dans le dossier /includes/class/ et portent les noms composés
|
|
||||||
de la manière suivante :
|
|
||||||
|
|
||||||
class.LSobjects.[nom du type d'LSobject].php
|
|
||||||
|
|
||||||
Le plus simple pour cette étape est de copier un des fichiers d'exemple dans le dossier config.local et de l'adapter en
|
|
||||||
changeant le nom du type d'objet dans l'ensemble du fichier. Pour cela, le fichier de classe du type LSpeople est le
|
|
||||||
plus simple car il ne contient que le strict minimum. Pour un fichier de classe ayant des LSrelations à gérer, le
|
|
||||||
fichier de classe LSgroup contient déjà les méthodes nécéssaires pour gérer ces cas.
|
|
||||||
|
|
||||||
b. Configurer vos LSobject :
|
|
||||||
Cette partie est certainement la plus longue et consiste à déclarer l'ensemble des informations relatives aux types des
|
|
||||||
objets LDAP manipulés. Les fichiers d'exemples fournis vous seront alors d'une aide précieuse. basé vous sur l'un de
|
|
||||||
pour créer le votre. Pour cela le fichier de configuration du type d'LSobjet LSpeople est le plus complet et est un bon
|
|
||||||
point de départ. Pour plus de détails sur les élements de configuration de ce fichier, consulter la documentation du
|
|
||||||
projet. [1]
|
|
||||||
|
|
||||||
c. Configurer si nécessaire les relations entre les objets appelés LSrelations :
|
|
||||||
Cette opération consiste dans un premier temps à écrire les méthodes PHP nécessaires pour gérer ces relations : pour
|
|
||||||
cela regardez le fichier de classe du type LSgroup. Il faudra ensuite déclarer ces relations dans la configuration des
|
|
||||||
types d'LSobjects : Pour plus de détails, consulter la documentation du projet. [1]
|
|
||||||
|
|
||||||
#############
|
|
||||||
# Important #
|
|
||||||
#############
|
|
||||||
#
|
|
||||||
# Pensez à déclarer les fichiers que vous venez de créer dans la variable LOCAL_FILES du fichier local.sh. Exemple
|
|
||||||
# pour le type d'LSobjet portant comme nom LSexample :
|
|
||||||
#
|
|
||||||
# src/conf/LSobjects/config.LSobjects.LSexample.php
|
|
||||||
# src/includes/class/class.LSobjects.LSexample.php
|
|
||||||
#
|
|
||||||
|
|
||||||
########
|
|
||||||
# Note #
|
|
||||||
########
|
|
||||||
#
|
|
||||||
# Vous pouvez également personnaliser l'interface : Il est possible de personnaliser à votre goût l'interface en
|
|
||||||
# écrivant votre template ou en modifiant simplement
|
|
||||||
# les fichiers CSS. Une partie de cette documentation concernera bientôt cette problématique. Patience...
|
|
||||||
#
|
|
||||||
|
|
||||||
4. La dernière étape à ce niveau consiste à lancer le script upgradeFromGit.sh pour qu'il installe les fichiers que
|
|
||||||
vous venez de créer. Ce script est conçu pour dire tout ce qu'il fait donc en cas de problème vous devriez
|
|
||||||
rapidement comprendre où cela coince. Dans tout les cas, n'hésitez pas à poser vos questions à la communauté sur la
|
|
||||||
liste <ldapsaisie-users@lists.ldapsaisie.org>.
|
|
||||||
|
|
||||||
Liens
|
|
||||||
=====
|
|
||||||
1. Documentation du projet : http://ldapsaisie.org/doc
|
|
40
buildDoc.sh
40
buildDoc.sh
|
@ -1,40 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
ROOT_DIR=$( cd `dirname $0`; pwd )
|
|
||||||
LOCAL_CFG_DIR=$ROOT_DIR/config.local
|
|
||||||
|
|
||||||
# Import config
|
|
||||||
if [ ! -f $LOCAL_CFG_DIR/local.sh ]
|
|
||||||
then
|
|
||||||
echo "Error : You don't have create your own local.sh file in config.local directory. You could rely on the local.sh.example file to create your version."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
source $LOCAL_CFG_DIR/local.sh
|
|
||||||
|
|
||||||
cd $ROOT_DIR/doc
|
|
||||||
|
|
||||||
make clean >> $LOG_FILE 2>&1
|
|
||||||
make >> $LOG_FILE 2>&1 &
|
|
||||||
|
|
||||||
export P=$!
|
|
||||||
|
|
||||||
|
|
||||||
trap exitwhell INT
|
|
||||||
|
|
||||||
function exitwhell() {
|
|
||||||
kill -9 $P 2> /dev/null
|
|
||||||
echo " -- INT -- "
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ -d /proc/$P ]
|
|
||||||
do
|
|
||||||
echo -n .
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
echo done.
|
|
||||||
|
|
||||||
if [ -n "$EXPORT_DOC_DIR" ]
|
|
||||||
then
|
|
||||||
$ROOT_DIR/buildDocExports.sh
|
|
||||||
fi
|
|
|
@ -1,167 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
ROOT_DIR=$( cd `dirname $0`; pwd )
|
|
||||||
LOCAL_CFG_DIR=$ROOT_DIR/config.local
|
|
||||||
|
|
||||||
# Import config
|
|
||||||
if [ ! -f $LOCAL_CFG_DIR/local.sh ]
|
|
||||||
then
|
|
||||||
echo "Error : You don't have create your own local.sh file in config.local directory. You could rely on the local.sh.example file to create your version."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
source $LOCAL_CFG_DIR/local.sh
|
|
||||||
|
|
||||||
if [ ! -n "$EXPORT_DOC_DIR" ]
|
|
||||||
then
|
|
||||||
echo "The EXPORT_DOC_DIR variable is not define. Export doc is disabled."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "$EXPORT_DOC_DIR" ]
|
|
||||||
then
|
|
||||||
echo "Error : Export directory $EXPORT_DOC_DIR does not exist !"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
DOC_DIR=$ROOT_DIR/doc
|
|
||||||
TMP_DIR=`mktemp -d`
|
|
||||||
ERROR=0
|
|
||||||
|
|
||||||
echo "-> Export documentation in $EXPORT_DOC_DIR :"
|
|
||||||
|
|
||||||
# PDF
|
|
||||||
if [ -n "$PDF" ]
|
|
||||||
then
|
|
||||||
echo -en "\t- PDF : "
|
|
||||||
# PDF
|
|
||||||
cp -f $DOC_DIR/exports/pdf/LdapSaisie.pdf $EXPORT_DOC_DIR/LdapSaisie.pdf
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
echo -e "\n-> Error"
|
|
||||||
ERROR=1
|
|
||||||
else
|
|
||||||
echo Ok
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# EPUB
|
|
||||||
if [ -n "$EPUB" ]
|
|
||||||
then
|
|
||||||
echo -en "\t- EPUB : "
|
|
||||||
# EPUB
|
|
||||||
cp -f $DOC_DIR/exports/epub/LdapSaisie.epub $EXPORT_DOC_DIR/LdapSaisie.epub
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
echo -e "\n-> Error"
|
|
||||||
ERROR=1
|
|
||||||
else
|
|
||||||
echo Ok
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# ALL-IN-ONE
|
|
||||||
if [ -n "$ALL_IN_ONE" ]
|
|
||||||
then
|
|
||||||
echo -en "\t- All-In-One : "
|
|
||||||
rm -fr $TMP_DIR/$ALL_IN_ONE
|
|
||||||
mkdir $TMP_DIR/$ALL_IN_ONE
|
|
||||||
|
|
||||||
cp $DOC_DIR/exports/html/all-in-one/LdapSaisie.html $TMP_DIR/$ALL_IN_ONE/
|
|
||||||
sed -i 's/\.\.\/\.\.\/\.\.\///g' $TMP_DIR/$ALL_IN_ONE/LdapSaisie.html
|
|
||||||
|
|
||||||
# IMAGES
|
|
||||||
cp -fr $IMAGES $TMP_DIR/$ALL_IN_ONE/images
|
|
||||||
|
|
||||||
mkdir $TMP_DIR/$ALL_IN_ONE/styles
|
|
||||||
cp $CSS $TMP_DIR/$ALL_IN_ONE/styles/
|
|
||||||
|
|
||||||
echo "done. Build archive and move it later ..."
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# ONLINE
|
|
||||||
if [ -n "$ONLINE" ]
|
|
||||||
then
|
|
||||||
echo -en "\t- On-line : "
|
|
||||||
rm -fr $TMP_DIR/$ONLINE
|
|
||||||
mkdir $TMP_DIR/$ONLINE
|
|
||||||
|
|
||||||
cp -fr $DOC_DIR/exports/html/online/*.html $TMP_DIR/$ONLINE
|
|
||||||
sed -i 's/\.\.\/\.\.\/\.\.\///g' $TMP_DIR/$ONLINE/*
|
|
||||||
|
|
||||||
# IMAGES
|
|
||||||
cp -fr $IMAGES $TMP_DIR/$ONLINE/images
|
|
||||||
|
|
||||||
mkdir $TMP_DIR/$ONLINE/styles
|
|
||||||
cp $CSS $TMP_DIR/$ONLINE/styles/
|
|
||||||
|
|
||||||
echo "done. Build archive and move it later ..."
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# DOCBOOK
|
|
||||||
if [ -n "$DOCBOOK" ]
|
|
||||||
then
|
|
||||||
echo -en "\t- Docbook : "
|
|
||||||
|
|
||||||
rm -fr $TMP_DIR/$DOCBOOK
|
|
||||||
mkdir $TMP_DIR/$DOCBOOK
|
|
||||||
|
|
||||||
cd $DOC_DIR
|
|
||||||
for i in `find -type d|grep -v 'export'`
|
|
||||||
do
|
|
||||||
mkdir -p $TMP_DIR/$DOCBOOK/$i
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in `find -type f|egrep -v '(Makefile|^./export)'`
|
|
||||||
do
|
|
||||||
cp $i $TMP_DIR/$DOCBOOK/$i
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "done. Build archive and move it later ..."
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "-> Build archives and move all in export directory :"
|
|
||||||
cd $TMP_DIR/
|
|
||||||
for i in $ALL_IN_ONE $ONLINE $DOCBOOK
|
|
||||||
do
|
|
||||||
echo -e "\t$i : "
|
|
||||||
echo -en "\t\t+ Archive : "
|
|
||||||
tar -cjf LdapSaisie--Doc--$i.tar.bz2 $i && mv LdapSaisie--Doc--$i.tar.bz2 $EXPORT_DOC_DIR/
|
|
||||||
if [ $? -eq 0 ]
|
|
||||||
then
|
|
||||||
echo Ok
|
|
||||||
else
|
|
||||||
echo -e "\n-> Error"
|
|
||||||
ERROR=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -en "\t\t+ Web dir : "
|
|
||||||
[ ! -d "$EXPORT_DOC_DIR/$i" ] && echo "you must create export $i directory manualy before run this script. (path : $EXPORT_DOC_DIR/$i)" && continue
|
|
||||||
rm -fr $EXPORT_DOC_DIR/$i/* && cp -fr $i/* $EXPORT_DOC_DIR/$i/ && rm -fr $i
|
|
||||||
if [ $? -eq 0 ]
|
|
||||||
then
|
|
||||||
echo Ok
|
|
||||||
else
|
|
||||||
echo -e "\n-> Error"
|
|
||||||
ERROR=1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -n "$LAST_UPDATE_FILE" ]
|
|
||||||
then
|
|
||||||
echo -n "-> Create last-update file : "
|
|
||||||
echo "Last update :" > $LAST_UPDATE_FILE
|
|
||||||
date >> $LAST_UPDATE_FILE
|
|
||||||
cd $ROOT_DIR
|
|
||||||
git log|head -n 1 >> $LAST_UPDATE_FILE
|
|
||||||
echo >> $LAST_UPDATE_FILE
|
|
||||||
echo done.
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -fr $TMP_DIR
|
|
||||||
|
|
||||||
exit $ERROR
|
|
|
@ -1,42 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
ROOT_DIR=$( cd `dirname $0`; pwd )
|
|
||||||
LOCAL_CFG_DIR=$ROOT_DIR/config.local
|
|
||||||
|
|
||||||
# Import config
|
|
||||||
if [ ! -f $LOCAL_CFG_DIR/local.sh ]
|
|
||||||
then
|
|
||||||
echo "Error : You don't have create your own local.sh file in config.local directory. You could rely on the local.sh.example file to create your version."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
source $LOCAL_CFG_DIR/local.sh
|
|
||||||
|
|
||||||
if [ ! -n "$EXPORT_DOC_DIR" ]
|
|
||||||
then
|
|
||||||
echo "The EXPORT_DOC_DIR variable is not define. Export doc is disabled."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "$EXPORT_DOC_DIR" ]
|
|
||||||
then
|
|
||||||
echo "Error : Export directory $EXPORT_DOC_DIR does not exist !"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -n "$LAST_UPDATE_FILE" ]
|
|
||||||
then
|
|
||||||
echo "Error : The LAST_UPDATE_FILE is necessary for update detection !"
|
|
||||||
exit 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $ROOT_DIR
|
|
||||||
|
|
||||||
CURRENT=`grep ^commit $LAST_UPDATE_FILE | cut -d ' ' -f 2`
|
|
||||||
if [ "`git diff $CURRENT -- doc`" != "" ]
|
|
||||||
then
|
|
||||||
echo "Export documentation is necessary"
|
|
||||||
echo "================================="
|
|
||||||
echo "Current doc exports was generated from the commit $CURRENT."
|
|
||||||
echo "Changes have been made since."
|
|
||||||
fi
|
|
|
@ -16,39 +16,3 @@ THEME_IMG_REF="default"
|
||||||
|
|
||||||
# Webserver service reload command to run on gettext MO files changed
|
# Webserver service reload command to run on gettext MO files changed
|
||||||
#WEBSERVER_RELOAD_CMD='sudo service apache2 force-reload'
|
#WEBSERVER_RELOAD_CMD='sudo service apache2 force-reload'
|
||||||
|
|
||||||
# Do doc export ?
|
|
||||||
BUILD_DOC=1
|
|
||||||
|
|
||||||
# The export dir
|
|
||||||
# If EXPORT_DIR is a zero length string, will not export doc
|
|
||||||
EXPORT_DOC_DIR=/var/www/ldapsaisie-doc
|
|
||||||
|
|
||||||
# PDF export name file
|
|
||||||
# If PDF is a zero length string, pdf doc export will not build
|
|
||||||
PDF=LdapSaisie.pdf
|
|
||||||
|
|
||||||
# EPUB export name file
|
|
||||||
# If EPUB is a zero length string, epub doc export will not build
|
|
||||||
EPUB=LdapSaisie.epub
|
|
||||||
|
|
||||||
# ALL_IN_ONE export name
|
|
||||||
# If ALL_IN_ONE is a zero length string, all-in-one doc export will not build
|
|
||||||
ALL_IN_ONE=all-in-one
|
|
||||||
|
|
||||||
# On-line export name
|
|
||||||
# If ONLINE is a zero length string, on-line doc export will not build
|
|
||||||
ONLINE=online
|
|
||||||
|
|
||||||
# Docbook export name
|
|
||||||
# If DOCBOOK is a zero length string, docbook doc export will not buil
|
|
||||||
DOCBOOK=docbook
|
|
||||||
|
|
||||||
# The CSS file to use in export
|
|
||||||
CSS=$ROOT_DIR/doc/styles/LS.css
|
|
||||||
|
|
||||||
# The image doc directory
|
|
||||||
IMAGES=$ROOT_DIR/doc/images
|
|
||||||
|
|
||||||
# The name of last update file
|
|
||||||
LAST_UPDATE_FILE=$EXPORT_DOC_DIR/last_update.txt
|
|
||||||
|
|
2
debian/control
vendored
2
debian/control
vendored
|
@ -1,7 +1,7 @@
|
||||||
Source: ldapsaisie
|
Source: ldapsaisie
|
||||||
Section: admin
|
Section: admin
|
||||||
Priority: extra
|
Priority: extra
|
||||||
Build-Depends: debhelper, xsltproc, docbook-xsl, bash-completion
|
Build-Depends: debhelper, bash-completion
|
||||||
Maintainer: Benjamin Renard <brenard@easter-eggs.com>
|
Maintainer: Benjamin Renard <brenard@easter-eggs.com>
|
||||||
|
|
||||||
Package: ldapsaisie
|
Package: ldapsaisie
|
||||||
|
|
7
debian/rules
vendored
7
debian/rules
vendored
|
@ -3,13 +3,6 @@
|
||||||
%:
|
%:
|
||||||
dh $@ --with bash-completion
|
dh $@ --with bash-completion
|
||||||
|
|
||||||
override_dh_auto_build:
|
|
||||||
make -C $(CURDIR)/doc/exports/html -f Makefile debian
|
|
||||||
|
|
||||||
override_dh_clean:
|
|
||||||
dh_clean
|
|
||||||
make -C $(CURDIR)/doc -f Makefile clean
|
|
||||||
|
|
||||||
override_dh_install:
|
override_dh_install:
|
||||||
dh_install -X .gitignore -X .placefolder -X tmp
|
dh_install -X .gitignore -X .placefolder -X tmp
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
- `doc/`
|
- `doc/`
|
||||||
|
|
||||||
Les fichiers sources de la documentation (docbook).
|
Les fichiers sources de la documentation (Markdown & configuration Mkdocs).
|
||||||
|
|
||||||
- `lsexample/`
|
- `lsexample/`
|
||||||
|
|
||||||
|
|
|
@ -70,17 +70,6 @@ configurations suivantes :
|
||||||
|
|
||||||
Le nom du theme à installer (facultatif et non traité dans ce tutoriel).
|
Le nom du theme à installer (facultatif et non traité dans ce tutoriel).
|
||||||
|
|
||||||
- `BUILD_DOC`
|
|
||||||
|
|
||||||
Variable booléene définissant si la documentation doit être compiler en utilisant le script
|
|
||||||
`buildDocExports.sh`. Ceci ne sera pas expliqué dans ce tutoriel et nous partirons donc du
|
|
||||||
principe que cette variable est à `0`.
|
|
||||||
|
|
||||||
!!! note
|
|
||||||
|
|
||||||
D'autres variables sont présentes dans ce fichier et concerne uniquement la compilation de la
|
|
||||||
documentation. Elle peuvent être ignorée à partir du moment ou la variable `BUILD_DOC` vaut `0`.
|
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
|
|
||||||
Il est possible d'utiliser dans ce fichier de configuration la variable bash `$ROOT_DIR`
|
Il est possible d'utiliser dans ce fichier de configuration la variable bash `$ROOT_DIR`
|
||||||
|
|
|
@ -50,17 +50,8 @@
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
|
|
||||||
Cette documentation est écrite à l'aide du langage Docbook. Les mécanismes d'exportation de
|
Cette documentation est écrite à l'aide du langage Markdown et est mis en forme pour une
|
||||||
celle-ci requiert un certain nombre de programmes et librairies :
|
consultation en ligne à l'aide de [mkdocs](https://www.mkdocs.org/) et son thème
|
||||||
|
[mkdocs-material](https://squidfunk.github.io/mkdocs-material/). Le dépendances pour construire
|
||||||
- `make` (paquet `make` dans Debian)
|
cette documentation sont listées dans le fichier `doc/requirements.txt` et sont installables à
|
||||||
|
l'aide de la commande `pip install -r doc/requirements.txt`.
|
||||||
- la feuille de style `html` XSL de Norman Walsh pour Docbook (fichier
|
|
||||||
`/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl` fournis par le paquet
|
|
||||||
`docbook-xsl` dans Debian)
|
|
||||||
|
|
||||||
- `xmllint` (validation XML) (paquet `libxml2-utils` dans Debian)
|
|
||||||
|
|
||||||
- `jw` (exportation PDF) (paquet `docbook-utils` dans Debian)
|
|
||||||
|
|
||||||
- `dbtoepub` (exportation EPUB) (paquet `dbtoepub` dans Debian)
|
|
||||||
|
|
|
@ -299,40 +299,3 @@ then
|
||||||
else
|
else
|
||||||
msg "Changed detected :\n\n/!\\ You have to force-reload your webserver to handle it ! /!\\\n\n"
|
msg "Changed detected :\n\n/!\\ You have to force-reload your webserver to handle it ! /!\\\n\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $BUILD_DOC -eq 1 ]
|
|
||||||
then
|
|
||||||
[ -n "$LAST_UPDATE_FILE" ] && [ "`$ROOT_DIR/checkDocExportsNecessity.sh`" == "" ] && echo "Export documentation is not necessary. Pass." && exit
|
|
||||||
msg "-> Do you want build the documentation (y/N) ? " -en
|
|
||||||
read a
|
|
||||||
if [ "$a" == "y" -o "$a" == "Y" ]
|
|
||||||
then
|
|
||||||
msg "-> Build the doc : " -en
|
|
||||||
cd $ROOT_DIR/doc
|
|
||||||
|
|
||||||
make clean >> $LOG_FILE 2>&1
|
|
||||||
make >> $LOG_FILE 2>&1 &
|
|
||||||
|
|
||||||
export P=$!
|
|
||||||
|
|
||||||
trap exitwhell INT
|
|
||||||
|
|
||||||
function exitwhell() {
|
|
||||||
[ -n "$P" ] && kill -9 $P 2> /dev/null
|
|
||||||
echo " -- INT -- "
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ -d /proc/$P ]
|
|
||||||
do
|
|
||||||
echo -n .
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
echo done.
|
|
||||||
|
|
||||||
if [ -n "$EXPORT_DOC_DIR" ]
|
|
||||||
then
|
|
||||||
$ROOT_DIR/buildDocExports.sh
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
Loading…
Reference in a new issue