mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-23 18:39:07 +01:00
Compare commits
5 commits
11a8448b0a
...
2de8c720b5
Author | SHA1 | Date | |
---|---|---|---|
|
2de8c720b5 | ||
|
0a98056be9 | ||
|
c60730f25c | ||
|
aa197983a1 | ||
|
1b672f59e7 |
276 changed files with 8489 additions and 11435 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -5,3 +5,6 @@ vendor
|
|||
/src/local.*
|
||||
tests-report*.xml
|
||||
.phplint-cache
|
||||
/ldapsaisie-snapshot.tar.gz
|
||||
/dist
|
||||
/.env
|
||||
|
|
107
.gitlab-ci.yml
107
.gitlab-ci.yml
|
@ -1,5 +1,7 @@
|
|||
stages:
|
||||
- tests
|
||||
- build
|
||||
- publish
|
||||
|
||||
tests:bullseye:
|
||||
image:
|
||||
|
@ -84,14 +86,99 @@ tests:jessie:
|
|||
- rm -f .phplint-cache
|
||||
- /tmp/vendor/bin/phplint src
|
||||
|
||||
tests:doc:
|
||||
image: registry.gitlab.com/pipeline-components/xmllint:latest
|
||||
stage: tests
|
||||
rules:
|
||||
- changes:
|
||||
- doc/*.docbook
|
||||
- doc/*.xml
|
||||
- doc/**/*.docbook
|
||||
- doc/**/*.xml
|
||||
build:debian-sid:
|
||||
image: brenard/debian-python-deb:debian11
|
||||
stage: build
|
||||
script:
|
||||
- xmllint --valid --noout doc/LdapSaisie.docbook
|
||||
- ./build-deb.sh --install-build-deps --sid
|
||||
artifacts:
|
||||
paths:
|
||||
- dist/*
|
||||
|
||||
build:snapshot:
|
||||
stage: build
|
||||
image: alpine
|
||||
script:
|
||||
- tar -czf ldapsaisie-snapshot.tar.gz --exclude=ldapsaisie-snapshot.tar.gz ./
|
||||
artifacts:
|
||||
paths:
|
||||
- ldapsaisie-snapshot.tar.gz
|
||||
|
||||
build:doc:
|
||||
stage: build
|
||||
image: python:alpine
|
||||
before_script:
|
||||
- apk add make
|
||||
script:
|
||||
- cd doc
|
||||
- make public_html LdapSaisie.html
|
||||
artifacts:
|
||||
paths:
|
||||
- doc/public_html/
|
||||
- doc/LdapSaisie.html
|
||||
|
||||
build:doc:pdf:
|
||||
stage: build
|
||||
image:
|
||||
name: pink33n/html-to-pdf
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
needs:
|
||||
- build:doc
|
||||
script:
|
||||
- /usr/local/bin/entrypoint --url file://$(pwd)/doc/LdapSaisie.html --pdf doc/LdapSaisie.pdf
|
||||
artifacts:
|
||||
paths:
|
||||
- doc/LdapSaisie.pdf
|
||||
|
||||
build:doc:epub:
|
||||
stage: build
|
||||
image:
|
||||
name: pandoc/core
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
needs:
|
||||
- build:doc
|
||||
before_script:
|
||||
- apk add make
|
||||
script:
|
||||
- cd doc
|
||||
- test ! -d venv && mkdir venv && touch public_html LdapSaisie.html
|
||||
- make LdapSaisie.epub
|
||||
artifacts:
|
||||
paths:
|
||||
- doc/LdapSaisie.epub
|
||||
|
||||
publish:
|
||||
stage: publish
|
||||
image: alpine:latest
|
||||
needs:
|
||||
- 'build:doc'
|
||||
- 'build:doc:pdf'
|
||||
- 'build:doc:epub'
|
||||
- 'build:snapshot'
|
||||
before_script:
|
||||
- apk update && apk add openssh-client rsync
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add -
|
||||
- mkdir ~/.ssh
|
||||
- echo "$SSH_HOST_KEY" | base64 -d > ~/.ssh/known_hosts
|
||||
script:
|
||||
- rsync -atv --exclude '.git*' --delete --progress ./doc/public_html/ $SSH_USER@$SSH_HOST:doc/
|
||||
- rsync -atv ./doc/LdapSaisie.html ./doc/LdapSaisie.pdf ./doc/LdapSaisie.epub $SSH_USER@$SSH_HOST:doc/
|
||||
- rsync -atv ldapsaisie-snapshot.tar.gz $SSH_USER@$SSH_HOST:download/ldapsaisie-snapshot.tar.gz
|
||||
|
||||
publish:debian-sid:
|
||||
stage: publish
|
||||
image: debian:stable-slim
|
||||
needs:
|
||||
- 'build:debian-sid'
|
||||
before_script:
|
||||
- apt-get update
|
||||
- apt-get install -y --no-install-recommends rsync openssh-client dupload
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add -
|
||||
- mkdir ~/.ssh
|
||||
- echo "$SSH_HOST_KEY" | base64 -d > ~/.ssh/known_hosts
|
||||
- echo "$DUPLOAD_CONFIG" | base64 -d > ~/.dupload.conf
|
||||
script:
|
||||
- echo "Publish Sid debian packages on APT repository..."
|
||||
- dupload --to debian-sid dist/ldapsaisie*changes
|
||||
|
|
132
build-deb.sh
Executable file
132
build-deb.sh
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/bin/bash
|
||||
|
||||
INSTALL_BUILD_DEPS=0
|
||||
SID=0
|
||||
|
||||
function usage() {
|
||||
[ -n "$@" ] && echo -e "$@\n" > /dev/stderr
|
||||
echo "Usage: $0 [--install-build-deps] [--sid]"
|
||||
[ -n "$@" ] && exit 1
|
||||
}
|
||||
|
||||
idx=1
|
||||
while [ $idx -le $# ]
|
||||
do
|
||||
OPT=${!idx}
|
||||
case $OPT in
|
||||
--install-build-deps)
|
||||
INSTALL_BUILD_DEPS=1
|
||||
;;
|
||||
--sid)
|
||||
SID=1
|
||||
;;
|
||||
-x)
|
||||
set -x
|
||||
;;
|
||||
*)
|
||||
usage "Unkown parameter '$OPT'"
|
||||
esac
|
||||
let idx=idx+1
|
||||
done
|
||||
|
||||
# Enter source directory
|
||||
cd $( dirname $0 )
|
||||
|
||||
# Install build dependencies
|
||||
if [ $INSTALL_BUILD_DEPS -eq 1 ]
|
||||
then
|
||||
apt-get update
|
||||
apt-get install --no-install-recommends --yes devscripts equivs sed rsync git lsb-release wget ca-certificates
|
||||
mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
|
||||
fi
|
||||
|
||||
DEBIAN_RELEASE=$( lsb_release -r -s|sed 's/\..*$//' )
|
||||
|
||||
# Install build dependencies based on Debian release
|
||||
if [ $INSTALL_BUILD_DEPS -eq 1 ]
|
||||
then
|
||||
# On Debian Stretch, install GitPython using pip because strect version of python3-git have bugs
|
||||
if [ $DEBIAN_RELEASE -eq 9 ]
|
||||
then
|
||||
apt-get install --no-install-recommends --yes python3-pip
|
||||
python3 -m pip install GitPython
|
||||
else
|
||||
apt-get install --no-install-recommends --yes python3-git
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install GPG key (if provided)
|
||||
if [ -n "$GPG_KEY" ]
|
||||
then
|
||||
[ $INSTALL_BUILD_DEPS -eq 1 ] && apt-get install --no-install-recommends --yes gnupg2
|
||||
echo "$GPG_KEY"|base64 -d|gpg --import
|
||||
fi
|
||||
|
||||
# Retreive source package name
|
||||
SOURCE_PACKAGE_NAME=$( grep -E ^Source: debian/control|sed 's/^Source: //' )
|
||||
|
||||
[ $SID -eq 1 ] && DEBIAN_CODENAME=sid || DEBIAN_CODENAME=$( lsb_release -c -s )
|
||||
|
||||
# Clean previous build
|
||||
rm -fr $SOURCE_PACKAGE_NAME-build-deps* dist
|
||||
|
||||
# Compute version using git describe
|
||||
VERSION="$( git describe --tags 2> /dev/null )"
|
||||
|
||||
# If no tag exist, git describe will fail: in this case, compute a 0.0 version with same format
|
||||
# as git describe
|
||||
[ $? -ne 0 ] && VERSION="0.0-$( git log --oneline|wc -l )-$( git describe --tags --always )"
|
||||
|
||||
# Create dist directory
|
||||
mkdir dist
|
||||
DIST_DIR=dist/$SOURCE_PACKAGE_NAME-$VERSION
|
||||
rsync -av --exclude 'dist' --exclude '.git*' --exclude 'build.sh' --exclude 'docker-builds.sh' ./ $DIST_DIR/
|
||||
|
||||
# Check gitdch is installed
|
||||
GITDCH=$(which gitdch)
|
||||
set -e
|
||||
if [ -z "$GITDCH" ]
|
||||
then
|
||||
TMP_GITDCH=$(mktemp -d)
|
||||
echo "Temporary install gitdch in $TMP_GITDCH"
|
||||
wget -O $TMP_GITDCH/gitdch https://gitea.zionetrix.net/bn8/gitdch/raw/master/gitdch
|
||||
chmod +x $TMP_GITDCH/gitdch
|
||||
GITDCH=$TMP_GITDCH/gitdch
|
||||
else
|
||||
TMP_GITDCH=""
|
||||
fi
|
||||
|
||||
# Compute gitdch extra args
|
||||
GITDCH_EXTRA_ARGS=()
|
||||
[ -n "$DEBFULLNAME" ] && GITDCH_EXTRA_ARGS+=( "--maintainer-name" "$DEBFULLNAME" )
|
||||
[ -n "$DEBEMAIL" ] && GITDCH_EXTRA_ARGS+=( "--maintainer-email" "$DEBEMAIL" )
|
||||
|
||||
if [ -e debian/changelog ]
|
||||
then
|
||||
LAST_MANUAL_COMMIT_ID=$( git log --oneline -n1 -- debian/changelog|awk '{print $1}' )
|
||||
GITDCH_EXTRA_ARGS+=( "--append" "--revision" "${LAST_MANUAL_COMMIT_ID}..HEAD" )
|
||||
fi
|
||||
|
||||
# Generate debian changelog using generate_debian_changelog.py
|
||||
$GITDCH \
|
||||
--package-name $SOURCE_PACKAGE_NAME \
|
||||
--version="${VERSION}" \
|
||||
--code-name $DEBIAN_CODENAME \
|
||||
--output $DIST_DIR/debian/changelog \
|
||||
--release-notes ../release-notes.md \
|
||||
--exclude "^CI: " \
|
||||
--exclude "^debian: " \
|
||||
--exclude "\.gitlab-ci\.yml" \
|
||||
--exclude "build\.sh" \
|
||||
--exclude "README\.md" \
|
||||
--exclude "^Merge branch " \
|
||||
--verbose "${GITDCH_EXTRA_ARGS[@]}"
|
||||
|
||||
# Clean temporary gitdch installation
|
||||
[ -n "$TMP_GITDCH" ] && rm -fr $TMP_GITDCH
|
||||
|
||||
# Build debian package
|
||||
BUILD_ARGS=""
|
||||
[ -z "$GPG_KEY" ] && BUILD_ARGS="--no-sign" || echo "GPG key provide, enable package signing."
|
||||
cd $DIST_DIR/
|
||||
dpkg-buildpackage $BUILD_ARGS
|
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
|
2
debian/ldapsaisie.docs
vendored
2
debian/ldapsaisie.docs
vendored
|
@ -1,2 +1,2 @@
|
|||
lsexample
|
||||
doc/exports/html/debian/LdapSaisie.html
|
||||
doc/LdapSaisie.html
|
||||
|
|
2
debian/rules
vendored
2
debian/rules
vendored
|
@ -4,7 +4,7 @@
|
|||
dh $@ --with bash-completion
|
||||
|
||||
override_dh_auto_build:
|
||||
make -C $(CURDIR)/doc/exports/html -f Makefile debian
|
||||
make -C $(CURDIR)/doc -f Makefile debian
|
||||
|
||||
override_dh_clean:
|
||||
dh_clean
|
||||
|
|
5
doc/.gitignore
vendored
Normal file
5
doc/.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
public_html
|
||||
LdapSaisie.html
|
||||
LdapSaisie.pdf
|
||||
LdapSaisie.epub
|
||||
venv
|
|
@ -1,45 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY LdapSaisie "<application>LdapSaisie</application>">
|
||||
<!ENTITY netldap "<application><ulink url='http://pear.php.net/package/Net_LDAP2'>Net_LDAP2</ulink></application>">
|
||||
<!ENTITY smarty "<application><ulink url='http://www.smarty.net/'>Smarty</ulink></application>">
|
||||
<!ENTITY php "<application><ulink url='http://www.php.net/'>PHP</ulink></application>">
|
||||
<!ENTITY PEAR "<application><ulink url='http://pear.php.net/'>PEAR</ulink></application>">
|
||||
<!ENTITY PEAR_Console_Table "<application><ulink url='https://pear.php.net/package/Console_Table'>Console_Table</ulink></application>">
|
||||
<!ENTITY PEAR_Net_FTP "<application><ulink url='https://pear.php.net/package/Net_FTP'>Net_FTP</ulink></application>">
|
||||
<!ENTITY PEAR_Mail "<application><ulink url='https://pear.php.net/package/Mail'>Mail</ulink></application>">
|
||||
<!ENTITY PEAR_Mail_Mime "<application><ulink url='https://pear.php.net/package/Mail_Mime'>Mail_Mime</ulink></application>">
|
||||
<!ENTITY PhpSecLib "<application><ulink url='https://github.com/phpseclib/phpseclib'>PhpSecLib</ulink></application>">
|
||||
<!ENTITY openldap "<application><ulink url='http://www.openldap.org/'>OpenLDAP</ulink></application>">
|
||||
<!ENTITY courier "<application><ulink url='http://www.courier-mta.org/'>Courier</ulink></application>">
|
||||
<!ENTITY CAS "<application><ulink url='http://www.jasig.org/cas'>CAS</ulink></application>">
|
||||
<!ENTITY phpCAS "<application><ulink url='http://www.ja-sig.org/wiki/display/CASC/phpCAS'>phpCAS</ulink></application>">
|
||||
<!ENTITY PhpLdapAdmin "<application><ulink url='http://phpldapadmin.sourceforge.net'>PhpLdapAdmin</ulink></application>">
|
||||
<!ENTITY TinyMCE "<application><ulink url='https://www.tinymce.com'>TinyMCE</ulink></application>">
|
||||
|
||||
<!ENTITY subDn "<link linkend='config-subDn'>subDn</link>">
|
||||
<!ENTITY LSprofile "<link linkend='config-LSprofile'>LSprofile</link>">
|
||||
<!ENTITY LSprofiles "<link linkend='config-LSprofile'>LSprofiles</link>">
|
||||
<!ENTITY LSobject "<link linkend='config-LSobject'>LSobject</link>">
|
||||
<!ENTITY LSobjects "<link linkend='config-LSobject'>LSobjects</link>">
|
||||
<!ENTITY LSattribute "<link linkend='config-LSattribute'>LSattribute</link>">
|
||||
<!ENTITY LSattributes "<link linkend='config-LSattribute'>LSattributes</link>">
|
||||
<!ENTITY customActions "<link linkend='config-LSobject-customActions'>customActions</link>">
|
||||
<!ENTITY customSearchActions "<link linkend='config-LSobject-customSearchActions'>customActions</link>">
|
||||
<!ENTITY LSrelation "<link linkend='config-LSobject-LSrelation'>LSrelation</link>">
|
||||
<!ENTITY LSrelations "<link linkend='config-LSobject-LSrelation'>LSrelations</link>">
|
||||
<!ENTITY LSform "<link linkend='config-LSobject-LSform'>LSform</link>">
|
||||
<!ENTITY LSforms "<link linkend='config-LSobject-LSform'>LSforms</link>">
|
||||
<!ENTITY LSformat "<link linkend='config-LSformat'>LSformat</link>">
|
||||
<!ENTITY LSformats "<link linkend='config-LSformat'>LSformats</link>">
|
||||
<!ENTITY LSaddon "<link linkend='config-LSaddon'>LSaddon</link>">
|
||||
<!ENTITY LSaddons "<link linkend='config-LSaddon'>LSaddons</link>">
|
||||
<!ENTITY LSauthMethod "<link linkend='config-LSauthMethod'>LSauthMethod</link>">
|
||||
<!ENTITY LSselect "<emphasis>LSselect</emphasis>">
|
||||
<!ENTITY LSsearch "<link linkend='config-LSobject-LSsearch'>LSsearch</link>">
|
||||
|
||||
<!ENTITY LSformElement "<link linkend='contrib-LSformElements'>LSformElement</link>">
|
||||
<!ENTITY LSformElements "<link linkend='contrib-LSformElements'>LSformElements</link>">
|
||||
<!ENTITY LSformRule "<link linkend='contrib-LSformRules'>LSformRule</link>">
|
||||
<!ENTITY LSformRules "<link linkend='contrib-LSformRules'>LSformRules</link>">
|
||||
|
||||
<!ENTITY GIT_RAW_ROOT_URL "https://gitlab.easter-eggs.com/ee/ldapsaisie/-/raw/master">
|
|
@ -1,60 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE
|
||||
book SYSTEM "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[
|
||||
<!ENTITY % LS-entities SYSTEM "LS.entities.xml">
|
||||
%LS-entities;
|
||||
|
||||
<!ENTITY % conf-entities SYSTEM "conf/conf.entities.xml">
|
||||
%conf-entities;
|
||||
<!ENTITY % conf-LSattribute-LSattr_html-entities SYSTEM "conf/LSattribute/LSattr_html/LSattr_html.entities.xml">
|
||||
%conf-LSattribute-LSattr_html-entities;
|
||||
<!ENTITY % conf-LSattribute-LSattr_ldap-entities SYSTEM "conf/LSattribute/LSattr_ldap/LSattr_ldap.entities.xml">
|
||||
%conf-LSattribute-LSattr_ldap-entities;
|
||||
<!ENTITY % conf-LSattribute-check_data-entities SYSTEM "conf/LSattribute/check_data/LSattribute-check_data.entities.xml">
|
||||
%conf-LSattribute-check_data-entities;
|
||||
<!ENTITY % conf-LSaddon-entities SYSTEM "conf/LSaddon/LSaddon.entities.xml">
|
||||
%conf-LSaddon-entities;
|
||||
<!ENTITY % conf-LSauthMethod-entities SYSTEM "conf/LSauthMethod/LSauthMethod.entities.xml">
|
||||
%conf-LSauthMethod-entities;
|
||||
|
||||
<!ENTITY intro SYSTEM "intro/intro.docbook">
|
||||
<!ENTITY install SYSTEM "install/install.docbook">
|
||||
<!ENTITY install-arbo SYSTEM "install/arbo.docbook">
|
||||
<!ENTITY upgrade SYSTEM "upgrade/upgrade.docbook">
|
||||
<!ENTITY api SYSTEM "api/api.docbook">
|
||||
<!ENTITY contrib SYSTEM "contrib/contrib.docbook">
|
||||
]>
|
||||
|
||||
<book lang="fr">
|
||||
|
||||
<bookinfo lang="fr">
|
||||
<title>LdapSaisie</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Benjamin</firstname>
|
||||
<surname>Renard</surname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>brenard@easter-eggs.com</email>
|
||||
<email>benjamin.renard@zionetrix.net</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<productname>LdapSaisie</productname>
|
||||
<releaseinfo>Version 0.3</releaseinfo>
|
||||
</bookinfo>
|
||||
|
||||
&intro;
|
||||
|
||||
&install;
|
||||
|
||||
&upgrade;
|
||||
|
||||
&conf;
|
||||
|
||||
&api;
|
||||
|
||||
&contrib;
|
||||
</book>
|
41
doc/Makefile
41
doc/Makefile
|
@ -1,16 +1,37 @@
|
|||
DOCBOOK_FILE=LdapSaisie.docbook
|
||||
build: venv public_html LdapSaisie.html LdapSaisie.pdf LdapSaisie.epub
|
||||
|
||||
all: validate export
|
||||
public_html: venv
|
||||
venv/bin/mkdocs build -s
|
||||
|
||||
# Validation
|
||||
validate:
|
||||
xmllint --valid --noout $(DOCBOOK_FILE)
|
||||
LdapSaisie.html: venv public_html
|
||||
venv/bin/htmlark public_html/print_page/index.html -o LdapSaisie.html
|
||||
|
||||
export:
|
||||
cd exports; make all
|
||||
LdapSaisie.pdf: LdapSaisie.html
|
||||
docker run -v $(CURDIR):/workspace pink33n/html-to-pdf --url file:///workspace/LdapSaisie.html --pdf LdapSaisie.pdf
|
||||
|
||||
html:
|
||||
cd exports/html; make all-in-one/LdapSaisie.html
|
||||
LdapSaisie.epub: LdapSaisie.html
|
||||
pandoc LdapSaisie.html \
|
||||
-f html \
|
||||
--toc \
|
||||
--standalone \
|
||||
--top-level-division=chapter \
|
||||
--highlight-style style/pygments.theme \
|
||||
--css style/epub.css \
|
||||
--metadata=title:"Documentation LdapSaisie" \
|
||||
--metadata=author:"Benjamin Renard" \
|
||||
--metadata=lang:"fr-FR" \
|
||||
--metadata=cover-image:"../logos/ldapsaisie-logo.png" \
|
||||
--pdf-engine=weasyprint \
|
||||
-o LdapSaisie.epub
|
||||
|
||||
venv:
|
||||
python3 -m venv venv
|
||||
venv/bin/python -m pip install -r requirements.txt
|
||||
|
||||
clean:
|
||||
cd exports; make clean
|
||||
rm -fr venv public_html LdapSaisie.html LdapSaisie.pdf LdapSaisie.epub
|
||||
|
||||
serve: venv
|
||||
venv/bin/mkdocs serve
|
||||
|
||||
debian: LdapSaisie.html
|
||||
|
|
35
doc/README
35
doc/README
|
@ -1,35 +0,0 @@
|
|||
Makefile :
|
||||
##########
|
||||
|
||||
The root Makefile permit currently 3 actions :
|
||||
* Validation : For the xml validation of docbook files
|
||||
make validate
|
||||
|
||||
* Export : For build the documentation exports in all available formats
|
||||
make export
|
||||
|
||||
* Clean : Delete non-sources files
|
||||
make clean
|
||||
|
||||
Dependencies :
|
||||
##############
|
||||
|
||||
For validation :
|
||||
================
|
||||
* xmllint command (in debian package libxml2-utils)
|
||||
|
||||
For exports :
|
||||
=============
|
||||
* in HTML :
|
||||
~~~~~~~~~~~
|
||||
+ xsltproc command (in debian package xsltproc)
|
||||
+ XSL stylesheets by N.Walsh (html/docbook.xsl, htmlhelp/htmlhelp.xsl
|
||||
and xhtml/chunk.xsl) (in debian package docbook-xsl)
|
||||
|
||||
* in PDF :
|
||||
~~~~~~~~~~
|
||||
+ jw command (in debian package docbook-utils)
|
||||
|
||||
* in EPUB :
|
||||
~~~~~~~~~~~
|
||||
+ dbtoepub command ((in debian package dbtoepub)
|
|
@ -1,630 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<chapter id="api">
|
||||
<title>API</title>
|
||||
|
||||
<para>Depuis la version 4.0, LdapSaisie offre une API visant à permettre de faire
|
||||
les mêmes choses que ce qu'il est possible d'accomplir via l'interface web. L'idée
|
||||
n'est bien entendue pas de se substituer systématiquement à la possibilité de se
|
||||
connecter directement à l'annuaire, mais plutôt d'offrir une API web pour l'intégration
|
||||
d'outil préférant ce mode d'interaction, ou encore, pour exposer des méthodes accès aux
|
||||
données de l'annuaire tout en profitant des logiques métiers implémentées/configurées
|
||||
dans LdapSaisie : validation syntaxique et d'unicité, règle de génération et
|
||||
d'interdépendances des attributs, déclencheurs, ...</para>
|
||||
|
||||
<note><simpara>Cette API est actuellement dans une phase de test et n'offre pas encore
|
||||
toutes les fonctionnalités proposées dans l'interface web. Elle est vouée à évoluer pour
|
||||
intégrer petit à petit un maximum de fonctionnalités. Des contributions à ce sujet seront
|
||||
plus qu'appréciée !</simpara></note>
|
||||
|
||||
<sect1 id="api-auth">
|
||||
<title>Authentification</title>
|
||||
|
||||
<para>L'authentification à l'API utilise le même composant <literal>LSauth</literal> que
|
||||
lors d'une authentification à l'interface web, cependant, ce composant s'adapte pour
|
||||
prendre en compte de mode de connexion. Par défaut, la méthode d'authentification utilisée
|
||||
sera &LSauthMethod_HTTP; et permettra de se connecter en spécifiant le nom d'utilisateur
|
||||
et le mot de l'utilisateur cherchant à se connecter via une authentification basique HTTP.
|
||||
</para>
|
||||
|
||||
<warning><simpara>Il est à noter que tous les types d'utilisateur ne peuvent pas forcément
|
||||
utiliser l'API : le paramètre <literal>api_access</literal> doit être explicitement
|
||||
positionné à <literal>True</literal> dans <link linkend='config-srv-ldap'>la configuration
|
||||
du serveur LDAP</link>.</simpara></warning>
|
||||
|
||||
<para>Une fois connecté, l'utilisateur endossera les droits associés à ses &LSprofiles;,
|
||||
tout comme un utilisateur connecté à l'interface web.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="api-methods">
|
||||
<title>Méthodes exposées</title>
|
||||
|
||||
<para>Les URLs des méthodes de l'API ont été construites par mimétisme sur celle de l'interface
|
||||
web et sous la racine web <literal>api/</literal>. Par ailleurs, un numéro de version d'API a
|
||||
été insérée dans chacune d'elles afin d'anticiper toutes évolutions futures majeures nécéssitants
|
||||
de conserver une rétrocompatibilité avec les anciennes versions de l'API.</para>
|
||||
|
||||
<para>Toutes les méthodes retournent des informations au format JSON et accepte le paramètre
|
||||
<literal>pretty</literal> permettant d'obtenir un retour plus facilement lisible. Les chaines de
|
||||
caractères échangées doivent par ailleurs être encodées en UTF-8. On trouvera par ailleurs dans
|
||||
le retour JSON :
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>success</term>
|
||||
<listitem><simpara>Booléen précisant si l'action demandée a correctement été exécutée.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>messages</term>
|
||||
<listitem><simpara>Ce tableau pourra être présent et lister les messages d'informations générées
|
||||
par l'action demandée. Il s'agira des mêmes messages que ceux affichés dans l'interface web
|
||||
lorsque les actions équivalentes y sont faites.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>errors</term>
|
||||
<listitem><simpara>Ce tableau pourra être présent et lister les messages d'erreurs générées
|
||||
par l'action demandée.</simpara></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<note><simpara>Les messages d'informations et d'erreurs générées par l'application sont traduites dans
|
||||
la langue courante qui peut être spécifiée via le paramètre <literal>lang</literal> accepté par toutes
|
||||
les méthodes (exemple : <literal>fr_FR</literal> ou <literal>en_US</literal>).</simpara></note>
|
||||
|
||||
<para>Lorsqu'une méthode cible un type d'objets, voir un objet en particulier, ces informations seront
|
||||
transmises dans l'URL appelée. Si le type d'objet ou l'objet demandé est introuvable, une erreur HTTP
|
||||
404 sera générée.</para>
|
||||
|
||||
<important><simpara>Sauf précision contraire, toutes les méthodes exposées sont accessibles uniquement
|
||||
via les méthodes HTTP <literal>GET</literal> ou <literal>POST</literal>. L'accès via une autre méthode
|
||||
retournera une erreur 404.</simpara></important>
|
||||
|
||||
<!-- Début Liste des méthodes exposées -->
|
||||
<variablelist>
|
||||
<title>Liste des méthodes exposées</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>/api/1.0/object/[object type]</term>
|
||||
<listitem>
|
||||
<para>Cette méthode permet de rechercher/lister les informations d'un type d'objets de
|
||||
l'annuaire en particulier. Le type de l'objet est précisé dans l'URL et doit être encodé en
|
||||
conséquence. Par mimétisme du comportement de l'interface web, la recherche est paginée et
|
||||
accepte des paramètres similaires en plus de paramètre plus appropriés à un fonctionnement
|
||||
programmatique :
|
||||
<variablelist>
|
||||
<title>Paramètres acceptés</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>filter</term>
|
||||
<listitem><simpara>Permet de spécifier un filtre de recherche LDAP personnalisé. Celui-ci
|
||||
sera combiné avec les paramètres propres au type d'objets recherchés et aux autres
|
||||
paramètres spécifiés (<literal>pattern</literal> par exemple).</simpara>
|
||||
<warning><simpara>Du fait d'une limitation de la classe <literal>Net_LDAP2_Filter</literal>
|
||||
utilisée pour analyser le filtre passé en paramètre, seuls les filtres simples du type
|
||||
<literal>(attribut=valeur)</literal> sont acceptés ici. Pour les mêmes raisons, il est
|
||||
important que le filtre spécifié soit toujours entourné de paranthèses.</simpara></warning>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>predefinedFilter</term>
|
||||
<listitem><simpara>Permet de spécifier un des filtres de recherche LDAP prédéfinis dans la
|
||||
configuration du type d'objet.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>pattern</term>
|
||||
<listitem><simpara>Permet de spécifier un mot clé de recherche, comme proposé dans
|
||||
l'interface web.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>approx</term>
|
||||
<listitem><simpara>Booléen permettant d'activer/désactiver la recherche approximative
|
||||
sur le mot clé. Les valeurs acceptées sont <literal>1</literal> ou <literal>0</literal>.
|
||||
</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>basedn</term>
|
||||
<listitem><simpara>Permet de spécifier une base de recherche personnalisé pour la recherche.
|
||||
</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>subDn</term>
|
||||
<listitem><simpara>Dans le cas d'un serveur LDAP configuré avec des <link linkend="config-subDn">
|
||||
sous-niveaux de connexion</link>, permet de spécifier le sous-niveau pour la recherche.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>scope</term>
|
||||
<listitem><simpara>Permet de spécifier l'étendue de la recherche dans l'annuaire. Valeurs acceptées:
|
||||
<literal>sub</literal>, <literal>one</literal> et <literal>base</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>recursive</term>
|
||||
<listitem><simpara>Booléen permettant d'activer/désactiver la recherche recursive, c'est à dire une
|
||||
recherche à la racine de l'annuaire (ou du <link linkend="config-subDn">sous-niveau de connexion</link>)
|
||||
avec une étendue de recherche maximale. Les valeurs acceptées sont <literal>1</literal> ou
|
||||
<literal>0</literal>.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>displayFormat</term>
|
||||
<listitem><simpara>Permet de spécifier un &LSformat; personnalisé pour le nom des objets dans le résultat
|
||||
de recherche.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>extraDisplayedColumns</term>
|
||||
<listitem><simpara>Booléen permettant d'activer le retour des colonnes personnalisées dans le résultat
|
||||
de recherche. Les valeurs acceptées sont <literal>1</literal> ou <literal>0</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>attributes</term>
|
||||
<listitem><simpara>Liste des attributs supplémentaires que devra retourner la recherche.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>attributesDetails</term>
|
||||
<listitem><simpara>Permet d'obtenir les détails sur les valeurs des attributs (au lieu des valeurs
|
||||
au format attendu en cas de création/modification de l'objet). Seul la présence de ce paramètre
|
||||
suffit à activer ce comportement, sa valeur n'a pas d'importance.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sortBy</term>
|
||||
<listitem><simpara>Permet de préciser sur quelle information le résultat de recherche doit être
|
||||
trié. Valeurs acceptées : <literal>displayName</literal>, <literal>subDn</literal> ou un des noms
|
||||
des colonnes personnalisées.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sortDirection</term>
|
||||
<listitem><simpara>Permet de préciser l'ordre de tri du résultat de recherche. Valeurs acceptées :
|
||||
<literal>ASC</literal> (A-Z) ou <literal>DESC</literal> (Z-A).</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>page</term>
|
||||
<listitem><simpara>Permet de préciser la page du résultat de recherche.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>nbObjectsByPage</term>
|
||||
<listitem><simpara>Permet de préciser le nombre maximum d'objets retournés par page du résultat de
|
||||
recherche.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>all</term>
|
||||
<listitem><simpara>Permet de réclamer le résultat complet de la recherche (désactivation
|
||||
de la pagination). Seul la présence de ce paramètre suffit à activer ce comportement, sa
|
||||
valeur n'a pas d'importance.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>as_list</term>
|
||||
<listitem><simpara>Permet de réclamer un résultat de recherche dans lequel, la clé <literal>
|
||||
objects</literal> sera une liste et non un dictionnaire. Dans ce cas, le DN de l'objet est fourni
|
||||
dans la clé <literal>dn</literal> des détails des objets.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>withoutCache</term>
|
||||
<listitem><simpara>Booléen permettant de désactiver l'utilisation du cache. Les valeurs acceptées
|
||||
sont <literal>1</literal> ou <literal>0</literal>.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>keepParamsBetweenSearches</term>
|
||||
<listitem><simpara>Booléen permettant d'activer/désactiver le stockage en session des paramètres de
|
||||
recherche (optionnel, par défaut : <literal>Faux</literal>). Les valeurs acceptées sont
|
||||
<literal>1</literal> ou <literal>0</literal>.</simpara></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple</citetitle>
|
||||
<![CDATA[# curl -u username:secret 'https://ldapsaisie/api/1.0/object/LSpeople?extraDisplayedColumns=1&pretty'
|
||||
{
|
||||
"success": true,
|
||||
"objects": {
|
||||
"uid=hmartin,ou=people,o=ls": {
|
||||
"name": "Henri MARTIN",
|
||||
"Mail": "henri.martin@ls.com"
|
||||
},
|
||||
"uid=s.ldapsaisie,ou=people,o=ls": {
|
||||
"name": "Secretariat LdapSaisie",
|
||||
"Mail": "secretariat@ldapsaisie.biz"
|
||||
},
|
||||
"uid=ls,ou=people,o=ls": {
|
||||
"name": "LdapSaisie",
|
||||
"Mail": "ldap.saisie@ls.com"
|
||||
},
|
||||
"uid=erwpa,ou=people,o=ls": {
|
||||
"name": "Erwan PAGE",
|
||||
"Mail": "erwan.page@ldapsaisie.biz"
|
||||
},
|
||||
"uid=user2,ou=people,ou=company1,ou=companies,o=ls": {
|
||||
"name": "prenom2 nom2",
|
||||
"Mail": "user2@ls.com"
|
||||
}
|
||||
},
|
||||
"total": 14,
|
||||
"params": {
|
||||
"keepParamsBetweenSearches": false,
|
||||
"filter": null,
|
||||
"pattern": null,
|
||||
"predefinedFilter": false,
|
||||
"basedn": null,
|
||||
"scope": null,
|
||||
"sizelimit": 0,
|
||||
"attronly": false,
|
||||
"approx": false,
|
||||
"recursive": true,
|
||||
"attributes": [],
|
||||
"onlyAccessible": true,
|
||||
"sortDirection": null,
|
||||
"sortBy": null,
|
||||
"sortlimit": 0,
|
||||
"displayFormat": "%{cn}",
|
||||
"nbObjectsByPage": 25,
|
||||
"withoutCache": false,
|
||||
"extraDisplayedColumns": true
|
||||
},
|
||||
"page": 1,
|
||||
"nbPages": 3
|
||||
}]]>
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>/api/1.0/object/[object type]/[dn]</term>
|
||||
<listitem>
|
||||
<para>Cette méthode permet de récupérer les informations d'un objet de l'annuaire au format
|
||||
JSON. Le type de l'objet et son DN sont précisés dans l'URL et doivent être encodés en
|
||||
conséquence. Par défaut, les valeurs des attributs retournées sont au format tel qu'attendu
|
||||
en cas de création/modification de l'objet. Il est cependant possible d'ajouter le paramètre
|
||||
<literal>details</literal> afin d'obtenir des informations complémentaires sur les valeurs
|
||||
des attributs.
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple</citetitle>
|
||||
<![CDATA[# curl -u username:secret 'https://ldapsaisie/api/1.0/object/LSpeople/uid=hmartin,ou=people,o=ls?pretty'
|
||||
{
|
||||
"success": true,
|
||||
"dn": "uid=hmartin,ou=people,o=ls",
|
||||
"type": "LSpeople",
|
||||
"name": "Henri MARTIN",
|
||||
"details": false,
|
||||
"attributes": {
|
||||
"uid": "hmartin",
|
||||
"givenName": "Henri",
|
||||
"sn": "MARTIN",
|
||||
"cn": "Henri MARTIN",
|
||||
"mail": "henri.martin@ls.com",
|
||||
"personalTitle": "M.",
|
||||
"description": [],
|
||||
"jpegPhoto": null,
|
||||
"lsGodfatherDn": [
|
||||
"uid=eeggs,ou=people,o=ls"
|
||||
],
|
||||
"uidNumber": "101022",
|
||||
"gidNumber": "102001",
|
||||
"loginShell": "no",
|
||||
"homeDirectory": "\/home\/com",
|
||||
"gecos": null,
|
||||
"shadowExpire": null,
|
||||
"shadowMax": null,
|
||||
"shadowInactive": null,
|
||||
"shadowLastChange": null,
|
||||
"sambaSID": "S-1-5-21-2421470416-3566881284-3047381809-203044",
|
||||
"sambaPrimaryGroupSID": "S-1-5-21-2421470416-3566881284-3047381809-205003",
|
||||
"sambaAcctFlags": [
|
||||
"U"
|
||||
],
|
||||
"sambaHomeDrive": null,
|
||||
"sambaHomePath": null,
|
||||
"sambaProfilePath": null,
|
||||
"sambaLogonScript": null,
|
||||
"sambaLogonTime": null,
|
||||
"sambaLogoffTime": null,
|
||||
"sambaKickoffTime": null,
|
||||
"sambaPwdLastSet": null,
|
||||
"sambaPwdMustChange": null,
|
||||
"sambaPwdCanChange": null
|
||||
},
|
||||
"relations": {
|
||||
"groups": {
|
||||
"cn=direction,ou=groups,o=ls": "direction",
|
||||
"cn=secretariat,ou=groups,o=ls": "secretariat"
|
||||
},
|
||||
"godfather": []
|
||||
}
|
||||
}]]>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>/api/1.0/object/[object type]/create</term>
|
||||
<listitem>
|
||||
<para>Cette méthode permet de créer un objet dans l'annuaire. Le type de l'objet qui sera créé est
|
||||
précisé dans l'URL et doit être encodé en conséquence. Les informations de l'objet doivent est
|
||||
transmises au format <literal>x-www-form-urlencoded</literal>. Elles peuvent également être au
|
||||
format <literal>multipart/form-data</literal>, en particulier si votre requête contient une image.
|
||||
Par mimétisme avec l'interface web, seuls les attributs prévus dans le formulaire de création du
|
||||
type d'objet peuvent être passées ici. De la même manière, les attributs non-spécifiés ici, pouront
|
||||
être auto-générés en accord avec leur configuration et la requête sera acceptée uniquement si tous les
|
||||
attributs obligatoires y sont spécifiés ou s'ils peuvent être auto-générés.</para>
|
||||
<para>Le format et la syntaxe des valeurs des attributs dépends de leur type HTML. Ainsi, par exemple,
|
||||
un attribut de type HTML <literal>boolean</literal> acceptera comme valeurs possibles <literal>yes
|
||||
</literal> ou <literal>no</literal>. Pour plus de détails sur le type de valeur acceptée par un type
|
||||
d'attribut HTML en particulier, consultez sa documentation. Vous pouvez également analyser le code de
|
||||
la méthode <literal>getPostData()</literal> de la classe PHP correspondante.</para>
|
||||
<para>Si l'application détecte un souci avec les informations transmises pour les attributs, un tableau
|
||||
<literal>fields_errors</literal> sera présent dans la réponse JSON et contiendra pour chacun des attributs
|
||||
problématique, un tableau des messages d'erreurs générées par l'application.</para>
|
||||
<para>Si le type d'objet en prévoit, vous pouvez également utiliser un
|
||||
<link linkend="config-LSobject-LSform-dataEntryForm">masque de saisie</link> via le paramètre <literal>
|
||||
dataEntryForm</literal>.</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple</citetitle>
|
||||
<![CDATA[# curl -u username:secret 'https://ldapsaisie/api/1.0/object/LSpeople/create?pretty' -d "uid=foo.bar&personalTitle=M.&givenName=foo&sn=bar&cn=Foo Bar&mail=foo.bar@example.com&userPassword=Y0urS3cr3t&lsGodfatherDn[]=uid=admin,ou=people,o=ls&gidNumber=70000"
|
||||
{
|
||||
"success": true,
|
||||
"type": "LSpeople",
|
||||
"dn": "uid=foo.bar,ou=people,o=ls",
|
||||
"name": "Foo Bar",
|
||||
"messages": [
|
||||
"Le mail de notification a \u00e9t\u00e9 envoy\u00e9.",
|
||||
"L'objet a \u00e9t\u00e9 ajout\u00e9."
|
||||
]
|
||||
}]]>
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>/api/1.0/object/[object type]/[dn]/modify</term>
|
||||
<listitem>
|
||||
<para>Cette méthode permet de modifier un objet dans l'annuaire. Le type de l'objet et son DN sont
|
||||
précisés dans l'URL et doivent être encodés en conséquence. Les informations de l'objet à modifier
|
||||
doivent être transmises au même format que pour la méthode <literal>create</literal> (voir ci-dessus).
|
||||
Comme pour cette dernière, seuls les attributs prévus dans le formulaire de modification du type
|
||||
d'objet peuvent être passées ici et la réponse JSON pourra contenir un tableau <literal>fields_errors
|
||||
</literal> contenant les erreurs générées par l'application au sujet des valeurs transmises pour les
|
||||
attributs.</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple</citetitle>
|
||||
<![CDATA[# curl -u username:secret 'https://ldapsaisie/api/1.0/object/LSpeople/uid=foo.bar,ou=people,o=ls/modify?pretty' -d "givenName=foo&sn=bar&cn=Foo Bar"
|
||||
{
|
||||
"dn": "uid=foo.bar,ou=people,o=ls",
|
||||
"type": "LSpeople",
|
||||
"name": "Foo Bar",
|
||||
"success": true,
|
||||
"messages": [
|
||||
"L'objet a bien \u00e9t\u00e9 modifi\u00e9."
|
||||
]
|
||||
}]]>
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>/api/1.0/object/[object type]/[dn]/remove</term>
|
||||
<listitem>
|
||||
<para>Cette méthode permet de supprimer un objet dans l'annuaire. Le type de l'objet et son DN sont
|
||||
précisés dans l'URL et doivent être encodés en conséquence.</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple</citetitle>
|
||||
<![CDATA[# curl -u username:secret 'https://ldapsaisie/api/1.0/object/LSpeople/uid=foo.bar,ou=people,o=ls/remove?pretty'
|
||||
{
|
||||
"dn": "uid=foo.bar,ou=people,o=ls",
|
||||
"type": "LSpeople",
|
||||
"name": "Foo Bar",
|
||||
"success": true,
|
||||
"messages": [
|
||||
"Foo Bar a bien \u00e9t\u00e9 supprim\u00e9."
|
||||
]
|
||||
}]]>
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>/api/1.0/object/[object type]/import</term>
|
||||
<listitem>
|
||||
<para>Cette méthode permet d'importer des objets d'un type en particulier à partir de données
|
||||
d'import formatées selon un &ioFormat; configuré pour ce type d'objets. Le type de l'objet
|
||||
est précisé dans l'URL et doit être encodé en conséquence. Par mimétisme du comportement de
|
||||
l'interface web, cette méthode accepte des paramètres similaires et s'attend à récupérer les
|
||||
données d'import dans le corps de la requête.
|
||||
<variablelist>
|
||||
<title>Paramètres acceptés</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>ioFormat</term>
|
||||
<listitem><simpara>Le nom de l'&ioFormat; des données d'import.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>updateIfExists</term>
|
||||
<listitem><simpara>Booléen permettant d'activer/désactiver la mise à jour des données
|
||||
des objets s'ils existent déjà. Si ce mode est inactif et qu'un objet des données
|
||||
d'import existe déjà, une erreur sera remontée. Les valeurs acceptées sont <literal>1
|
||||
</literal> ou <literal>0</literal>.
|
||||
</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>justTry</term>
|
||||
<listitem><simpara>Booléen permettant d'activer/désactiver le mode de vérification des
|
||||
données d'import uniquement. Si ce mode est actif, les données d'import seront analysées
|
||||
pour vérifier qu'elles sont correctes, mais l'import en lui-même ne sera pas effectué.
|
||||
Les valeurs acceptées sont <literal>1</literal> ou <literal>0</literal>.
|
||||
</simpara>
|
||||
<note><simpara>Le retour de cette méthode en mode <literal>justTry</literal> est identique
|
||||
à une exécution en mode normal. Ce mode permet donc d'anticiper le résultat d'un import à
|
||||
partir d'un jeu de données sources.</simpara></note>
|
||||
<warning><simpara>En mode <literal>justTry</literal>, seul la vérification syntaxique des
|
||||
données est fiable, car les informations doublonnées au sein des données d'import ne pourront
|
||||
être détectées.</simpara></warning>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
<para>En cas d'erreurs détectées dans les informations des objets des données d'import, le tableau
|
||||
<literal>errors</literal> du retour de la méthode contiendra une entrée pour chaque objet en erreur
|
||||
sous le format d'un dictionnaire dont la clé <literal>data</literal> reprendra les informations de
|
||||
l'objet telle que chargé (ou générée) depuis les données sources, ainsi qu'un dictionnaire sous la
|
||||
clé <literal>errors</literal> qui contiendra les erreurs globales concernant l'objet sous la clé
|
||||
<literal>globals</literal> et les erreurs propres à ses attributs dans un dictionnaire sous la clé
|
||||
<literal>attrs</literal>.</para>
|
||||
|
||||
<note><simpara>Les erreurs d'importation sur un objet sont non-bloquantes : l'importation des autres
|
||||
objets ne sera pas interrompue.</simpara></note>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple</citetitle>
|
||||
<![CDATA[# curl -u username:secret --data-binary @/path/to/input.file 'https://ldapsaisie/api/1.0/object/LSpeople/import?ioFormat=mycsv&pretty'
|
||||
{
|
||||
"success": false,
|
||||
"LSobject": "LSpeople",
|
||||
"ioFormat": "mycsv",
|
||||
"updateIfExists": false,
|
||||
"justTry": false,
|
||||
"imported": {
|
||||
"uid=rturin,ou=people,o=ls": "M. Roger TURIN"
|
||||
},
|
||||
"updated": [],
|
||||
"errors": [
|
||||
{
|
||||
"data": {
|
||||
"uid": [
|
||||
"lmartin"
|
||||
],
|
||||
"personalTitle": [
|
||||
"Mme"
|
||||
],
|
||||
"givenName": [
|
||||
"Ludivine"
|
||||
],
|
||||
"sn": [
|
||||
"MARTIN"
|
||||
],
|
||||
"mail": [
|
||||
"lmartin@gmail.com"
|
||||
],
|
||||
"userPassword": [
|
||||
"123Yh%uT"
|
||||
],
|
||||
"gidNumber": [
|
||||
"102009"
|
||||
],
|
||||
"loginShell": [
|
||||
"no"
|
||||
],
|
||||
"cn": [
|
||||
"Mme Ludivine MARTIN"
|
||||
]
|
||||
},
|
||||
"errors": {
|
||||
"globals": [
|
||||
"Un objet existe d\u00e9j\u00e0 dans l'annuaire LDAP avec le DN uid=lmartin,ou=people,o=ls."
|
||||
],
|
||||
"attrs": []
|
||||
}
|
||||
}
|
||||
],
|
||||
"messages": [
|
||||
"Le mail de notification a \u00e9t\u00e9 envoy\u00e9."
|
||||
]
|
||||
}]]>
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>/api/1.0/object/[object type]/export</term>
|
||||
<listitem>
|
||||
<para>Cette méthode permet d'exporter les objets d'un type en particulier dans un &ioFormat;
|
||||
configuré pour ce type d'objets. Le type de l'objet est précisé dans l'URL et doit être encodé
|
||||
en conséquence.</para>
|
||||
<variablelist>
|
||||
<title>Paramètres acceptés</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>ioFormat</term>
|
||||
<listitem><simpara>Le nom de l'&ioFormat;.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
<para>En tant normal, le retour de cette méthode sera directement le fichier d'export demandé.
|
||||
Cependant, si une erreur survient, les paramètres d'export seront repris dans le retour
|
||||
<literal>JSON</literal> de la méthode qui contiendra également les erreurs survenues.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple</citetitle>
|
||||
<![CDATA[# curl -u username:secret --data-binary @/path/to/input.file 'https://ldapsaisie/api/1.0/object/LSpeople/export?ioFormat=mycsv&pretty'
|
||||
login;civility;firstname;name;mail;password;gid;shell
|
||||
hmartin;M.;Henri;MARTIN;henri.martin@ls.com;********;102001;no
|
||||
s.ldapsaisie;M.;Secretariat;LdapSaisie;secretariat@ldapsaisie.biz;********;70000;no
|
||||
ls;M.;Ldap;Saisie;ldap.saisie@ls.com;********;102001;no
|
||||
erwpa;M.;Erwan;PAGEARD;erwan.page@ldapsaisie.biz;********;102009;no
|
||||
[...]]]>
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>/api/1.0/object/[object type]/[dn]/relation/[relation]</term>
|
||||
<listitem>
|
||||
<para>Cette méthode permet de gérer les objets en relation avec un objet en particulier de
|
||||
l'annuaire. Le type de l'objet, son DN et le nom de la relation sont précisés dans l'URL et
|
||||
doivent être encodés en conséquence. Cette méthode accepte les paramètres <literal>add
|
||||
</literal> et <literal>remove</literal> permettant de lister le ou les DN d'objet(s) à
|
||||
respectivement ajouter ou supprimer parmis les objets actuellement en relation avec l'objet
|
||||
spécifié. Si aucun DN n'est spécifié comme devant être ajouté ou supprimé, la méthode
|
||||
retournera simplement les DN des objets en relation. En cas de modification demandée, la
|
||||
méthode retournera la nouvelle liste des DNs des objets en relation, quel que soit le résultat
|
||||
de l'opération de mise à jour.</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple</citetitle>
|
||||
<![CDATA[# curl -u username:secret 'https://ldapsaisie/api/1.0/object/LSpeople/uid=foo.bar,ou=people,o=ls/relation/groups?pretty&add[]=cn=ls,ou=groups,o=ls&add[]=cn=invite,ou=groups,o=ls'
|
||||
{
|
||||
"dn": "uid=foo.bar,ou=people,o=ls",
|
||||
"type": "LSpeople",
|
||||
"name": "Foo Bar",
|
||||
"relation": "groups",
|
||||
"success": true,
|
||||
"relatedObjects": [
|
||||
"cn=ls,ou=groups,o=ls",
|
||||
"cn=invite,ou=groups,o=ls"
|
||||
],
|
||||
"messages": [
|
||||
"Objects in relation updated."
|
||||
]
|
||||
}]]>
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect1>
|
||||
|
||||
</chapter>
|
|
@ -1,57 +0,0 @@
|
|||
<sect2 id='config-search-params'>
|
||||
<title>Paramètres étendus des recherches dans l'annuaire</title>
|
||||
<para>Les paramètres des recherches sont ceux supportés par &netldap;. Ces
|
||||
paramètres sont passés sous la forme d'un tableau associatif. Les paramètres
|
||||
supportés sont détaillés ci-dessous :
|
||||
|
||||
<informaltable>
|
||||
<tgroup cols="3"> <!-- on décrit le nombre de colonnes -->
|
||||
<thead> <!-- on passe au "header" du tableau -->
|
||||
<row>
|
||||
<entry>Nom</entry>
|
||||
<entry>Description</entry>
|
||||
<entry>Valeur par défaut</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody> <!-- et on remplit les lignes -->
|
||||
<row>
|
||||
<entry><parameter>scope</parameter></entry>
|
||||
<entry>
|
||||
<simpara>Définition de l'étendue de la recherche :</simpara>
|
||||
<itemizedlist>
|
||||
<listitem><simpara><literal>base</literal> - Sur une entrée seulement</simpara></listitem>
|
||||
<listitem><simpara><literal>one</literal> - Sur les entrées imédiatement contenu par le <parameter>basedn</parameter> de la recherche</simpara></listitem>
|
||||
<listitem><simpara><literal>sub</literal> - Sur l'arbre entier</simpara></listitem>
|
||||
</itemizedlist>
|
||||
</entry>
|
||||
<entry><literal>sub</literal></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><parameter>sizelimit</parameter></entry>
|
||||
<entry>Le nombre maximum d'entrées retournées par la recherche.</entry>
|
||||
<entry><literal>0</literal> (illimité)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><parameter>timelimit</parameter></entry>
|
||||
<entry>Le délai d'attente maximum de la réponse du serveur en secondes.</entry>
|
||||
<entry><literal>0</literal> (illimité)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><parameter>attrsonly</parameter></entry>
|
||||
<entry>Si <emphasis>vrai</emphasis>, seuls les noms des atttributs seront
|
||||
retournés.</entry>
|
||||
<entry><literal>false</literal></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><parameter>attributes</parameter></entry>
|
||||
<entry>Tableau contenant les noms des attributs que les entrées retournées
|
||||
peuvent contenir et que l'on souhaite récupérer.</entry>
|
||||
<entry><literal>array()</literal>(tous)</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<remark>Pour plus d'information sur le sujet, vous pouvez consulter la
|
||||
documentation officiel du projet &netldap;.</remark>
|
||||
</para>
|
||||
</sect2>
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<sect1 id='config-LSaddon'>
|
||||
<title>Configuration des LSaddons</title>
|
||||
<para>
|
||||
Cette partie décrit la manière de configurer les différents &LSaddons;
|
||||
actuellement supportés par &LdapSaisie;. Ces addons peuvent avoir un
|
||||
fichier de configuration et il sera alors stocké dans le dossier
|
||||
<literal>conf/LSaddons/</literal> et potera le nom
|
||||
<literal>config.LSaddons.[addon name].php</literal>.
|
||||
</para>
|
||||
|
||||
&conf-LSaddon_accesslog;
|
||||
&conf-LSaddon_asterisk;
|
||||
&conf-LSaddon_exportSearchResultAsCSV;
|
||||
&conf-LSaddon_impersonate;
|
||||
&conf-LSaddon_LSaccessRightsMatrixView;
|
||||
&conf-LSaddon_mail;
|
||||
&conf-LSaddon_maildir;
|
||||
&conf-LSaddon_mailquota;
|
||||
&conf-LSaddon_phpldapadmin;
|
||||
&conf-LSaddon_ppolicy;
|
||||
&conf-LSaddon_showSupportInfo;
|
||||
&conf-LSaddon_showTechInfo;
|
||||
|
||||
</sect1>
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY conf-LSaddon_accesslog SYSTEM "LSaddon_accesslog.docbook">
|
||||
<!ENTITY conf-LSaddon_asterisk SYSTEM "LSaddon_asterisk.docbook">
|
||||
<!ENTITY conf-LSaddon_exportSearchResultAsCSV SYSTEM "LSaddon_exportSearchResultAsCSV.docbook">
|
||||
<!ENTITY conf-LSaddon_impersonate SYSTEM "LSaddon_impersonate.docbook">
|
||||
<!ENTITY conf-LSaddon_LSaccessRightsMatrixView SYSTEM "LSaddon_LSaccessRightsMatrixView.docbook">
|
||||
<!ENTITY conf-LSaddon_mail SYSTEM "LSaddon_mail.docbook">
|
||||
<!ENTITY conf-LSaddon_maildir SYSTEM "LSaddon_maildir.docbook">
|
||||
<!ENTITY conf-LSaddon_mailquota SYSTEM "LSaddon_mailquota.docbook">
|
||||
<!ENTITY conf-LSaddon_phpldapadmin SYSTEM "LSaddon_phpldapadmin.docbook">
|
||||
<!ENTITY conf-LSaddon_ppolicy SYSTEM "LSaddon_ppolicy.docbook">
|
||||
<!ENTITY conf-LSaddon_showSupportInfo SYSTEM "LSaddon_showSupportInfo.docbook">
|
||||
<!ENTITY conf-LSaddon_showTechInfo SYSTEM "LSaddon_showTechInfo.docbook">
|
|
@ -1,11 +0,0 @@
|
|||
<sect2 id="config-LSaddon_LSaccessRightsMatrixView">
|
||||
<title>LSaddon_LSaccessRightsMatrixView</title>
|
||||
<para>Cet &LSaddon; offre une interface de visualisation des droits d'accès
|
||||
des différents &LSprofiles; configurés. Pour chaque type d'objet, la matrice
|
||||
des droits d'accès par attribut et par profil est affiché sous la forme d'un
|
||||
tableau.</para>
|
||||
|
||||
<para>Le fichier de configuration permet de définir au travers la variable
|
||||
<literal>$GLOBALS['LSaccessRightsMatrixView_allowed_LSprofiles']</literal>
|
||||
la liste des &LSprofiles; autorisés à accéder à cette interface.</para>
|
||||
</sect2>
|
|
@ -1,46 +0,0 @@
|
|||
<sect2 id="config-LSaddon_accesslog">
|
||||
<title>LSaddon_accesslog</title>
|
||||
<para>Cet &LSaddon; fournit la fonction <literal>showObjectAccessLogs()</literal> pouvant être utilisée comme &customActions; et permettant d'afficher les logs d'accès produits par <ulink url="https://www.openldap.org/doc/admin24/overlays.html#Access%20Logging">l'overlay OpenLDAP accesslog</ulink> sur un objet de l'annuaire.</para>
|
||||
|
||||
<para>La constante <literal>LS_ACCESSLOG_BASEDN</literal> du fichier de configuration de l'addon (<literal>conf/LSaddons/config.LSaddons.accesslog.php</literal>) permet d'indiquer le base DN de la base stockant les logs :</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Configuration accesslog</citetitle>
|
||||
<![CDATA[// Accesslog base DN
|
||||
define('LS_ACCESSLOG_BASEDN', 'cn=ldapsaisie-accesslog');]]>
|
||||
</programlisting>
|
||||
|
||||
<warning>
|
||||
<para>LdapSaisie se connectera à la base stockant les logs d'accès de l'annuaire avec les mêmes paramètres de connexion que pour la base principale (excepté le base DN). Pensez à ajuster les ACLs de la base stockant les logs d'accès pour autoriser l'utilisateur d'LdapSaisie à se connecter et lire les informations qu'elle contient.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'ACL à mettre en place</citetitle><![CDATA[to *
|
||||
by dn.exact=uid=ldapsaisie,ou=sysaccounts,o=ls read
|
||||
by * break
|
||||
]]>
|
||||
</programlisting>
|
||||
</warning>
|
||||
|
||||
<para>Ci-dessous, vous trouverez un exemple de configuration de la fonction <literal>showObjectAccessLogs()</literal> comme &customActions; :</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'showObjectAccessLogs' => array (
|
||||
'function' => 'showObjectAccessLogs',
|
||||
'label' => 'Show access logs',
|
||||
'hideLabel' => true,
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'icon' => 'clock',
|
||||
'rights' => array (
|
||||
'admin'
|
||||
),
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
|
||||
</sect2>
|
|
@ -1,7 +0,0 @@
|
|||
<sect2 id="config-LSaddon_asterisk">
|
||||
<title>LSaddon_asterisk</title>
|
||||
<para>Cet &LSaddon; est utilisé pour gérer les fonctionnalités spécifiques au serveur de téléphonie Asterisk.
|
||||
Cet &LSaddon; donne accès à une fonction permettant l'encodage d'un mot de passe au format spécifique attendu
|
||||
par Asterisk. Ce format est un hash MD5 d'une chaine de caractère composée du nom d'utilisateur, d'une chaine
|
||||
fixe spécifiée dans la configuration d'Asterisk et du mot de passe en clair.</para>
|
||||
</sect2>
|
|
@ -1,50 +0,0 @@
|
|||
<sect2 id="config-LSaddon_exportSearchResultAsCSV">
|
||||
<title>LSaddon_exportSearchResultAsCSV</title>
|
||||
<para>Cet &LSaddon; fournie une fonction du même nom pouvant être utilisée
|
||||
comme &customSearchActions; et permettant de télécharger le résultat d'une
|
||||
recherche au format CSV. L'export généré reprend exactement le contenu des
|
||||
colonnes du tableau du résultat de la recherche. Le DN de l'objet LDAP
|
||||
correspondant est également fournis dans une colonne.</para>
|
||||
|
||||
<para>Des paramètres de configuration sont disponibles dans le fichier de
|
||||
configuration <literal>config.LSaddons.exportSearchResultAsCSV.php</literal>.
|
||||
Ils permettent notamment de contrôller le format du fichier CSV généré.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure du fichier</citetitle>
|
||||
<![CDATA[// CSV file delimiter
|
||||
define('LS_EXPORTSEARCHRESULTASCSV_DELIMITER',',');
|
||||
|
||||
// CSV file enclosure
|
||||
define('LS_EXPORTSEARCHRESULTASCSV_ENCLOSURE','"');
|
||||
|
||||
// CSV file escape character (available since PHP 5.5.4)
|
||||
define('LS_EXPORTSEARCHRESULTASCSV_ESCAPE_CHAR','\\');]]>
|
||||
</programlisting>
|
||||
|
||||
<para>Ci-dessous, vous trouverez un exemple de configuration de la fonction
|
||||
<literal>exportSearchResultAsCSV()</literal> comme &customSearchActions; :</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople']['LSsearch'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'exportSearchResultAsCSV' => array (
|
||||
'label' => 'Export result as CSV',
|
||||
'icon' => 'export_csv',
|
||||
'function' => 'exportSearchResultAsCSV',
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'rights' => array (
|
||||
'admin'
|
||||
)
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
|
||||
<note><simpara>Le label et l'icône fournis dans cet exemple sont traduits
|
||||
et délivrés avec &LdapSaisie;.</simpara></note>
|
||||
|
||||
</sect2>
|
|
@ -1,30 +0,0 @@
|
|||
<sect2 id="config-LSaddon_impersonate">
|
||||
<title>LSaddon_impersonate</title>
|
||||
<para>Cet &LSaddon; fournie une fonction du même nom pouvant être utilisée
|
||||
comme &customActions; et permettant de se reconnecter en tant qu'un autre
|
||||
utilisateur de l'annuaire.</para>
|
||||
|
||||
<para>Ci-dessous, vous trouverez un exemple de configuration de la fonction
|
||||
<literal>impersonate()</literal> comme &customActions; :</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'impersonate' => array (
|
||||
'function' => 'impersonate',
|
||||
'label' => 'Reconnect as this user',
|
||||
'hideLabel' => True,
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'icon' => 'user_go',
|
||||
'rights' => array (
|
||||
'admin'
|
||||
),
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
|
||||
</sect2>
|
|
@ -1,5 +0,0 @@
|
|||
<sect2 id="config-LSaddon_maildir">
|
||||
<title>LSaddon_maildir</title>
|
||||
<para>Cet &LSaddon; est utilisé pour gérer la manipulation distante de maildir.
|
||||
FIXME</para>
|
||||
</sect2>
|
|
@ -1,60 +0,0 @@
|
|||
<sect2 id="config-LSaddon_mailquota">
|
||||
<title>LSaddon_mailquota</title>
|
||||
<para>Cet &LSaddon; fournie une fonction <literal>mailquota_get_usage</literal>
|
||||
pouvant être utilisée pour récupérer l'utilisation du quota d'une boîte mail
|
||||
IMAP. Pour cela, &LdapSaisie; se connecte au serveur IMAP en utilisant un
|
||||
compte maître.</para>
|
||||
<para>Cet &LSaddon; fournie une également une fonction
|
||||
<literal>mailquota_show_usage</literal> pouvant être utilisée comme
|
||||
&customActions; et permettant d'afficher l'utilisation du quota de la
|
||||
boîte mail correspondante via une message dynamique (<literal>LSinfo</literal>).
|
||||
</para>
|
||||
|
||||
<para>Des paramètres de configuration sont disponibles dans le fichier de
|
||||
configuration <literal>config.LSaddons.mailquota.php</literal>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure du fichier</citetitle>
|
||||
<![CDATA[// IMAP Mailbox connection string LSformat (composed with LSldapObject attributes)
|
||||
// See : https://php.net/imap_open (parameter $mailbox)
|
||||
define('MAILQUOTA_IMAP_MAILBOX','{localhost}');
|
||||
|
||||
// IMAP Master user
|
||||
define('MAILQUOTA_IMAP_MASTER_USER', 'ldapsaisie');
|
||||
|
||||
// IMAP Master user's password
|
||||
define('MAILQUOTA_IMAP_MASTER_USER_PWD', 'secret');
|
||||
|
||||
// IMAP Master user LSformat composed with :
|
||||
// * masteruser = master username (MAILQUOTA_IMAP_MASTER_USER)
|
||||
// * LSldapObject attributes
|
||||
define('MAILQUOTA_IMAP_MASTER_USER_FORMAT', '%{mail}*%{masteruser}');
|
||||
|
||||
// IMAP quota root mailbox
|
||||
define('MAILQUOTA_IMAP_QUOTA_ROOT_MAILBOX', 'INBOX');]]>
|
||||
</programlisting>
|
||||
|
||||
<para>Ci-dessous, vous trouverez un exemple de configuration de la fonction
|
||||
<literal>mailquota_show_usage()</literal> comme &customActions;</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'showmailquotausage' => array (
|
||||
'function' => 'mailquota_show_usage',
|
||||
'label' => 'Show mail quota usage',
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'icon' => 'mail',
|
||||
'rights' => array (
|
||||
'admin'
|
||||
)
|
||||
),
|
||||
[...]
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
|
||||
</sect2>
|
|
@ -1,44 +0,0 @@
|
|||
<sect2 id="config-LSaddon_phpldapadmin">
|
||||
<title>LSaddon_phpldapadmin</title>
|
||||
<para>Cet &LSaddon; est utilisé pour permettre un lien facile entre le logiciel
|
||||
&PhpLdapAdmin; et LdapSaisie. Il sera possible ainsi à partir d'un objet dans
|
||||
LdapSaisie de voir ce même objet dans &PhpLdapAdmin;.</para>
|
||||
|
||||
<para>Il est necessaire de configurer l'URL de votre installation de &PhpLdapAdmin; dans
|
||||
le fichier de configuration <literal>config.LSaddons.phpldapadmin.php</literal>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure du fichier</citetitle>
|
||||
<![CDATA[// PhpLdapAdmin View Object URL format
|
||||
define('LS_PHPLDAPADMIN_VIEW_OBJECT_URL_FORMAT','//'.$_SERVER['SERVER_NAME'].'/phpldapadmin/cmd.php?cmd=template_engine&server_id=0&dn=%{dn}');]]>
|
||||
</programlisting>
|
||||
|
||||
<para>Cet &LSaddon; offre la possibilité d'utilisé la fonction &php;
|
||||
<function>redirectToPhpLdapAdmin()</function> comme &customActions;.
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>bool <function>redirectToPhpLdapAdmin</function></funcdef>
|
||||
<paramdef>LSldapObject <parameter>$ldapObject</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'redirectPhpLdapAdmin' => array (
|
||||
'function' => 'redirectToPhpLdapAdmin',
|
||||
'label' => 'See in PhpLdapAdmin',
|
||||
'hideLabel' => True,
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'icon' => 'phpldapadmin',
|
||||
'rights' => array (
|
||||
'admin'
|
||||
)
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
</sect2>
|
|
@ -1,176 +0,0 @@
|
|||
<sect2 id="config-LSaddon_ppolicy">
|
||||
<title>LSaddon_ppolicy</title>
|
||||
<para>Cet &LSaddon; fourni :
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para>une fonction <literal>ppolicy_extraDisplayColumn_password_expiration</literal>
|
||||
pouvant être utilisée pour la génération d'une <emphasis>extraDisplayedColumn</emphasis>
|
||||
affichant l'état d'expiration du mot de passe des objets d'une recherche.
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle>
|
||||
<![CDATA[$GLOBALS['LSobjects']['LSpeople']['LSsearch'] = array (
|
||||
[...]
|
||||
'extraDisplayedColumns' => array (
|
||||
[...]
|
||||
'password_expiration' => array (
|
||||
'label' => 'Password expiration',
|
||||
'generateFunction' => 'ppolicy_extraDisplayColumn_password_expiration',
|
||||
'additionalAttrs' => array('pwdChangedTime', 'pwdPolicySubentry'),
|
||||
'escape' => false,
|
||||
'cssStyle' => 'width: 14em; text-align: center;'
|
||||
),
|
||||
[...]
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
</para></listitem>
|
||||
|
||||
|
||||
<listitem><para>une fonction <literal>ppolicy_export_search_info</literal>
|
||||
pouvant être utilisée comme <link linkend="config-LSobject-customSearchActions">actions
|
||||
personnalisées sur les recherches d'&LSobjects;</link> pour exporter au format CSV les
|
||||
informations des politiques de mots de passe des objets retournés par la recherche.
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle>
|
||||
<![CDATA[$GLOBALS['LSobjects']['LSpeople']['LSsearch'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'exportPpolicyInfo' => array (
|
||||
'label' => 'Export password policy info',
|
||||
'icon' => 'export_csv',
|
||||
'function' => 'ppolicy_export_search_info',
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'rights' => array (
|
||||
'admin',
|
||||
),
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
</para></listitem>
|
||||
|
||||
|
||||
<listitem><para>la méthode d'API <literal>exportPpolicyInfo</literal> permettant d'exporter
|
||||
les informations des politiques de mots de passe de tous les objets d'un type donné. Cette méthode
|
||||
est accessible via l'URL au format suivant :
|
||||
<literal>/api/1.0/exportPpolicyInfo/[object type]</literal></para></listitem>
|
||||
|
||||
|
||||
<listitem><para>la commande CLI <literal>export_ppolicy_info</literal> permettant d'exporter
|
||||
les informations des politiques de mots de passe de tous les objets d'un type donné.
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Utilisation</citetitle>
|
||||
ldapsaisie export_ppolicy_info [object type] [-o|--output filepath] [-j|--json [-p|--pretty]]
|
||||
</programlisting>
|
||||
</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</para>
|
||||
|
||||
<para>Des paramètres de configuration sont disponibles dans le fichier de
|
||||
configuration <literal>config.LSaddons.ppolicy.php</literal>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure du fichier</citetitle>
|
||||
<![CDATA[// Default password policy object DN (set to null if no default policy is configured)
|
||||
define('LS_PPOLICY_DEFAULT_DN', null);
|
||||
|
||||
// Ppolicy password warning expiration threshold (in seconds)
|
||||
define('LS_PPOLICY_WARNING_EXPIRATION_THRESHOLD', 7 * 86400);
|
||||
|
||||
// Ppolicy password critical expiration threshold (in seconds)
|
||||
define('LS_PPOLICY_CRITICAL_EXPIRATION_THRESHOLD', 2 * 86400);
|
||||
|
||||
// CSV file delimiter
|
||||
define('LS_PPOLICY_CSV_DELIMITER',';');
|
||||
|
||||
// CSV file enclosure
|
||||
define('LS_PPOLICY_CSV_ENCLOSURE','"');
|
||||
|
||||
// CSV file escape character (available since PHP 5.5.4)
|
||||
define('LS_PPOLICY_CSV_ESCAPE_CHAR','\\');
|
||||
|
||||
// List of LSprofiles who are granted to use the exportPpolicyInfo API method
|
||||
$GLOBALS['LS_PPOLICY_API_GRANTED_PROFILES'] = array('admin');
|
||||
|
||||
// List of extra attributes to include in Ppolicy info export
|
||||
$GLOBALS['LS_PPOLICY_INFO_EXPORT_EXTRA_ATTRS'] = array();]]>
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>LS_PPOLICY_DEFAULT_DN</term>
|
||||
<listitem>
|
||||
<simpara>Constante définissant le DN de la politique par défaut. Si aucune politique par défaut
|
||||
n'est définie, ce paramètre doit valoir <literal>null</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>LS_PPOLICY_WARNING_EXPIRATION_THRESHOLD</term>
|
||||
<listitem>
|
||||
<simpara>Constante définissant le seuil d'alerte pour l'expiration des mots de passe (en
|
||||
seconde). Par défaut : 7 jours.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>LS_PPOLICY_CRITICAL_EXPIRATION_THRESHOLD</term>
|
||||
<listitem>
|
||||
<simpara>Constante définissant le seuil critique pour l'expiration des mots de passe (en
|
||||
seconde). Par défaut : 2 jours.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>LS_PPOLICY_CSV_DELIMITER</term>
|
||||
<listitem>
|
||||
<simpara>Constante définissant le caractère utilisé lors de la génération de l'export CSV
|
||||
comme séparateur de champ. Par défaut : un point-virgule.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>LS_PPOLICY_CSV_ENCLOSURE</term>
|
||||
<listitem>
|
||||
<simpara>Constante définissant le caractère utilisé lors de la génération de l'export CSV
|
||||
pour l'encadrement des champs. Par défaut : un guillemet double.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>LS_PPOLICY_CSV_ESCAPE_CHAR</term>
|
||||
<listitem>
|
||||
<simpara>Constante définissant le caractère utilisé lors de la génération de l'export CSV
|
||||
pour l'échappement des champs. Par défaut : une barre oblique inverse.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>$GLOBALS['LS_PPOLICY_API_GRANTED_PROFILES']</term>
|
||||
<listitem>
|
||||
<simpara>Tableau global listant les &LSprofiles; autorisés à utiliser la méthode d'API
|
||||
<literal>exportPpolicyInfo</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>$GLOBALS['LS_PPOLICY_INFO_EXPORT_EXTRA_ATTRS']</term>
|
||||
<listitem>
|
||||
<simpara>Tableau global listant les attributs supplémentaires à inclure lors de l'export des
|
||||
informations de politique de mots de passe.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
|
@ -1,44 +0,0 @@
|
|||
<sect2 id="config-LSaddon_showSupportInfo">
|
||||
<title>LSaddon_showSupportInfo</title>
|
||||
<para>Cet &LSaddon; fourni une page affichant les informations utiles pour
|
||||
l'équipe assurant le support de l'application. Cette page est accessible à
|
||||
l'adresse <literal>addon/showSupportInfo/showMySupportInfo</literal>. Elle
|
||||
compile (et permet de télécharger) l'ensemble des informations utiles à
|
||||
l'appréciation du contexte d'accès à l'application par l'utilisateur.</para>
|
||||
|
||||
<para>Cette page est accessible par tous les utilisateurs connectés à
|
||||
l'application. Cependant, par défaut, il n'y a aucun lien d'accès à celle-ci.
|
||||
Il est possible d'ajouter un lien d'accès dans le menu et modifiant la valeur
|
||||
de la constante <literal>SHOW_SUPPORT_INFO_IN_MENU</literal> à
|
||||
<literal>True</literal>.</para>
|
||||
|
||||
<para>Une fonction <literal>showMySupportInfo()</literal> est également
|
||||
fournie et peut-être utilisée comme &customActions;. Elle redirigera alors
|
||||
l'utilisateur vers cette page. Ci-dessous, vous trouverez un exemple de
|
||||
configuration de la fonction <literal>showMySupportInfo()</literal> comme
|
||||
&customActions; :</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'showMySupportInfo' => array (
|
||||
'function' => 'showMySupportInfo',
|
||||
'label' => 'Show my support information',
|
||||
'hideLabel' => True,
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'icon' => 'terminal',
|
||||
'rights' => array (
|
||||
'self'
|
||||
),
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
|
||||
<note><simpara>Le label et l'icône fournis dans cet exemple sont traduits et
|
||||
délivrés avec &LdapSaisie;.</simpara></note>
|
||||
|
||||
</sect2>
|
|
@ -1,33 +0,0 @@
|
|||
<sect2 id="config-LSaddon_showTechInfo">
|
||||
<title>LSaddon_showTechInfo</title>
|
||||
<para>Cet &LSaddon; fournie une fonction du même nom pouvant être utilisée
|
||||
comme &customActions; et permettant d'afficher les informations techniques
|
||||
d'un objet de l'annuaire.</para>
|
||||
|
||||
<para>Ci-dessous, vous trouverez un exemple de configuration de la fonction
|
||||
<literal>showTechInfo()</literal> comme &customActions; :</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||
[...]
|
||||
'customActions' => array (
|
||||
'showTechInfo' => array (
|
||||
'function' => 'showTechInfo',
|
||||
'label' => 'Show technical information',
|
||||
'hideLabel' => True,
|
||||
'noConfirmation' => true,
|
||||
'disableOnSuccessMsg' => true,
|
||||
'icon' => 'tech_info',
|
||||
'rights' => array (
|
||||
'admin'
|
||||
),
|
||||
),
|
||||
),
|
||||
[...]
|
||||
);]]>
|
||||
</programlisting>
|
||||
|
||||
<note><simpara>Le label et l'icône fournis dans cet exemple sont traduits et
|
||||
délivrés avec &LdapSaisie;.</simpara></note>
|
||||
|
||||
</sect2>
|
|
@ -1,294 +0,0 @@
|
|||
<sect2 id="config-LSattribute">
|
||||
<title>Configuration des attributs</title>
|
||||
<para>Cette section décrit les options de configuration des attributs des
|
||||
&LSobjects;. Les attributs sont définis dans le tableau associatif
|
||||
<varname>attrs</varname> de la configuration des &LSobjects;. Dans ce tableau,
|
||||
les clé les noms des attributs et les valeurs liés sont la configuration des
|
||||
attributs.</para>
|
||||
|
||||
<warning><simpara>Contrairement à ce qui existe dans le standard LDAP, les
|
||||
noms des attributs sont sensibles à la casse. Il faut que le nom des attributs
|
||||
dans &LdapSaisie; soient scrupuleusement les mêmes que ceux retourné par
|
||||
&netldap;</simpara></warning>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['attrs' => array (
|
||||
/* ----------- start -----------*/
|
||||
'attr1' => array (
|
||||
'label' => '[label de l'attr1',
|
||||
'displayAttrName' => '[booleen]',
|
||||
'help_info' => '[Message d'aide sur l'attribut attr1]',
|
||||
'help_info_in_view' => '[booleen]',
|
||||
'ldap_type' => 'ldaptype1',
|
||||
'ldap_options' => array(
|
||||
// Options LDAP liées au type LDAP de l'attribut
|
||||
),
|
||||
'html_type' => 'htmltype1',
|
||||
'html_options' => array(
|
||||
// Options HTML liées au type HTML de l'attribut
|
||||
),
|
||||
'no_value_label' => '[No set value label]',
|
||||
'multiple' => 0,
|
||||
'required' => 1,
|
||||
'generate_function' => 'fonction1',
|
||||
'generate_value_format' => '[LSformat]',
|
||||
'default_value' => 'valeur1',
|
||||
'check_data' => array (
|
||||
// Régle de vérification syntaxique des données saisies
|
||||
),
|
||||
'validation' => array (
|
||||
// Règle de vérification d'intégrité des données saisies
|
||||
),
|
||||
'rights' => array(
|
||||
'LSprofile1' => 'droit1',
|
||||
'LSprofile2' => 'droit2',
|
||||
...
|
||||
),
|
||||
'view' => 1,
|
||||
'form' => array (
|
||||
'create' => 1,
|
||||
'modify' => 0,
|
||||
...
|
||||
),
|
||||
'dependAttrs' => array(
|
||||
// Attributs en dépendance
|
||||
),
|
||||
'onDisplay' => 'fonction2'
|
||||
|
||||
'before_modify' => 'function1',
|
||||
'after_modify' => 'function2'
|
||||
),
|
||||
/* ----------- end -----------*/
|
||||
...
|
||||
);]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<!-- Début Paramètres Configuration -->
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>label</term>
|
||||
<listitem>
|
||||
<simpara>Le label de l'attribut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>displayAttrName</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le nom de l'attribut doit être affiché en
|
||||
préfixe du message d'aide (paramètre <parameter>help_info</parameter>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>help_info</term>
|
||||
<listitem>
|
||||
<simpara>Message d'aide qui sera affiché dans une bulle d'aide à côté du
|
||||
nom de l'attribut dans les formulaires.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>help_info_in_view</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le message d'aide doit être affiché sur la vue
|
||||
de visualisation de l'objet.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<simpara>Valeur par défaut : <emphasis>0</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ldap_type</term>
|
||||
<listitem>
|
||||
<simpara>Le type LDAP de l'attribut (facultatif, par défaut: &LSattr_ldap_ascii;).
|
||||
<link linkend='config-LSattr_ldap'>Voir la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ldap_options</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les paramètres de configuration du
|
||||
type LDAP de l'attribut.
|
||||
<link linkend='config-LSattr_ldap'>Voir la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>html_type</term>
|
||||
<listitem>
|
||||
<simpara>Le type HTML de l'attribut (facultatif, par défaut: &LSattr_html_text;).
|
||||
<link linkend='config-LSattr_html'>Voir la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>html_options</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les paramètres de configuration du
|
||||
type HTML de l'attribut.
|
||||
<link linkend='config-LSattr_html'>Voir la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>no_value_label</term>
|
||||
<listitem>
|
||||
<simpara>Label affiché lorsque l'attribut n'a pas de valeur (facultatif).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>multiple</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si cet attribut peut stocker plusieurs valeurs.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<simpara>Valeur par défaut : <emphasis>0</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si cet attribut doit obligatoirement être
|
||||
défini.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<simpara>Valeur par défaut : <emphasis>0</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>generate_function</term>
|
||||
<listitem>
|
||||
<simpara>Nom de la fonction permettant de générer la valeur de l'attribut.
|
||||
Cette fonction sera éxecutée, en passant en premier paramètre, l'objet
|
||||
&LSobject; courant.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>generate_value_format</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; permettant la génération de l'attribut.</simpara>
|
||||
<note><simpara>Cette méthode de génération est utilisée uniquement si aucune fonction de génération
|
||||
de la valeur n'est définie (paramètre <parameter>generate_function</parameter>).</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>default_value</term>
|
||||
<listitem>
|
||||
<simpara>Valeur par défaut de l'attribut.</simpara>
|
||||
<warning><simpara>Il doit s'agir de la valeur telque retournée par le formulaire web.
|
||||
Ainsi, par exemple dans le cas d'un attribut booléen, les valeurs possibles sont <literal>yes</literal> ou
|
||||
<literal>no</literal>.</simpara></warning>
|
||||
<note><simpara>Cette valeur est également utilisée dans le cadre de la génération automatique
|
||||
de la valeur de l'attribut si aucune autre méthode n'est disponible (via une fonction ou un &LSformat;).</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>check_data</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les règles de vérification syntaxique
|
||||
des données de l'attribut.<link linkend='config-LSattribute-check-data'>Voir
|
||||
la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>validation</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les règles de vérification d'intégrité
|
||||
des données de l'attribut.<link linkend='config-LSattribute-validation'>Voir
|
||||
la section concernée.</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>rights</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif dont les clés sont les noms des &LSprofiles; ayant
|
||||
des droits sur cet attribut et les valeurs associées sont les droits
|
||||
correspondants. La valeur des droits d'un &LSprofile; peut être
|
||||
<literal>r</literal> pour le droit de lecture ou <literal>w</literal> pour
|
||||
le droit de lecture-écriture. Par défaut, un &LSprofile; n'a aucun droit.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>view</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'attribut est, ou non, affiché lors de la
|
||||
visualisation des objets du type courant.</simpara>
|
||||
<simpara>Valeurs possibles : <emphasis>0</emphasis> ou <emphasis>1</emphasis></simpara>
|
||||
<simpara>Valeur par défaut : <emphasis>0</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>form</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif dont les clés sont les noms des &LSforms; et les
|
||||
valeurs associées la définition de l'affichage dans ce &LSform;. Si cette
|
||||
valeur vaut <emphasis>0</emphasis>, alors l'attribut sera lecture-seule et si
|
||||
cette valeur vaut <emphasis>1</emphasis>, cet attribut sera affiché en
|
||||
lecture-écriture.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>dependAttrs</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif listant les attributs dépendants de celui-ci.
|
||||
Les attributs listés ici seront regénérés lors de chaque modification
|
||||
de l'attribut courant. Cette génération sera effectuée avec la fonction
|
||||
définie dans le paramètre <varname>generate_function</varname> de
|
||||
l'attribut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>onDisplay</term>
|
||||
<listitem>
|
||||
<simpara>Nom ou liste de nom des fonctions retournant les valeurs d'affichages
|
||||
de l'attribut. Si c'est une liste, chacune des fonctions seront executée les
|
||||
unes après les autres. Ces fonctions seront éxecutées, en passant en premier
|
||||
paramètre, le tableau des valeurs de l'objet.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>before_modify</term>
|
||||
<listitem>
|
||||
<simpara>Chaîne de caractères (ou tableau de chaine de caractères) correspondant
|
||||
au nom d'une ou plusieurs fonctions qui seront exécutées avant toutes modifications de
|
||||
la valeur de l'attribut.<link linkend="config-LSattribute-triggers">Voir la
|
||||
section concernée</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>after_modify</term>
|
||||
<listitem>
|
||||
<simpara>Chaîne de caractères (ou tableau de chaine de caractères) correspondant
|
||||
au nom d'une ou plusieurs fonctions qui seront exécutées après toutes modifications de
|
||||
la valeur de l'attribut.<link linkend="config-LSattribute-triggers">Voir la
|
||||
section concernée</link></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
&conf-LSattribute-LSattr_ldap;
|
||||
&conf-LSattribute-LSattr_html;
|
||||
|
||||
&conf-LSattribute-check-data;
|
||||
&conf-LSattribute-validation;
|
||||
&conf-LSattribute-triggers;
|
||||
|
||||
</sect2>
|
|
@ -1,31 +0,0 @@
|
|||
<sect3 id="config-LSattr_html">
|
||||
<title>Configuration des attributs HTML</title>
|
||||
<para>Cette section décrit les options propres à chacun des types d'attributs HTML
|
||||
supportés par &LdapSaisie;.</para>
|
||||
|
||||
&conf-LSattr_html_boolean;
|
||||
&conf-LSattr_html_date;
|
||||
&conf-LSattr_html_image;
|
||||
&conf-LSattr_html_jsonCompositeAttribute;
|
||||
&conf-LSattr_html_labeledValue;
|
||||
&conf-LSattr_html_mail;
|
||||
&conf-LSattr_html_maildir;
|
||||
&conf-LSattr_html_mailQuota;
|
||||
&conf-LSattr_html_password;
|
||||
&conf-LSattr_html_postaladdress;
|
||||
&conf-LSattr_html_pre;
|
||||
&conf-LSattr_html_rss;
|
||||
&conf-LSattr_html_sambaAcctFlags;
|
||||
&conf-LSattr_html_select_box;
|
||||
&conf-LSattr_html_select_list;
|
||||
&conf-LSattr_html_select_object;
|
||||
&conf-LSattr_html_ssh_key;
|
||||
&conf-LSattr_html_tel;
|
||||
&conf-LSattr_html_text;
|
||||
&conf-LSattr_html_textarea;
|
||||
&conf-LSattr_html_url;
|
||||
&conf-LSattr_html_valueWithUnit;
|
||||
&conf-LSattr_html_wywiwyg;
|
||||
&conf-LSattr_html_xmpp;
|
||||
|
||||
</sect3>
|
|
@ -1,32 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY conf-LSattr_html_boolean SYSTEM "LSattr_html_boolean.docbook">
|
||||
<!ENTITY conf-LSattr_html_date SYSTEM "LSattr_html_date.docbook">
|
||||
<!ENTITY conf-LSattr_html_image SYSTEM "LSattr_html_image.docbook">
|
||||
<!ENTITY conf-LSattr_html_jsonCompositeAttribute SYSTEM "LSattr_html_jsonCompositeAttribute.docbook">
|
||||
<!ENTITY conf-LSattr_html_labeledValue SYSTEM "LSattr_html_labeledValue.docbook">
|
||||
<!ENTITY conf-LSattr_html_mail SYSTEM "LSattr_html_mail.docbook">
|
||||
<!ENTITY conf-LSattr_html_maildir SYSTEM "LSattr_html_maildir.docbook">
|
||||
<!ENTITY conf-LSattr_html_mailQuota SYSTEM "LSattr_html_mailQuota.docbook">
|
||||
<!ENTITY conf-LSattr_html_password SYSTEM "LSattr_html_password.docbook">
|
||||
<!ENTITY conf-LSattr_html_postaladdress SYSTEM "LSattr_html_postaladdress.docbook">
|
||||
<!ENTITY conf-LSattr_html_pre SYSTEM "LSattr_html_pre.docbook">
|
||||
<!ENTITY conf-LSattr_html_rss SYSTEM "LSattr_html_rss.docbook">
|
||||
<!ENTITY conf-LSattr_html_sambaAcctFlags SYSTEM "LSattr_html_sambaAcctFlags.docbook">
|
||||
<!ENTITY conf-LSattr_html_select_box SYSTEM "LSattr_html_select_box.docbook">
|
||||
<!ENTITY conf-LSattr_html_select_list SYSTEM "LSattr_html_select_list.docbook">
|
||||
<!ENTITY conf-LSattr_html_select_object SYSTEM "LSattr_html_select_object.docbook">
|
||||
<!ENTITY conf-LSattr_html_ssh_key SYSTEM "LSattr_html_ssh_key.docbook">
|
||||
<!ENTITY conf-LSattr_html_tel SYSTEM "LSattr_html_tel.docbook">
|
||||
<!ENTITY conf-LSattr_html_text SYSTEM "LSattr_html_text.docbook">
|
||||
<!ENTITY conf-LSattr_html_textarea SYSTEM "LSattr_html_textarea.docbook">
|
||||
<!ENTITY conf-LSattr_html_url SYSTEM "LSattr_html_url.docbook">
|
||||
<!ENTITY conf-LSattr_html_valueWithUnit SYSTEM "LSattr_html_valueWithUnit.docbook">
|
||||
<!ENTITY conf-LSattr_html_wywiwyg SYSTEM "LSattr_html_wywiwyg.docbook">
|
||||
<!ENTITY conf-LSattr_html_xmpp SYSTEM "LSattr_html_xmpp.docbook">
|
||||
|
||||
<!ENTITY LSattr_html_date "<link linkend='config-LSattr_html_jsonCompositeAttribute'>LSattr_html_date</link>">
|
||||
<!ENTITY LSattr_html_jsonCompositeAttribute "<link linkend='config-LSattr_html_jsonCompositeAttribute'>LSattr_html_jsonCompositeAttribute</link>">
|
||||
<!ENTITY LSattr_html_sambaAcctFlags "<link linkend='config-LSattr_html_sambaAcctFlags'>LSattr_html_sambaAcctFlags</link>">
|
||||
<!ENTITY LSattr_html_select_list "<link linkend='config-LSattr_html_select_list'>LSattr_html_select_list</link>">
|
||||
<!ENTITY LSattr_html_text "<link linkend='config-LSattr_html_text'>LSattr_html_text</link>">
|
||||
<!ENTITY LSattr_html_textarea "<link linkend='config-LSattr_html_textarea'>LSattr_html_textarea</link>">
|
|
@ -1,53 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_boolean">
|
||||
<title>LSattr_html_boolean</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un booléen.</para>
|
||||
|
||||
|
||||
<para>La valeur retournée est l'une des chaînes de caractères suivantes :
|
||||
<itemizedlist>
|
||||
<listitem><simpara><literal>yes</literal> pour <emphasis>Vrai</emphasis></simpara></listitem>
|
||||
<listitem><simpara><literal>no</literal> pour <emphasis>Faux</emphasis></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'true_label' => '[label]',
|
||||
'false_label' => '[label]',
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>true_label</term>
|
||||
<listitem>
|
||||
<simpara>Label affiché pour désigner la valeur <literal>Vrai</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>false_label</term>
|
||||
<listitem>
|
||||
<simpara>Label affiché pour désigner la valeur <literal>Faux</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<note><simpara>Pour le moment, les attributs à valeurs multiples ne sont pas gérés.
|
||||
</simpara></note>
|
||||
|
||||
<note><simpara>Pour maîtriser les valeurs stockées dans l'annuaire, il faut
|
||||
coupler ce type d'attribut HTML avec le type d'attribut LDAP
|
||||
<link linkend='config-LSattr_ldap_boolean'>boolean</link></simpara></note>
|
||||
|
||||
<important><simpara>La définition de la valeur par défaut d'un attribut utilisant
|
||||
ce type HTML (paramètre <literal>default_value</literal>), doit se faire à l'aide
|
||||
des valeurs <literal>yes</literal> ou <literal>no</literal>.</simpara></important>
|
||||
|
||||
</sect4>
|
|
@ -1,235 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_date">
|
||||
<title>LSattr_html_date</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une date. L'outil de sélection de date <application>
|
||||
<ulink url='http://mootools.net/forge/p/mootools_datepicker'>
|
||||
MooTools-DatePicker</ulink></application> est utilisé pour la sélection
|
||||
graphique de la date et de l'heure.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'format' => '[Format d'affichage de la date]',
|
||||
'time' => '[Booleen pour le choix ou non de l heure]',
|
||||
'manual' => '[Booleen pour l edition manuelle ou non]',
|
||||
'showNowButton' => '[Booleen]',
|
||||
'showTodayButton' => '[Booleen]',
|
||||
'style' => '[Nom du style utilise]',
|
||||
'special_values' => array (
|
||||
'[value]' => '[label]',
|
||||
[...]
|
||||
),
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>format</term>
|
||||
<listitem>
|
||||
<para>Format d'affichage de la date dans le champ de saisie. Ce format
|
||||
est composé à partir des motifs clés suivants :
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Mot clé</entry>
|
||||
<entry>Valeur de substitution</entry>
|
||||
<entry>Exemple de valeur</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>%a</literal></entry>
|
||||
<entry><simpara>Nom abrégé du jour de la semaine</simpara></entry>
|
||||
<entry><simpara>De Sun à Sat</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%A</literal></entry>
|
||||
<entry><simpara>Nom complet du jour de la semaine</simpara></entry>
|
||||
<entry><simpara>De Sunday à Saturday</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%b</literal></entry>
|
||||
<entry><simpara>Nom du mois, abrégé, suivant la locale</simpara></entry>
|
||||
<entry><simpara>De Jan à Dec</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%B</literal></entry>
|
||||
<entry><simpara>Nom complet du mois, suivant la locale</simpara></entry>
|
||||
<entry><simpara>De January à December</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%c</literal></entry>
|
||||
<entry><simpara>Date et heure préférées, basées sur la locale</simpara></entry>
|
||||
<entry><simpara>Exemple : Tue Feb 5 00:45:10 2009 pour le 5 Février 2009 à 12:45:10 AM</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%d</literal></entry>
|
||||
<entry><simpara>Jour du mois en numérique, sur 2 chiffres (avec le zéro initial)</simpara></entry>
|
||||
<entry><simpara>De 01 à 31</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%e</literal></entry>
|
||||
<entry><simpara>Jour du mois, avec un espace précédant le premier chiffre. L'implémentation Windows est différente, voyez après pour plus d'informations.</simpara></entry>
|
||||
<entry><simpara>De 1 à 31</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%H</literal></entry>
|
||||
<entry><simpara>L'heure, sur 2 chiffres, au format 24 heures</simpara></entry>
|
||||
<entry><simpara>De 00 à 23</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%I</literal></entry>
|
||||
<entry><simpara>Heure, sur 2 chiffres, au format 12 heures</simpara></entry>
|
||||
<entry><simpara>De 01 à 12</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%j</literal></entry>
|
||||
<entry><simpara>Jour de l'année, sur 3 chiffres avec un zéro initial</simpara></entry>
|
||||
<entry><simpara>001 à 366</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%m</literal></entry>
|
||||
<entry><simpara>Mois, sur 2 chiffres</simpara></entry>
|
||||
<entry><simpara>De 01 (pour Janvier) à 12 (pour Décembre)</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%M</literal></entry>
|
||||
<entry><simpara>Minute, sur 2 chiffres</simpara></entry>
|
||||
<entry><simpara>De 00 à 59</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%p</literal></entry>
|
||||
<entry><simpara>'AM' ou 'PM', en majuscule, basé sur l'heure fournie</simpara></entry>
|
||||
<entry><simpara>Exemple : AM pour 00:31, PM pour 22:23</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%s</literal></entry>
|
||||
<entry><simpara>Timestamp de l'époque Unix (identique à la fonction time())</simpara></entry>
|
||||
<entry><simpara>Exemple : 305815200 pour le 10 Septembre 1979 08:40:00 AM</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%S</literal></entry>
|
||||
<entry><simpara>Seconde, sur 2 chiffres</simpara></entry>
|
||||
<entry><simpara>De 00 à 59</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%T</literal></entry>
|
||||
<entry><simpara>Identique à "%H:%M:%S" Exemple : 21:34:17 pour 09:34:17 PM</simpara></entry>
|
||||
<entry><simpara></simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%U</literal></entry>
|
||||
<entry><simpara>Numéro de la semaine de l'année donnée, en commençant par le premier Lundi comme première semaine</simpara></entry>
|
||||
<entry><simpara>13 (pour la 13ème semaine pleine de l'année)</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%w</literal></entry>
|
||||
<entry><simpara>Représentation numérique du jour de la semaine</simpara></entry>
|
||||
<entry><simpara>De 0 (pour Dimanche) à 6 (pour Samedi)</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%y</literal></entry>
|
||||
<entry><simpara>L'année, sur 2 chiffres</simpara></entry>
|
||||
<entry><simpara>Exemple : 09 pour 2009, 79 pour 1979</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%Y</literal></entry>
|
||||
<entry><simpara>L'année, sur 4 chiffres</simpara></entry>
|
||||
<entry><simpara>Exemple : 2038</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%z</literal></entry>
|
||||
<entry><simpara> Soit le décalage horaire depuis UTC, ou son abréviation (suivant le système d'exploitation)</simpara></entry>
|
||||
<entry><simpara> Exemple : -0500 ou EST pour l'heure de l'Est</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%Z</literal></entry>
|
||||
<entry><simpara> Le décalage horaire ou son abréviation NON fournie par %z (suivant le système d'exploitation)</simpara></entry>
|
||||
<entry><simpara> Exemple : -0500 ou EST pour l'heure de l'Est</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%%</literal></entry>
|
||||
<entry><simpara>Le caractère de pourcentage ("%")</simpara></entry>
|
||||
<entry><simpara>---</simpara></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
<note><simpara>La valeur par défaut est <emphasis>%d/%m/%Y, %T</emphasis>.
|
||||
Exemple : <emphasis>23/04/2009, 23:03:04</emphasis></simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>time</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'outil de sélection permetra ou non le choix
|
||||
de l'heure en plus de la date</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>manual</term>
|
||||
<listitem>
|
||||
<simpara>Booléen autorisant ou non l'édition manuelle du champs. Si ce paramètre
|
||||
vaut <literal>False</literal>, la sélection se fera uniquement à l'aide de l'outil
|
||||
graphique</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>showNowButton</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le bouton <emphasis>Maintenant</emphasis> est
|
||||
affiché ou non. Par défaut, il est affiché.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>showTodayButton</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le bouton <emphasis>Aujourd'hui</emphasis> est
|
||||
affiché ou non. Par défaut, il est affiché.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>style</term>
|
||||
<listitem>
|
||||
<para>Nom du style d'affichage de l'outil de sélection. Les valeurs possibles
|
||||
sont par défaut :
|
||||
<itemizedlist>
|
||||
<listitem><simpara>default</simpara></listitem>
|
||||
<listitem><simpara>dashboard</simpara></listitem>
|
||||
<listitem><simpara>vista</simpara></listitem>
|
||||
<listitem><simpara>jqui</simpara></listitem>
|
||||
</itemizedlist>
|
||||
<note><simpara>La création de nouveau thème est possible. Pour plus d'information,
|
||||
consulter <ulink url='http://mootools.net/forge/p/mootools_datepicker'>l'aide de
|
||||
l'outil de sélection de date</ulink>.</simpara></note>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>special_values</term>
|
||||
<listitem>
|
||||
<para>Tableau listant les valeurs spéciales que peut prendre l'attribut. Dans ce tableau
|
||||
associatif, la clé doit correspondre à la valeur de l'attribut (telle que fournie par
|
||||
<link linkend='config-LSattr_ldap_date'>l'attribut LDAP</link>) et la valeur associée au
|
||||
label associé.</para>
|
||||
<para>Ces valeurs spéciales seront proposées à l'utilisateur sous la forme de cases à cocher
|
||||
dans le formulaire. Elles peuvent permettre par exemple de données une signification
|
||||
particulière au zéro pour un attribut LDAP stockant un <emphasis>timestamp</emphasis>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_image">
|
||||
<title>LSattr_html_image</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une image. Pour le moment, les attributs à valeurs multiples ne sont pas gérés.
|
||||
</para>
|
||||
</sect4>
|
|
@ -1,131 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_jsonCompositeAttribute">
|
||||
<title>LSattr_html_jsonCompositeAttribute</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont les valeurs sont
|
||||
des dictionnaires de valeurs encodées aux formats <emphasis>JSON</emphasis>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple de valeur gérée</citetitle>
|
||||
<![CDATA[{"component1": "value1", "component2": "value2", "component3": "value3"}]]>
|
||||
</programlisting>
|
||||
|
||||
<para>Le principe est que ces dictionnaires contienent plusieurs composants référencés
|
||||
par leur clé et stockant une valeur dont le type peut être un texte libre ou
|
||||
bien être issue d'une liste déroulante configurable selon le même principe que
|
||||
le type d'attribut &LSattr_html_select_list;.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'components' => array (
|
||||
'[clé composant 1]' => array (
|
||||
'label' => '[Label du composant]',
|
||||
'help_info' => '[Message d'aide sur le composant]',
|
||||
'type' => '[Type de la valeur stocké]',
|
||||
'required' => [Booléen],
|
||||
'multiple' => [Booléen],
|
||||
'check_data' => => array (
|
||||
// Régle de vérification syntaxique des données saisies
|
||||
),
|
||||
),
|
||||
'[clé composant 2]' => array (
|
||||
'label' => '[Label du composant 2]',
|
||||
'type' => 'select_list',
|
||||
'required' => [Booléen],
|
||||
'options' => array (
|
||||
[Configuration équivalente à un attribut LSattr_html_select_list]
|
||||
)
|
||||
),
|
||||
[...]
|
||||
),
|
||||
'fullWidth' => [booléen],
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>components</term>
|
||||
<listitem>
|
||||
<para>Tableau associatif obligatoire contenant en valeur clé, l'identifiant des
|
||||
composants, correspondant à la clé dans le dictionnaire <emphasis>JSON</emphasis>,
|
||||
et en valeurs associés, la configuration du composant.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>label</term>
|
||||
<listitem>
|
||||
<simpara>Le label du composant.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>help_info</term>
|
||||
<listitem>
|
||||
<simpara>Message d'aide sur le composant (affiché uniquement en mode édition).
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>type</term>
|
||||
<listitem>
|
||||
<simpara>Le type de valeur du composant. Les types possibles sont
|
||||
<literal>text</literal> ou <literal>select_list</literal> pour respectivement
|
||||
soit une valeur saisie librement, soit une valeur sélectionnée parmis une liste
|
||||
déroulante.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>options</term>
|
||||
<listitem>
|
||||
<simpara>Dans le cadre d'un composant de type <literal>select_list</literal>, cela
|
||||
correspond à la configuration de la liste déroulante. Cette configuration utilise la
|
||||
même syntaxe de configuration que celle du type d'attribut &LSattr_html_select_list;
|
||||
et son paramètre <literal>html_options</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>multiple</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si ce composant peut stocker plusieurs valeurs (Défaut :
|
||||
<emphasis>Faux</emphasis>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si ce composant doit obligatoirement être défini (Défaut :
|
||||
<emphasis>Faux</emphasis>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>check_data</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les règles de vérification syntaxique
|
||||
des données du composant. Ces règles sont configurables de la même manière
|
||||
que les celles des valeurs attributs.
|
||||
<link linkend='config-LSattribute-check-data'>Voir la section concernée.</link>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>fullWidth</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant de définir si l'affichage dans le formulaire doit se faire
|
||||
sur toute la largeur disponible de la page (Défaut : <emphasis>Faux</emphasis>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</sect4>
|
|
@ -1,41 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_labeledValue">
|
||||
<title>LSattr_html_labeledValue</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
prefixé d'un <literal>label</literal> et qui respecte le format suivant :
|
||||
<literal>[label]valeur</literal>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'labels' => array ( // Liste des labels possible
|
||||
'label1' => 'Libellé label1',
|
||||
'label2' => 'Libellé label2',
|
||||
[...]
|
||||
),
|
||||
'translate_labels' => [booléen],
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>labels</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif obligatoire contenant en valeur clé, le
|
||||
<literal>label</literal> utilisé dans la valeur stockée et en valeur
|
||||
associée, le valeur d'affichage du <literal>label</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>translate_labels</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'activer/désactiver la traduction des labels (Par defaut : <literal>Vrai</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,34 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_mail">
|
||||
<title>LSattr_html_mail</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une adresse e-mail. En plus d'un affichage adapté, il offre la possibilité
|
||||
d'envoyer des mails directement depuis l'interface de l'application.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'disableMailSending' => [booléen],
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>disableMailSending</term>
|
||||
<listitem>
|
||||
<simpara>Désactive l'envoi de mail depuis l'interface pour cet attribut.</simpara>
|
||||
<note><simpara>Ceci ne désactive pas pour autant le lien HTML de type
|
||||
<emphasis>mailto:</emphasis>. Pour cela, utilisez plutôt le type d'attribut HTML
|
||||
<link linkend='config-LSattr_html_text'>text</link>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,29 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_mailQuota">
|
||||
<title>LSattr_html_mailQuota</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
le quota d'une boite mail. Le format de la valeur générée correspondant au format
|
||||
attendu par le serveur de mail &courier; par défaut. Exemple : <emphasis>50000000S</emphasis>
|
||||
correspond à un quota de 50Mio.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'suffix' => '[suffix]',
|
||||
)
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>suffix</term>
|
||||
<listitem>
|
||||
<simpara>Chaine de caractères suffixant la valeur du quota (Par défaut : <literal>S</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,82 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_maildir">
|
||||
<title>LSattr_html_maildir</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
le chemin d'une maildir. Typiquement, ce type attribut HTML est utile dans
|
||||
le cas de l'attribut <emphasis>mailbox</emphasis> utilisé par maildrop pour
|
||||
stocker le chemin des boites mails. Ce type d'attribut offre la possibilité de
|
||||
gérér un niveau de l'attribut et à travers les déclencheurs gérés par &LdapSaisie;
|
||||
la création, la modification et ou la suppression de la boite mails. Le &LSaddon;
|
||||
<link linkend='config-LSaddon_maildir'>boolean</link> est utilisé pour manipuler
|
||||
la boite mail à distance.
|
||||
</para>
|
||||
|
||||
<note><simpara>Actuellement, cet &LSaddon; ne gérant que l'accès via FTP au
|
||||
serveur distant, l'API d'accès via FTP est attaquée directement.</simpara></note>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'LSform' => array (
|
||||
'[LSform1]' => [booléen],
|
||||
'[LSform2]' => [booléen],
|
||||
...
|
||||
),
|
||||
'remoteRootPathRegex' => "[Expression régulière pour matcher le dossier à créer]",
|
||||
'archiveNameFormat' => "[LSformat du chemin/nom du fichier une fois archiver]"
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>LSform</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif obligatoire contenant en valeur clé le nom des
|
||||
&LSforms; dans lesquels la fonctionnalité de modification de la boite mail
|
||||
sera présente. Les valeurs attachées sont des booléens définissant si la
|
||||
modification est active par défaut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>remoteRootPathRegex</term>
|
||||
<listitem>
|
||||
<simpara>Expression régulière (compatible Perl) facultative dont le but est de
|
||||
<emphasis>matcher</emphasis> dans la valeur complète du chemin distant de la
|
||||
<emphasis>maildir</emphasis>, le chemin de la <emphasis>maildir</emphasis>
|
||||
à créer une fois connecté sur le serveur.</simpara>
|
||||
<para>Exemple : Si le chemin complet de la <emphasis>maildir</emphasis> est
|
||||
<emphasis>/home/vmail/user</emphasis>, mais que l'utilisateur FTP lorsqu'il
|
||||
se connecte arrive directement dans <emphasis>/home/vmail</emphasis>, et faut
|
||||
définir le paramètre <parameter>remoteRootPathRegex</parameter> de la manière
|
||||
suivante :
|
||||
<programlisting linenumbering="unnumbered">/^\/home\/vmail\/([^\/]*)\/+$/</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>archiveNameFormat</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du nom du dossier de la <emphasis>maildir</emphasis> une
|
||||
fois archivée. Si ce format est défini, le dossier ne sera pas supprimé mais
|
||||
déplacé ou rénommé. Le format sera construit avec pour seul mot clé, le nom
|
||||
de l'ancien dossier. Exemple : Si le dossier de la maildir est
|
||||
<emphasis>/home/vmail/user</emphasis> et le paramètre
|
||||
<parameter>archiveNameFormat</parameter> vaut <emphasis>%{old}.bckp</emphasis>,
|
||||
le dossier sera renommé en <emphasis>/home/vmail/user.bckp</emphasis>.</simpara>
|
||||
<important><simpara>Ce format est interprété après application de la routine
|
||||
liée au paramètre <parameter>remoteRootPathRegex</parameter>. Ainsi, dans
|
||||
l'exemple précédent, si le paramètre <parameter>remoteRootPathRegex</parameter>
|
||||
tronquait uniquement le nom du dossier final, c'est à dire <emphasis>user</emphasis>,
|
||||
le format une fois interprété donnerai <emphasis>user.bckp</emphasis>.
|
||||
</simpara></important>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,315 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_password">
|
||||
<title>LSattr_html_password</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un mot de passe.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'isLoginPassword' => [booleen],
|
||||
'generationTool' => [booleen],
|
||||
'autoGenerate' => [booleen],
|
||||
'length' => [nombre de caractères],
|
||||
'chars' => array ( // Caractères que peut contenir le mot de passe
|
||||
array( // Liste caractère avec un nombre mininum d'apparition supérieur à 1
|
||||
'nb' => [nb caractères],
|
||||
'chars' => '[liste de caractères possibles]'
|
||||
),
|
||||
'[autre liste de caractères possibles]', // Liste caractère avec un nombre
|
||||
// d'apparitions égal à 1
|
||||
...
|
||||
),
|
||||
'use_pwgen' => [booléen], // Utiliser pwgen pour la génération du mot de passe
|
||||
'pwgen_path' => "/path/to/pwgen",
|
||||
'pwgen_opts' => "[options à passer à pwgen]",
|
||||
'verify' => [booléen], // Activation de l'outil de vérification du mot de passe
|
||||
'viewHash' => [booléen], // Activation de l'outil de visualisation du mot de passe haché
|
||||
'confirmChange' => [booléen], // Activation de la confirmation en cas de changement du mot de passe
|
||||
'confirmChangeQuestion' => "[LSformat]", // LSformat de la question de confirmation du changement du mot de passe
|
||||
'mail' => array( // Configuration de l'envoi du mot de passe par mail
|
||||
'subject' => "[LSformat du sujet du mail]",
|
||||
'msg' => "[LSformat du message du mail]",
|
||||
'mail_attr' => 'mail', // Attribut mail de l'objet
|
||||
'get_mail_attr_function' => '[function]', // Fonction retournant l'attribut mail de l'objet
|
||||
'send' => 1, // Activation par défaut de l'envoi du mot de passe
|
||||
'ask' => 1, // Laisser le choix à l'utilisateur
|
||||
'canEdit' => 1, // Activation de l'édition du LSformat du message par l'utilisateur
|
||||
'checkDomain' => false, // Désactivation de la vérification du domaine de l'adresse email
|
||||
'domain' => '[nom de domaine]', // Nom de domaine obligatoire lors de la validation de l'adresse email
|
||||
)
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>isLoginPassword</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le mot de passe est celui utilisé par l'utilisateur
|
||||
pour se logguer à l'annuaire LDAP. Si c'est le cas, pour vérifier si le mot de passe
|
||||
correspond avec un autre, une tentative de connexion de l'utilisateur à l'annuaire
|
||||
sera faite. (Par défaut : <literal>Faux</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>generationTool</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'outil de génération de mot de passe est
|
||||
activé.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>autoGenerate</term>
|
||||
<listitem>
|
||||
<simpara>Active la génération automatique du mot de passe lorsque l'attribut
|
||||
n'a encore aucune valeur de définie. Il faut également que l'outil de
|
||||
génération soit activé (<parameter>generationTool</parameter>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>length</term>
|
||||
<listitem>
|
||||
<simpara>Nombre de caractères que devront contenir les mots de passe générés.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>chars</term>
|
||||
<listitem>
|
||||
<para>Tableau contenant une liste de listes de caractères possibles pour
|
||||
composer le mot de passe. Dans chacune de ces listes, au moins un caractère
|
||||
sera utilisé dans le nouveau mot de passe. Il est possible de définir un
|
||||
nombre supérieur de caractères d'une liste devant apparaître dans les mots de
|
||||
passe générés en spécifiant un tableau associatif dont la clé <emphasis>nb
|
||||
</emphasis> associra le nombre entier de caractères et la clé <emphasis>chars
|
||||
</emphasis> la liste de caractères. Une liste de caractères est un chaîne.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>use_pwgen</term>
|
||||
<listitem>
|
||||
<para>Booléen définissant si la commande <literal>pwgen</literal> doit être
|
||||
utilisé pour générer le mot de passe.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>pwgen_path</term>
|
||||
<listitem>
|
||||
<para>Chemin d'accès au binaire <literal>pwgen</literal>.
|
||||
(Par défaut : <literal>pwgen</literal>).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>pwgen_opts</term>
|
||||
<listitem>
|
||||
<para>Options à passer à la commande <literal>pwgen</literal>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>verify</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'outil de vérification du mot de passe est
|
||||
activé. Si celui-ci est activé, l'utilisateur pourra entrer un mot de passe
|
||||
dans le champ et cliquer sur un bouton qui lancera une procédure de
|
||||
vérification du mot de passe via un test de connexion à l'annuaire.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>viewHash</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'utilisateur aura accès à la fonctionnalité
|
||||
de visualisation du mot de passe haché.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>confirmInput</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si un second champ mot de passe sera affiché dans
|
||||
le formulaire pour que l'utilisateur confirme la saisie du nouveau mot de passe.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>confirmInputError</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du message d'erreur affiché à l'utilisateur si le mot de
|
||||
passe saisie dans le champs de confirmation ne correspond pas au nouveau mot
|
||||
de passe. <emphasis>Paramètre facultatif.</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>confirmChange</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'utilisateur devra confirmer le changement de
|
||||
ce mot de passe. Lorsque cette fonctionnalité est activée, l'utilisateur verra
|
||||
apparaître une popup de confirmation à la validation du formulaire s'il a saisi
|
||||
un nouveau mot de passe.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>confirmChangeQuestion</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; de la question posée à l'utilisateur en cas de changement
|
||||
du mot de passe et si la fonctionnalité est activée. Il sera composé à l'aide
|
||||
du <emphasis>label</emphasis> de l'attribut. <emphasis>Paramètre facultatif.
|
||||
</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>clearView</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'utilisateur pourra voir le mot de passe en
|
||||
clair par défaut (y comris en mode visualisation uniquement).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>clearEdit</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'utilisateur éditera le mot de passe au travers
|
||||
un champs HTML de type <emphasis>text</emphasis> et donc lisible ou au travers un
|
||||
champs HTML de type <emphasis>password</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>mail</term>
|
||||
<listitem>
|
||||
<para>Paramètres de configuration de l'envoi par mail du mot de passe à
|
||||
l'utilisateur. Lorsque cet outil est activé, lors de la modification/création
|
||||
du mot de passe, l'utilisateur pourra recevoir un mail lui spécifiant son
|
||||
nouveau mot de passe.
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>send</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'envoi du mot de passe est activé par
|
||||
défaut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ask</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si on laisse le choix à l'utilisateur
|
||||
d'activer ou non l'envoi du mot de passe par mail.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>canEdit</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si on laisse la possibilité à l'utilisateur
|
||||
d'éditer le &LSformat; du message et du sujet.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>subject</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du sujet du mail. Ce format sera composé avec la
|
||||
valeur du nouveau mot de passe de l'utilisateur.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>msg</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du message du mail. Ce format sera composé avec les
|
||||
informations de l'object LDAP, y compris le mot clé <emphasis>%{password}</emphasis>
|
||||
correspondant à la valeur du nouveau mot de passe de l'utilisateur.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>mail_attr</term>
|
||||
<listitem>
|
||||
<simpara>Le nom de l'attribut listant les mails possibles de
|
||||
l'utilisateur. Par défaut, la première valeur de l'attribut sera
|
||||
utilisée comme adresse mail destinatrice. Cet attribut peut également
|
||||
être un tableau de plusieurs noms d'attributs. Dans ce cas, la première
|
||||
valeur correcte sera retenue.
|
||||
Si <parameter>canEdit</parameter> est activé, l'utilisateur pourra
|
||||
choisir l'adresse mail destinatrice parmi la liste des valeurs de
|
||||
l'attribut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>get_mail_attr_function</term>
|
||||
<listitem>
|
||||
<simpara>Nom de la fonction (ou <literal>callable</literal> au sens PHP)
|
||||
qui sera utilisé pour récupérer le nom de l'attribut listant les mails
|
||||
possibles de l'utilisateur. Cette fonction prendra en paramètre, l'objet
|
||||
<literal>LSformElement</literal> courant et devra retourner une valeur
|
||||
équivalente au paramètre de configuration <literal>mail_attr</literal>.
|
||||
Si ce paramètre est défini, il prévalera toujours sur le paramètre
|
||||
<literal>mail_attr</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>bcc</term>
|
||||
<listitem>
|
||||
<simpara>Mettre en <emphasis>BCC</emphasis> un mail systématiquement
|
||||
(ou plusieurs en les séparant par des virgules).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>headers</term>
|
||||
<listitem>
|
||||
<simpara>Un tableau de type clé/valeur ou la clé est le nom d'un header
|
||||
à ajouter au mail et la valeur est la valeur de l'header en question.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>checkDomain</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le domaine de l'adresse mail doit être
|
||||
validée. <emphasis>Paramètre facultatif, par défaut: <literal>TRUE</literal>
|
||||
</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>domain</term>
|
||||
<listitem>
|
||||
<simpara>Nom de domaine obligatoire lors de la validation de l'adresse mail.
|
||||
Ce paramètre peut être une simple chaine correspondant au domaine ou un
|
||||
tableau listant plusieurs domaines valides. <emphasis>Paramètre facultatif,
|
||||
par défaut tous les domaines sont acceptés.</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,68 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_postaladdress">
|
||||
<title>LSattr_html_postaladdress</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs du type de l'attribut
|
||||
standard <emphasis>postalAddress</emphasis>. Ce type d'attribut permet d'afficher,
|
||||
en plus de l'adresse, un lien composé à partir d'informations de l'objet permettant
|
||||
par exemple d'afficher un lien vers une carte géocalisant l'adresse postale.</para>
|
||||
|
||||
<para>Par défaut, le lien ajouté sera un lien de recherche de l'adresse postale
|
||||
générée à partir de la valeur de l'attribut (en remplaçant les retours à la ligne
|
||||
(<literal>\n</literal>) par des espaces) via le service
|
||||
<ulink url='http://nominatim.openstreetmap.org/'>Nominatim d'OpenStreetMap</ulink>.
|
||||
</para>
|
||||
|
||||
<note><simpara>Dans le cadre du fonctionnement par défaut et pour maîtriser les
|
||||
valeurs stockées dans l'annuaire, il faut coupler ce type d'attribut HTML avec le
|
||||
type d'attribut LDAP
|
||||
<link linkend='config-LSattr_ldap_postaladdress'>postaladdress</link></simpara></note>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'map_url_pattern_format' => '[LSformat]',
|
||||
'map_url_pattern_generate_function' => '[callable]',
|
||||
'map_url_format' => '[LSformat]',
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>map_url_pattern_format</term>
|
||||
<listitem>
|
||||
<simpara>Ce &LSformat; doit permettre de générer la valeur de l'adresse postale
|
||||
qui sera insérée dans l'URL du lien ajouté dans l'interface.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>map_url_pattern_generate_function</term>
|
||||
<listitem>
|
||||
<simpara>Ce paramètre permet de définir une fonction qui sera utilisée à la place
|
||||
du paramètre <literal>map_url_pattern_format</literal> pour générer la valeur de
|
||||
l'adresse postale qui sera insérée dans l'URL du lien ajouté dans l'interface.
|
||||
Cette fonction prendra en paramètre l'objet <emphasis>LSformElement</emphasis>
|
||||
courant et devra retourner une chaîne de caractères correspondant à l'adresse
|
||||
postale à insérer dans le lien de l'interface. Par défaut, la fonction
|
||||
<literal>LSformElement_postaladdress__generate_pattern</literal> est utilisée.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>map_url_format</term>
|
||||
<listitem>
|
||||
<simpara>Ce &LSformat; doit permettre de générer l'URL du lien ajouté dans
|
||||
l'interface. Il sera composé avec les informations de l'objet LDAP, y compris
|
||||
le mot clé <emphasis>%{pattern}</emphasis> correspondant à la valeur de l'adresse
|
||||
postale générée à l'aide des paramètres précédents. Par défaut, la format suivant
|
||||
sera utilisé :
|
||||
<literal>http://nominatim.openstreetmap.org/search.php?q=%{pattern}</literal></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,8 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_pre">
|
||||
<title>LSattr_html_pre</title>
|
||||
<para>Ce type est dérivé du type &LSattr_html_textarea; et permet
|
||||
simplement que lors de l'affichage de la valeur, celle-ci soit
|
||||
affichée en respectant les retours à la ligne et en utilisant une
|
||||
police de caractères <literal>monospace</literal>. Cela reproduit
|
||||
l'affichage d'une balise HTML <literal>pre</literal>.</para>
|
||||
</sect4>
|
|
@ -1,10 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_rss">
|
||||
<title>LSattr_html_rss</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
l'URL d'un flux RSS. Il propose directement dans l'interface, la possibilité
|
||||
d'accèder au flux RSS.</para>
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,71 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_sambaAcctFlags">
|
||||
<title>LSattr_html_sambaAcctFlags</title>
|
||||
<para>Ce type est prévu pour gérer l'attribut <emphasis>sambaAcctFlags</emphasis> du
|
||||
schéma Samba, qui au travers d'une seule et unique valeur, respectant un format prévu,
|
||||
liste l'ensemble des drapeaux actifs d'un compte Samba. Il est conçu pour être utilisé
|
||||
conjointement avec le type d'attribut LDAP &LSattr_ldap_sambaAcctFlags;.</para>
|
||||
|
||||
<para>Pour définir la valeur par défaut de cet attribut, il faut définir paramètre <literal>
|
||||
default_value</literal> comme un tableau des drapeaux telque prévu par Samba :
|
||||
|
||||
<variablelist>
|
||||
<title>Listes des drapeaux Samba</title>
|
||||
<varlistentry>
|
||||
<term>U</term>
|
||||
<listitem><simpara>Compte utilisateur standard</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>W</term>
|
||||
<listitem><simpara>Compte de poste de travail approuvé</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>S</term>
|
||||
<listitem><simpara>Compte de serveur approuvé</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>I</term>
|
||||
<listitem><simpara>Compte de domaine approuvé</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>M</term>
|
||||
<listitem><simpara>Compte de connexion Majority Node Set (MNS)</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>H</term>
|
||||
<listitem><simpara>Dossier personnel requis</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>N</term>
|
||||
<listitem><simpara>Compte sans mot de passe</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>X</term>
|
||||
<listitem><simpara>Le mot de passe n'expire jamais</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>D</term>
|
||||
<listitem><simpara>Compte désactivé</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>T</term>
|
||||
<listitem><simpara>Copie temporaire d'un autre compte</simpara></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>L</term>
|
||||
<listitem><simpara>Compte automatiquement bloqué</simpara></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple de valeur par défaut</citetitle>...
|
||||
<![CDATA['default_value' => array('U', 'X'),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<note><simpara>Ce type d'attribut est implémenté en dérivant le type
|
||||
<emphasis>LSattr_html_select_box</emphasis> dont les valeurs possibles sont
|
||||
pré-configurées (paramètre <literal>possible_values</literal>). Même si cela n'est pas
|
||||
forcément utiles, les autres paramètres du type parent restent utilisables.</simpara>
|
||||
</note>
|
||||
</sect4>
|
|
@ -1,32 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_select_box">
|
||||
<title>LSattr_html_select_box</title>
|
||||
<para>Ce type est identique au type <emphasis>LSattr_html_select_list</emphasis>
|
||||
excepté qu'il utilise en lieu et place d'une balise HTML <literal>select</literal>,
|
||||
plusieurs balises HTML <literal>input</literal> de type <literal>checkbox</literal>
|
||||
en cas de valeurs multiples ou de type <literal>radio</literal> en cas de valeur
|
||||
unique. Les paramètres de configuration de la classe
|
||||
<emphasis>LSattr_html_select_list</emphasis> sont tous hérités et fonctionnent donc
|
||||
de la même manière. Par ailleurs, ce type dispose également de paramètres qui lui
|
||||
sont propre (voir ci-dessous).</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'inline' => [Booléen],
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>inline</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si les valeurs possibles doivent être
|
||||
affichées sur une même ligne ou non (Faux par défaut).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</sect4>
|
|
@ -1,256 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_select_list">
|
||||
<title>LSattr_html_select_list</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont les valeurs font
|
||||
partie d'une liste statique ou dynamique. Il est possible de lister des valeurs
|
||||
statiques et également des références à d'autres &LSobjects;. La référence à
|
||||
un objet correspond à une valeur clé, référente à un objet précis, qui peut être
|
||||
soit la valeur d'un de ses attributs, soit son <emphasis>DN</emphasis>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
'possible_values' => array (
|
||||
'[LSformat de la valeur clé]' => '[LSformat du nom d'affichage]',
|
||||
...
|
||||
'OTHER_OBJECT' => array (
|
||||
'object_type' => '[Type d'LSobject]',
|
||||
'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
|
||||
'value_attribute' => '[Nom de l'attribut clé]',
|
||||
'values_attribute' => '[Nom de l'attribut clé multi-valeur]',
|
||||
'filter' => '[Filtre de recherche des LSobject]',
|
||||
'scope' => '[Scope de la recherche]',
|
||||
'basedn' => '[Basedn de la recherche]',
|
||||
'onlyAccessible' => '[Booléen]'
|
||||
),
|
||||
'OTHER_ATTRIBUTE' => '[attr]',
|
||||
// Or :
|
||||
'OTHER_ATTRIBUTE' => array(
|
||||
'[attr1]' => '[label1]',
|
||||
'[attr2]' => '[label2]',
|
||||
[...]
|
||||
),
|
||||
// Or :
|
||||
'OTHER_ATTRIBUTE' => array(
|
||||
'attr' => [attr],
|
||||
'json_component_key' => '[Composant JSON clé]',
|
||||
'json_component_label' => '[Composant JSON label]',
|
||||
),
|
||||
array (
|
||||
'label' => '[LSformat du nom du groupe de valeurs]',
|
||||
'possible_values' => array (
|
||||
'[LSformat de la valeur clé]' => '[LSformat du nom d'affichage]',
|
||||
...
|
||||
'OTHER_OBJECT' => array (
|
||||
...
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
'get_possible_values' => [callable],
|
||||
'translate_labels' => [booléen],
|
||||
'sort' => [Booléen],
|
||||
'sortDirection' => '[ASC|DESC]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>possible_values</term>
|
||||
<listitem>
|
||||
<para>Tableau associatif obligatoire contenant en valeur clé le &LSformat;
|
||||
des valeurs clés prisent par l'attribut et en valeurs associées, le &LSformat;
|
||||
des noms d'affichage de ces valeurs. Ces &LSformats; sont composés à partir des
|
||||
valeurs de l'objet courant (attributs, dn, ...).</para>
|
||||
|
||||
<para>Si la valeur clé est égale à <literal>OTHER_OBJECT</literal>, une liste
|
||||
d'&LSobject; sera insérée dans la liste des valeurs possibles. La valeur
|
||||
associée est alors un tableau associatif dont les valeurs clés sont les noms
|
||||
des paramètres de configuration de la recherche de ces &LSobjects; et les
|
||||
valeurs associées, les valeurs des paramètres.</para>
|
||||
|
||||
<para>Il est possible de regrouper des valeurs de l'attribut en plaçant leur
|
||||
déclaration dans un sous-tableau. Ce sous-tableau devra contenir la clé
|
||||
<literal>label</literal> dont la valeur associé sera le &LSformat; du nom du groupe
|
||||
de valeurs. Ce &LSformat; est composé à partir des valeurs de l'objet courant
|
||||
(attributs, dn, ...). Une seconde clé <literal>possible_values</literal> regroupera
|
||||
les valeurs possibles du groupe. Comme pour le tableau principal, la clé <literal>
|
||||
OTHER_OBJECT</literal> permet d'imcorporer une liste d'&LSobject;.</para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>object_type</term>
|
||||
<listitem>
|
||||
<simpara>Nom du type d'&LSobject; en référence.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>display_name_format</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du nom d'affichage des objets lors de leur sélection.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>value_attribute</term>
|
||||
<listitem>
|
||||
<simpara>Nom de l'attribut des &LSobjects; en référence servant de valeur
|
||||
clé et permettant de les identifier (Exemple : <emphasis>dn</emphasis> ou
|
||||
<emphasis>uid</emphasis>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>values_attribute</term>
|
||||
<listitem>
|
||||
<simpara>Nom de l'attribut des &LSobjects; en référence servant de catalogue de
|
||||
valeurs. Dans ce mode, la valeur n'a pas de label et est affichée directement
|
||||
dans l'interface. Ce paramètre peut-être utilisé en complément ou non du paramètre
|
||||
<emphasis>value_attribute</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>filter</term>
|
||||
<listitem>
|
||||
<simpara>Filtre falcultatif de la recherche des LSobjets. Il sera dans tous
|
||||
les cas agrémenté des valeurs des <emphasis>objectclass</emphasis> du type
|
||||
d'&LSobject;.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>scope</term>
|
||||
<listitem>
|
||||
<simpara>Scope falcultatif de la recherche des LSobjets.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>basedn</term>
|
||||
<listitem>
|
||||
<simpara>Basedn falcultatif de la recherche des LSobjets.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>onlyAccessible</term>
|
||||
<listitem>
|
||||
<simpara>Booléen falcultatif définissant si seul les LSobjets auxquels
|
||||
l'utilisateur connecté à accès doivent être considérés comme sélectionnables
|
||||
(Faux par défaut).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Si la valeur clé est égale à <literal>OTHER_ATTRIBTE</literal>, une liste
|
||||
de valeur possible sera composée à l'aide des valeurs d'un (ou plusieurs) autre
|
||||
attribut de l'objet courant. La valeur associée peut être alors :
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>soit le nom d'un attribut dont les valeurs seront utilisées comme valeurs
|
||||
possibles (la valeur affichée est égale à la valeur stockée).</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>soit un tableau associatif dont les valeurs clés sont les noms des attributs
|
||||
dont les valeurs seront utilisés comme valeurs possibles et dont les valeurs associés
|
||||
seront les labels sous lesquels ces valeurs seront regroupées (la valeur
|
||||
affichée est égale à la valeur stockée).</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>soit un tableau associatif référençant un attribut sous la clé <emphasis>attr
|
||||
</emphasis> dont les valeurs seront utilisées comme valeurs possibles. Cet attribut
|
||||
peut-être du type &LSattr_html_jsonCompositeAttribute;. Il sera alors possible d'utiliser
|
||||
les valeurs d'un composant en particulier en le référençant à l'aide de la clé <emphasis>
|
||||
json_component_key</emphasis>. Il est également possible de référencer un autre composant
|
||||
à l'aide de la clé <emphasis>json_component_label</emphasis> et dont les valeurs seront
|
||||
utilisées comme valeurs affichées lors de la sélection. À défaut, les valeurs affichées
|
||||
seront identiques à celles stockées.</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>get_possible_values</term>
|
||||
<listitem>
|
||||
<para>Paramètre permettant de spécifier un <emphasis>callable</emphasis> qui sera utilisé
|
||||
pour lister les valeurs possibles de l'attribut. Il recevra en paramètres les informations
|
||||
suivantes:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>$options</term>
|
||||
<listitem>
|
||||
<simpara>Les options HTML de l'attribut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>$name</term>
|
||||
<listitem>
|
||||
<simpara>Le nom de l'attribut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>&$ldapObject</term>
|
||||
<listitem>
|
||||
<simpara>Une référence à l'objet <literal>LSldapObject</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
<para>La valeur de retour attendue est un tableau associatif des valeurs possibles
|
||||
de l'attribut avec la valeur que prendra l'attribut en tant que clé et le label
|
||||
correspondant en tant que valeur. Tout autre retour sera considéré comme un échec
|
||||
et déclenchera une erreur.</para>
|
||||
<para>Il est également possible de regrouper des valeurs possibles de l'attribut: pour
|
||||
cela, le tableau retourné devra lui-même contenir un tableau associatif contenant la
|
||||
label traduit du groupe sous la clé <literal>label</literal> et les valeurs possibles
|
||||
du groupe sous la clé <literal>possible_values</literal>.</para>
|
||||
<para>Les valeurs retournées pourront être combinées avec les autres valeurs possibles
|
||||
configurées de l'attribut. La prise en charge du tri des valeurs possibles est assurée
|
||||
par la fonction appelante sauf dans le cas des sous-groupes de valeurs possibles. Dans
|
||||
ce cas, la méthode <literal>LSattr_html_select_list :: _sort()</literal> pourra être
|
||||
utilisée pour trier les valeurs du sous-groupe: cette méthode accepte en paramètre une
|
||||
référence du tableau des valeurs possibles ainsi que les options HTML de l'attribut.
|
||||
</para>
|
||||
<para>Si la traduction des labels des valeurs possibles de l'attribut est activées
|
||||
(voir ci-dessous), celle-ci doit être prise en charge par la fonction configurée.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>translate_labels</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'activer/désactiver la traduction des labels (Par defaut : <literal>Vrai</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sort</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si les valeurs possibles doivent être
|
||||
triées ou non (Vrai par défaut). Le trie est effectué sur les libellés
|
||||
des valeurs possibles.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sortDirection</term>
|
||||
<listitem>
|
||||
<simpara>Mot clé déterminant le sens du trie des valeurs possibles.</simpara>
|
||||
<simpara>Valeurs possibles : <literal>ASC</literal> ou <literal>DESC</literal> (<literal>ASC</literal> par défaut).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect4>
|
|
@ -1,120 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_select_object">
|
||||
<title>LSattr_html_select_object</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont les valeurs sont
|
||||
des références à d'autres &LSobjects;. Chaque référence à un objet correspond
|
||||
à une valeur prise par l'attribut. Les valeurs clés référant à un &LSobject;
|
||||
sont soit la valeur d'un de leurs attributs, soit leur <emphasis>DN</emphasis>.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array (
|
||||
selectable_object => array (
|
||||
array (
|
||||
'object_type' => '[Type d'LSobject selectionnable]',
|
||||
'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
|
||||
'value_attribute' => '[Nom de l'attribut clé des LSobjects]',
|
||||
'filter' => '[Filtre de recherche]',
|
||||
'onlyAccessible' => '[Booléen]'
|
||||
),
|
||||
[...]
|
||||
),
|
||||
'ordered' => [Booléen],
|
||||
'sort' => [Booléen],
|
||||
'sortDirection' => '[ASC|DESC]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>selectable_object</term>
|
||||
<listitem>
|
||||
<simpara>Tableau dont chaque valeur correspond à un tableau associatif spécifiant
|
||||
un type d'&LSobject; sélectionnable. Pour chaque type d'objet sélectionnable, les
|
||||
paramètres suivants doivent être renseignés :</simpara>
|
||||
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>object_type</term>
|
||||
<listitem>
|
||||
<simpara>Nom du type d'&LSobject; en référence
|
||||
<emphasis>(Paramètre obligatoire)</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>display_name_format</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du nom d'affichage des objets lors de leur sélection
|
||||
<emphasis>(Paramètre facultatif)</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>value_attribute</term>
|
||||
<listitem>
|
||||
<simpara>Nom de l'attribut des &LSobjects; en référence servant de valeur
|
||||
clé et permettant de les identifier <emphasis>(Paramètre obligatoire,
|
||||
exemples : <literal>dn</literal> ou <literal>uid</literal>)</emphasis>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>filter</term>
|
||||
<listitem>
|
||||
<simpara>Filtre de recherche qui sera ajouter au filtre par défaut lors de la
|
||||
sélection des objets <emphasis>(Paramètre facultatif)</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>onlyAccessible</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si seul les LSobjets auxquels l'utilisateur connecté
|
||||
à accès doivent être considérés comme sélectionnables <emphasis>(Paramètre facultatif,
|
||||
par défaut: <literal>False</literal>)</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ordered</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la liste des objets choisis doit être ordonnable ou
|
||||
non <emphasis>(Paramètre facultatif, par défaut: <literal>False</literal>)</emphasis>.
|
||||
Cela aura pour effet d'activer une fonctionnalité dynamique de l'interface permettant
|
||||
de remonter ou descendre dans la liste les objets choisis.</simpara>
|
||||
<note><simpara>Cette fonctionnalité désactive automatiquement le trie des
|
||||
objets à l'affichage.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sort</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la liste des objets choisis doit être
|
||||
triée ou non <emphasis>(Paramètre facultatif, par défaut:
|
||||
<literal>True</literal>)</emphasis>. Le trie est effectué sur les libellés
|
||||
des objets choisis.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>sortDirection</term>
|
||||
<listitem>
|
||||
<simpara>Mot clé déterminant le sens du trie des objets choisis.</simpara>
|
||||
<simpara>Valeurs possibles : <literal>ASC</literal> ou <literal>DESC</literal> (<literal>ASC</literal> par défaut).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_ssh_key">
|
||||
<title>LSattr_html_ssh_key</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une clef publique SSH. Il permet dans l'interface, d'avoir un affichage adapté
|
||||
à ce type de donnée.</para>
|
||||
</sect4>
|
|
@ -1,10 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_tel">
|
||||
<title>LSattr_html_tel</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un numéro de téléphone. Lors de l'affichage, un lien hypertexte avec une URI
|
||||
de type <literal>tel:~~</literal> est affiché.</para>
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,203 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_text">
|
||||
<title>LSattr_html_text</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une chaîne de caractères devant être affichée dans un champ
|
||||
<emphasis>input</emphasis> HTML de type <emphasis>text</emphasis>.
|
||||
</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'generate_value_format' => '[LSformat pour la génération de la valeur]',
|
||||
'autoGenerateOnCreate' => [booléen],
|
||||
'autoGenerateOnModify' => [booléen],
|
||||
'withoutAccent' => [booleen],
|
||||
'replaceSpaces' => "[chaîne de remplacement]",
|
||||
'upperCase' => [booleen],
|
||||
'lowerCase' => [booleen],
|
||||
|
||||
// Autocomplétion
|
||||
'autocomplete' => array (
|
||||
'object_type' => '[Type d'LSobject]', // facultatif (voir ci-dessous)
|
||||
'value_attributes' => array (
|
||||
'[attr1]',
|
||||
'[attr2]',
|
||||
[...]
|
||||
),
|
||||
'filter' => '[filtre LDAP]',
|
||||
'basedn' => '[base DN spécifique]',
|
||||
'scope' => '[scope de recherche]',
|
||||
'displayFormat' => '[LSformat]',
|
||||
'onlyAccessible' => [booléen],
|
||||
),
|
||||
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>generate_value_format</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; de la valeur utilisée pour la génération automatique de
|
||||
celle-ci à partir des informations saisies dans le formulaire. Les valeurs
|
||||
clefs du format sont les noms des attributs de l'objet. Seuls les attributs
|
||||
affichés au moins en lecture seule dans le formulaire peuvent être utilisés
|
||||
dans le format. Une seule valeur par attribut sera utilisée pour la
|
||||
génération : celle du premier champ (dans l'ordre d'apparition dans le
|
||||
formulaire).</simpara>
|
||||
<important><simpara>Seuls les éléments du formulaire de type HTML
|
||||
<emphasis>input</emphasis>, <emphasis>select</emphasis> ou
|
||||
<emphasis>textarea</emphasis> peuvent être utilisés.</simpara></important>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>autoGenerateOnCreate</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la génération automatique lorsque celui-ci est
|
||||
vide au moment du chargement du formulaire.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>autoGenerateOnModify</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la génération automatique lors de chaque
|
||||
modification de la valeur des champs du formulaire lié.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>withoutAccent</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la suppression des accents dans la chaîne de
|
||||
caractères générée automatiquement.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>withoutAccent</term>
|
||||
<listitem>
|
||||
<simpara>Activation du remplacement des accents dans la chaîne de
|
||||
caractères générée automatiquement. La valeur de remplacement est celle du
|
||||
paramètre.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>upperCase</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la mise en majuscule de la valeur générée
|
||||
automatiquement.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>lowerCase</term>
|
||||
<listitem>
|
||||
<simpara>Activation de la mise en minuscule de la valeur générée
|
||||
automatiquement.</simpara>
|
||||
<note><simpara>La valeur par défaut est <emphasis>False</emphasis>.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>autocomplete</term>
|
||||
<listitem>
|
||||
<para>Paramètrage de l'autocomplétion des valeurs saisies : on paramètre ici la
|
||||
recherche des valeurs possibles de l'attribut dans l'annuaire qui peut se faire :
|
||||
<itemizedlist>
|
||||
<listitem><simpara>Sur la base d'un type d'&LSobject; donné : l'autocomplétion se fera
|
||||
alors comme n'importe quelle recherche d'un type d'objet donné.</simpara></listitem>
|
||||
<listitem><simpara>Sur la base d'une recherche brute dans l'annuaire : l'autocomplétion se
|
||||
fera alors au travers une recherche brute dans l'annuaire sur n'importe quels objets ayant
|
||||
un des attributs spécifiés dans le paramètre <literal>value_attributes</literal>
|
||||
correspondant.</simpara></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>Les paramètres associés à ces deux cas de figure sont décrits ci-dessous :
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term>object_type</term>
|
||||
<listitem>
|
||||
<simpara>Le type d'&LSobject; recherché.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>value_attributes</term>
|
||||
<listitem>
|
||||
<simpara>Le(s) nom de l'attribut stockant les valeurs possibles recherchées. Il peut s'agir
|
||||
d'une chaîne de caractères ou d'un tableau s'il y a plusieurs attributs.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>pattern_filter</term>
|
||||
<listitem>
|
||||
<simpara>Le &LSformat; du filtre de recherche à partir du mot clé recherché. Ce paramètre est
|
||||
facultatif et utile que dans le cas d'une recherche sans type d'&LSobject; précis. S'il est
|
||||
défini, ce &LSformat; sera composé à l'aide du mot clé recherché. À défaut, le filtre de
|
||||
recherche sera composé à l'aide des différents <literal>value_attributes</literal> configurés.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>filter</term>
|
||||
<listitem>
|
||||
<simpara>Un filtre de recherche facultatif venant en plus de celui calculé automatiquement à partir
|
||||
du mot clé de recherche.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>basedn</term>
|
||||
<listitem>
|
||||
<simpara>Le <emphasis>basedn</emphasis> de la recherche. <emphasis>Paramètre
|
||||
facultatif.</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>scope</term>
|
||||
<listitem>
|
||||
<simpara>Le <emphasis>scope</emphasis> de la recherche. <emphasis>Paramètre
|
||||
facultatif, par défaut : <literal>sub</literal>.</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>display_name_format</term>
|
||||
<listitem>
|
||||
<simpara>Le &LSformat; d'affichage des objets trouvés. Ce paramètre est facultatif et par défaut,
|
||||
il s'agira du format d'affichage propre au type d'&LSobject; (si défini) et à défaut, la valeur
|
||||
possible trouvée sera affichée. Si est configuré, ce &LSformat; sera composé à l'aide des valeurs
|
||||
brutes des attributs des objets correspondants avec en plus la valeur possible trouvée dans le mot
|
||||
clé <literal>value</literal>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>only_accessible</term>
|
||||
<listitem>
|
||||
<simpara>Booléen falcultatif définissant si seul les &LSobjects; auxquels l'utilisateur connecté à accès
|
||||
doivent être considérés comme sélectionnables (Faux par défaut). Ce paramètre n'est appliqué que dans
|
||||
le cas d'une recherche pour un type d'&LSobject; donné.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</sect4>
|
|
@ -1,7 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_textarea">
|
||||
<title>LSattr_html_textarea</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est une
|
||||
chaine de caractères trop longue pour être saisie dans un champs HTML
|
||||
<emphasis>imput</emphasis> de type <emphasis>text</emphasis> et est plus adapté
|
||||
à un champ HTML <emphasis>textarea</emphasis>.</para>
|
||||
</sect4>
|
|
@ -1,11 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_url">
|
||||
<title>LSattr_html_url</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une URL. Il propose directement dans l'interface, la possibilité d'accèder au
|
||||
site ou encore de l'ajouter dans ses favoris (lorsque le navigateur le
|
||||
supporte).</para>
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,81 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_valueWithUnit">
|
||||
<title>LSattr_html_valueWithUnit</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est un entier
|
||||
auxquel un facteur peut s'appliquer (par exemple : <literal>Kilo, Méga, ...</literal>).</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'units' => array (
|
||||
'[facteur1]' => '[label unit1]',
|
||||
'[facteur2]' => '[label unit2]',
|
||||
[...]
|
||||
),
|
||||
'translate_labels' => [booléen],
|
||||
'nb_decimals' => [number of decimals],
|
||||
'dec_point' => '[decimals point]',
|
||||
'thousands_sep' => '[thousands separator]',
|
||||
'store_integer' => [booléen],
|
||||
'round_down' => [booléen],
|
||||
)
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>units</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif dont la clé est un entier correspondant au facteur et la valeur est le label de l'unité. (Par exemple : <literal>1 => Octet, 1024 => Kilo-octet, ...</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>translate_labels</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'activer/désactiver la traduction des labels (Par defaut : <literal>Vrai</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>nb_decimals</term>
|
||||
<listitem>
|
||||
<simpara>Le nombre de décimals à afficher en cas de nombre non-entier (Par defaut : <literal>2</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>dec_point</term>
|
||||
<listitem>
|
||||
<simpara>Le caractère à utiliser comme séparateur de décimal (Par defaut, une virgule).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>thousands_sep</term>
|
||||
<listitem>
|
||||
<simpara>Le caractère à utiliser comme séparateur de milliers (Par defaut, un espace).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>store_integer</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'activer/désactiver le stockage de valeurs entières (Par defaut :
|
||||
<literal>Vrai</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>round_down</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'arrondir à l'entier inférieur (et non à l'entier supérieur
|
||||
par défaut) en cas de stockage de valeurs entières.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,33 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_wysiwyg">
|
||||
<title>LSattr_html_wysiwyg</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est du
|
||||
code HTML et dont l'édition doit être fait à l'aide d'un éditeur <literal>WYSIWYG
|
||||
</literal>. La librairie &TinyMCE; est utilisée pour cela.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['html_options' => array(
|
||||
'extra_options' => array (
|
||||
[Options à passer à TinyMCE]
|
||||
),
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>extra_options</term>
|
||||
<listitem>
|
||||
<simpara>Ce paramètre permet de passer des options à &TinyMCE; pour
|
||||
personnaliser son comportement. Par exemple, il est possible d'utiliser
|
||||
le paramètre <literal>valid_styles</literal> pour définir quels styles
|
||||
CSS sont autorisés. Pour plus d'informations, consultez la documentation
|
||||
de &TinyMCE;.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,14 +0,0 @@
|
|||
<sect4 id="config-LSattr_html_xmpp">
|
||||
<title>LSattr_html_xmpp</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une adresse XMPP. Il propose directement dans l'interface, la possibilité
|
||||
de lancer une fenêtre de dialogue avec l'interlocuteur de son client XMPP
|
||||
préféré .</para>
|
||||
<note><simpara>Cette fonctionnalité n'est supporté uniquement par les
|
||||
navigateurs web supportant les URI de type <emphasis>xmpp://~~</emphasis>.
|
||||
</simpara></note>
|
||||
<important><simpara>Ce type d'attribut HTML est dérivé du type
|
||||
<link linkend='config-LSattr_html_text'>text</link>. Il profite donc de toutes
|
||||
les fonctionnalités d'un champ de ce type (autogénération, ...).</simpara>
|
||||
</important>
|
||||
</sect4>
|
|
@ -1,18 +0,0 @@
|
|||
<sect3 id="config-LSattr_ldap">
|
||||
<title>Configuration des attributs LDAP</title>
|
||||
<para>Cette section décrit les options propres à chacun des types d'attributs LDAP
|
||||
supportés par &LdapSaisie;.</para>
|
||||
|
||||
&conf-LSattr_ldap_ascii;
|
||||
&conf-LSattr_ldap_boolean;
|
||||
&conf-LSattr_ldap_compositeValueToJSON;
|
||||
&conf-LSattr_ldap_date;
|
||||
&conf-LSattr_ldap_image;
|
||||
&conf-LSattr_ldap_naiveDate;
|
||||
&conf-LSattr_ldap_numeric;
|
||||
&conf-LSattr_ldap_password;
|
||||
&conf-LSattr_ldap_postaladdress;
|
||||
&conf-LSattr_ldap_pwdHistory;
|
||||
&conf-LSattr_ldap_sambaAcctFlags;
|
||||
&conf-LSattr_ldap_shadowExpire;
|
||||
</sect3>
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY conf-LSattr_ldap_ascii SYSTEM "LSattr_ldap_ascii.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_boolean SYSTEM "LSattr_ldap_boolean.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_compositeValueToJSON SYSTEM "LSattr_ldap_compositeValueToJSON.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_date SYSTEM "LSattr_ldap_date.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_image SYSTEM "LSattr_ldap_image.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_naiveDate SYSTEM "LSattr_ldap_naiveDate.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_numeric SYSTEM "LSattr_ldap_numeric.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_password SYSTEM "LSattr_ldap_password.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_postaladdress SYSTEM "LSattr_ldap_postaladdress.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_pwdHistory SYSTEM "LSattr_ldap_pwdHistory.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_sambaAcctFlags SYSTEM "LSattr_ldap_sambaAcctFlags.docbook">
|
||||
<!ENTITY conf-LSattr_ldap_shadowExpire SYSTEM "LSattr_ldap_shadowExpire.docbook">
|
||||
|
||||
<!ENTITY LSattr_ldap_ascii "<link linkend='config-LSattr_ldap_ascii'>LSattr_ldap_ascii</link>">
|
||||
<!ENTITY LSattr_ldap_date "<link linkend='config-LSattr_ldap_date'>LSattr_ldap_date</link>">
|
||||
<!ENTITY LSattr_ldap_sambaAcctFlags "<link linkend='config-LSattr_ldap_sambaAcctFlags'>LSattr_ldap_sambaAcctFlags</link>">
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_ascii">
|
||||
<title>LSattr_ldap_ascii</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une chaine de caractère. Ce type est le type par défaut.</para>
|
||||
|
||||
</sect4>
|
|
@ -1,42 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_boolean">
|
||||
<title>LSattr_ldap_boolean</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une booléen. On attend ici par booléen, tout attribut ne pouvant prendre que deux
|
||||
valeurs pré-définies correspond pour l'un à <emphasis>Oui</emphasis> et l'autre
|
||||
à <emphasis>Non</emphasis></para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['ldap_options' => array (
|
||||
'true_value' => '[valeur correspondant à Vrai]',
|
||||
'false_value' => '[valeur correspondant à Faux]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>true_value</term>
|
||||
<listitem>
|
||||
<simpara>La valeur de l'attribut correspondant à <emphasis>Vrai</emphasis>.
|
||||
(Par défaut : <literal>TRUE</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>false_value</term>
|
||||
<listitem>
|
||||
<simpara>La valeur de l'attribut correspondant à <emphasis>Faux</emphasis>.
|
||||
(Par défaut : <literal>FALSE</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<important><simpara>Les valeurs possibles pour le paramètre <parameter>default_value</parameter>
|
||||
sont <literal>yes</literal> et <literal>no</literal>.</simpara></important>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,9 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_compositeValueToJSON">
|
||||
<title>LSattr_ldap_compositeValueToJSON</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs composites dont les
|
||||
valeurs respectent le format suivant :
|
||||
<literal>[key1=value1][key2=value2][...]</literal></para>
|
||||
<para>Ce type d'attribut LDAP sera utilisé pour convertir la valeur en son
|
||||
équivalent <literal>JSON</literal> pour pouvoir être traité à l'aide du type d'
|
||||
attribut HTML &LSattr_html_jsonCompositeAttribute;.</para>
|
||||
</sect4>
|
|
@ -1,89 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_date">
|
||||
<title>LSattr_ldap_date</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une date.</para>
|
||||
|
||||
<note>
|
||||
<para>Au sein d'LdapSaisie, les dates manipulées au travers ce type
|
||||
d'attribut LDAP, sont au format <emphasis>timestamp</emphasis>. Il s'agit
|
||||
donc de nombres entiers correpondants au nombre de secondes depuis le 1 janvier
|
||||
1970.</para>
|
||||
<para>Le type d'attribut HTML utilisé conjointement avec ce type d'attribut LDAP
|
||||
devra être prévu pour recevoir et fournir des dates au format <emphasis>timestamp
|
||||
</emphasis>, comme c'est le cas pour le <link linkend='config-LSattr_html_date'>
|
||||
type d'attribut HTML <emphasis>date</emphasis></link>.</para>
|
||||
</note>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['ldap_options' => array (
|
||||
'timestamp' => [Booléen], // Si la date est stockée au format timestamp
|
||||
'formats' => array(
|
||||
'[Format de stockage principal]', // Par défaut : "YmdHisO"
|
||||
'[Formats de stockage alternatifs]', // Par défaut : "YmdHis.vO" & "YmdHis.uO"
|
||||
[...]
|
||||
),
|
||||
'timezone' => '[Fuseau horaire]', // Default : "UTC"
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>timestamp</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la date est stockée sous la forme d'un
|
||||
timestamp Unix (nombre de secondes depuis le 1er janvier 1970 à 00:00:00
|
||||
UTC).</simpara>
|
||||
<remark>Si <parameter>timestamp</parameter> est vrai, &LdapSaisie; ne tient
|
||||
pas compte du paramètre <parameter>format</parameter>.</remark>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>formats</term>
|
||||
<listitem>
|
||||
<para>Formats de stockage de la date dans l'annuaire. Ces formats sont composés à
|
||||
partir des motifs clés gérés par la fonction <function>date()</function>
|
||||
de &php;. Pour plus d'information, consulter
|
||||
<ulink url='http://www.php.net/date'>la documentation officielle</ulink>. Plusieurs
|
||||
formats peuvent être définis, mais en cas de stockage d'une nouvelle valeur, se sera
|
||||
le premier format défini qui sera utilisé.
|
||||
<note><simpara>La valeur par défaut est <emphasis>["YmdHisO", "YmdHis.vO", "YmdHis.uO"]</emphasis>,
|
||||
correspondant à la syntaxe <literal>Generalized Time</literal> (sans et avec les milli-secondes
|
||||
ou micro-secondes) telle que définie dans la
|
||||
<ulink url='https://tools.ietf.org/html/rfc4517'>RFC4517</ulink>. Exemples :
|
||||
<literal>20091206230506Z</literal>
|
||||
<emphasis>(=2009/12/06 23:05:66 UTC)</emphasis>,
|
||||
<literal>20190613143537+0200</literal>
|
||||
<emphasis>(=2019/06/13 14:35:37 UTC+0200)</emphasis> ou
|
||||
<literal>20230818121005.307+0200</literal>
|
||||
<emphasis>(=2023/08/18 12:10:05.307 UTC+0200)</emphasis>.</simpara></note>
|
||||
<warning><simpara>Si vous exploitez un attribut stockant une date incluant les
|
||||
milli-secondes ou les micro-secondes, ce type d'attribut LDAP sera capable de gérer
|
||||
l'interpratation des valeurs stockées, en outre le type d'attribut &LSattr_html_date;,
|
||||
s'appuyant sur les méthodes standards <literal>strftime()</literal> et
|
||||
<literal>strptime()</literal>, ne permettra pas aujourd'hui leur saisie et affichage.
|
||||
</simpara></warning>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>timezone</term>
|
||||
<listitem>
|
||||
<para>Fuseau horaire de stockage des dates dans l'annuaire LDAP. Les valeurs
|
||||
possibles sont documentées dans <ulink url='https://www.php.net/timezones'>la
|
||||
documentation officielle de PHP</ulink>. (Par défaut : <literal>UTC</literal>)
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,7 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_image">
|
||||
<title>LSattr_ldap_image</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une image. Pour le moment, aucun traitement particulier n'est appliqué pour le
|
||||
stockage.</para>
|
||||
|
||||
</sect4>
|
|
@ -1,40 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_naiveDate">
|
||||
<title>LSattr_ldap_naiveDate</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
une date dont la <emphasis>timezone</emphasis> doit être ignorée. Côté LDAP,
|
||||
les dates seront stockées au format UTC étant donnée que la syntaxe LDAP exige
|
||||
une <emphasis>timezone</emphasis>, cependant celle-ci sera complètement ignorée.
|
||||
Ce type peut-être utilisé à la place du type &LSattr_ldap_date;.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle><![CDATA[...
|
||||
'ldap_options' => array (
|
||||
'format' => '[Format de stockage]', // Default : "%Y%m%d%H%M%SZ"
|
||||
),
|
||||
...]]>
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>format</term>
|
||||
<listitem>
|
||||
<para>Format de stockage de la date dans l'annuaire. Ce format est composé à
|
||||
partir des motifs clés gérés par la fonction <function>strftime()</function>
|
||||
de &php;. Pour plus d'information, consulter
|
||||
<ulink url='http://www.php.net/strftime'>la documentation officielle</ulink>.
|
||||
<note><simpara>La valeur par défaut est <emphasis>%Y%m%d%H%M%SZ</emphasis>,
|
||||
correspondant à la syntaxe <literal>Generalized Time</literal> (sans les
|
||||
micro-secondes) telle que définie dans la
|
||||
<ulink url='https://tools.ietf.org/html/rfc4517'>RFC4517</ulink>. Exemples :
|
||||
<literal>20091206230506Z</literal>
|
||||
<emphasis>(=2009/12/06 23:05:66 UTC)</emphasis>.</simpara></note>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,7 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_numeric">
|
||||
<title>LSattr_ldap_numeric</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un nombre. Pour le moment, aucun traitement particulier est n'appliqué pour le
|
||||
stockage.</para>
|
||||
|
||||
</sect4>
|
|
@ -1,108 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_password">
|
||||
<title>LSattr_ldap_password</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
|
||||
un mot de passe.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['ldap_options' => array (
|
||||
'encode' => '[Type d'encodage du mot de passe]',
|
||||
'encode_function' => '[Nom de la fonction d'encodage]',
|
||||
'verify_function' => '[Nom de la fonction de vérification]',
|
||||
'no_random_crypt_salt' => '[Booléen]', // Désactivation de l'utilisation d'une salt aléatoire
|
||||
'wildcardPassword' => '[mot de passe(s) en clair]',
|
||||
'encodedWildcardPassword' => '[mot de passe(s) encodé(s)]'
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>encode</term>
|
||||
<listitem>
|
||||
<para>Nom du type d'encodage du mot de passe utilisé. Les types d'encodages
|
||||
supportés sont les suivants :
|
||||
<itemizedlist>
|
||||
<listitem><simpara><literal>argon2</literal> (ou <literal>argon2i</literal>, PHP >= 7.2)</simpara></listitem>
|
||||
<listitem><simpara><literal>argon2id</literal> (PHP >= 7.3)</simpara></listitem>
|
||||
<listitem><simpara><literal>md5crypt</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>crypt</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>ext_des</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>blowfish</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>sha</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>sha256</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>sha512</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>ssha</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>ssha256</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>ssha512</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>smd5</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>md5</literal></simpara></listitem>
|
||||
<listitem><simpara><literal>clear</literal></simpara></listitem>
|
||||
</itemizedlist>
|
||||
<note><simpara>Valeur par défaut : <literal>md5crypt</literal></simpara></note>
|
||||
<important><simpara>Si le type d'encodage est inconnu, ou qu'il n'est pas
|
||||
supporté par le serveur web, un message d'erreur alertera l'utilisateur et le
|
||||
mot de passe sera stocké en clair.</simpara></important>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>encode_function</term>
|
||||
<listitem>
|
||||
<para>Nom d'une function qui sera utilisée afin d'encoder le mot de passe.
|
||||
Cette fonction recevra deux paramètres : le <literal>LSldapObject</literal>
|
||||
et le mot de passe en clair.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>verify_function</term>
|
||||
<listitem>
|
||||
<para>Nom d'une function qui sera utilisée afin de valider un mot de passe
|
||||
soumis par l'utilisateur par rapport à celui stocké dans l'annuaire. Cette
|
||||
fonction recevra trois paramètres : le <literal>LSldapObject</literal>,le
|
||||
mot de passe en clair et le mot de passe hashé. Si ce paramètre est omis
|
||||
et que le paramètre <literal>encode_function</literal> est défini, le mot
|
||||
de passe à tester sera encodé à nouveau à l'aide de la fonction
|
||||
<literal>encode_function</literal> et le résultat sera comparé avec le mot
|
||||
de passe stocké dans l'annuaire.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>no_random_crypt_salt</term>
|
||||
<listitem>
|
||||
<simpara>Désactivation de l'utilisation d'une salt générée aléatoirement au
|
||||
profit de l'utilisation des deux premiers caractères du mot de passe.
|
||||
Ce paramètre impacte uniquement le type de cryptage <literal>crypt</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>wildcardPassword</term>
|
||||
<listitem>
|
||||
<simpara>Mot de passe (ou tableau de mot de passe) qui sera ajouté systématiquement,
|
||||
en plus du mot de passe choisi. Il sera encodé de la même manière que pour le mot de
|
||||
passe choisi avant enregistrement.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>encodedWildcardPassword</term>
|
||||
<listitem>
|
||||
<simpara>Mot de passe (ou tableau de mot de passe) qui sera ajouté systématiquement,
|
||||
en plus du mot de passe choisi. Contrairement à la directive
|
||||
<parameter>wildcardPassword</parameter>, le mot de passe ne sera pas encodé avant
|
||||
enregistrement.</simpara>
|
||||
<note><simpara>Cette directive peut cohabiter avec sa cousine <parameter>wildcardPassword</parameter>. Les mot de passes contenus dans les deux directives seront alors ajoutés.</simpara></note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
|
||||
</sect4>
|
|
@ -1,14 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_postaladdress">
|
||||
<title>LSattr_ldap_postaladdress</title>
|
||||
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est construite
|
||||
sur le modèle de l'attribut standard <emphasis>postalAddress</emphasis>, c'est à dire
|
||||
dont les lignes sont séparées à l'aide du caractère de délimiteur <literal>$</literal>.
|
||||
</para>
|
||||
|
||||
<para>Lors de la lecture des valeurs de ce type d'attribut dans l'annuaire, les
|
||||
caractères <literal>$</literal> seront remplacés par des caractères <literal>\n</literal>
|
||||
et, à l'inverse, lors de l'écriture des valeurs de ce type d'attribut dans l'annuaire,
|
||||
les caractères <literal>\n</literal> seront remplacés par des caractères
|
||||
<literal>$</literal>.</para>
|
||||
|
||||
</sect4>
|
|
@ -1,74 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_pwdHistory">
|
||||
<title>LSattr_ldap_pwdHistory</title>
|
||||
<para>Ce type est utilisé pour la gestion de l'attribut standard <emphasis>pwdHistory</emphasis>.
|
||||
Cet attribut, accessible en lecture uniquement, stocke dans un format prédéfini l'historique des
|
||||
mots de passe d'une utilisateur avec pour chaque entrée :
|
||||
<itemizedlist>
|
||||
<listitem><simpara>la date et heure de l'ajout du mot de passe dans l'historique</simpara></listitem>
|
||||
<listitem><simpara>l'OID de la syntaxe du mot de passe</simpara></listitem>
|
||||
<listitem><simpara>la longueur du mot de passe</simpara></listitem>
|
||||
<listitem><simpara>le mot de passe (hâché)</simpara></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>Ce type d'attribut LDAP permettra de convertir la valeur en son équivalent <literal>JSON</literal>
|
||||
pour pouvoir être traité à l'aide du type d'attribut HTML &LSattr_html_jsonCompositeAttribute;.</para>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple de valeur de l'attribut pwdHistory</citetitle>
|
||||
<![CDATA[20201202144718Z#1.3.6.1.4.1.1466.115.121.1.40#105#{SSHA512}XDSiR6Sh6W7gyVIk6Rr2OUv8rNPr+0rHF99d9lcirE/TnnEdkjkncIi5iPubErL5lpfgh8gXLgSfmqvmFcMqXLToC25xIqyk]]>
|
||||
</programlisting>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple de valeur tranformée</citetitle>
|
||||
<![CDATA[{"time":1606920438,"syntaxOID":"1.3.6.1.4.1.1466.115.121.1.40","length":105,"hashed_password":"{SSHA512}XDSiR6Sh6W7gyVIk6Rr2OUv8rNPr+0rHF99d9lcirE/TnnEdkjkncIi5iPubErL5lpfgh8gXLgSfmqvmFcMqXLToC25xIqyk"}]]>
|
||||
</programlisting>
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Exemple de configuration complète de l'attribut</citetitle>
|
||||
<![CDATA['pwdHistory' => array (
|
||||
'label' => 'Passwords in history',
|
||||
'ldap_type' => 'pwdHistory',
|
||||
'html_type' => 'jsonCompositeAttribute',
|
||||
'html_options' => array (
|
||||
'components' => array (
|
||||
'time' => array (
|
||||
'label' => 'Date added to history',
|
||||
'type' => 'text',
|
||||
'required' => true,
|
||||
'multiple' => false,
|
||||
),
|
||||
'syntaxOID' => array (
|
||||
'label' => 'Syntax OID',
|
||||
'type' => 'text',
|
||||
'required' => true,
|
||||
'multiple' => false,
|
||||
),
|
||||
'length' => array (
|
||||
'label' => 'Length',
|
||||
'type' => 'text',
|
||||
'required' => true,
|
||||
'multiple' => false,
|
||||
),
|
||||
'hashed_password' => array (
|
||||
'label' => 'Hashed password',
|
||||
'type' => 'text',
|
||||
'required' => true,
|
||||
'multiple' => false,
|
||||
),
|
||||
),
|
||||
),
|
||||
'no_value_label' => 'History is empty.',
|
||||
'multiple' => 1,
|
||||
'rights' => array(
|
||||
'admin' => 'r',
|
||||
),
|
||||
'view' => 1,
|
||||
),]]>
|
||||
</programlisting>
|
||||
<para>La date et heure de l'ajout du mot de passe dans l'historique est convertie dans un format lisible.
|
||||
Par défaut, ce format est <literal>AAAA/MM/JJ HH:MM:SS</literal>, mais il peut aussi est personnalisé via
|
||||
le paramètre <literal>date_format</literal>. Ce format est composé à partir des motifs clés gérés par la
|
||||
fonction <function>date()</function> de &php;. Pour plus d'information, consulter
|
||||
<ulink url='http://www.php.net/date'>la documentation officielle</ulink>.</para>
|
||||
<note><simpara>La valeur par défaut est <emphasis>YmdHisO</emphasis>, correspondant à la syntaxe
|
||||
<literal>Generalized Time</literal> telle que définie dans la <ulink url='https://tools.ietf.org/html/rfc4517'>RFC4517
|
||||
</ulink> et prévu par le <ulink url='http://tools.ietf.org/id/draft-behera-ldap-password-policy-10.txt'>
|
||||
Draft-behera-ldap-password-policy</ulink> spécifiant cet attribut standard.</simpara></note>
|
||||
</sect4>
|
|
@ -1,9 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_sambaAcctFlags">
|
||||
<title>LSattr_ldap_sambaAcctFlags</title>
|
||||
<para>Ce type est prévu pour gérer l'attribut <emphasis>sambaAcctFlags</emphasis> du
|
||||
schéma Samba, qui au travers d'une seule et unique valeur, respectant un format prévu,
|
||||
liste l'ensemble des drapeaux actifs d'un compte Samba. Il transforme l'unique valeur
|
||||
de l'attribut LDAP en une liste de drapeaux actuellement activés sur le compte. Il est
|
||||
conçu pour être utilisé conjointement avec le type d'attribut HTML
|
||||
&LSattr_html_sambaAcctFlags;.</para>
|
||||
</sect4>
|
|
@ -1,11 +0,0 @@
|
|||
<sect4 id="config-LSattr_ldap_shadowExpire">
|
||||
<title>LSattr_ldap_shadowExpire</title>
|
||||
<para>Ce type est prévu pour gérer l'attribut <emphasis>shadowExpire</emphasis> du
|
||||
schéma POSIX, qui une stocke une date sous la forme d'un entier correspondant au
|
||||
nombre de jours depuis le premier 1er 1970. Il est prévu pour être utilisé
|
||||
conjointement avec le type d'attribut HTML &LSattr_html_date;.</para>
|
||||
|
||||
<note><simpara>Malgrés son nom, ce type d'attribut LDAP peux être utilisé pour d'autres
|
||||
attributs stockant ce même format de date, tel-que l'attribut <emphasis>shadowLastChange
|
||||
</emphasis>.</simpara></note>
|
||||
</sect4>
|
|
@ -1,74 +0,0 @@
|
|||
<sect3 id="config-LSattribute-check-data">
|
||||
<title>Configuration des règles de vérification syntaxique</title>
|
||||
<para>Cette section décrit la manière de configuer des règles de vérification
|
||||
syntaxique sur les données des attributs. Ces règles seront utilisées pour vérifier
|
||||
que les valeurs saisies par un utilisateur dans un formulaire sont correctes.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['check_data' => array (
|
||||
'[regle1]' => array(
|
||||
'msg' => "[Message d'erreur]",
|
||||
'params' => array(
|
||||
// Paramètres de la règle
|
||||
)
|
||||
),
|
||||
...
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<para>Le paramètre <parameter>check_data</parameter> est un tableau associatif
|
||||
dont les clés sont les noms des règles de vérification syntaxique actives et les
|
||||
valeurs associées sont des tableaux associatifs contenant les paramètres des
|
||||
règles.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>msg</term>
|
||||
<listitem>
|
||||
<simpara>Le message d'erreur à afficher lors que la règle n'est pas respectée (optionnel).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>params</term>
|
||||
<listitem>
|
||||
<simpara>Tableau associatif contenant les paramètres de la règle. Les
|
||||
paramètres possibles sont propres à chaque type de règle. Les clès sont les
|
||||
noms des paramètres et les valeurs associés, les valeurs des paramètres.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
&conf-LSattribute-check-data-alphanumeric;
|
||||
&conf-LSattribute-check-data-callable;
|
||||
&conf-LSattribute-check-data-date;
|
||||
&conf-LSattribute-check-data-differentPassword;
|
||||
&conf-LSattribute-check-data-email;
|
||||
&conf-LSattribute-check-data-filesize;
|
||||
&conf-LSattribute-check-data-imagefile;
|
||||
&conf-LSattribute-check-data-imagesize;
|
||||
&conf-LSattribute-check-data-inarray;
|
||||
&conf-LSattribute-check-data-integer;
|
||||
&conf-LSattribute-check-data-ldapSearchURI;
|
||||
&conf-LSattribute-check-data-lettersonly;
|
||||
&conf-LSattribute-check-data-maxlength;
|
||||
&conf-LSattribute-check-data-minlength;
|
||||
&conf-LSattribute-check-data-mimetype;
|
||||
&conf-LSattribute-check-data-nonzero;
|
||||
&conf-LSattribute-check-data-nopunctuation;
|
||||
&conf-LSattribute-check-data-numberOfValues;
|
||||
&conf-LSattribute-check-data-numeric;
|
||||
&conf-LSattribute-check-data-password;
|
||||
&conf-LSattribute-check-data-rangelength;
|
||||
&conf-LSattribute-check-data-regex;
|
||||
&conf-LSattribute-check-data-required;
|
||||
&conf-LSattribute-check-data-ssh_pub_key;
|
||||
&conf-LSattribute-check-data-telephonenumber;
|
||||
&conf-LSattribute-check-data-zxcvbn;
|
||||
|
||||
</sect3>
|
|
@ -1,27 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!ENTITY conf-LSattribute-check-data-alphanumeric SYSTEM "alphanumeric.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-callable SYSTEM "callable.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-date SYSTEM "date.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-differentPassword SYSTEM "differentPassword.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-email SYSTEM "email.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-filesize SYSTEM "filesize.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-imagefile SYSTEM "imagefile.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-imagesize SYSTEM "imagesize.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-inarray SYSTEM "inarray.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-integer SYSTEM "integer.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-ldapSearchURI SYSTEM "ldapSearchURI.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-lettersonly SYSTEM "lettersonly.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-maxlength SYSTEM "maxlength.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-mimetype SYSTEM "mimetype.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-minlength SYSTEM "minlength.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-nonzero SYSTEM "nonzero.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-nopunctuation SYSTEM "nopunctuation.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-numberOfValues SYSTEM "numberOfValues.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-numeric SYSTEM "numeric.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-password SYSTEM "password.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-rangelength SYSTEM "rangelength.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-regex SYSTEM "regex.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-required SYSTEM "required.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-ssh_pub_key SYSTEM "ssh_pub_key.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-telephonenumber SYSTEM "telephonenumber.docbook">
|
||||
<!ENTITY conf-LSattribute-check-data-zxcvbn SYSTEM "zxcvbn.docbook">
|
|
@ -1,20 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-alphanumeric">
|
||||
<title>alphanumeric</title>
|
||||
<para>Cette règle vérifie que la valeur est une chaîne de caractères composée
|
||||
uniquement de lettres non-accuentées, en minuscule ou en majuscule et/ou de
|
||||
chiffres.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>withAccents</term>
|
||||
<listitem>
|
||||
<simpara>Si le paramètre est à <emphasis>true</emphasis>, les lettres accentuées seront acceptées.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,24 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-callable">
|
||||
<title>callable</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est correcte en utilisant une
|
||||
fonction personnalisée. Cette fonction devra prendre en paramètres la valeur à
|
||||
valider, le tableau des paramètres de la règle ainsi qu'un pointeur sur l'objet
|
||||
<emphasis>LSformElement</emphasis>. Sur la base de ses informations, elle devra
|
||||
valider la valeur et retourner <literal>True</literal> si la valeur est valide
|
||||
et <literal>False</literal> sinon.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>callable</term>
|
||||
<listitem>
|
||||
<simpara>Le nom de la fonction (ou tout autre <literal>callable</literal> au sens PHP)
|
||||
de validation.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,30 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-date">
|
||||
<title>date</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est bien une date et qu'elle
|
||||
respecte un format précis.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>format</term>
|
||||
<listitem>
|
||||
<simpara>Format de la date à respecter. Ce format doit être compatible avec la
|
||||
fonction <function>strftime()</function> de &php;.
|
||||
<ulink url='http://www.php.net/strftime'>Voir la documentation de la
|
||||
fonction</ulink></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>special_values</term>
|
||||
<listitem>
|
||||
<para>Tableau listant les valeurs spéciales que peut prendre l'attribut. Dans ce tableau,
|
||||
seules les valeurs sont utilisées et les clés n'ont pas d'importance. Ces valeurs spéciales
|
||||
n'auront pas forcément besoin de respecter le format attendu.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,24 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-differentPassword">
|
||||
<title>differentPassword</title>
|
||||
<para>Cette règle vérifie que la valeur saisie ne correspond pas à
|
||||
un des mots de passe stockés dans d'autres attributs du même objet.
|
||||
</para>
|
||||
|
||||
<important><simpara>Les autres attributs doivent utiliser le type
|
||||
d'attribut <emphasis>LDAP</emphasis>
|
||||
<link linkend='config-LSattr_ldap_password'>LSattr_ldap_password
|
||||
</link>.</simpara></important>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>otherPasswordAttributes</term>
|
||||
<listitem>
|
||||
<simpara>La liste des autres attributs dont les mots de passe doivent être différent.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,29 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-email">
|
||||
<title>email</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est bien une adresse e-mail. Il
|
||||
est possible de vérifier si elle appartient bien à un domaine en particulier ou
|
||||
encore de vérifier si le domaine existe et qu'il possède un serveur de mail(MX).</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>domain</term>
|
||||
<listitem>
|
||||
<simpara>Nom de domaine obligatoire. Ce paramètre peut être une simple chaine
|
||||
correspondant au domaine ou un tableau listant plusieurs domaines
|
||||
possibles.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>checkDomain</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si le domaine de l'adresse mail doit être
|
||||
validée.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,25 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-filesize">
|
||||
<title>filesize</title>
|
||||
<para>Cette règle vérifie que la valeur est un fichier dont la taille en octets
|
||||
respecte les limites passées en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>minSize</term>
|
||||
<listitem>
|
||||
<simpara>Taille minimum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>maxSize</term>
|
||||
<listitem>
|
||||
<simpara>Taille maximum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,12 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-imagefile">
|
||||
<title>imagefile</title>
|
||||
<para>Cette règle vérifie que la valeur est bien un fichier et que le type mime
|
||||
de celui-ci est bien une image. Cette règle utilise la règle mimetype en spécifiant
|
||||
si l'utilisateur ne le fait pas que le type mime doit respecter la regex suivante :
|
||||
<literal>/image\/.*/</literal></para>
|
||||
|
||||
<important><simpara>Cette règle est une simple interface à la règle mimetype,
|
||||
il est donc possible de passer d'autres paramètres propres à ce type.</simpara>
|
||||
</important>
|
||||
|
||||
</sect4>
|
|
@ -1,39 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-imagesize">
|
||||
<title>imagesize</title>
|
||||
<para>Cette règle vérifie que la valeur est une image dont la taille en pixels
|
||||
respecte les limites passées en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>minWidth</term>
|
||||
<listitem>
|
||||
<simpara>Largeur minimum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>maxWitdh</term>
|
||||
<listitem>
|
||||
<simpara>Largeur maximum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>minHeight</term>
|
||||
<listitem>
|
||||
<simpara>Hauteur minimum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>maxHeight</term>
|
||||
<listitem>
|
||||
<simpara>Hauteur maximum.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,27 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-inarray">
|
||||
<title>inarray</title>
|
||||
<para>Cette règle vérifie que la valeur saisie fait partie d'une liste de valeurs
|
||||
autorisées (ou interdites).</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>possible_values</term>
|
||||
<listitem>
|
||||
<simpara>Tableau listant les valeurs autorisées.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>reverse</term>
|
||||
<listitem>
|
||||
<simpara>Booléen permettant d'inverser la logique de validation : si <literal>reverse</literal>
|
||||
est vrai, la valeur testée sera acceptée si elle ne fait pas partie des valeurs possibles
|
||||
(Paramètre facultatif, par défaut : <literal>faux</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,39 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-integer">
|
||||
<title>integer</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est un entier. Les paramètres
|
||||
permettent de spécifier éventuellement si la valeur doit être positive ou négative
|
||||
et également de borner les valeurs valides.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>positive</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la valeur doit être positive.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>negative</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si la valeur doit être negative.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>min</term>
|
||||
<listitem>
|
||||
<simpara>Valeur minimale (supérieur ou égale).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>max</term>
|
||||
<listitem>
|
||||
<simpara>Valeur maximale (inférieur ou égale).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,92 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-ldapSearchURI">
|
||||
<title>ldapSearchURI</title>
|
||||
<para>Cette règle vérifie que la valeur est une URI de recherche LDAP valide, c'est
|
||||
à dire, par exemple,
|
||||
<literal>ldaps://ldap.example.com:636/o=example?attr1,attr2?one?(gidNumber=100)</literal>
|
||||
</para>
|
||||
<para>Cette vérification commence par découper la valeur à l'aide du sépérateur
|
||||
<literal>?</literal> et elle s'assure ensuite :
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><simpara>Que la première partie est bien une URI LDAP valide. Si l'hôte
|
||||
LDAP est spécifié, elle s'assure qu'il soit une adresse IP ou un nom de domaine valide.
|
||||
Si le port LDAP est spécifié, elle s'assure également qu'il soit correct et que l'hôte
|
||||
est également bien spécifié.</simpara></listitem>
|
||||
|
||||
<listitem><simpara>Si la base de recherche est spécifiée, elle s'assure qu'elle soit
|
||||
compatible avec la racine de l'annuaire connecté.</simpara></listitem>
|
||||
|
||||
<listitem><simpara>Si un ou plusieurs attributs sont spécifiés, elle les vérifie un à un
|
||||
afin de vérifier qu'il s'agit de nom d'attribut valide.</simpara></listitem>
|
||||
|
||||
<listitem><simpara>Que le scope de recherche soit bien spécifié et valide.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem><simpara>Si le filtre de recherche est spécifié, elle vérifie qu'il soit valide.
|
||||
</simpara></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>check_resolving_ldap_host</term>
|
||||
<listitem>
|
||||
<simpara>Si l'hôte du serveur LDAP est spécifié et qu'il s'agit d'un nom de domaine valide,
|
||||
un tentative de résolution DNS sera également faite (optionnel, par défaut :
|
||||
<literal>Vrai</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>host_required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen détermintant si une erreur est relevée en cas d'absence de l'hôte
|
||||
LDAP. (optionnel, par défaut : <literal>Faux</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>basedn_required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen détermintant si une erreur est relevée en cas d'absence de base de
|
||||
recherche. (optionnel, par défaut : <literal>Faux</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>scope_required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen détermintant si une erreur est relevée en cas d'absence de portée de
|
||||
recherche. (optionnel, par défaut : <literal>Vrai</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>attr_required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen détermintant si une erreur est relevée en cas d'absence d'attribut
|
||||
recherché. (optionnel, par défaut : <literal>Faux</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>max_attrs_count</term>
|
||||
<listitem>
|
||||
<simpara>Nombre maximum d'attribut recherchés. (optionnel, par défaut : pas de limite)
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>filter_required</term>
|
||||
<listitem>
|
||||
<simpara>Booléen détermintant si une erreur est relevée en cas d'absence de filtre de
|
||||
recherche. (optionnel, par défaut : <literal>Faux</literal>)</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</sect4>
|
|
@ -1,5 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-lettersonly">
|
||||
<title>lettersonly</title>
|
||||
<para>Cette règle vérifie que la valeur est une chaîne de caractères composée
|
||||
uniquement de lettres non-accuentées, en minuscule ou en majuscule.</para>
|
||||
</sect4>
|
|
@ -1,18 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-maxlength">
|
||||
<title>maxlength</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est une chaine de caractères
|
||||
dont la longueur est inférieur ou égale à la valeur passées en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramêtres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>limit</term>
|
||||
<listitem>
|
||||
<simpara>Limite supérieur (ou égale) de la longueur de la chaîne de caratères.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,27 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-mimetype">
|
||||
<title>mimetype</title>
|
||||
<para>Cette règle vérifie que la valeur est bien un fichier et que le type mime
|
||||
de celui-ci est correct. Il est possible de vérifier si le type mime fait partie
|
||||
d'une liste ou encore s'il valide une expression régulière.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>mimeType</term>
|
||||
<listitem>
|
||||
<simpara>Type mime obligatoire. Ce paramètre peut être une simple chaine
|
||||
correspondant au type mime ou un tableau listant plusieurs possibilités.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>mimeTypeRegEx</term>
|
||||
<listitem>
|
||||
<simpara>Expression régulière que doit respecter le type mime.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,18 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-minlength">
|
||||
<title>minlength</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est une chaine de caractères
|
||||
dont la longueur est supérieur ou égale à la valeur passée en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>limit</term>
|
||||
<listitem>
|
||||
<simpara>Limite inférieure (ou égale) de la longueur de la chaîne de caratères.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,4 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-nonzero">
|
||||
<title>nonzero</title>
|
||||
<para>Cette régle vérifie que la valeur est une valeur numérique non nulle.</para>
|
||||
</sect4>
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-nopunctuation">
|
||||
<title>nopunctuation</title>
|
||||
<para>Cette régle vérifie que la valeur est une chaîne de caractères ne contenant
|
||||
pas de signe de ponctuation. Les caractères suivants sont actuellement exclus :
|
||||
<literal><![CDATA[( ) . \ / \ * \ ^ \ ? # ! @ $ % + = , " ' > < ~ [ ] { }]]></literal></para>
|
||||
</sect4>
|
|
@ -1,25 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-numberOfValues">
|
||||
<title>numberOfValues</title>
|
||||
<para>Cette règle vérifie que le nombre de valeurs de l'attribut est comprise entre les limites
|
||||
passées en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>min</term>
|
||||
<listitem>
|
||||
<simpara>Nombre minimum de valeurs (paramètre optionnel).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>max</term>
|
||||
<listitem>
|
||||
<simpara>Nombre maximum de valeurs (paramètre optionnel).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,4 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-numeric">
|
||||
<title>numeric</title>
|
||||
<para>Cette régle vérifie que la valeur est une valeur numérique.</para>
|
||||
</sect4>
|
|
@ -1,53 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-password">
|
||||
<title>password</title>
|
||||
<para>Cette règle vérifie que la valeur est un mot de passe respectant la politique
|
||||
de sécurité définie par les paramètres de la règle.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>minlength</term>
|
||||
<listitem>
|
||||
<simpara>Longueur minimale du mot de passe.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>maxlength</term>
|
||||
<listitem>
|
||||
<simpara>Longueur maximale du mot de passe.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>prohibitedValues</term>
|
||||
<listitem>
|
||||
<simpara>Tableau de valeurs interdites.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>regex</term>
|
||||
<listitem>
|
||||
<simpara>Expression(s) régulière(s) que doit respecter le mot de passe. Ce
|
||||
paramètre peut être une expression régulière au format
|
||||
<ulink url='http://php.net/pcre.pattern'>PCRE</ulink> ou un tableau
|
||||
d'expressions régulières.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>minValidRegex</term>
|
||||
<listitem>
|
||||
<simpara>Le nombre minimum d'expression régulière qui doivent être validées
|
||||
pour que le mot de passe soit considéré comme correct. Ce paramètre est
|
||||
optionnel, par défaut, toutes les expressions régulières doivent être
|
||||
validées.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,19 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-rangelength">
|
||||
<title>rangelength</title>
|
||||
<para>Cette règle vérifie que la valeur saisie est une chaine de caractères
|
||||
dont la longueur est comprise entre deux valeurs passées en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètre de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>limits</term>
|
||||
<listitem>
|
||||
<simpara>Tableau contenant deux valeurs, la première étant la limite inférieure
|
||||
ou égale et la seconde la limite supérieure ou égale.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,18 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-regex">
|
||||
<title>regex</title>
|
||||
<para>Cette règle vérifie que la valeur saisie respecte bien l'expression
|
||||
régulière passée en paramètre.</para>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>regex</term>
|
||||
<listitem>
|
||||
<simpara>L'expression régulière devant être respectée. Cette expression régulière doit être au format <ulink url='http://php.net/pcre.pattern'>PCRE</ulink>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,5 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-required">
|
||||
<title>required</title>
|
||||
<para>Cette régle vérifie que la valeur n'est pas une chaîne de caractères de
|
||||
longueur nulle.</para>
|
||||
</sect4>
|
|
@ -1,9 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-ssh_pub_key">
|
||||
<title>ssh_pub_key</title>
|
||||
<para>Cette règle vérifie que la valeur est une clé publique SSH.</para>
|
||||
<para>Cette vérification utilise tout d'abord une expression régulière
|
||||
pour valider la forme syntaxique de la clé publique
|
||||
(<literal>ssh-[type] [clé au format base64] [commentaire]</literal>) puis
|
||||
tente de décoder la partie en base64 de la clé pour vérifier qu'il s'agit
|
||||
bien d'une chaine de caractères.</para>
|
||||
</sect4>
|
|
@ -1,6 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-telephonenumber">
|
||||
<title>telephonenumber</title>
|
||||
<para>Cette régle vérifie que la valeur est un numéro de téléphone français.
|
||||
Celui-ci doit respecter l'expression regulière suivante :
|
||||
<literal>/^(01|02|03|04|05|06|08|09)[0-9]{8}$/</literal></para>
|
||||
</sect4>
|
|
@ -1,70 +0,0 @@
|
|||
<sect4 id="config-LSattribute-check-data-zxcvbn">
|
||||
<title>zxcvbn</title>
|
||||
<para>Cette règle vérifie la sécurité d'un mot de passe en utilisant la librairie
|
||||
<ulink url='https://github.com/bjeavons/zxcvbn-php'>ZxcvbnPhp</ulink>. Cette
|
||||
librairie s'appuie sur un ensemble de vérifications permettant de déterminer à
|
||||
quel point le mot de passe choisi est commun, prévisible et plus globalement,
|
||||
estime en combien de temps il pourra être cassé par une personne malveillante. Sur
|
||||
la base de l'analyse du mot de passe saisi, des conseils seront donnés à
|
||||
l'utilisateur pour le guider dans le choix d'un mot de passe sûre.</para>
|
||||
|
||||
<warning><simpara>La librairie <literal>ZxcvbnPhp</literal> n'est compatible qu'avec
|
||||
PHP 7 et supérieur.</simpara></warning>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>minScore</term>
|
||||
<listitem>
|
||||
<simpara>Le score minimal pour que le mot de passe soit accepté. Il doit s'agir d'un
|
||||
entier cimpris entre 0 (le plus faible) et 4 (le plus sécurisé). Paramètre facultatif
|
||||
valant 4 par défaut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>userDataAttrs</term>
|
||||
<listitem>
|
||||
<simpara>Liste d'attributs de l'objet dont les valeurs seront passées à la librairie
|
||||
<literal>Zxcvbn</literal> qui les considérera comme associés à l'utilisateur. Ainsi,
|
||||
par exemple, si l'utilisateur utilise son nom de famille ou encore son prénom dans
|
||||
son mot de passe, la librairie pourra lui indiqué que cela ne le protège que peut
|
||||
des attaques ciblées. Paramètre facultatif, mais il est fortement conseillé de
|
||||
renseigner un maximum d'attributs contenant des informations personnelles relatives
|
||||
à l'utilisteur.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>showWarning</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si les messages d'alertes retournés par la librairie
|
||||
<literal>Zxcvbn</literal> doivent être affichés à l'utilisateur. Paramètre facultatif
|
||||
et vrai par défaut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>showSuggestions</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si les messages de suggestions retournés par la librairie
|
||||
<literal>Zxcvbn</literal> doivent être affichés à l'utilisateur. Paramètre facultatif
|
||||
et vrai par défaut.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>zxcvbn_autoload_path</term>
|
||||
<listitem>
|
||||
<simpara>Le chemin vers le fichier de chargement automatique des classes de la
|
||||
librairie <emphasis>ZxcvbnPhp</emphasis>. Ce paramètre est facultatif et vaut
|
||||
par défaut <literal>Zxcvbn/autoload.php</literal>, ce qui est adapté si vous
|
||||
utiliser le paquet Debian <literal>php-zxcvbn</literal> disponible sur le dépôt
|
||||
Debian du projet LdapSaisie.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
|
@ -1,101 +0,0 @@
|
|||
<sect3 id="config-LSattribute-triggers">
|
||||
<title>Déclencheurs</title>
|
||||
<para>Cette section décrit la manière de paramétrer des déclencheurs afin que
|
||||
&LdapSaisie; exécute durant ses processus, et à des moments bien précis des
|
||||
traitements d'un &LSattribute;, des fonctions que vous pourrez développer vous
|
||||
même. De plus, le résultat de l'exécution de vos fonctions pourra influer
|
||||
sur le déroulement des processus.</para>
|
||||
|
||||
<para>Actuellement, les évènements suivant sont gérés :
|
||||
|
||||
<informaltable>
|
||||
<tgroup cols="3"> <!-- on décrit le nombre de colonnes -->
|
||||
<thead> <!-- on passe au "header" du tableau -->
|
||||
<row>
|
||||
<entry>Nom</entry>
|
||||
<entry>Description</entry>
|
||||
<entry>Bloquant</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody> <!-- et on remplit les lignes -->
|
||||
<row>
|
||||
<entry><literal>before_create</literal></entry>
|
||||
<entry><simpara>Avant la création du LSobject, lorsque l'attribut a au
|
||||
moins une valeur.</simpara></entry>
|
||||
<entry><simpara>Oui</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>after_create</literal></entry>
|
||||
<entry><simpara>Après la création du LSobject, lorsque l'attribut a au
|
||||
moins une valeur.</simpara></entry>
|
||||
<entry><simpara>Non</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>before_modify</literal></entry>
|
||||
<entry><simpara>Avant la modification de la valeur de l'attribut.</simpara></entry>
|
||||
<entry><simpara>Oui</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>after_modify</literal></entry>
|
||||
<entry><simpara>Après la modification de la valeur de l'attribut.</simpara></entry>
|
||||
<entry><simpara>Non</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>before_delete</literal></entry>
|
||||
<entry><simpara>Avant la suppression du LSobject contenant l'attribut.</simpara></entry>
|
||||
<entry><simpara>Oui</simpara></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>after_delete</literal></entry>
|
||||
<entry><simpara>Après la suppression du LSobject contenant l'attribut.</simpara></entry>
|
||||
<entry><simpara>Non</simpara></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<note><simpara>Si un événement est dit <emphasis>bloquant</emphasis>, lors de
|
||||
l'exécution des actions liées, si une des fonctions retourne <literal>false
|
||||
</literal>, le processus s'arrêtera.</simpara></note>
|
||||
</para>
|
||||
<sect4 id="config-LSattribute-triggers-config">
|
||||
<title>Configuration</title>
|
||||
<para>La configuration des déclencheurs se fait dans la définition des
|
||||
&LSattributes;. Par exemple, pour définir les fonctions à exécuter après la
|
||||
modification de la valeur de l'attribut <emphasis>mail</emphasis> du type de
|
||||
&LSobject; <emphasis>LSpeople</emphasis>, c'est à dire lors de leur évenement
|
||||
<literal>after_modify</literal>, il faut définir la variable suivante :
|
||||
<programlisting linenumbering="unnumbered"><![CDATA[$GLOBALS['LSobjects']['LSpeople']['attrs']['mail']['after_modify']]]></programlisting>
|
||||
Cette variable peut contenir soit une chaine de caractères correspondant au
|
||||
nom de la fonction à exécuter, soit un tableau de chaînes de caractères
|
||||
correspondant aux noms des fonctions à exécuter.</para>
|
||||
</sect4>
|
||||
<sect4 id="config-LSattribute-triggers-writing">
|
||||
<title>Écriture d'une fonction</title>
|
||||
<para>Une fonction exécuté par un déclencheur d'un LSattribute se déclare de
|
||||
la manière suivante :
|
||||
<programlisting linenumbering="unnumbered"><![CDATA[
|
||||
/*
|
||||
* Ma fonction à exécuter lors de l'évènement [event]
|
||||
*
|
||||
* Paramètre :
|
||||
* - $object : Le LSobject contenant le LSattribute sur lequel l'évenement
|
||||
* survient
|
||||
*
|
||||
* Valeurs retournées :
|
||||
* - True : Tout s'est bien passé
|
||||
* - False : Une erreur est survenue ou la fonction souhaite bloquer le
|
||||
* processus lors d'un évènement bloquant.
|
||||
*/
|
||||
function maFonction ($object) {
|
||||
|
||||
// Actions
|
||||
|
||||
}
|
||||
]]></programlisting>
|
||||
Cette fonction doit prendre pour seul paramètre, le LSobject contenant le
|
||||
LSattribute sur lequel l'évenement survient et doit retourner soit
|
||||
<literal>True</literal> si tout s'est bien passé, soit <literal>False</literal>
|
||||
en cas de problème. Dans le cas d'un événement bloquant, si la fonction retourne
|
||||
<literal>False</literal>, le processus est arrêté.</para>
|
||||
</sect4>
|
||||
</sect3>
|
|
@ -1,147 +0,0 @@
|
|||
<sect3 id="config-LSattribute-validation">
|
||||
<title>Configuration des règles de vérification d'intégrité</title>
|
||||
<para>Cette section décrit la manière de configurer des règles de vérification
|
||||
d'intégrité sur les données des attributs. Il est possible de valider la valeur
|
||||
de l'attribut par l'intermédiraire de la vérification de résultat d'une
|
||||
recherche paramètrable dans l'annuaire ou encore d'appeler une fonction de
|
||||
votre choix pour effectuer la vérification voulue.</para>
|
||||
|
||||
<sect4 id='config-LSattribute-validation-search'>
|
||||
<title>Validation par l'analyse du résultat d'une recherche dans l'annuaire</title>
|
||||
<para>Une telle règle permet de vérifier si les valeurs des attributs n'entrent
|
||||
pas en conflit avec d'autres objets de l'annuaire. Ce test peut également
|
||||
permetre de vérifier si les valeurs devant faire référence à d'autres objets
|
||||
de l'annuaire sont correctes.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['validation' => array (
|
||||
...
|
||||
array(
|
||||
'msg' => "[LSformat du message d'erreur]",
|
||||
'filter' => '[LSformat du filtre de la recherche]',
|
||||
'object_type' => '[Type d'LSobject recherché]',
|
||||
'basedn' => '[BaseDn de la recherche]',
|
||||
'scope' => '[Scope de la recherche]',
|
||||
'result' => '[Résultat positif de la recherche]',
|
||||
'except_current_object' => '[Exclure l'objet courant]'
|
||||
),
|
||||
...
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>msg</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du message d'erreur à afficher lorsque la validation
|
||||
échoue. Ce format est construit avec les valeurs du &LSobject;.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>filter</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du filtre de la recherche. Ce format peut être construit
|
||||
avec toutes les valeurs du LSobject (attributs, DN, ...) et également avec
|
||||
la valeur à valider en utilisant pour mot clé <emphasis>%{val}
|
||||
</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>object_type</term>
|
||||
<listitem>
|
||||
<simpara>Le nom du type d'LSobject recherché. Si un type est spécifié, le
|
||||
filtre de la recherche sera une combinaison de celui du paramètre <parameter>
|
||||
filter</parameter> et du filtre composé à partir des <emphasis>objectClass
|
||||
</emphasis> du type d'&LSobject;. <emphasis>Paramètre facultatif.</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>basedn</term>
|
||||
<listitem>
|
||||
<simpara>Le <emphasis>basedn</emphasis> de la recherche <emphasis>(Paramètre
|
||||
facultatif, par défaut : racine de l'annuaire)</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>scope</term>
|
||||
<listitem>
|
||||
<simpara>Le <emphasis>scope</emphasis> de la recherche <emphasis>(Paramètre
|
||||
facultatif, par défaut : <literal>sub</literal>)</emphasis>.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>result</term>
|
||||
<listitem>
|
||||
<simpara>Le résultat de la recherche : si <parameter>result</parameter> vaut
|
||||
zéro, la recherche ne devra retourner aucun objet pour que la validation soit
|
||||
réussie. Sinon, la recherche devra retourner au moins un objet.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>except_current_object</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'objet courrant doit être exclu du résultat
|
||||
de la recherche. Ce paramètre n'est évalué quand cas de création (formulaire
|
||||
<literal>create</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
||||
|
||||
<sect4 id='config-LSattribute-validation-function'>
|
||||
<title>Validation par l'exécution d'une fonction</title>
|
||||
<para>Il est possible d'effectuer la validation de l'attribut par l'exécution
|
||||
d'une fonction de votre choix. Il lui sera passé en paramètre une référence à
|
||||
l'objet <literal>LSldapObject</literal> courant. Si la fonction ne retourne
|
||||
pas <emphasis>true</emphasis>, la validation échouera.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle>...
|
||||
<![CDATA['validation' => array (
|
||||
..
|
||||
array(
|
||||
'msg' => "[LSformat du message d'erreur]",
|
||||
'function' => '[Nom de la fonction de validation]'
|
||||
),
|
||||
...
|
||||
),]]>
|
||||
...
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>msg</term>
|
||||
<listitem>
|
||||
<simpara>&LSformat; du message d'erreur à afficher lorsque la validation
|
||||
échoue. Ce format est construit avec les valeurs du &LSobject;.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>function</term>
|
||||
<listitem>
|
||||
<simpara>Le nom de la fonction à exécuter. Si cette fonction n'existe pas,
|
||||
un message d'erreur sera affiché et la validation échouera.</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
||||
|
||||
|
||||
</sect3>
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<sect1 id='config-LSauthMethod'>
|
||||
<title>Configuration des LSauthMethods</title>
|
||||
<para>
|
||||
Cette partie décrit la manière de configurer les méthodes
|
||||
d'authentification d'&LdapSaisie; appelée &LSauthMethod;. Ces
|
||||
librairies peuvent avoir un fichier de configuration et il sera alors
|
||||
stocké dans le dossier <literal>conf/LSauth/</literal>.
|
||||
</para>
|
||||
|
||||
&conf-LSauthMethod_HTTP;
|
||||
&conf-LSauthMethod_CAS;
|
||||
&conf-LSauthMethod_anonymous;
|
||||
|
||||
</sect1>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue