71ed59896e
Conflicts: .gitignore library/Scores/Ws/Client/Entreprise.php library/Scores/Ws/Client/Gestion.php |
||
---|---|---|
application | ||
docs | ||
library | ||
public | ||
scripts | ||
.gitignore | ||
composer.json | ||
composer.lock | ||
TODELETE |
README ====== - Project - System Requirements - Installation - Library - Translate Note : Project are define to be use on Linux Server, so take care about path and file name. PROJECT ======= This application is a frontend for the WebService and it's display information graphically. SYSTEM REQUIREMENTS =================== - Apache 2.4 - PHP 5.5.x - Chartdir library - browscap.ini (http://tempdownloads.browserscap.com/, http://browscap.org/) - wkhtmltopdf (http://wkhtmltopdf.org/) INSTALLATION ============ See the file scripts/build/configure.php On server this script is automatically called with the install option. configure.php --install Each servers are reference with a directory, name as the hostname, in config dir and all configure file is list here Environment configuration ------------------------- - Variables Define application environment in the vhost. This mode activate special features and debugging mode. SetEnv APPLICATION_ENV "production" => Production SetEnv APPLICATION_ENV "staging" => Recette SetEnv APPLICATION_ENV "development" => Developpement - Persistent Storage data/asso data/association data/bilanclient data/bodacc data/courrier data/giant data/greffes data/groupes data/iris data/log data/logos data/marques data/nouveautes data/wkhtml - Temporary storage [projet]/data/ cache files pages sessions wsdl Apache configuration -------------------- => Development example <VirtualHost *:80> ServerName extranet.sd.dev AddDefaultCharset utf-8 DocumentRoot "WORKSPACE/extranet/public" SetEnv APPLICATION_ENV "development" <Directory "WORKSPACE/extranet/public/"> AllowOverride All Order allow,deny Allow from all <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^/favicon.ico$ [OR] RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] </IfModule> </Directory> # Possible values include: debug, info, notice, warn, error, crit, alert, emerg. LogLevel debug ErrorLog "logs/extranet-error.log" CustomLog "logs/extranet-access.log" common </VirtualHost> => Production configuration See VHOST file PHP Configuration ----------------- File upload ----------- post_max_size = 50M file_uploads = On upload_max_filesize = 40M max_file_uploads = 10 Session ------- On sharing plateform, these parameters must be specified to the best value for all web application session.gc_maxlifetime = 86400 session.cookie_lifetime = 86400 Application must override the session.save_path, soap.wsdl_cache_dir to define it's own path. Project Configuration --------------------- - Autoloader See in the public/index.php. We use Classmpap Autloader which store Class Key and his file path. To generate classmap file use bin/classmap_generator.php - WKHTMLTOPDF ----------- - Get the static version of wkhtmltopdf - On Ubuntu : sudo apt-get install libxrender1 libfontconfig - Set execution flag (chmod +x) - Test on command line Page Break with WkhtmlToPdf : In print CSS use all theses page-break-* properties page-break-before, page-break-after Auto Pas de règle particulière en ce qui concerne les sauts de page. Always Force un saut de page systématiquement avant ou après l'élément. Avoid Evite dans la mesure du possible un saut de page avant ou après l'élément. Left Définit que le prochain saut de page se fera sur la page de gauche. Right Définit que le prochain saut de page se fera sur la page de droite. Inherit Valeur identique à celle de l'élément parent. page-break-inside Auto Pas de règle particulière en ce qui concerne les sauts de page. Avoid Evite dans la mesure du possible un saut de page au milieu l'élément. Inherit Valeur identique à celle de l'élément parent. WebService ---------- Partners -------- LIBRARY ======= TRANSLATE ========= 1. Creating PO file -------------------- To create a PO file for different applications, first we need to download and install poedit, here is the download link http://www.poedit.net/download.php 2. Set the poedit preferences ----------------------------- File->Preferences : Fill fields to set our identies tab Parsers, edit PHP settings, in the list of extension add *.phtml 3. Open a po file ------------------ PO file configuration for each project. As project as to be share use path that could work everywhere. Catalogue->Properties, Set the Base paht to "../../" (to read under the whole project, if po files is located under PROJECT/application/languages/) Add supplemental paths to look in (application, library,....) Add more precise search string by configuring in the Sources keywords these items translate _ setLabel setValue setMessage setLegend _refresh append prepend In PHP source embrace all strings only with these functions. Gestion des sessions ==================== Pour la gestion des sessions, il est nécessaire de faire une configuration spéciale afin d'éviter les conflits entre les différents vhosts. Les sessions sont stockées dans le même repertoire, les valeurs gc_maxlifetime, cookie_lifetime définissent les limites de validité des sessions. Il faut savoir que chaque modification faites par chaque application, dans chaque vhosts modifie le fonctionnement général de PHP. Pour eviter d'avoir des conflits sur la gestion des sessions, nous stockons les sessions dans un répertoire définit. Voir la configuration dans le fichier application.ini resources.session.save_path = APPLICATION_PATH "/../cache/sessions" resources.session.gc_maxlifetime = 86400 resources.session.cookie_lifetime = 86400 resources.session.remember_me_seconds = 86400 Debuggage ================= Firebug et ChromePHP sont disponible. Voir dans le fichier Bootstrap pour activer ou non le debuggage. CONFIGURATION APC ================= apc.cache_by_default = On apc.enable_cli = Off apc.enabled = On apc.shm_size = 60 apc.max_file_size = 1M apc.include_once_override = On apc.stat = Off apc.stat_ctime = Off apc.shm_size : Taille du cache en Mo. apc.num_files_hint : La valeur du nombre maximum de fichiers à cacher est conseillée. apc.user_entries_hint : La valeur du nombre maximum d'entrées utilisateur (cache utilisateur) à stocker est conseillée. Il n'est pas conseillé de tenter de leurrer APC en doublant (par exemple) ces valeurs. APC double déja en interne les valeurs spécifiées, et le gain en performances est fortement réduit avec des valeurs non adaptées. apc.stat : Se base sur les dates de modifications pour recharger le fichier apc.stat_ctime : Se base sur les dates de création pour recharger le fichier apc.max_file_size : Restriction sur la taille maximum d'un fichier à cacher. Ceci peut créer des problèmes de performance lors de la demande en cache de ces fichiers-là, mais si la mémoire est limitée, l'option demeure intéressante apc.filters : Expression régulière utilisée pour exclure tout fichier dont le nom a une correspondance. apc.cache_by_default : Inverse la tendance de apc.filters : APC cachera uniquement les fichiers qui ont une correspondance sur le filtre, au lieu de les ignorer. apc.cache_by_default = Off apc.filters = "+\.php$" Dans le vhosts d'apache : php_flag apc.cache_by_default On