Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Commits on Source (19644)
This diff is collapsed.
This diff is collapsed.
variables:
MYSQL_HOST: registry.afi-sa.net__hds__mariadb-docker
MYSQL_DATABASE: "bokeh_build_${CI_BUILD_REF}"
MYSQL_ROOT_PASSWORD: root
BOKEH_HTML_VALIDATOR_URL: "http://sthysel__nuhtml:8888"
test:php81_bokeh:
image:
name: registry.afi-sa.net/hds/php-nginx-docker:8.1-dev
pull_policy: always
services:
- sthysel/nuhtml
script:
- bash build_bokeh.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD $MYSQL_HOST
except:
- tags
tags:
- 81_bokeh
test:php81_other:
image:
name: registry.afi-sa.net/hds/php-nginx-docker:8.1-dev
pull_policy: always
services:
- registry.afi-sa.net/hds/mariadb-docker:10.11.8
- sthysel/nuhtml
script:
- bash scripts/ci_data_preparation.sh $MYSQL_DATABASE $MYSQL_HOST $MYSQL_ROOT_PASSWORD
- bash build_other.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD $MYSQL_HOST
except:
- tags
tags:
- 81_other
test:php81_scenario:
image:
name: registry.afi-sa.net/hds/php-nginx-docker:8.1-dev
pull_policy: always
services:
- sthysel/nuhtml
script:
- bash build_scenario.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD $MYSQL_HOST
except:
- tags
tags:
- 81_scenario
test:php83_bokeh:
image:
name: registry.afi-sa.net/hds/php-nginx-docker:alpine-8.3-dev
pull_policy: always
services:
- sthysel/nuhtml
script:
- bash build_bokeh.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD $MYSQL_HOST
except:
- tags
tags:
- 83_bokeh
test:php83_other:
image:
name: registry.afi-sa.net/hds/php-nginx-docker:alpine-8.3-dev
pull_policy: always
services:
- registry.afi-sa.net/hds/mariadb-docker:10.11.8
- sthysel/nuhtml
script:
- bash scripts/ci_data_preparation.sh $MYSQL_DATABASE $MYSQL_HOST $MYSQL_ROOT_PASSWORD
- bash build_other.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD $MYSQL_HOST
except:
- tags
tags:
- 83_other
test:php83_scenario:
image:
name: registry.afi-sa.net/hds/php-nginx-docker:alpine-8.3-dev
pull_policy: always
services:
- sthysel/nuhtml
script:
- bash build_scenario.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD $MYSQL_HOST
except:
- tags
tags:
- 83_scenario
[submodule "library/storm"]
path = library/storm
url = https://git.afi-sa.net/afi/storm.git
[submodule "library/Redmine"]
path = library/Redmine
url = https://git.afi-sa.net/afi/php-redmine-api.git
[submodule "library/iCal"]
path = library/iCal
url = https://git.afi-sa.net/afi/iCal.git
[submodule "library/PhpParser"]
path = library/PhpParser
url = https://git.afi-sa.net/afi/PHP-Parser.git
[submodule "library/matomo-php-tracker"]
path = library/matomo-php-tracker
url = https://git.afi-sa.net/afi/matomo-php-tracker.git
[submodule "library/php-jwt"]
path = library/php-jwt
url = https://git.afi-sa.net/afi/php-jwt.git
[submodule "library/phpseclib"]
path = library/phpseclib
url = https://git.afi-sa.net/afi/phpseclib.git
[submodule "library/activitystreams"]
path = library/activitystreams
url = https://git.afi-sa.net/afi/activitystreams.git
[submodule "public/tarteaucitron"]
path = public/tarteaucitron
url = https://git.afi-sa.net/afi/tarte_au_citron.git
[submodule "tests_js/lib/chrome-php"]
path = tests_js/lib/chrome-php
url = https://git.afi-sa.net/afi/chrome-php.git
[submodule "library/emogrifier"]
path = library/emogrifier
url = https://git.afi-sa.net/afi/emogrifier.git
RewriteEngine on
RewriteRule !(userfiles|public|tmp|temp)/.*\.(js|ico|txt|gif|jpg|jpeg|png|css|xml|swf|mov|pdf|doc|docx|woff|eot|svg|ttf|xls|wsdl)$ index.php [NC]
php_flag magic_quotes_gpc off
php_flag register_globals off
AddType application/x-javascript .js
AddType text/css .css
AddType application/json .json
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header add "Cache-Control" "max-age=604800, public"
</FilesMatch>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(google[a-z0-9]+\.html|.*/xhprof_html|ckeditor|exploit|\.well-known)
RewriteCond %{REQUEST_FILENAME} !^.*/robots\.txt$ [NC]
RewriteRule !(userfiles|public|tmp|temp|skins|library/templates|library/digital_resources/.*/js)/.*\.(js|ico|txt|gif|jpg|jpeg|png|css|xml|swf|mov|pdf|doc|docx|woff|woff2|eot|svg|ttf|xls|xlsx|xlsm|wsdl|mp3|m4v|ogg|ogv|epub|htm|html|xhtml|asmx|zip|sql|bro|flv|mp4|webm|tgz|json|geojson|xsl|ods|odp|odt|ots|ott|odm|odg|otg|otp)$ index.php [NC,NE]
AddType application/x-javascript .js
AddType text/css .css
AddType application/json .json
<FilesMatch "\.(css|js)($|\?.*$)">
SetOutputFilter DEFLATE
Header add "Cache-Control" "max-age=604800, public"
</FilesMatch>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header add "Cache-Control" "max-age=604800, public"
</FilesMatch>
VERSIONS
\ No newline at end of file
## Configurer le timeout pour les appels Webservice
Dans le fichier ./config.ini
Rajouter des clefs de style webservice_timeout
- webservice_timeout.all=10 pour permettre d'avoir un timeout de 10sec pour tout les appels Webservice
- webservice_timeout.Class_WebService_SIGB_Koha2405_Service=10 pour affecter un timeout que pour ce Webservice spécifique
# Contribute to source code
## Content
* [Prerequisite](#Prerequisite)
* [Create your own copy of the project](#Create-your-own-copy-of-the-project)
* [How to contribute to the source code](#How-to-contribute-to-the source-code)
* [Create a new skin](#Create-a-new-skin)
## Prerequisite
AFI & BIBLIBRE developpment teams use the opensource [forge](https://fr.wikipedia.org/wiki/Forge_%28informatique%29) libre [GitLab](https://www.gitlab.com) and the[SCM](https://fr.wikipedia.org/wiki/Gestion_de_versions) [Git](http://www.git-scm.com). Ce document décrit l'utilisation minimale nécessaire de ces deux outils pour pouvoir contribuer au code des projets maintenus par AFI et Biblibre. Néanmoins nous vous invitons à lire le livre [Pro Git](http://git-scm.com/book/fr).
Source code are hosted on https://git.afi-sa.fr. Public projects are accessible here https://git.afi-sa.fr/public.
## Create your own copy of the project
### Create a gitlab account
From the [Sign Up](http://git.afi-sa.fr/users/sign_up) page, you can create your account. You will receive a confirmation email.
### Clone the project
Once connected, from the [OPACCE project page](http://git.afi-sa.fr/afi/opacce), clic on the **Fork repository** button. You can also clone the project [here](http://git.afi-sa.fr/afi/opacce/fork).
This will create your own public copy of the project accessible through http://git.afi-sa.fr/my-account/opacce.
The SSH access is given from your project home page. for example git@git.afi-sa.fr:my_account/opacce.git
### Installing SSH access
In order to upload modifications on the gitlab you need SSH access. On [Your account page](http://git.afi-sa.fr/profile), in the [SSH Keys](http://git.afi-sa.fr/profile/keys) tab, use the link [Add SSH Key](http://git.afi-sa.fr/profile/keys/new).
#### Create & register your key
If you already have a key on your workstation in **~/.ssh/id_rsa.pub**, copy it.
otherwise, [ generate a key ](http://git.afi-sa.fr/help/ssh), with the following command:
```bash
ssh-keygen -t rsa -C "addresse_email@domaine.ext"
```
to show the content:
```bash
cat ~/.ssh/id_rsa.pub
```
#### configure SSH access
SS access uses **2950** port. Create or modify the **~/.ssh/config** file to add the following lines:
```
Host git.afi-sa.fr
Hostname git.afi-sa.fr
Port 2950
User git
IdentityFile ~/.ssh/id_rsa
```
## How to contribute to the source code
### Install your own copy of the project
The install process is described [Installation instructions](INSTALL.en.md), unlike described in the [Downloading source code](INSTALL.en.md#Downloading-source-code) section, you should use your own depository:
```bash
cd /var/www
git clone git@git.afi-sa.fr:mon_compte/opacce.git
```
### Update files and push them to gitlab
Once your done with your udpates, the file upload is done in two steps.
1. Commit your modifications locally
```bash
git commit -a -m "Commentaires des modifications"
```
2. Push your master branch to gitlab (origin):
```bash
git push origin master
```
For more details please check [Pro Git](http://git-scm.com/book/fr)
### Propose patches to the release team
On your private GitLab page, **Merge Requests** tab, clic on the link **+ New Merge Request** and fill the form to describe your patch.
### retrieve the last official release
Declate the official version depository (upstream) in your local project:
```bash
git remote add upstream git@git.afi-sa.fr:afi/opacce.git
```
Merge modifications:
```bash
# Download all modification from the master project
git fetch upstream master
# Merge the modifications in your local project
git merge upstream/master
# Push the result on the depository
git push origin master
```
## Create a new skin
### Create
Go to the skin directory in the root folder and duplicate it
```bash
cd skins
cp -a ../public/opac/skins/modele mon_skin
```
Go the the profil config page in the opac back office, you should see your skin in the combo.
### Save you skin on GitLab
Create a project on [GitLab](https://git.afi-sa.fr) to store the sourcecode. For exemple https://git.afi-sa.fr/mon_compte/mon_skin.
Go to my_skin and initialise the depository:
```bash
cd mon_skin
git init
git remote add origin -t master git@git.afi-sa.fr:mon_compte/mon_skin.git
git add *
git commit -m "Premier commit"
git push origin master
```
Now, new files should be acessible from https://git.afi-sa.fr/mon_compte/mon_skin/files
### Folder description
* **css/** contains the global.css file where to work. Other files are deprecated.
* **images/** icons **images/support/** for doc types. Files must be named: **support_id_.png**, for exemple **support_1.png** for books.
* **templates/** Box template on the home page. Files must be named with **_**, the liste will appear in the combo **Box style**. Every template can include tags **{TITRE}**, **{RSS}**, **{CONTENU}**. Pour avoir un rendu conditionnel, le fichier peut inclure les conditions **{IF-TITRE}**, **{IF-RSS}**, **{IF-CONTENU}** suivi de la balise **{ENDIF}**
```html
<div class="right-box">
<div class="right-box-inner">
{IF-TITRE}
<div class="header">
<div><h1>{TITRE}</h1></div>
<div class="rss">{RSS}</div>
</div>
{ENDIF}
<div class="content">
{CONTENU}
</div>
</div>
</div>
```
All files can be renamed in **application/modules/opac/views/scripts** . main files are:
* **footer.phtml** pour le pied de page
* **banniere.phtml** pour l'en-tête
* **skin_head.phtml** pour rajouter des éléments dans la balise **head** du site
* **accueil.phtml** pour la page d'accueil
* **contenu.phtml** pour les autres pages
\ No newline at end of file
# Contribuer au code source
## Contenu
* [Prérequis](#pr-requis)
* [Créer sa copie du projet](#cr-er-sa-copie-du-projet)
* [Contribuer au code](#contribuer-au-code)
* [Créer un nouveau skin](#cr-er-un-nouveau-skin)
## Prérequis
Les équipes de développement AFI et Biblibre utilisent le [sytème de gestion de développement](https://fr.wikipedia.org/wiki/Forge_%28informatique%29) libre [GitLab](https://www.gitlab.com) et le [système de gestion de version](https://fr.wikipedia.org/wiki/Gestion_de_versions) [Git](http://www.git-scm.com). Ce document décrit l'utilisation minimale nécessaire de ces deux outils pour pouvoir contribuer au code des projets maintenus par AFI et Biblibre. Néanmoins nous vous invitons à lire le livre [Pro Git](http://git-scm.com/book/fr).
Nous hébergeons les codes sources des projets sur une instance de GitLab accessible à l'URL https://git.afi-sa.fr. Les projets publics sont accessibles sans compte à l'URL https://git.afi-sa.fr/public.
## Créer sa copie du projet
### Créer un compte gitlab
Depuis la page [Sign Up](http://git.afi-sa.fr/users/sign_up) vous pouvez créer votre compte. Un mail sera automatiqument envoyé pour vous confirmer l'accès.
### Cloner le projet
Une fois connecté, depuis la [page du project OPACCE](http://git.afi-sa.fr/afi/opacce), cliquez sur le bouton **Fork repository**.
Cela vous créera une copie intégrale du projet, accessible publiquement à l'adresse http://git.afi-sa.fr/mon_compte/opacce.
L'accès SSH au dépôt git est donné sur la page d'accueil de votre projet. Par exemple git@git.afi-sa.fr:mon_compte/opacce.git
### Installer l'accès SSH
Le poussage de modifications sur gitlab requiert un accès ssh. Sur [la page de modification de votre profil](http://git.afi-sa.fr/profile), à l'onglet [SSH Keys](http://git.afi-sa.fr/profile/keys), le lien [Add SSH Key](http://git.afi-sa.fr/profile/keys/new) permet d'ajouter une clé.
#### Créer et déclarer sa clé
Si vous posséder déjà une clé sur votre poste de travail dans **~/.ssh/id_rsa.pub**, copiez le contenu.
Sinon pour [générer une clé SSH sur votre poste de travail](http://git.afi-sa.fr/help/ssh), utilisez la commande suivante:
```bash
ssh-keygen -t rsa -C "addresse_email@domaine.ext"
```
et pour afficher le contenu:
```bash
cat ~/.ssh/id_rsa.pub
```
#### Configurer l'accès SSH
L'accès SSH passe par le port **2950**. Créez ou modifiez le fichier **~/.ssh/config** pour y ajouter les lignes suivantes:
```
Host git.afi-sa.fr
Hostname git.afi-sa.fr
Port 2950
User git
IdentityFile ~/.ssh/id_rsa
```
## Contribuer au code
### Installer sa copie de l'OPAC
L'installation se déroule comme décrit [dans la procédure d'installation](INSTALL.fr.md), excepté que la commande pour cloner le projet décrite dans la section [Récupération des sources](INSTALL.md#Récupération-des-sources) utilise votre propre dépôt:
```bash
cd /var/www
git clone git@git.afi-sa.fr:mon_compte/opacce.git
```
### Faire des modifications et les pousser vers gitlab
Une fois quelques modifications effectuées, l'envoi des données se fait en deux temps.
1. Commit des modifications sur votre machine en local
```bash
git commit -a -m "Commentaires des modifications"
```
2. Pousser les modifications de votre branche master vers gitlab (origin):
```bash
git push origin master
```
Pour plus de détails, consultez [Pro Git](http://git-scm.com/book/fr)
### Proposer les modifications aux mainteneurs de la version officielle
Sur la page de votre projet GitLab, onglet **Merge Requests**, cliquez sur le lien **+ New Merge Request** et remplissez les différents champs pour décrire vos modifications.
### Récupérer les dernières modifications de la version officielle
Tout d'abord, il faut déclarer le dépôt de la version officielle (upstream) dans votre projet local:
```bash
git remote add upstream git@git.afi-sa.fr:afi/opacce.git
```
Ceci fait, vous pouvez fusionner les modifications dans votre branche:
```bash
# Télécharge toutes les nouvelles modifications du dépôt distant
git fetch upstream master
# Fusionne les nouvelles modifications dans votre répertoire
git merge upstream/master
# Pousse la fusion sur gitlab
git push origin master
```
## Créer un nouveau skin
### Création
Se placer dans le répertoire skins à la racine de l'OPAC et recopier le skin modele
```bash
cd skins
cp -a ../public/opac/skins/modele mon_skin
```
Aller dans la configuration d'un profil de l'OPAC, le nouveau skin devrait être disponible dans le sélecteur de thème.
### Sauvegarde sur GitLab
Créer le projet sur [GitLab](https://git.afi-sa.fr) pour stocker les sources. Par exemple https://git.afi-sa.fr/mon_compte/mon_skin.
Aller dans le répertoire mon_skin et initialiser le dépôt:
```bash
cd mon_skin
git init
git remote add origin -t master git@git.afi-sa.fr:mon_compte/mon_skin.git
git add *
git commit -m "Premier commit"
git push origin master
```
Ceci fait, les nouveaux fichiers devraient être accessibles sur https://git.afi-sa.fr/mon_compte/mon_skin/files
### Description des répertoires
* **css/** contient le fichier global.css sur lequel travailler. Les autres fichiers sont destinés à devenir obsolètes.
* **images/** les icônes, dont **images/support/** pour les types de support. Les fichiers doivent être nommés comme suit: **support_id_.png**, par exemple **support_1.png** pour les livres.
* **templates/** les modèles de rendu boite de la page d'accueil. Les fichiers doivent êtres nommés en séparant les mots par des tirets bas **_**, qui seront dans la configuration des boîtes **Style de boîte**. Chaque modèle de boîte peut inclure les tags **{TITRE}**, **{RSS}**, **{CONTENU}**. Pour avoir un rendu conditionnel, le fichier peut inclure les conditions **{IF-TITRE}**, **{IF-RSS}**, **{IF-CONTENU}** suivi de la balise **{ENDIF}**
```html
<div class="right-box">
<div class="right-box-inner">
{IF-TITRE}
<div class="header">
<div><h1>{TITRE}</h1></div>
<div class="rss">{RSS}</div>
</div>
{ENDIF}
<div class="content">
{CONTENU}
</div>
</div>
</div>
```
Tous les fichiers de vue du répertoire **application/modules/opac/views/scripts** peuvent être redéfinis dans un répertoire html. Les principaux sont:
* **footer.phtml** pour le pied de page
* **banniere.phtml** pour l'en-tête
* **skin_head.phtml** pour rajouter des éléments dans la balise **head** du site
* **accueil.phtml** pour la page d'accueil
* **contenu.phtml** pour les autres pages
\ No newline at end of file
CONTRIB.en.md
\ No newline at end of file
How to setup AFI-OPAC
IMPORTANT: must be accessible from / directory actually. For development we use http://localhost/afi-opac3
- copy index.php.default to index.php.
- copy config.ini.default to config.ini, then configure according to your settings.
- touch local.php for custom configuration.
== Zend Framework ==
- download and extract Zend Framework 1.6.2: http://framework.zend.com/releases/ZendFramework-1.6.2/ZendFramework-1.6.2.tar.gz
- in index.php and tests/bootstrap.php setup Zend Framework path according your install
If you use PHP 5.3, you must patch ZendFramework-1.6.2/library/Zend/Db/Statement/Mysqli.php, l.200:
// send $params as input parameters to the statement
if ($params) {
array_unshift($params, str_repeat('s', count($params)));
$stmtParams = array();
foreach ($params as $k => &$value) {
$stmtParams[$k] = &$value;
}
call_user_func_array(
array($this->_stmt, 'bind_param'),
$stmtParams);
}
This diff is collapsed.
This diff is collapsed.
# Préparation de Windows
Téléchargez et installez le paquet [Microsoft Visual C++ 2008 Redistributable](http://www.microsoft.com/en-us/download/details.aspx?id=5582)
Cela nécessite le redémarrage de windows.
# Installation de la pile Apache + MySQL + PHP
Télécharger [XAMPP portable pour Windows](http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/5.6.3/xampp-portable-win32-5.6.3-0-VC11.zip/download)
Décompressez l'archive et déplacez le répertoire **xamp** à la racine d'un disque (ex: D:\xampp\)
Lancer le programme **D:\xampp\xampp-control** puis démarrez les services MySQL et Apache. Depuis un navigateur web, allez sur la page http://localhost. Vous devriez arriver sur une page avec le logo XAMPP.
# Configuration d'Apache
Modifiez le fichier D:\xampp\apache\conf\http.conf et décommentez la ligne suivante (ligne 108 et 115)
```
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
```
Note si vous utilez une version d'Apache différente de celle abordée ici: assurez-vous de l'activation des modules ''headers'' et ''rewrite''.
# Récupération des sources
Téléchargez et installez [SourceTree pour l'accès GIT](http://www.sourcetreeapp.com/)
Ceci fait, dans le menu **Fichier** sélectionnez **Cloner / nouveau** et remplisser le formulaire comme suit:
* Source / URL: **http://git.afi-sa.fr/afi/opacce.git**
* Destination: **D:\xampp\htdocs\opacce**
et cliquez sur **Cloner**.
# Création de la base de données
Pointez votre navigateur web sur http://localhost/phpmyadmin pour accéder à l'outil d'administration MySQL.
Dans l'onglet **Bases de données** créez la base **opacce** puis sélectionnez la dans l'arborescence de gauche.
Dans l'onglet **Plus** sélectionnez **Importez**, puis importez le ficher **D:\xampp\htdocs\opacce\scripts\opac2.sql**.
# Configuration de Bokeh
Depuis le répertoire D:\xampp\htdocs\opacce, copiez le fichier **config.ini.default** en **config.ini** et modifiez les lignes suivantes:
```
sgbd.config.username = root
sgbd.config.password =
sgbd.config.dbname = opacce
```
Depuis le répertoire D:\xampp\htdocs\opacce\cosmogramme, copiez le fichier **config.ref.php** en **config.php** et modifiez les lignes suivantes:
```
integration_user=root
integration_pwd=
integration_base=opacce
pwd_master=opacce
```
Créez un fichier vide **D:\xampp\htdocs\opacce\local.php** (celui-ci sert à surcharger des configurations globales au site).
# Mise à jour de la base de données
Pointez votre navigateur sur http://localhost/opacce/cosmogramme/ et connectez vous avec le compte admin / achanger.
De là, cliquez sur le lien **Vous devez exécuter une mise à niveau de la base de données**.
# Terminé !
Vous pouvez maintenant administrer Bokeh à l'adresse http://localhost/opacce/admin avec le compte admin / achanger.
Les URLs sont:
- interface publique: http://localhost/opacce
- interface d'administration: http://localhost/opacce/admin
- interface de configuration des intégrations SIGB: http://localhost/opacce/cosmogramme
COPYING
\ No newline at end of file
Logo_biblioaccess.png

3.38 KiB

This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.