Commit b3456ca1 authored by Patrick Barroca's avatar Patrick Barroca 🐧 Committed by efalcy

Contrib instrutions translated

parent 5f0c0848
# 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 [in](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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment