Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner...

74
Micronator SME-9 Odoo-8 Installation Version: 0.0.4 / lundi 6 avril 2015 - 10:39

Transcript of Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner...

Page 1: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Micronator

SME-9Odoo-8

Installation

Version: 0.0.4 / lundi 6 avril 2015 - 10:39

Page 2: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

© RF-232, Montréal 20156447, avenue Jalobert, Montréal. Québec H1M 1L1

Tous droits réservés RF-232

Licence publique générale GNUPermission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence publiquegénérale GNU, version 3, 29 juin 2007 publiée par la Free Software Foundation Inc; sans section inaltérable, sans textede première page de couverture et sans texte de dernière page de couverture. Une copie de cette licence est incluse dansla section appelée Licence publique générale GNU de ce document, page: 73.

AVIS DE NON-RESPONSABILITÉ

Ce document est uniquement destiné à informer. Les informations, ainsi que les contenus et fonctionnalités de ce do-cument sont fournis sans engagement et peuvent être modifiés à tout moment. RF-232 n'offre aucune garantie quant àl'actualité, la conformité, l'exhaustivité, la qualité et la durabilité des informations, contenus et fonctionnalités de ce do-cument. L'accès et l'utilisation de ce document se font sous la seule responsabilité du lecteur ou de l'utilisateur.

RF-232 ne peut être tenu pour responsable de dommages de quelque nature que ce soit, y compris des dommages directsou indirects, ainsi que des dommages consécutifs résultant de l'accès ou de l'utilisation de ce document ou de son conte -nu.

Chaque internaute doit prendre toutes les mesures appropriées (mettre à jour régulièrement son logiciel antivirus, nepas ouvrir des documents suspects de source douteuse ou non connue) de façon à protéger le contenu de son ordinateurde la contamination d'éventuels virus circulant sur la Toile.

AvertissementBien que nous utilisions ici un vocabulaire issu des techniques informatiques, nous ne prétendons nullement à laprécision technique de tous nos propos dans ce domaine.

Page 3: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

En un clin-d'oeil

I- Description générale.....................................................6

II- Introduction....................................................................9

III- PostgreSQL..................................................................10

IV- Premiers pas................................................................17

V- Configuration finale de PostgreSQL..........................24

VI- Python...........................................................................26

VII- virtualenv......................................................................35

VIII- Odoo-8...........................................................................41

IX- Divers............................................................................50

X- Mise à jour du Serveur SME.......................................59

XI- Sauvegarde du Serveur SME......................................61

XII- Sauvegardes et restaurations PostgreSQL..............64

2015-04-06 Version: 0.0.4 3 / 74

Page 4: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Sommaire

I- Description générale.....................................................61. Introduction...........................................................................................62. Serveur SME..........................................................................................63. Logiciels recommandés.........................................................................74. Particularités de ce document...............................................................75. Commentaires et suggestions................................................................8

II- Introduction....................................................................91. Référence...............................................................................................92. Étapes....................................................................................................9

III- PostgreSQL..................................................................101. Connexion au Serveur SME-9.............................................................102. Dépôts PostgreSQL (pgdg) et clé.........................................................113. Exclusion des rpm absolete.................................................................144. Installation de PostgreSQL..................................................................145. Initialisation de la base de données....................................................166. Lancement manuel de PostgreSQL......................................................167. Lancement à l'amorçage......................................................................16

IV- Premiers pas................................................................171. Référence.............................................................................................172. Connexion............................................................................................173. SCHEMA.............................................................................................184. RÔLE...................................................................................................185. GRANT.................................................................................................186. Déconnexion........................................................................................187. Création d'un usager standard............................................................198. Connexion à la BD avec un usager standard......................................21

V- Configuration finale de PostgreSQL..........................241. MD5.....................................................................................................242. Création de l'usager odoo dans PostgreSQL......................................25

VI- Python...........................................................................261. Dépendances........................................................................................262. wkhtmltopdf.........................................................................................293. Facultatif.............................................................................................314. Source de Python 2.7.8........................................................................32

VII- virtualenv......................................................................351. Installation...........................................................................................352. Usager standard odoo.........................................................................36

4 / 74 Version: 0.0.4 6 avril 2015

Page 5: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

3. Modules Python...................................................................................38

VIII- Odoo-8...........................................................................411. Groupe shared.....................................................................................412. Installation depuis GitHub..................................................................413. Configuration du serveur Odoo...........................................................43

IX- Divers............................................................................501. Vérification des démarrages................................................................502. Fichiers journaux................................................................................503. Mot de passe........................................................................................504. Désinstallation de gcc.........................................................................515. Administration du serveur Odoo.........................................................526. Site Odoo.............................................................................................527. Redirection HTML...............................................................................548. Mise à jour Odoo.................................................................................579. Installation d'un module......................................................................58

X- Mise à jour du Serveur SME.......................................591. Vérification après réamorçage............................................................602. Vérification de Odoo...........................................................................60

XI- Sauvegarde du Serveur SME......................................611. Sauvegarde..........................................................................................612. Répertoires sauvegardés......................................................................613. Fichiers de configuration et de lancement..........................................62

XII- Sauvegardes et restaurations PostgreSQL..............641. Référence.............................................................................................642. Sauvegarde..........................................................................................653. Restauration.........................................................................................664. Vérification..........................................................................................68

Crédits.................................................................................................69

2015-04-06 Version: 0.0.4 5 / 74

Page 6: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

I- Description générale

1. Introduction

Référence: http://fr.wikipedia.org/wiki/Odoo

OpenERP, anciennement Tiny ERP, est à la base un progiciel libre de gestion intégré comprenant de très nom-breux modules permettant de simplifier la gestion d’entreprise dans son ensemble. Le logiciel est sous licenceAGPL et est utilisé par plus de 2 millions d’utilisateurs à travers le monde.

En décembre 2012, la version 7.0 d'OpenERP est lancée et peut être testée en ligne, téléchargée ou vue en ver-sion de démonstration.

1.1. Le logiciel Odoo

À l’origine un ERP, le logiciel Open Source s’est vu étendre ses fonctionnalités à des applications de "front of-fice" (CMS, e-Commerce, Blogs, Forums, News, Événements, LiveChat, Job offers, etc).

OpenERP suit les normes de qualités ISO9001 version 2000 et offre une solution Libre et complète tout en in-tégrant toutes les informations dans une base de données unique. L’éditeur clame fournir le seul logiciel aumonde qui permet de répondre à tous les besoins d’une entreprise, du début à la fin.

Mai 2014: OpenERP change de nom et devient Odoo.

1.2. La société éditrice OpenERP SA

OpenERP S.A. est également le nom de l’entreprise qui édite le logiciel. Dans le reste de ce document on uti -lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque.

2. Serveur SME

2.1. Installation d'un Serveur SME-9

Disponible sur le site de Micronator: http://www.micronator.org/?page_id=236.

2.2. Manuel de l'Utilisateur

Disponible sur le site de Micronator:http://www.micronator.org/PDF/RF-232_SME_Documentation_fr_Utilisateur.pdf.

2.3. Manuel de l'Administrateur

Disponible sur le site de Micronator:http://www.micronator.org/PDF/RF-232_SME_Documentation_fr_Administration.pdf.

2.4. Manuel du développeur

Disponible sur le site de Micronator: http://www.micronator.org/?page_id=88

6 / 74 Version: 0.0.4 6 avril 2015

Page 7: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Description générale

3. Logiciels recommandés

3.1. VirtualBox

Logiciel de virtualisation: https://www.virtualbox.org/wiki/Downloads

3.2. DigestIT-2004

Calcul de sommes de contrôle MD5 or SHA-1: http://www.colonywest.us/digestit/

3.3. PuTTY

Logiciel d'accès SSH: http://www.putty.org/

3.4. WinSCP

Client SFTP graphique pour Windows: http://winscp.net/eng/download.php

Au début de l’installation, choisissez la langue “French”.

4. Particularités de ce document

4.1. Notes au lecteur

* Les captures d'écrans ne sont que des références.

** Les informations écrites ont préséance sur celles retrouvées dans les captures d'écrans. Veiller à se référeraux différents tableaux lorsque ceux-ci sont présents.

4.2. Conventions

Toutes les commandes à entrer à la console sont en gras. Les affichages à surveiller sont en rouge, bleu,orange ou magenta.

# ping 192.168.1.149192.168.1.149 is alive#

Les liens de référence internet sont en bleu et ceux intra document en bleu.

Manipulation, truc ou ruse pour se tirer d'embarras.

Une recommandation ou astuce.

Une note.

Une étape, note ou procédure à surveiller.

Paragraphe non complété ou non vérifié.

Indique que cette commande est sur une seule ligne. Le PDF la mettra sur deux lignes ou plus avec un [CR] [LF] entre les lignes. Il faudra donc copier la commande entière dans un éditeur de texte ASCII et la mettre sur une seule ligne avant de la copier à la console du Serveur SME-9.

Ne s'applique pas à la commande cat pour l'insertion de texte dans un fichier.

2015-04-06 Version: 0.0.4 7 / 74

Page 8: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

5. Commentaires et suggestions

RF-232 apprécie énormément échanger avec ses internautes. Vos commentaires et suggestions sont indispen-sables à l'amélioration de la documentation et du site micronator.org.

N'hésitez pas à nous transmettre vos commentaires et à nous signaler tout problème d'ordre technique que vousavez rencontré ou n'arrivez pas à résoudre. Tous vos commentaires seront pris en considération et nous vouspromettons une réponse dans les plus brefs délais.

Brancher les aînés,encourager l'Informatique Libre et la diffusion du savoir

8 / 74 Version: 0.0.4 6 avril 2015

Page 9: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Introduction

II- Introduction

1. Référence

Ce document se base sur l'article de daviddean99 de septembre 2014, Installing Odoo 8 on CentOS 6 with Py-thon 2.7.

https://odootricks.wordpress.com/2014/09/30/installing-odoo-8-on-centos-6-with-virtual-python-install/

Ce document décrit la marche à suivre, pas à pas, pour installer la dernière version de Odoo sur un ServeurSME-9. Il s'adresse à ceux qui ne seraient pas très expérimentés en tant qu'administrateurs Linux mais qui vou-draient rouler leur propre serveur Odoo-8. Vous pouvez simplement copier/coller les commandes dans un ter -minal ou un écran SSH connecté à votre Serveur SME-9.

Ce tutoriel a été vérifié sur un Serveur SME-9 mais devrait aussi fonctionner sur un Serveur SME-8.x.

2. Étapes

Nous allons commencer par installer le serveur de bases de données PostgreSQL puis, installer les paquetagesnécessaires et leurs dépendances. Ensuite, nous allons créer un environnement virtual pour Python (ainsi nousn'interférerons pas avec la version de Python du Serveur SME-9) et installer tous les modules que Odoo re-quiert. Il sera alors nécessaire de télécharger depuis GitHuB, le dernier code Odoo et créer un script de lance-ment compatible avec le Serveur SME-9.

Ce tutoriel assume que vous avez réalisé une installation SME-9 sur un serveur dédié à rouler Odoo. Il est aussiassumé que vous allez rouler Odoo-8 et PostgreSQL sur le même serveur.

Pour l'installation d'un serveur SME-9: http://www.micronator.org/?page_id=236.

2015-04-06 Version: 0.0.4 9 / 74

Page 10: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

III- PostgreSQL

1. Connexion au Serveur SME-9

Pour ce document, le Serveur SME est à l'adresse 192.168.1.10. Il est en mode serveur privé et passerellemais habituellement il est en mode serveur et passerelle connecté en PPPoE.

Nous nous connectons en tant que root au Serveur SME-9 à l'aide de PuTTY.

login as: root

[email protected]'s password:Last login: Sun Jan 11 17:46:59 2015 from pc-00129.micronator.org[root@sme-9 ~]#

On affiche l'adresse IP du serveur.

[root@sme-9 html]# ifconfig

eth0 Link encap:Ethernet HWaddr 08:00:27:5C:6F:AB inet adr:192.168.1.10 Bcast:192.168.1.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5935 errors:0 dropped:0 overruns:0 frame:0 TX packets:895 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:1647361 (1.5 MiB) TX bytes:512162 (500.1 KiB)

eth1 Link encap:Ethernet HWaddr 08:00:27:B5:E1:C2 inet adr:192.168.1.180 Bcast:192.168.1.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9027 errors:0 dropped:0 overruns:0 frame:0 TX packets:5795 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:7657163 (7.3 MiB) TX bytes:459717 (448.9 KiB)

lo Link encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4299 errors:0 dropped:0 overruns:0 frame:0 TX packets:4299 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:1049250 (1.0 MiB) TX bytes:1049250 (1.0 MiB)

[root@sme-9 html]#

Nous utiliserons l'adresse interne 192.168.1.10 pour le moment. Par souci de sécurité, Odoo ne sera accessibleque sur le réseau interne. Plus tard, on pourra toujours modifier cet accès.

10 / 74 Version: 0.0.4 6 avril 2015

Page 11: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

PostgreSQL

2. Dépôts PostgreSQL (pgdg) et clé

2.1. 32 ou 64 bits

Il nous faut connaître le genre de CPU utilisé par notre serveur afin de choisir la bonne version de PostgreSQL.

[root@sme-9 ~]# uname -p

x86_64[root@sme-9 ~]#

2.2. Version CentOS

Pour connaître la version CentOS dont notre serveur est issu.

[root@sme-9 ~]# cat /etc/centos-release

CentOS release 6.5 (Final)[root@sme-9 ~]#

2.3. Lien du dépôt PostgreSQL

Pour connaître le lien URL du dépôt (repository) de la dernièreversion de PostgreSQL, on se rends au site suivant:

http://yum.postgresql.org/repopackages.php#pg94

Notre Serveur SME-9 est un 64 bits issu de CentOS-6.5. Doncnous choisissons CentOS 6 - x86 64.

On claque (clic droit) sur CentOS 6 - x86 64 et on copie l'adres-se du lien.

Le lien pour notre cas est:http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm

2.4. Construction de la commande yum

La commande pour installer ce dépôt est composé de 2 parties: yum install -y et l'URL du paquetage décrivantle dépôt.

On installe le paquetage décrivant le dépôt de PostgreSQL pour le serveur CentOS-6 dont le Serveur SME-9 estissu.

[root@sme-9 ~]# yum install -y http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm

Loaded plugins: fastestmirror, smeserverLoading mirror speeds from cached hostfile * base: centos.mirror.rafal.ca * smeaddons: mirror.canada.pialasse.com * smeextras: mirror.canada.pialasse.com * smeos: mirror.canada.pialasse.com * smeupdates: mirror.canada.pialasse.com * updates: mirror.csclub.uwaterloo.caSetting up Install Processpgdg-centos94-9.4-1.noarch.rpm | 5.2 kB 00:00Examining /var/tmp/yum-root-mS86Bv/pgdg-centos94-9.4-1.noarch.rpm: pgdg-centos94-9.4-1.noarchMarking /var/tmp/yum-root-mS86Bv/pgdg-centos94-9.4-1.noarch.rpm to be installedResolving Dependencies--> Running transaction check

2015-04-06 Version: 0.0.4 11 / 74

Page 12: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

---> Package pgdg-centos94.noarch 0:9.4-1 will be installed--> Finished Dependency Resolution

Dependencies Resolved

================================================================================ Package Arch Version Repository Size================================================================================Installing: pgdg-centos94 noarch 9.4-1 /pgdg-centos94-9.4-1.noarch 2.1 k

Transaction Summary================================================================================Install 1 Package(s)

Total size: 2.1 kInstalled size: 2.1 kDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : pgdg-centos94-9.4-1.noarch 1/1 Verifying : pgdg-centos94-9.4-1.noarch 1/1

Installed: pgdg-centos94.noarch 0:9.4-1

Complete![root@sme-9 ~]#

2.5. Importation de la clé PKI

On affiche le répertoire des clés PKI.

[root@sme-9 ~]# ls -als /etc/pki/rpm-gpg/

total 284 drwxr-xr-x 2 root root 4096 11 janv. 20:07 .4 drwxr-xr-x 10 root root 4096 3 janv. 08:31 ..4 -rw-r--r-- 1 root root 1706 30 nov. 2013 RPM-GPG-KEY-CentOS-64 -rw-r--r-- 1 root root 1730 30 nov. 2013 RPM-GPG-KEY-CentOS-Debug-64 -rw-r--r-- 1 root root 1730 30 nov. 2013 RPM-GPG-KEY-CentOS-Security-64 -rw-r--r-- 1 root root 1734 30 nov. 2013 RPM-GPG-KEY-CentOS-Testing-64 -rw-r--r-- 1 root root 1726 15 mai 2014 RPM-GPG-KEY-PGDG-94[root@sme-9 ~]#

On importe la clé.

[root@sme-9 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94

[root@sme-9 ~]#

12 / 74 Version: 0.0.4 6 avril 2015

Page 13: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

PostgreSQL

On affiche le nouveau dépôt.

On entre /etc/yum.repos.d/pgdg et on fait un [TAB] pour compléter la commande.

[root@sme-9 ~]# cat /etc/yum.repos.d/pgdg-94-centos.repo

[pgdg94]name=PostgreSQL 9.4 $releasever - $basearchbaseurl=http://yum.postgresql.org/9.4/redhat/rhel-$releasever-$basearchenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94

[pgdg94-source]name=PostgreSQL 9.4 $releasever - $basearch - Sourcefailovermethod=prioritybaseurl=http://yum.postgresql.org/srpms/9.4/redhat/rhel-$releasever-$basearchenabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94

[root@sme-9 ~]#

2.6. Ajout du dépôt

On ajoute le dépôt pgdg à la base de données de dépôts de SME-9.

/sbin/e-smith/db yum_repositories set pgdg94 repository \Name 'PostgreSQL 9.4' \BaseURL 'http://yum.postgresql.org/9.4/redhat/rhel-$releasever-$basearch' \EnableGroups yes \GPGCheck yes \GPGKey file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94 \Visible yes \status disabled

On signale la modification.

[root@sme-9 ~]# signal-event yum-modify

[root@sme-9 ~]#

Vérification.

[root@sme-9 ~]# db yum_repositories show pgdg94

pgdg94=repository BaseURL=http://yum.postgresql.org/9.4/redhat/rhel-$releasever-$basearch EnableGroups=yes GPGCheck=yes GPGKey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94 Name=PostgreSQL 9.4 Visible=yes status=disabled[root@sme-9 ~]#

2015-04-06 Version: 0.0.4 13 / 74

Page 14: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

3. Exclusion des rpm absolete

On ne veut pas de RPM "absolete" donc, on les exclut du dépôt de base car autrement on rencontrera des diffi-cultés lorsqu'on fera des mises à jour du Serveur SME-9.

[root@sme-9 ~]# db yum_repositories setprop base Exclude 'initscripts,libgsf,postgresql*'

[root@sme-9 ~]#

On signale la modification.

[root@sme-9 ~]# signal-event yum-modify

[root@sme-9 ~]#

Vérification.

[root@sme-9 ~]# db yum_repositories show base

base=repository EnableGroups=no Exclude=initscripts,libgsf,postgresql* GPGCheck=yes MirrorList=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os Name=CentOS - os Visible=yes status=enabled[root@sme-9 ~]#

4. Installation de PostgreSQL

Maintenant on peut procéder à l'installation de PostgreSQL 9.4.

[root@sme-9 ~]# yum install -y --enablerepo=pgdg94 postgresql94 postgresql94-libs postgresql94-server \postgresql94-contrib \postgresql94-devel \postgresql94-docs \postgresql94-test

Loaded plugins: fastestmirror, smeserverLoading mirror speeds from cached hostfile * base: centos.mirror.ca.planethoster.net * smeaddons: mirror.canada.pialasse.com * smeextras: mirror.canada.pialasse.com * smeos: mirror.canada.pialasse.com * smeupdates: mirror.canada.pialasse.com * updates: mirror.csclub.uwaterloo.capgdg94 | 3.6 kB 00:00pgdg94/primary_db | 90 kB 00:00Setting up Install ProcessResolving Dependencies--> Running transaction check---> Package postgresql94.x86_64 0:9.4.0-1PGDG.rhel6 will be installed---> Package postgresql94-contrib.x86_64 0:9.4.0-1PGDG.rhel6 will be installed---> Package postgresql94-devel.x86_64 0:9.4.0-1PGDG.rhel6 will be installed---> Package postgresql94-docs.x86_64 0:9.4.0-1PGDG.rhel6 will be installed---> Package postgresql94-libs.x86_64 0:9.4.0-1PGDG.rhel6 will be installed---> Package postgresql94-server.x86_64 0:9.4.0-1PGDG.rhel6 will be installed---> Package postgresql94-test.x86_64 0:9.4.0-1PGDG.rhel6 will be installed--> Finished Dependency Resolution

Dependencies Resolved

14 / 74 Version: 0.0.4 6 avril 2015

Page 15: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

PostgreSQL

========================================================================================= Package Arch Version Repository Size=========================================================================================Installing: postgresql94 x86_64 9.4.0-1PGDG.rhel6 pgdg94 1.0 M postgresql94-contrib x86_64 9.4.0-1PGDG.rhel6 pgdg94 527 k postgresql94-devel x86_64 9.4.0-1PGDG.rhel6 pgdg94 1.5 M postgresql94-docs x86_64 9.4.0-1PGDG.rhel6 pgdg94 13 M postgresql94-libs x86_64 9.4.0-1PGDG.rhel6 pgdg94 192 k postgresql94-server x86_64 9.4.0-1PGDG.rhel6 pgdg94 4.2 M postgresql94-test x86_64 9.4.0-1PGDG.rhel6 pgdg94 1.3 M

Transaction Summary=========================================================================================Install 7 Package(s)

Total download size: 22 MInstalled size: 71 MDownloading Packages:(1/7): postgresql94-9.4.0-1PGDG.rhel6.x86_64.rpm | 1.0 MB 00:02(2/7): postgresql94-contrib-9.4.0-1PGDG.rhel6.x86_64.rpm | 527 kB 00:00(3/7): postgresql94-devel-9.4.0-1PGDG.rhel6.x86_64.rpm | 1.5 MB 00:03(4/7): postgresql94-docs-9.4.0-1PGDG.rhel6.x86_64.rpm | 13 MB 00:28(5/7): postgresql94-libs-9.4.0-1PGDG.rhel6.x86_64.rpm | 192 kB 00:00(6/7): postgresql94-server-9.4.0-1PGDG.rhel6.x86_64.rpm | 4.2 MB 00:07(7/7): postgresql94-test-9.4.0-1PGDG.rhel6.x86_64.rpm | 1.3 MB 00:02-----------------------------------------------------------------------------------------Total 488 kB/s | 22 MB 00:46Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : postgresql94-libs-9.4.0-1PGDG.rhel6.x86_64 1/7 Installing : postgresql94-9.4.0-1PGDG.rhel6.x86_64 2/7 Installing : postgresql94-server-9.4.0-1PGDG.rhel6.x86_64 3/7 Installing : postgresql94-test-9.4.0-1PGDG.rhel6.x86_64 4/7 Installing : postgresql94-contrib-9.4.0-1PGDG.rhel6.x86_64 5/7 Installing : postgresql94-devel-9.4.0-1PGDG.rhel6.x86_64 6/7 Installing : postgresql94-docs-9.4.0-1PGDG.rhel6.x86_64 7/7 Verifying : postgresql94-docs-9.4.0-1PGDG.rhel6.x86_64 1/7 Verifying : postgresql94-server-9.4.0-1PGDG.rhel6.x86_64 2/7 Verifying : postgresql94-contrib-9.4.0-1PGDG.rhel6.x86_64 3/7 Verifying : postgresql94-test-9.4.0-1PGDG.rhel6.x86_64 4/7 Verifying : postgresql94-9.4.0-1PGDG.rhel6.x86_64 5/7 Verifying : postgresql94-libs-9.4.0-1PGDG.rhel6.x86_64 6/7 Verifying : postgresql94-devel-9.4.0-1PGDG.rhel6.x86_64 7/7

Installed: postgresql94.x86_64 0:9.4.0-1PGDG.rhel6 postgresql94-contrib.x86_64 0:9.4.0-1PGDG.rhel6 postgresql94-devel.x86_64 0:9.4.0-1PGDG.rhel6 postgresql94-docs.x86_64 0:9.4.0-1PGDG.rhel6 postgresql94-libs.x86_64 0:9.4.0-1PGDG.rhel6 postgresql94-server.x86_64 0:9.4.0-1PGDG.rhel6 postgresql94-test.x86_64 0:9.4.0-1PGDG.rhel6

Complete![root@sme-9 ~]#

2015-04-06 Version: 0.0.4 15 / 74

Page 16: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

5. Initialisation de la base de données

On initialise la BD pour PostgreSQL.

Peut prendre quelques temps.

[root@sme-9 ~]# /etc/init.d/postgresql-9.4 initdb

Initialisation de la base de données : [ OK ][root@sme-9 ~]#

6. Lancement manuel de PostgreSQL

On lance PostgreSQL.

[root@sme-9 ~]# /etc/init.d/postgresql-9.4 start

Démarrage du service postgresql-9.4 : [ OK ][root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# /etc/init.d/postgresql-9.4 status

postgresql-9.4 (pid 19131) en cours d'exécution...[root@sme-9 ~]#

7. Lancement à l'amorçage

On veut que PostgreSQL se lance à tous les amorçages du Serveur SME-9. Pour ce faire, on ajoute la com-mande de démarrage de PostgreSQL à la fin du fichier /etc/rc.d/rc.local.

[root@sme-9 ~]# echo /etc/init.d/postgresql-9.4 start >> /etc/rc.d/rc.local

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# cat /etc/rc.d/rc.local

#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local/etc/init.d/postgresql-9.4 start[root@sme-9 ~]#

16 / 74 Version: 0.0.4 6 avril 2015

Page 17: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Premiers pas

IV- Premiers pas

1. Référence

Cette section s'est inspirée de l'article suivant: https://wiki.postgresql.org/wiki/First_steps.

2. Connexion

On se connecte au Serveur SME en tant que root puis on change d'usager pour devenir l'usager postgres.

[root@sme-9 ~]# su - postgres

-bash-4.1$

On vérifie.

-bash-4.1$ whoami

postgres-bash-4.1$

On lance le terminal interactif de PostgreSQL.

-bash-4.1$ psql

psql (9.4.0)Saisissez « help » pour l'aide.

postgres=#

On vérifie que l'aide fonctionne.

postgres=# help

Vous utilisez psql, l'interface en ligne de commande de PostgreSQL.Saisissez: \copyright pour les termes de distribution \h pour l'aide-mémoire des commandes SQL \? pour l'aide-mémoire des commandes psql \g ou point-virgule en fin d'instruction pour exécuter la requête \q pour quitterpostgres=#

2015-04-06 Version: 0.0.4 17 / 74

Page 18: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

3. SCHEMA

Une base de données contient un ou plusieurs schémas nommés, qui eux, contiennent des tables. Les schémascontiennent aussi d'autres types d'objets nommés y compris des types de données, fonctions et opérateurs. Seulle nom d'objet peut être utilisé sans conflit i.e. schema1 et mon_schema peuvent tous les deux contenir destables nommées mytable. Contrairement aux bases de données; les schémas ne sont pas séparés de manière ri-gide; un utilisateur peut accéder aux objets de n'importe lequel des schémas de la base de données auxquels ilse connecte s'il a les privilèges pour le faire.

On crée un schéma qu'on appellera test dans la base de données par défaut appelée postgres.

postgres=# CREATE SCHEMA test;

CREATE SCHEMApostgres=#

4. RÔLE

Un rôle est une entité qui peut posséder des objets de la base de données et avoir des droits sur la base. Il peutêtre considéré comme un "utilisateur", un "groupe" ou les deux suivant la façon dont il est utilisé.

On crée un rôle (user) avec un mot de passe.

postgres=# CREATE USER michelandre PASSWORD 'toto';

CREATE ROLEpostgres=#

5. GRANT

La commande GRANT a deux variantes de base: la première donne des droits sur un objet de la base de don-nées (table, vue, séquence, base de données, fonction, langage de procédure, schéma ou espace logique), la se-conde gère les appartenances à un rôle.

On donne au nouveau rôle tous les droits (tel que la possibilité de créer des tables) sur le nouveau schéma.

postgres=# GRANT ALL ON SCHEMA test TO michelandre;

GRANTpostgres=#

On donne au nouveau rôle tous les droits (tel que la possibilité d 'insertion) sur toutes les tables du nouveauschéma.

postgres=# GRANT ALL ON ALL TABLES IN SCHEMA test TO michelandre;

GRANTpostgres=#

6. Déconnexion

On se déconnecte.

postgres=# \q

-bash-4.1$

Nous sommes encore logué en tant qu'usager postgres.

18 / 74 Version: 0.0.4 6 avril 2015

Page 19: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Premiers pas

7. Création d'un usager standard

7.1. Création

On peut utiliser Server Manager pour créer un usager mais ici, on utilise adduser.

● Avec la création de son répertoire personnel dans /home/e-smith/files/users/michelandre, l'usager miche-landre sera sauvegardé lors d'une sauvegarde standard du Serveur SME-9.

● Avec le shell /bin/bash, l'usager michelandre pourra lancer toutes les commandes disponibles.

● Appartenant au groupe shared, l'usager michelandre pourra accéder au répertoire de l'i-bay Primary/html.

On retourne à l'usager root pour créer le nouvel usager.

-bash-4.1$ exit

logout[root@sme-9 ~]#

On vérifie qu'on est bien l'usager root.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

On crée l'usager michelandre.

[root@sme-9 ~]# adduser michelandre \--home /home/e-smith/files/users/michelandre \--groups shared \--shell /bin/bash

[root@sme-9 ~]#

-d, --home REP_PERSO

Le nouvel utilisateur sera créé en utilisant REP_PERSO comme valeur de répertoire de connexion de l´utilisa-teur. Le comportement par défaut est de concaténer UTILISATEUR au répertoire REP_BASE, et de l´utiliseren tant que nom de répertoire de connexion. Il n´est pas nécessaire que le répertoire REP_PERSO existe mais ilne sera pas créé s´il n´existe pas.

-G, --groups GROUPE1[,GROUPE2,...[,GROUPEN]]]

Liste de groupes supplémentaires auxquels appartient également l´utilisateur. Chaque groupe est séparé du sui-vant par une virgule, sans espace entre eux. Les groupes sont soumis aux mêmes restrictions que celles de l´op-tion -g. Le comportement par défaut pour l´utilisateur est de n´appartenir qu´au groupe initial.

-s, --shell INTERPRÉTEUR

Le nom de l´interpréteur de commandes initial de l´utilisateur (login shell). Le comportement par défaut est delaisser ce champ vide. Le système sélectionnera alors l´interpréteur par défaut indiqué par la variable SHELLdans /etc/default/useradd, ou une chaîne vide par défaut.

2015-04-06 Version: 0.0.4 19 / 74

Page 20: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

7.2. Mot de passe

Pour notre démonstration, on utilise le mot de passe préféré du fameux Général Toto.

[root@sme-9 ~]# passwd michelandre

Changement de mot de passe pour l'utilisateur michelandre.Entrez le nouveau mot de passe UNIX :fghtbghRetapez le nouveau mot de passe UNIX :fghtbghpasswd : mise à jour réussie de tous les jetons d'authentification.[root@sme-9 ~]#

On vérifie la création de l'usager.

[root@sme-9 ~]# cat /etc/passwd | grep michelandre

michelandre:x:3000:3000::/home/e-smith/files/users/michelandre:/bin/bash[root@sme-9 ~]#

On vérifie les groupes de michelandre.

[root@sme-9 ~]# cat /etc/group | grep michelandre

shared:x:500:www,admin,public,michelandremichelandre:x:3000:[root@sme-9 ~]#

7.3. Shell par défaut

Si, lors du changement d'usager, l'écran ci-dessous s'affiche c'est que le shell de l'usager est /usr/bin/rsshqui est un shell réduit et qui permet aux clients connectés au serveur de ne faire qu'un nombre limité de com -mandes.

-bash-4.1$ su - michelandre

Mot de passe :

This account is restricted by rssh.Allowed commands: scp sftp cvs rdist rsync

If you believe this is in error, please contact your system administrator.

-bash-4.1$

7.3.1. Si nécessaire, changement du shell de michelandre

En tant qu'usager root.

[root@sme-9 ~]# whoamiroot[root@sme-9 ~]#

On vérifie quel shell est utilisé par michelandre.

[root@sme-9 ~]# cat /etc/passwd | grep michelandre

michelandre:x:5000:5000:Michel-Andre Robillard:/home/e-smith/files/users/michelandre:/usr/bin/rssh[root@sme-9 ~]#

20 / 74 Version: 0.0.4 6 avril 2015

Page 21: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Premiers pas

On peut modifier le shell de l'usager avec la commande suivante.

[root@sme-9 ~]# usermod -s /bin/bash michelandre

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# cat /etc/passwd | grep michelandre

michelandre:x:5000:5000:Michel-Andre Robillard:/home/e-smith/files/users/michelandre:/bin/bash[root@sme-9 ~]#

Il est à noter que si on lance les commandes signal-event post-upgrade; signal-event reboot, le shell par dé-faut qui était /usr/bin/rssh sera remis aux usagers qui l'avaient auparavant.

7.4. On devient un usager standard (michelandre)

On change d'usager.

[root@sme-9 ~]# su - michelandre

[michelandre@sme-9 ~]$

Si nous ne sommes pas root et que nous changeons d'usager, il faudra entrer le mot de passe demandé quiest alors celui donné par le Serveur SME-9.

-bash-4.1$ su - michelandre

Mot de passe :-bash-4.1$

8. Connexion à la BD avec un usager standard

Par défaut, le mode d'authentification pour se loguer dans PostgreSQL est "ident" qui signifie qu'un usager xxxde Linux ne peut se connecter qu'en tant qu'usager PostgreSQL xxx.

On se logue, en tant qu'usager ordinaire (michelandre qui a été créé précédemment dans PostgreSQL par le su-per-usager postgres) à la base de données par défaut i.e. la BD postgres.

[michelandre@sme-9 ~]$ psql -d postgres

psql (9.4.0)Saisissez « help » pour l'aide.

postgres=>

2015-04-06 Version: 0.0.4 21 / 74

Page 22: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

8.1. HELP

On essaie l'aide.

postgres=> HELP

Vous utilisez psql, l'interface en ligne de commande de PostgreSQL.Saisissez: \copyright pour les termes de distribution \h pour l'aide-mémoire des commandes SQL \? pour l'aide-mémoire des commandes psql \g ou point-virgule en fin d'instruction pour exécuter la requête \q pour quitterpostgres=>

8.2. CREATE

Dans le schéma test, on crée une table test.

postgres=> CREATE TABLE test.test (coltest varchar(20));

CREATE TABLEpostgres=>

8.3. INSERT

On insère une entrée dans la nouvelle table.

postgres=> insert into test.test (coltest) values ('It works!');

INSERT 0 1postgres=>

8.4. SELECT

Sélection depuis une table.

postgres=> SELECT * from test.test;

coltest----------- It works!(1 ligne)

postgres=>

8.5. DROP

On supprime une table.

postgres=> DROP TABLE test.test;

DROP TABLEpostgres=>

22 / 74 Version: 0.0.4 6 avril 2015

Page 23: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Premiers pas

8.6. Déconnexion

On se déconnecte.

postgres=> \q

[michelandre@sme-9 ~]$

Tout semble bien fonctionner.

2015-04-06 Version: 0.0.4 23 / 74

Page 24: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

V- Configuration finale de PostgreSQL

1. MD5

Maintenant, il nous faut configurer PostgreSQL pour qu'il accepte les connexions avec mots de passe chiffrésMD5 pour être ainsi compatible avec les modules Python.

[michelandre@sme-9 ~]$ whoami

michelandre[michelandre@sme-9 ~]$

On retourne à l'usager root.

[michelandre@sme-9 ~]$ exit

logout[root@sme-9 ~]#

On vérifie si on est bien root.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

En tant qu'usager root, on substitue ident pour md5 dans le fichier pg_hba.conf.

[root@sme-9 ~]# sed -i "/^host/s/ident/md5/g" /var/lib/pgsql/9.4/data/pg_hba.conf

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# cat /var/lib/pgsql/9.4/data/pg_hba.conf | grep md5

# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",# "password" sends passwords in clear text; "md5" is preferred sincehost all all 127.0.0.1/32 md5host all all ::1/128 md5[root@sme-9 ~]#

24 / 74 Version: 0.0.4 6 avril 2015

Page 25: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Configuration finale de PostgreSQL

2. Création de l'usager odoo dans PostgreSQL

On peut choisir le mot de passe qu'on veut mais l'important est de le mémoriser. De plus, il est préférable qu'ilréponde aux normes de SME pour les mots de passe.

Pour notre démonstration, on choisit "fghtbgh" qui est le mot de passe préféré du fameux Général Toto.

[root@sme-9 ~]# echo -e "fghtbgh\nfghtbgh\n" | su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo"

Saisir le mot de passe pour le nouveau rôle :Le saisir de nouveau :[root@sme-9 ~]#

L'usager odoo a été créer dans PostgreSQL par le super-usager postgres et non dans le Serveur SME; il n'appa-raît donc pas dans /etc/passwd.

[root@sme-9 ~]# cat /etc/passwd | grep odoo

[root@sme-9 ~]#

2015-04-06 Version: 0.0.4 25 / 74

Page 26: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

VI- Python

1. Dépendances

Odoo nécessite une version moderne de Python et beaucoup de bibliothèques supplémentaires. Potentiellementcelles-ci pourraient entrer en conflit avec les bibliothèques Python fournis dans SME-9 et qui sont invoquéespar les outils d'administration. Donc, pour éviter ce risque, nous allons créer un environnement virtuel sous lecompte utilisateur du système Odoo, i.e. l'usager odoo, qui sera utilisé uniquement par le serveur Odoo.

Premièrement, commençons par installer quelques dépendances de paquetages:En tant qu'usager root.

[root@sme-9 ~]# yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devellibxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl

Loaded plugins: fastestmirror, smeserverLoading mirror speeds from cached hostfile * base: less.cogeco.net * smeaddons: mirror.canada.pialasse.com * smeextras: mirror.canada.pialasse.com * smeos: mirror.canada.pialasse.com * smeupdates: mirror.canada.pialasse.com * updates: less.cogeco.netSetting up Install Process...--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================ Package Arch Version Repository Size============================================================================================Installing: bzip2-devel x86_64 1.0.5-7.el6_0 base 250 k gcc x86_64 4.4.7-11.el6 base 10 M git x86_64 1.7.1-3.el6_4.1 base 4.6 M libXext x86_64 1.3.2-2.1.el6 base 35 k libffi-devel x86_64 3.0.5-3.2.el6 base 18 k libjpeg-turbo-devel x86_64 1.2.1-3.el6_5 base 96 k libtiff-devel x86_64 3.9.4-10.el6_5 base 468 k...Transaction Summary===========================================================================================Install 54 Package(s)Upgrade 30 Package(s)

Total download size: 68 MDownloading Packages:(1/84): bzip2-devel-1.0.5-7.el6_0.x86_64.rpm | 250 kB 00:00(2/84): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm | 93 kB 00:00...(84/84): zlib-devel-1.2.3-29.el6.x86_64.rpm | 44 kB 00:00--------------------------------------------------------------------------------------------

26 / 74 Version: 0.0.4 6 avril 2015

Page 27: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Python

Total 451 kB/s | 68 MB 02:34Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Updating : libgcc-4.4.7-11.el6.x86_64 1/114 Updating : nss-softokn-freebl-3.14.3-18.el6_6.x86_64 2/114......... Verifying : cyrus-sasl-2.1.23-15.el6_6.1.x86_64 1/114 Verifying : cyrus-sasl-devel-2.1.23-15.el6_6.1.x86_64 2/114... Verifying : glibc-headers-2.12-1.132.el6_5.2.x86_64 114/114

Installed: bzip2-devel.x86_64 0:1.0.5-7.el6_0 gcc.x86_64 0:4.4.7-11.el6 git.x86_64 0:1.7.1-3.el6_4.1 libXext.x86_64 0:1.3.2-2.1.el6...Dependency Installed: cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-11.el6 cyrus-sasl-devel.x86_64 0:2.1.23-15.el6_6.1 fontconfig.x86_64 0:2.8.0-5.el6...Updated: curl.x86_64 0:7.19.7-40.el6_6.3 libxml2.x86_64 0:2.7.6-17.el6_6.1 wget.x86_64 0:1.12-5.el6_6.1

Dependency Updated: cyrus-sasl.x86_64 0:2.1.23-15.el6_6.1 cyrus-sasl-lib.x86_64 0:2.1.23-15.el6_6.1 cyrus-sasl-md5.x86_64 0:2.1.23-15.el6_6.1 e2fsprogs.x86_64 0:1.41.12-21.el6 e2fsprogs-libs.x86_64 0:1.41.12-21.el6 glibc.x86_64 0:2.12-1.149.el6_6.4 glibc-common.x86_64 0:2.12-1.149.el6_6.4 glibc-devel.x86_64 0:2.12-1.149.el6_6.4 glibc-headers.x86_64 0:2.12-1.149.el6_6.4 keyutils.x86_64 0:1.4-5.el6 keyutils-libs.x86_64 0:1.4-5.el6 krb5-libs.x86_64 0:1.10.3-33.el6 libX11.x86_64 0:1.6.0-2.2.el6 libX11-common.noarch 0:1.6.0-2.2.el6 libcom_err.x86_64 0:1.41.12-21.el6 libcurl.x86_64 0:7.19.7-40.el6_6.3 libgcc.x86_64 0:4.4.7-11.el6 libselinux.x86_64 0:2.0.94-5.8.el6 libselinux-utils.x86_64 0:2.0.94-5.8.el6 libss.x86_64 0:1.41.12-21.el6 libxcb.x86_64 0:1.9.1-2.el6 nscd.x86_64 0:2.12-1.149.el6_6.4 nss-softokn-freebl.x86_64 0:3.14.3-18.el6_6 openldap.x86_64 0:2.4.39-8.el6 openldap-clients.x86_64 0:2.4.39-8.el6 openldap-servers.x86_64 0:2.4.39-8.el6 openssl.x86_64 0:1.0.1e-30.el6_6.4

Complete![root@sme-9 ~]#

1.1. cabextract

cabextract est nécessaire pour l'extractiondes fichiers de polices. La commandeyum ne le trouvera pas dans ses dépôts.Par contre, on peut se rendre au site:http://pkgs.repoforge.org/cabextract/,choisir le fichier désiré, extraire sonadresse de téléchargement et construire lacommande ci-dessous pour l'installer.

1.1.1. Pour un 64bit

Avec un clac (clic doit de la souris) sur cabextract-1.4-1.el6.rf.x86_64.rpm et choisissant Copier l'adresse du lien donne comme adresse de téléchargement pour RHEL6 and CentOS-6 x86 64bit: http://pkgs.repoforge.org/cabextract/cabextract-1.4-1.el6.rf.x86_64.rpm et on peut alors indiquer l'adresse à yum.

2015-04-06 Version: 0.0.4 27 / 74

Page 28: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

1.1.2. Pour un 32 bit

Dans la commande ci-dessous, on change seulement x86_64 pour i686.

1.2. Installation de cabextract[root@sme-9 ~]# yum install -y http://pkgs.repoforge.org/cabextract/cabextract-1.4-1.el6.rf.x86_64.rpm

Loaded plugins: fastestmirror, smeserverLoading mirror speeds from cached hostfile * base: centos.mirror.rafal.ca * smeaddons: mirror.canada.pialasse.com * smeextras: mirror.canada.pialasse.com * smeos: mirror.canada.pialasse.com * smeupdates: mirror.canada.pialasse.com * updates: less.cogeco.netSetting up Install Processcabextract-1.4-1.el6.rf.x86_64.rpm | 46 kB 00:00Examining /var/tmp/yum-root-GKbtUk/cabextract-1.4-1.el6.rf.x86_64.rpm: cabextract-1.4-1.el6.rf.x86_64Marking /var/tmp/yum-root-GKbtUk/cabextract-1.4-1.el6.rf.x86_64.rpm to be installedResolving Dependencies--> Running transaction check---> Package cabextract.x86_64 0:1.4-1.el6.rf will be installed--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================ Package Arch Version Repository Size============================================================================================Installing: cabextract x86_64 1.4-1.el6.rf /cabextract-1.4-1.el6.rf.x86_64 97 k

Transaction Summary============================================================================================Install 1 Package(s)

Total size: 97 kInstalled size: 97 kDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : cabextract-1.4-1.el6.rf.x86_64 1/1 Verifying : cabextract-1.4-1.el6.rf.x86_64 1/1

Installed: cabextract.x86_64 0:1.4-1.el6.rf

Complete![root@sme-9 ~]#

28 / 74 Version: 0.0.4 6 avril 2015

Page 29: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Python

2. wkhtmltopdf

2.1. Introduction

Nous avons aussi besoin du paquetage wkhtmltopdf afin de générer des rapports PDF dans Odoo.

2.2. Dépendance

wkhtmltopdf a une dépendance à xorg-x11-fonts-75dpi.En tant qu'usager root.

[root@sme-9 ~]# yum install -y xorg-x11-fonts-75dpi

Loaded plugins: fastestmirror, smeserverLoading mirror speeds from cached hostfile * base: mirror.science.uottawa.ca * smeaddons: mirror.canada.pialasse.com * smeextras: mirror.canada.pialasse.com * smeos: mirror.canada.pialasse.com * smeupdates: mirror.canada.pialasse.com * updates: mirror.science.uottawa.caSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package xorg-x11-fonts-75dpi.noarch 0:7.2-9.1.el6 will be installed--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================== Package Arch Version Repository Size==========================================================================================Installing: xorg-x11-fonts-75dpi noarch 7.2-9.1.el6 base 2.8 M

Transaction Summary==========================================================================================Install 1 Package(s)

Total download size: 2.8 MInstalled size: 2.9 MDownloading Packages:xorg-x11-fonts-75dpi-7.2-9.1.el6.noarch.rpm | 2.8 MB 00:04Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : xorg-x11-fonts-75dpi-7.2-9.1.el6.noarch 1/1 Verifying : xorg-x11-fonts-75dpi-7.2-9.1.el6.noarch 1/1

Installed: xorg-x11-fonts-75dpi.noarch 0:7.2-9.1.el6

Complete![root@sme-9 ~]#

2015-04-06 Version: 0.0.4 29 / 74

Page 30: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

2.3. Installation de wkhtmltopdf

Pour connaître la dernière version du fichier wkhtmltopdf on se rend au site:

http://sourceforge.net/projects/wkhtmltopdf/files/

On entre dans le répertoire indiqué de la dernière version, ici 0.12.2.1.

SME-9 est issu de CentOS-6 et nous sommes en 64 bits. Pour nous, le fichier qu'il nous faut est donc:wkhtmltox-0.12.2.1_linux-centos6-amd64.rpm.

2.4. Adresse du fichier

Avec un clac (clic doit de la souris) sur wkhtmltox-0.12.2.1_linux-centos6-amd64.rpm on choisit Copierl'adresse du lien et nous avons l'adresse de télécharge-ment pour CentOS-6 x86 64bit:

http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos6-amd64.rpm/download.

On enlève la dernière partie: /download.

La commande d'installation est formée de 2 parties:

1) rpm -ivh

2) http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos6-amd64.rpm

La commande complète sera:

rpm -ivh http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos6-amd64.rpm

Le lien dans la commande est pour la version 64 bits de SME-9. Pour la version 32bit il n'y a qu'à remplacer"amd64" par "i386" dans le nom du fichier ci-dessous.

(Cette commande prend un certain temps à terminer.)

[root@sme-9 ~]# rpm -ivh http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos6-amd64.rpm

Récupération de http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos6-amd64.rpmPréparation... ########################################### [100%] 1:wkhtmltox ########################################### [100%][root@sme-9 ~]#

30 / 74 Version: 0.0.4 6 avril 2015

Page 31: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Python

On vérifie la commande de lancement de wkhtmltopdf.

[root@sme-9 ~]# ls -als /usr/local/bin/wkhtmltopdf

35552 -rwxr-xr-x 1 root root 36404688 18 janv. 19:52 /usr/local/bin/wkhtmltopdf[root@sme-9 ~]#

2.5. Création d'un lien

Nous allons créer un lien dans le répertoire /usr/bin pointant vers wkhtmltopdf.

[root@sme-9 ~]# ln -s /usr/local/bin/wkhtmltopdf /usr/bin/

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# ls -als /usr/bin/wkhtmltopdf

0 lrwxrwxrwx 1 root root 26 12 janv. 11:43 /usr/bin/wkhtmltopdf -> /usr/local/bin/wkhtmltopdf[root@sme-9 ~]#

3. Facultatif

Vous pouvez installer les polices de base de Microsoft afin qu'elles soient disponibles lorsque vous générez desrapports dans Odoo. Nous devons d'abord installer quelques dépendances, puis le gestionnaire msttcore-fonts-installer télécharge les polices de sourceforge, les installe et les active sur votre Serveur SME.

3.1. Pour les 64 bit (x86_64) seulement[root@sme-9 ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/libmspack-0.4-0.1.alpha.el6.x86_64.rpm

Récupération de http://dl.fedoraproject.org/pub/epel/6/x86_64/libmspack-0.4-0.1.alpha.el6.x86_64.rpmPréparation... ########################################### [100%] 1:libmspack ########################################### [100%][root@sme-9 ~]#

[root@sme-9 ~]# rpm -ivh https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Récupération de https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpmPréparation... ########################################### [100%] 1:msttcore-fonts-installe########################################### [100%]........./usr/share/fonts/msttcore: caching, new cache contents: 54 fonts, 0 dirs/usr/share/X11/fonts/Type1: caching, new cache contents: 13 fonts, 0 dirs/usr/share/X11/fonts/TTF: skipping, no such directory/usr/local/share/fonts: skipping, no such directory/root/.fonts: skipping, no such directory/var/cache/fontconfig: cleaning cache directory/root/.fontconfig: not cleaning non-existent cache directory/usr/bin/fc-cache: succeeded### Removing tmp directory /tmp/refresh-msttcore-fonts-eVRxGi[root@sme-9 ~]#

2015-04-06 Version: 0.0.4 31 / 74

Page 32: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

3.2. Pour les 32 bit (i686) seulementrpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/libmspack-0.4-0.1.alpha.el6.i686.rpm

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/cabextract-1.3-3.el6.i686.rpm

rpm -ivh https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

4. Source de Python 2.7.8

4.1. Introduction

Maintenant, nous allons télécharger et installer Python 2.7.8 à partir de la source. La première commande sup-prime toutes installations précédentes de python2.7 installées lors de tentatives précédentes.

Après la compilation nous utilisons "altinstall" pour éviter d'écraser l'installation de Python par défaut du Ser-veur SME.

Nous ferons le "build" de Python dans le répertoire personnel de l'utilisateur root car certaines distributionsCentOS empêchent l'exécution des programmes compilés en C dans le répertoire /tmp/ pour des raisons de sé-curité (voir: "noexec" dans /etc/fstab).

4.2. Effaçage des anciens essais

Juste au cas ou ce ne serait pas notre premier essai d'installation.

[root@sme-9 ~]# rm -r /usr/local/lib/python2.7

rm: impossible de supprimer « /usr/local/lib/python2.7 »: Aucun fichier ou dossier de ce type[root@sme-9 ~]#

4.3. Téléchargement

On doit être connecté au serveur en tant que l'usager root.

On s'assure qu'on est bien dans le répertoire personnel de root.

[root@sme-9 ~]# cd

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# pwd

/root[root@sme-9 ~]#

32 / 74 Version: 0.0.4 6 avril 2015

Page 33: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Python

On télécharge.

[root@sme-9 ~]# wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz

--2015-01-10 19:15:13-- http://python.org/ftp/python/2.7.8/Python-2.7.8.tgzRésolution de python.org... 104.130.43.121, 2001:4802:7901:0:e60a:1375:0:5Connexion vers python.org|104.130.43.121|:80...connecté.requête HTTP transmise, en attente de la réponse...301 Moved PermanentlyEmplacement: https://python.org/ftp/python/2.7.8/Python-2.7.8.tgz [suivant]--2015-01-10 19:15:14-- https://python.org/ftp/python/2.7.8/Python-2.7.8.tgzConnexion vers python.org|104.130.43.121|:443...connecté.requête HTTP transmise, en attente de la réponse...301 Moved PermanentlyEmplacement: https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz [suivant]--2015-01-10 19:15:14-- https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgzRésolution de www.python.org... 23.235.44.223Connexion vers www.python.org|23.235.44.223|:443...connecté.requête HTTP transmise, en attente de la réponse...200 OKLongueur: 14846119 (14M) [application/octet-stream]Sauvegarde en : «Python-2.7.8.tgz»

100%[========================================================>] 14 846 119 592K/s ds 25s

2015-01-10 19:15:39 (584 KB/s) - «Python-2.7.8.tgz» sauvegardé [14846119/14846119]

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# ls -als Python-2.7.8.tgz

14500 -rw-r--r-- 1 root root 14846119 29 juin 2014 Python-2.7.8.tgz[root@sme-9 ~]#

On extrait.

[root@sme-9 ~]# tar -zxf Python-2.7.8.tgz

[root@sme-9 ~]#

On se rend dans le répertoire créé par l'extraction.

[root@sme-9 ~]# cd Python-2.7.8

[root@sme-9 Python-2.7.8]#

On vérifie.

[root@sme-9 Python-2.7.8]# pwd

/root/Python-2.7.8[root@sme-9 Python-2.7.8]#

2015-04-06 Version: 0.0.4 33 / 74

Page 34: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

4.4. ./configure[root@sme-9 Python-2.7.8]# ./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"

checking build system type... x86_64-unknown-linux-gnuchecking host system type... x86_64-unknown-linux-gnu.........config.status: creating Modules/ld_so_aixconfig.status: creating pyconfig.hcreating Modules/Setupcreating Modules/Setup.localcreating Makefile[root@sme-9 Python-2.7.8]#

4.5. make[root@sme-9 Python-2.7.8]# make

gcc -pthread -c -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -fPIC -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c.........copying and adjusting /root/Python-2.7.8/Lib/smtpd.py -> build/scripts-2.7changing mode of build/scripts-2.7/pydoc from 644 to 755changing mode of build/scripts-2.7/idle from 644 to 755changing mode of build/scripts-2.7/2to3 from 644 to 755changing mode of build/scripts-2.7/smtpd.py from 644 to 755/usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py[root@sme-9 Python-2.7.8]#

4.6. make altinstall[root@sme-9 Python-2.7.8]# make altinstall

/usr/bin/install -c python /usr/local/bin/python2.7if test -f libpython2.7.so; then \ if test -n "" ; then \.........copying build/scripts-2.7/idle -> /usr/local/binchanging mode of /usr/local/bin/pydoc to 755changing mode of /usr/local/bin/smtpd.py to 755changing mode of /usr/local/bin/2to3 to 755changing mode of /usr/local/bin/idle to 755running install_egg_infoWriting /usr/local/lib/python2.7/lib-dynload/Python-2.7.8-py2.7.egg-inform /usr/local/lib/python2.7/lib-dynload/_sysconfigdata.py*[root@sme-9 Python-2.7.8]#

34 / 74 Version: 0.0.4 6 avril 2015

Page 35: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

virtualenv

VII- virtualenv

1. Installation

Python installé avec succès, il est temps d'ajouter l'environnement virtuel Python (virtualenv) et le module uti-litaire d'installation de PIP.

[root@sme-9 ~]# wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /usr/local/bin/python2.7

--2015-01-10 19:34:10-- https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.pyRésolution de bitbucket.org... 131.103.20.167, 131.103.20.168Connexion vers bitbucket.org|131.103.20.167|:443...connecté.requête HTTP transmise, en attente de la réponse...200 OKLongueur: 10479 (10K) [text/plain]Sauvegarde en : «STDOUT»

100%[=========================================================>] 10 479 --.-K/s ds 0s

2015-01-10 19:34:12 (372 MB/s) - envoi vers sortie standard [10479/10479]

Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.1.zipExtracting in /tmp/tmpoLhGedNow working in /tmp/tmpoLhGed/setuptools-11.3.1Installing Setuptoolsrunning install.........Installing easy_install script to /usr/local/binInstalling easy_install-2.7 script to /usr/local/bin

Installed /usr/local/lib/python2.7/site-packages/setuptools-12.0.4-py2.7.eggProcessing dependencies for setuptools==12.0.4Finished processing dependencies for setuptools==12.0.4[root@sme-9 ~]#

1.1. pip virtualenv[root@sme-9 ~]# /usr/local/bin/easy_install-2.7 pip virtualenv

Searching for pipReading https://pypi.python.org/simple/pip//usr/local/lib/python2.7/site-packages/setuptools-11.3.1-py2.7.egg/pkg_resources/__init__.py:2510: PEP440Warning: 'pip (dev)' is being parsed as a legacy, non PEP 440, version. You may find odd behavior and sort order. In particular it will be sorted as less than 0.0. It is recommend to migrate to PEP 440 compatible versions.Best match: pip 6.0.6Downloading https://pypi.python.org/packages/source/p/pip/pip-6.0.6.tar.gz#md5=bbb17814bdf82187f46aaf9cec6b6caaProcessing pip-6.0.6.tar.gzWriting /tmp/easy_install-rg7dHs/pip-6.0.6/setup.cfgRunning pip-6.0.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-rg7dHs/pip-6.0.6/egg-dist-tmp-PUWyVc

2015-04-06 Version: 0.0.4 35 / 74

Page 36: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

warning: no previously-included files found matching '.coveragerc'warning: no previously-included files found matching '.mailmap'warning: no previously-included files found matching '.travis.yml'warning: no previously-included files found matching 'pip/_vendor/Makefile'warning: no previously-included files found matching 'tox.ini'warning: no previously-included files found matching 'dev-requirements.txt'no previously-included directories found matching '.travis'no previously-included directories found matching 'docs/_build'no previously-included directories found matching 'contrib'no previously-included directories found matching 'tasks'no previously-included directories found matching 'tests'creating /usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.eggExtracting pip-6.0.6-py2.7.egg to /usr/local/lib/python2.7/site-packagesAdding pip 6.0.6 to easy-install.pth fileInstalling pip script to /usr/local/binInstalling pip2.7 script to /usr/local/binInstalling pip2 script to /usr/local/bin

Installed /usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.eggProcessing dependencies for pipFinished processing dependencies for pipSearching for virtualenvReading https://pypi.python.org/simple/virtualenv/Best match: virtualenv 12.0.5Downloading https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.5.tar.gz#md5=637abbbd04d270ee8c601ab29c4f7561Processing virtualenv-12.0.5.tar.gzWriting /tmp/easy_install-X4vcFc/virtualenv-12.0.5/setup.cfgRunning virtualenv-12.0.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-X4vcFc/virtualenv-12.0.5/egg-dist-tmp-7DdAXpwarning: no previously-included files matching '*' found under directory 'docs/_templates'warning: no previously-included files matching '*' found under directory 'docs/_build'creating /usr/local/lib/python2.7/site-packages/virtualenv-12.0.5-py2.7.eggExtracting virtualenv-12.0.5-py2.7.egg to /usr/local/lib/python2.7/site-packagesAdding virtualenv 12.0.5 to easy-install.pth fileInstalling virtualenv script to /usr/local/binInstalling virtualenv-2.7 script to /usr/local/bin

Installed /usr/local/lib/python2.7/site-packages/virtualenv-12.0.5-py2.7.eggProcessing dependencies for virtualenvFinished processing dependencies for virtualenv[root@sme-9 ~]#

2. Usager standard odoo

Maintenant, nous allons créer un utilisateur standard Linux odoo et configurer l'environnement virtuel.

2.1. Création de l'usager odoo

● Avec la création de son répertoire personnel dans /home/e-smith/files/users/odoo, l'usager odoo sera sauve-gardé par une sauvegarde standard du Serveur SME.

● En étant dans le groupe shared, l'usager odoo pourra écrire dans le répertoire html de l'i-bay Primary.

● Avec le shell /bin/bash, l'usager odoo pourra lancer toutes les commandes disponibles.

On crée l'usager odoo.

adduser odoo \--home /home/e-smith/files/users/odoo \--groups shared \--shell /bin/bash

36 / 74 Version: 0.0.4 6 avril 2015

Page 37: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

virtualenv

-d, --home RÉP_PERSO

Le nouvel utilisateur sera créé en utilisant REP_PERSO comme valeur de répertoire de connexion de l´utilisa-teur. Le comportement par défaut est de concaténer UTILISATEUR au répertoire REP_BASE, et de l´utiliseren tant que nom de répertoire de connexion. Il n´est pas nécessaire que le répertoire REP_PERSO existe mais ilne sera pas créé s´il n´existe pas.

-G, --groups GROUPE1[,GROUPE2,...[,GROUPEN]]]

Liste de groupes supplémentaires auxquels appartient également l´utilisateur. Chaque groupe est séparé du sui-vant par une virgule, sans espace entre eux. Les groupes sont soumis aux mêmes restrictions que celles de l´op-tion -g. Le comportement par défaut pour l´utilisateur est de n´appartenir qu´au groupe initial.

-s, --shell INTERPRÉTEUR

Le nom de l´interpréteur de commandes initial de l´utilisateur (login shell). Le comportement par défaut est delaisser ce champ vide. Le système sélectionnera alors l´interpréteur par défaut indiqué par la variable SHELLdans /etc/default/useradd, ou une chaîne vide par défaut.

2.2. Mot de passe

Pour notre démonstration, encore une fois on utilise le mot de passe préféré du fameux Général Toto.

[root@sme-9 ~]# passwd odoo

Changement de mot de passe pour l'utilisateur odoo.Entrez le nouveau mot de passe UNIX :fghtbghRetapez le nouveau mot de passe UNIX :fghtbghpasswd : mise à jour réussie de tous les jetons d'authentification.[root@sme-9 ~]#

2.3. Création des répertoiresDIR="/var/run/odoo /var/log/odoo /home/e-smith/files/ibays/Primary/html/odoo /home/e-smith/files/ibays/Primary/html/andromeda-addons"for NAME in $DIRdoif [ ! -d $NAME ]; then mkdir $NAME chown odoo.odoo $NAMEfidone

On vérifie.

[root@sme-9 ~]# ls -alsd /var/run/odoo

4 drwxr-xr-x 2 odoo odoo 4096 10 janv. 19:43 /var/run/odoo[root@sme-9 ~]#

[root@sme-9 ~]# ls -alsd /var/log/odoo

4 drwxr-xr-x 2 odoo odoo 4096 10 janv. 19:43 /var/log/odoo[root@sme-9 ~]#

[root@sme-9 ~]# ls -alsd /home/e-smith/files/ibays/Primary/html/odoo

4 drwxr-sr-x 2 odoo odoo 4096 10 janv. 19:43 /home/e-smith/files/ibays/Primary/html/odoo[root@sme-9 ~]#

2015-04-06 Version: 0.0.4 37 / 74

Page 38: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

[root@sme-9 ~]# ls -alsd /home/e-smith/files/ibays/Primary/html/andromeda-addons

4 drwxr-sr-x 2 odoo odoo 4096 10 janv. 19:43 /home/e-smith/files/ibays/Primary/html/andromeda-addons[root@sme-9 ~]#

3. Modules Python

3.1. Installation des modules dans un environnement virtuel

Pour bien rouler, Odoo nécessite beaucoup de modules Python. Maintenant que l'environnement virtuel Pythona été installé, nous devons y ajouter tous les modules supplémentaires requis.

Note importante pour les utilisateurs de cPanel & WHM: Si votre fournisseur d'hébergement utilise cPanel &WHM comme gestionnaire de votre serveur, vous devez activer l'accès au compilateur pour l'utilisateur odoosinon l'installation de Python et des modules supplémentaires échouera.

Voir ici pour des instructions sur la façon de permettre l'accès au compilateur.

Vous pouvez désactiver l'accès au compilateur après l'installation de Odoo.

Tout d'abord nous allons passer de l'usager root à l'usager odoo. Ensuite nous allons créer un nouvel environne-ment virtuel qu'on nommera odoo et enfin nous allons l'activer.

Les commandes de cette section doivent être exécutées en tant qu'utilisateur odoo.

3.2. Usager odoo

Changement d'usager.

[root@sme-9 ~]# su - odoo

[odoo@sme-9 ~]$

on vérifie.

[odoo@sme-9 ~]$ whoami

odoo[odoo@sme-9 ~]$

[odoo@sme-9 ~]$ pwd

/home/e-smith/files/users/odoo[odoo@sme-9 ~]$

3.3. Création d'un nouvel environnement virtuel

On crée le nouvel environnement virtuel et on le nomme odoo.

[odoo@sme-9 ~]$ /usr/local/bin/virtualenv --python=/usr/local/bin/python2.7 odoo

Already using interpreter /usr/local/bin/python2.7New python executable in odoo/bin/python2.7Also creating executable in odoo/bin/pythonInstalling setuptools, pip...done.[odoo@sme-9 ~]$

38 / 74 Version: 0.0.4 6 avril 2015

Page 39: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

virtualenv

On active le nouvel environnement virtuel.

[odoo@sme-9 ~]$ source odoo/bin/activate

(odoo)[odoo@sme-9 ~]$

3.4. Chemin

Avant de commencer l'installation du module, nous devons ajouter le chemin vers les binaires de PostgreSQL,sinon l'installation du module PsycoPG2 échouera.

ATTENTION: Si on a installé une version plus récente que psql-9.4, il faut ajuster la commande.

(odoo)[odoo@sme-9 ~]$ export PATH=/usr/pgsql-9.4/bin:$PATH

(odoo)[odoo@sme-9 ~]$

3.5. Installation des modules

Maintenant, nous allons installer tous les modules Python. Notez que nous remplaçons PIL par pillow - qui estun "fork" qui supporte beaucoup mieux PIL et qui travaille bien avec l'emplacement des bibliothèques de déve-loppement de CentOS.

(odoo)[odoo@sme-9 ~]$ pip install http://download.gna.org/pychart/PyChart-1.39.tar.gz

pip install babelpip install docutilspip install feedparserpip install gdatapip install Jinja2pip install makopip install mockpip install psutilpip install psycopg2pip install pydotpip install python-dateutilpip install python-openidpip install pytzpip install pywebdavpip install pyyamlpip install reportlabpip install simplejsonpip install unittest2pip install vatnumberpip install vobjectpip install werkzeugpip install xlwtpip install pyopensslpip install lxmlpip install python-ldappip install decoratorpip install requestspip install pillowpip install pyPdfpip install passlib

Collecting http://download.gna.org/pychart/PyChart-1.39.tar.gz Downloading http://download.gna.org/pychart/PyChart-1.39.tar.gz (115kB) 100% |################################| 118kB 267kB/s......... --------------------------------------------------------------------

2015-04-06 Version: 0.0.4 39 / 74

Page 40: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

PIL SETUP SUMMARY -------------------------------------------------------------------- version Pillow 2.7.0 platform linux2 2.7.8 (default, Jan 10 2015, 19:21:08) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] -------------------------------------------------------------------- --- TKINTER support available --- JPEG support available *** OPENJPEG (JPEG2000) support not available --- ZLIB (PNG/ZIP) support available --- LIBTIFF support available --- FREETYPE2 support available *** LITTLECMS2 support not available *** WEBP support not available *** WEBPMUX support not available -------------------------------------------------------------------- To add a missing option, make sure you have the required library, and set the corresponding ROOT variable in the setup.py script. To check the build, run the selftest.py script. changing mode of build/scripts-2.7/pilfont.py from 664 to 775 changing mode of build/scripts-2.7/pilfile.py from 664 to 775 changing mode of build/scripts-2.7/pilprint.py from 664 to 775 changing mode of build/scripts-2.7/pildriver.py from 664 to 775 changing mode of build/scripts-2.7/pilconvert.py from 664 to 775 changing mode of /home/odoo/odoo/bin/pilfont.py to 775 changing mode of /home/odoo/odoo/bin/pilfile.py to 775 changing mode of /home/odoo/odoo/bin/pilprint.py to 775 changing mode of /home/odoo/odoo/bin/pildriver.py to 775 changing mode of /home/odoo/odoo/bin/pilconvert.py to 775 Running setup.py install for reportlab ################################################ #Attempting install of _rl_accel & pyHnj #extensions from '/tmp/pip-build-OZvC_H/reportlab/src/rl_addons/rl_accel' ################################################......... 100% |################################| 409kB 595kB/sInstalling collected packages: passlib Running setup.py install for passlibSuccessfully installed passlib-1.6.2(odoo)[odoo@sme-9 ~]$

Voilà, tout est prêt pour l'installation de Odoo.

40 / 74 Version: 0.0.4 6 avril 2015

Page 41: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Odoo-8

VIII- Odoo-8

1. Groupe shared

On revient à l'usager root.

(odoo)[odoo@sme-9 ~]$ exit

logout[root@sme-9 html]#

On vérifie que l'usager odoo est bien dans le groupe shared.

[root@sme-9 html]# cat /etc/group |grep odoo

shared:x:500:www,admin,public,michelandre,odooodoo:x:5001:[root@sme-9 html]#

2. Installation depuis GitHub

Maintenant, il est enfin temps d'installer Odoo. Nous allons télécharger la dernière version de Odoo, la version8, depuis le dépôt GitHub.

Notez que nous installons dans le répertoire /home/e-smith/files/ibays/Primary/html/. De cette façon, nouspouvons facilement gérer l'installation en un seul endroit et la séparer du reste du système d'exploitation. Deplus, ce répertoire fait partie des sauvegardes du Serveur SME.

Important. Ces commandes doivent être exécutées en tant qu'usager odoo.

Nous changeons d'usager.

[root@sme-9 ~]# su - odoo

[odoo@sme-9 ~]$

On vérifie.

[odoo@sme-9 ~]$ whoami

odoo[odoo@sme-9 ~]$

On se rend dans le répertoire d'installation.

[odoo@sme-9 ~]$ cd /home/e-smith/files/ibays/Primary/html/

[odoo@sme-9 html]$

2015-04-06 Version: 0.0.4 41 / 74

Page 42: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

On vérifie.

[odoo@sme-9 html]$ pwd

/home/e-smith/files/ibays/Primary/html[odoo@sme-9 html]$

On vérifie si le répertoire odoo existe.

[odoo@sme-9 html]$ ls -alsd odoo/

4 drwxrwxr-x 5 odoo odoo 4096 12 janv. 21:58 odoo/[odoo@sme-9 html]$

On télécharge Odoo 8.0.

[odoo@sme-9 html]$ git clone https://github.com/odoo/odoo.git --branch 8.0

Initialized empty Git repository in /home/e-smith/files/ibays/Primary/html/odoo/odoo/.git/remote: Counting objects: 1400419, done.remote: Compressing objects: 100% (2295/2295), done.remote: Total 1400419 (delta 981), reused 1043 (delta 82)Receiving objects: 100% (1400419/1400419), 582.72 MiB | 599 KiB/s, done.Resolving deltas: 100% (1179180/1179180), done.[odoo@sme-9 html]$

On ajuste le propriétaire et le groupe.

[odoo@sme-9 html]$ chown -R odoo.odoo odoo

[odoo@sme-9 html]$

On vérifie.

[odoo@sme-9 html]$ ls -alsd odoo

4 drwxrwsr-x 8 odoo odoo 4096 17 janv. 10:18 odoo[odoo@sme-9 html]$

On retourne à l'usager root.

[odoo@sme-9 html]$ exit

logout[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

42 / 74 Version: 0.0.4 6 avril 2015

Page 43: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Odoo-8

3. Configuration du serveur Odoo

3.1. Introduction

Pour plus de sécurité, nous avons désactivé les différents modules RPC car nous ne les utilisons pas. Nousavons aussi ajusté l'écriture des journaux de telle sorte que nous n'y inscrivons que les avertissements et les er-reurs fatales. Nous sommes situé à Montréal de sorte que le fuseau horaire est défini sur America/Toronto.

Nous allons créer un fichier de configuration de base pour le serveur Odoo.

3.2. Fichier odoo-server.conf

3.2.1. Mot de passe de l'usager odoo de PostgreSQL

Lors de la création de l'usager odoo de PostgreSQL, nous lui avons donné le mot de passe préféré (fghtbgh) dufameux Général Toto.

3.2.2. Mot de passe de l'admin

Pour notre démonstration, on utilise, encore une fois, le mot de passe préféré (fghtbgh) du fameux Général.

On génère le fichier de configuration, /etc/odoo-server.conf, du serveur Odoo.

IMPORTANT: Toutes les commandes qui suivent doivent être exécutées en tant qu'usager root.

cat > /etc/odoo-server.conf << EOF[options]; This is the password that allows database operations:admin_passwd = fghtbgh; DATABASE OPTIONSdb_host = localhostdb_port = 5432db_user = odoodb_password = fghtbgh; MISC SETTINGSaddons_path = /home/e-smith/files/ibays/Primary/html/odoo/addonsload = webtimezone = America/Torontowithout-demo=allno-xmlrpc = Trueno-xmlrpcs = Trueno-netrpc = True; LOG SETTINGSlogfile = /var/log/odoo/odoo-server.loglog_handler = werkzeug:WARNINGlog_level = warnno-logrotate = True

EOF

2015-04-06 Version: 0.0.4 43 / 74

Page 44: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

On vérifie le contenu du fichier.

[root@sme-9 ~]# cat /etc/odoo-server.conf

[options]; This is the password that allows database operations:admin_passwd = fghtbgh; DATABASE OPTIONSdb_host = localhostdb_port = 5432db_user = odoodb_password = fghtbgh; MISC SETTINGSaddons_path = /home/e-smith/files/ibays/Primary/html/odoo/addonsload = webtimezone = America/Torontowithout-demo=allno-xmlrpc = Trueno-xmlrpcs = Trueno-netrpc = True; LOG SETTINGSlogfile = /var/log/odoo/odoo-server.loglog_handler = werkzeug:WARNINGlog_level = warnno-logrotate = True

[root@sme-9 ~]#

On ajuste le propriétaire et le groupe du fichier.

[root@sme-9 ~]# chown root.odoo /etc/odoo-server.conf

[root@sme-9 ~]#

On ajuste les droits sur le fichier.

[root@sme-9 ~]# chmod 640 /etc/odoo-server.conf

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# ls -alsd /etc/odoo-server.conf

4 -rw-r----- 1 root odoo 518 12 janv. 19:58 /etc/odoo-server.conf[root@sme-9 ~]#

3.3. logrotation

Nous avons autorisé la rotation des journaux en utilisant les outils CentOS de telle sorte que les journaux sontgérés de la même manière que toutes les autres applications.

cat > /etc/logrotate.d/odoo-server << EOF/var/log/odoo/*.log { copytruncate missingok notifempty}EOF

44 / 74 Version: 0.0.4 6 avril 2015

Page 45: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Odoo-8

On vérifie.

[root@sme-9 html]# cat /etc/logrotate.d/odoo-server

/var/log/odoo/*.log { copytruncate missingok notifempty}[root@sme-9 html]#

3.4. Script de démarrage (/etc/init.d/odoo)

Nous allons créer un script pour démarrer/arrêter facilement le serveur Odoo. Nous allons télécharger un scriptpré-créé d'initialisation puis utiliser la commande sed pour modifier le script pré-créé de telle sorte qu'il s'har-monise avec l'environnement virtuel Python que nous avons installé plus tôt.

On télécharge le script pré-créé d'initialisation.

[root@sme-9 ~]# wget -O /etc/init.d/odoo https://raw.githubusercontent.com/Johnzero/OE7/master/install/openerp-server.init

--2015-01-12 20:12:30-- https://raw.githubusercontent.com/Johnzero/OE7/master/install/openerp-server.initRésolution de raw.githubusercontent.com... 23.235.46.133Connexion vers raw.githubusercontent.com|23.235.46.133|:443...connecté.requête HTTP transmise, en attente de la réponse...200 OKLongueur: 2908 (2,8K) [text/plain]Sauvegarde en : «/etc/init.d/odoo»

100%[=====================================================>] 2 908 --.-K/s ds 0,003s

2015-01-12 20:12:31 (1,07 MB/s) - «/etc/init.d/odoo» sauvegardé [2908/2908]

[root@sme-9 ~]#

On change une des commandes de lancement de Odoo.

[root@sme-9 ~]# sed -i "s/openerp/odoo/g" /etc/init.d/odoo

[root@sme-9 ~]#

On change l'autre.

[root@sme-9 ~]# sed -i "s/OpenERP/Odoo/g" /etc/init.d/odoo

[root@sme-9 ~]#

On modifie le chemin vers openerp-server.

[root@sme-9 ~]# sed -i "s/\/usr\/bin\/setsid \/usr\/bin\/odoo-server/~\/odoo\/bin\/python\/home\/e-smith\/files\/ibays\/Primary\/html\/odoo\/openerp-server/" /etc/init.d/odoo

[root@sme-9 ~]#

2015-04-06 Version: 0.0.4 45 / 74

Page 46: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

Vérification finale du fichier.

[root@sme-9 ~]# cat /etc/init.d/odoo

#!/bin/bash# odoo-server This shell script takes care of starting and stopping# Odoo server## chkconfig: 345 95 05# description: Odoo server## pidfile: /var/run/odoo-server.pid# config: /etc/odoo-server.conf

### BEGIN INIT INFO# Provides: odoo-server# Required-Start: postgresql# Required-Stop: postgresql# Should-Start: $network harddrake# Default-Start: 345# Short-Description: Launches the Odoo server.# Description: This startup script launches the Odoo server.### END INIT INFO

# Source function library.. /etc/rc.d/init.d/functions

PIDFILE=/var/run/odoo/odoo-server.pidLOCKFILE=/var/lock/subsys/odoo-serverLOGFILE=/var/log/odoo/odoo-server.log

OPTS="--pidfile=$PIDFILE --logfile=$LOGFILE"

prog="odoo-server"desc="Odoo Server Daemon"

# check if the odoo-server conf file is present, then use itif [ -f /etc/odoo-server.conf ]; then OPTS="$OPTS -c /etc/odoo-server.conf"fi

# Source function libraryif [ -f /etc/init.d/functions ] ; then . /etc/init.d/functionselif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functionselse exit 0fi

# check the existence of the odoo-server script[ -z "/usr/bin/odoo-server" ] && exit 0

RETVAL=0

start() { if [ -d /etc/odoo/start.d ] ; then echo -n $"Preparing $desc: " run-parts --exit-on-error /etc/odoo/start.d RETVAL=$? echo [ $RETVAL -ne 0 ] && return $RETVAL fi

echo -n $"Starting $desc ($prog): " daemon --user odoo --check odoo-server \ "~/odoo/bin/python /home/e-smith/files/ibays/Primary/html/odoo/openerp-server \ -c /etc/odoo-server.conf \ --pidfile=$PIDFILE \ --logfile=$LOGFILE &"

46 / 74 Version: 0.0.4 6 avril 2015

Page 47: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Odoo-8

RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE return $RETVAL}

stop() { echo -n $"Stopping $desc ($prog): " kill -TERM `cat $PIDFILE` > /dev/null 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ] ; then rm -f $LOCKFILE

echo_success echo else echo_failure echo fi if [ -d /etc/odoo/stop.d ] ; then echo -n $"Clearing $desc: " run-parts /etc/odoo/stop.d echo fi return $RETVAL}

restart() { stop start}

condrestart() { [ -e $LOCKFILE ] && restart || :}

status() { if [ -f $PIDFILE ] ; then checkpid `cat $PIDFILE` RETVAL=$? if [ $RETVAL -eq 0 ] ; then echo $"$prog is running..." else echo $"$prog is stopped" fi else echo $"$prog is stopped" fi return $RETVAL}

case "$1" instart) start ;;

stop) stop ;;

restart|reload) restart ;;

condrestart) condrestart ;;

status) status

2015-04-06 Version: 0.0.4 47 / 74

Page 48: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

;;

probe) exit 0 ;;

*) echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}" exit 1esac[root@sme-9 ~]#

On rend le script exécutable.

[root@sme-9 ~]# chmod +x /etc/init.d/odoo

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# ls -alsd /etc/init.d/odoo

4 -rwxr-xr-x 1 root root 2908 12 janv. 20:12 /etc/init.d/odoo[root@sme-9 ~]#

3.5. Commande de démarrage

On ajoute la commande de lancement du script à la fin du fichier /etc/rc.d/rc.local car le Serveur SME-9 roulesous le niveau 7 et chkconfig ne prend en compte que les niveaux [0..6]. On ne peut donc pas utiliserchkconfig pour configurer le script de démarre pour le niveau 7.

[root@sme-9 ~]# echo "/etc/init.d/odoo start" >> /etc/rc.d/rc.local

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# cat /etc/rc.d/rc.local

#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local/etc/init.d/postgresql-9.4 start/etc/init.d/odoo start[root@sme-9 ~]#

48 / 74 Version: 0.0.4 6 avril 2015

Page 49: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Odoo-8

3.6. signal-event

Très important

Lorsque tout est terminé et pour que les nouvelles configurations soient permanentes.

[root@sme-9 html]# signal-event post-upgrade; signal-event reboot

Broadcast message from root@sme-9 (/dev/pts/0) at 10:29 ...

The system is going down for reboot NOW![root@sme-9 html]#

2015-04-06 Version: 0.0.4 49 / 74

Page 50: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

IX- Divers

1. Vérification des démarrages

Après le réamorçage.

1.1. PostgreSQL

Usage: /etc/init.d/postgresql-9.4 {start|stop|status|restart|upgrade|condrestart|try-restart|reload|force-reload|initdb|promote}

Pour vérifier le statut.

[root@sme-9 ~]# /etc/init.d/postgresql-9.4 status

postgresql-9.4 (pid 2688) en cours d'exécution...[root@sme-9 ~]#

1.2. Odoo

Syntaxe: /etc/init.d/odoo {start|stop|status|restart|condrestart|reload}

Pour vérifier le statut.

[root@sme-9 ~]# /etc/init.d/odoo status

odoo-server est en cours d'exécution...[root@sme-9 ~]#

2. Fichiers journaux

Vous pouvez vérifier les fichiers journaux /var/log/messages et /var/log/odoo/odoo-server.log pour vous assu-rer que tout a démarré correctement.

Vous pouvez également utiliser “/etc/init.d/odoo restart” et “/etc/init.d/odoo stop” pour redémarrer et arrêterOdoo au besoin.

3. Mot de passe

N'oubliez pas que vous pouvez trouver le mot de passe de l'admin de votre base de données dans le fichier deconfiguration de Odoo: /etc/odoo-server.conf.

3.1. Usager odoo de PostgreSQL

Si on veut changer le mot de passe de l'usager odoo de PostgreSQL il faut changer d'usager pour devenir l'usa-ger Linux postgres.

[root@sme-9 ~]# su - postgres

-bash-4.1$

50 / 74 Version: 0.0.4 6 avril 2015

Page 51: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Divers

On vérifie.

-bash-4.1$ whoami

postgres-bash-4.1$

L'usager postgres entre dans PostgreSQL.

-bash-4.1$ psql

psql (9.4.0)Saisissez « help » pour l'aide.

postgres=#

On change le mot de passe de l'usager odoo de PostgreSQL.

postgres=# ALTER ROLE odoo WITH PASSWORD 'nouveau-mot-de-passe';

ALTER ROLEpostgres=#

IMPORTANT. Ce changement ne modifie pas le mot de passe dans /etc/odoo-server.conf. Il faut éditer le fi-chier et changer le mot de passe de db_password = nouveau-mot-de-passe.

On sort de PostgreSQL.

postgres=# \q

-bash-4.1$

On retourne à l'usager root.

-bash-4.1$ exit

logout[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

4. Désinstallation de gcc

Nous avions besoin de gcc pour la compilation, entre autre de Python.

Est-ce que gcc est requis par un paquetage quelconque?

[root@sme-9 ~]# rpm -q --whatrequires gcc

aucun paquetage ne requiert gcc[root@sme-9 ~]#

2015-04-06 Version: 0.0.4 51 / 74

Page 52: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

Quel version de gcc avons-nous d'installé?

[root@sme-9 ~]# rpm -qa | grep gcc

gcc-4.4.7-11.el6.x86_64libgcc-4.4.7-11.el6.x86_64[root@sme-9 ~]#

Avoir gcc installé est un risque de sécurité vu qu'un pirate pourrait s'en servir pour compiler un malveillant.

On peut donc le désinstaller sans problème. Si plus tard nous en avions encore besoin, il suffirait de l'installer ànouveau.

On désinstalle donc gcc.

[root@sme-9 ~]# rpm -e gcc-4.4.7-11.el6.x86_64

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# rpm -qa | grep gcc

libgcc-4.4.7-11.el6.x86_64[root@sme-9 ~]#

Il n'y a pas de problème à garder libgcc mais on peut aussi l'enlever.

5. Administration du serveur Odoo

Pour administrer le serveur Odoo, il suffit de se loguer avec le nom d'usager admin et de fournir son mot depasse tel que contenu dans le fichier de configuration de Odoo: /etc/odoo-server.conf.

6. Site Odoo

Il faut autoriser java script et les témoins dans notre fureteur.

On doit spécifier le port 8069 soit: http://adresse-du-serveur:8069.

52 / 74 Version: 0.0.4 6 avril 2015

Page 53: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Divers

6.1. Création d'une nouvelle base de données

Master password: le mot de passe pour admin_passwd qu'on a spécifié dans le fichier de configuration/etc/odoo-server.conf.

Select a database name: le nom de notre société.

Load demonstration data: cochez si on veut les données d'exemples (pour un test seulement).

Default language: on choisit, dans le menu déroulant, la langue par défaut pour notre site. La traductionfrançaise n'est pas encore terminée.

Choose password: on donne le mot de passe pour db_password qu'on a spécifié dans le fichier de configu-ration /etc/odoo-server.conf.

Confirm password: on confirme.

On clic Create Database pour créer notre première base de données pour notre société. Ce processus peutprendre quelques instant.

Nous sommes prêt à utiliser Odoo.

2015-04-06 Version: 0.0.4 53 / 74

Page 54: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

Après quelques modifications.

7. Redirection HTML

Pour accéder à Odoo sur notre site, il faut absolument spécifier le port 8069.

On pourrait créer une règle iptables qui redirigerait le port standard 80 vers le port 8069. Le problème avec untel scénario est qu'on perdrait l'accès à Server-Manager ou à notre site Internet standard qui pourrait être aussihébergé sur le serveur.

7.1. Seul le site Odoo roule sur le serveur

Si Odoo est le seul site qui roule sur le serveur, on peut modifier le fichier index.html, qui est dans le répertoirePrimary/html, pour qu'il fasse une redirection html vers le port 8069.

En étant logué root, on se rend dans le répertoire Primary/html.

On vérifie.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

[root@sme-9 ~]# cd /home/e-smith/files/ibays/Primary/html/

[root@sme-9 html]#

On vérifie.

[root@sme-9 html]# pwd

/home/e-smith/files/ibays/Primary/html[root@sme-9 html]#

54 / 74 Version: 0.0.4 6 avril 2015

Page 55: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Divers

On modifie le fichier index.html.

Ici, pour cette documentation, on utilise l'adresse IP du réseau local de notre serveur mais il faudrait utiliser levrai nom du domaine pour un serveur en production.

cat > ./index.htm << EOF<head> <META http-EQUIV="Refresh" CONTENT="0; url=http://192.168.1.10:8069"> </head>EOF

On vérifie.

[root@sme-9 html]# cat index.htm

<head><META http-EQUIV="Refresh" CONTENT="0; url=http://192.168.1.10:8069"></head>[root@sme-9 html]#

On ajuste le propriétaire et le groupe.

[root@sme-9 html]# chown admin:shared index.htm

[root@sme-9 html]#

On vérifie.

[root@sme-9 html]# ls -als index.htm

4 -rw-r--r-- 1 admin shared 87 14 janv. 12:48 index.htm[root@sme-9 html]#

On se rend sur notre site sans spécifier de port et on est automatiquement rediriger vers Odoo.

Il faut vider la cache de l'historique du fureteur si nous sommes allés au site avant d'installer le nouveau fichierindex.htm.

7.2. Un autre site roule sur le serveur

Si un autre site est hébergé sur le serveur dans le réper-toire Primary/html, nous allons créer un fichier in-dex.html dans le répertoire Primary/htm/odoo et cefichier fera une redirection html vers le port 8069.

En étant logué root, on se rend dans le répertoire Pri-mary/html/odoo.

[root@sme-9 ~]# cd /home/e-smith/files/ibays/Primary/html/odoo

[root@sme-9 odoo]#

2015-04-06 Version: 0.0.4 55 / 74

Page 56: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

On vérifie.

[root@sme-9 odoo]# pwd

/home/e-smith/files/ibays/Primary/html/odoo[root@sme-9 odoo]#

On crée le fichier index.html.

Ici, pour cette documentation, on utilise l' adresse IP du réseau local de notre serveur mais il faudrait utiliser levrai nom du domaine pour un serveur en production.

cat > ./index.htm << EOF<head> <META http-EQUIV="Refresh" CONTENT="0; url=http://192.168.1.10:8069"> </head>EOF

On vérifie.

[root@sme-9 odoo]# cat index.htm

<head><META http-EQUIV="Refresh" CONTENT="0; url=http://192.168.1.10:8069"></head>[root@sme-9 odoo]#

On ajuste le propriétaire et le groupe.

[root@sme-9 odoo]# chown odoo:odoo index.htm

[root@sme-9 odoo]#

On vérifie.

[root@sme-9 odoo]# ls -als index.htm

4 -rw-r--r-- 1 odoo odoo 87 14 janv. 13:08 index.htm[root@sme-9 odoo]#

On se rend sur notre site en ajoutant odoo à l'adresse de notre site i.e. http://adresse-de-notre-site/odoo.

Nous sommes aussitôt redirigé vers le port 8069.

56 / 74 Version: 0.0.4 6 avril 2015

Page 57: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Divers

8. Mise à jour Odoo

Si vous souhaitez mettre à jour le code de Odoo à la dernière version, vous pouvez facilement le faire en arrê-tant le serveur puis en effectuant un "git pull".

Notez que vous devez faire le "git pull" en tant qu'utilisateur odoo.

[root@sme-9 ~]# su - odoo

[odoo@sme-9 ~]$

On vérifie.

[odoo@sme-9 ~]$ whoami

odoo[odoo@sme-9 ~]$

On arrête le serveur Odoo.

[root@sme-9 odoo]# /etc/init.d/odoo stop

Arrêt de Odoo Server Daemon (odoo-server) : [ OK ][root@sme-9 odoo]#

On vérifie le statut du serveur Odoo.

[root@sme-9 odoo]# /etc/init.d/odoo status

odoo-server est arrêté[root@sme-9 odoo]#

On se rend dans le répertoire Primary/html/odoo.

[odoo@sme-9 ~]$ cd /home/e-smith/files/ibays/Primary/html/odoo

[odoo@sme-9 odoo]$

On vérifie.

[odoo@sme-9 odoo]$ pwd

/home/e-smith/files/ibays/Primary/html/odoo[odoo@sme-9 odoo]$

On lance le "git pull".

[odoo@sme-9 odoo]$ git pull

remote: Counting objects: 5375, done.remote: Compressing objects: 100% (3518/3518), done.remote: Total 5375 (delta 2657), reused 3042 (delta 1757)Receiving objects: 100% (5375/5375), 12.30 MiB | 571 KiB/s, done.Resolving deltas: 100% (2657/2657), done.From https://github.com/odoo/odoo e261c44..c62a75a 7.0 -> origin/7.0 ec25207..eed09ba 8.0 -> origin/8.0 a290b9d..3616f4c master -> origin/master 32246d9..b3f3daf saas-3 -> origin/saas-3Updating ec25207..eed09baFast-forward

2015-04-06 Version: 0.0.4 57 / 74

Page 58: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

MANIFEST.in | 4 +- README.md | 6 +-......... create mode 100644 addons/website_sale/i18n/hr.po create mode 100644 addons/website_sale/i18n/is.po delete mode 100644 doc/_themes/odoodoc/static/zeroclipboard-2.1.6/ZeroClipboard.min.js delete mode 100644 doc/_themes/odoodoc/static/zeroclipboard-2.1.6/ZeroClipboard.swf create mode 100644 openerp/addons/base/static/img/logo_white.png[odoo@sme-9 odoo]$

On redevient l'usager root car l'usager odoo peut arrêter le serveur Odoo mais il ne peut pas le repartir.

[odoo@sme-9 odoo]$ exit

logout[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

On relance le serveur Odoo.

[root@sme-9 ~]# /etc/init.d/odoo start

Démarrage de Odoo Server Daemon (odoo-server) : [ OK ][root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# /etc/init.d/odoo status

odoo-server est en cours d'exécution...[root@sme-9 ~]#

9. Installation d'un module

On se logue sur le site avec l'usager admin et le mot de passe (fghtbgh) du fameux Général.

Nous allons installer le module Calendrier.

Modules | Local Modules | Calendrier | Installer.

Voilà, le module a été installé. Nous avons maintenant un onglet de Configuration.

58 / 74 Version: 0.0.4 6 avril 2015

Page 59: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Mise à jour du Serveur SME

X- Mise à jour du Serveur SME

On se logue dans Server-Manager avec admin.

Configuration | Mise à jour logicielle | Afficher les mises à jour disponibles | Installer les mises à joursélectionnées.

À la fin des mises à jour, il faut absolument cliquer sur Reconfigurer pour terminer le processus et le ServeurSME ré-amorcera pour appliquer toutes les mises à jour.

Soyez patient, il peut s'écouler un certain temps entre le clic sur Reconfigurer et le réamorçage du serveur.

2015-04-06 Version: 0.0.4 59 / 74

Page 60: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

1. Vérification après réamorçage

1.1. Fonctionnement de Odoo[root@sme-9 ~]# /etc/init.d/postgresql-9.4 status

postgresql-9.4 (pid 2117) en cours d'exécution...[root@sme-9 ~]#

[root@sme-9 ~]# /etc/init.d/odoo status

odoo-server est en cours d'exécution...[root@sme-9 ~]#

1.2. Mises à jour

2. Vérification de Odoo

Tout semble bien fonctionner.

60 / 74 Version: 0.0.4 6 avril 2015

Page 61: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Sauvegarde du Serveur SME

XI- Sauvegarde du Serveur SME

1. Sauvegarde

On lance une sauvegarde sur un ordinateur distant.

2. Répertoires sauvegardés

2015-04-06 Version: 0.0.4 61 / 74

Page 62: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

3. Fichiers de configuration et de lancement

Les fichiers ci-dessous devraient être sauvegardés dans le répertoire de l'usager odoo afin qu'ils puissent êtresauvegardés lors d'une sauvegarde standard du Serveur SME.

[root@sme-9 ~]# ls -als /etc/odoo-server.conf

4 -rw-r----- 1 root odoo 492 14 janv. 10:16 /etc/odoo-server.conf[root@sme-9 ~]#

[root@sme-9 ~]# ls -als /etc/init.d/odoo

4 -rwxr-xr-x 1 root root 2864 14 janv. 10:19 /etc/init.d/odoo[root@sme-9 ~]#

[root@sme-9 ~]# ls -als /etc/rc.d/rc.local

4 -rwxr-xr-x 1 root root 276 14 janv. 12:02 /etc/rc.d/rc.local[root@sme-9 ~]#

On change d'usager pour devenir l'usager odoo.

[root@sme-9 html]# su - odoo

[odoo@sme-9 ~]$

On vérifie.

[odoo@sme-9 ~]$ whoami

odoo[odoo@sme-9 ~]$

Où sommes-nous?

[odoo@sme-9 ~]$ pwd

/home/e-smith/files/users/odoo[odoo@sme-9 ~]$

On crée un répertoire de sauvegarde.

[odoo@sme-9 ~]$ mkdir sauvegarde_odoo

[odoo@sme-9 ~]$

62 / 74 Version: 0.0.4 6 avril 2015

Page 63: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Sauvegarde du Serveur SME

On vérifie.

[odoo@sme-9 ~]$ ls -alsd sauvegarde_odoo/

4 drwxrwxr-x 2 odoo odoo 4096 15 janv. 17:02 sauvegarde_odoo/[odoo@sme-9 ~]$

On copie les fichiers cités ci-haut dans le répertoire de sauvegarde.

[odoo@sme-9 ~]$ cp /etc/odoo-server.conf /etc/init.d/odoo /etc/rc.d/rc.local ./sauvegarde_odoo/

[odoo@sme-9 ~]$

On vérifie.

[odoo@sme-9 ~]$ ls -als sauvegarde_odoo/

total 204 drwxrwxr-x 2 odoo odoo 4096 15 janv. 17:05 .4 drwx------ 7 odoo odoo 4096 15 janv. 17:02 ..4 -rwxr-xr-x 1 odoo odoo 2864 15 janv. 17:05 odoo4 -rw-r----- 1 odoo odoo 492 15 janv. 17:05 odoo-server.conf4 -rwxr-xr-x 1 odoo odoo 276 15 janv. 17:05 rc.local[odoo@sme-9 ~]$

On retourne à l'usager root.

[odoo@sme-9 ~]$ exit

logout[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

La prochaine sauvegarde standard du Serveur SME sauvegardera aussi ces fichiers.

2015-04-06 Version: 0.0.4 63 / 74

Page 64: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

XII- Sauvegardes et restaurations PostgreSQL

1. Référence

http://docs.postgresqlfr.org/9.3/backup.html

1.1. Utilisation de pg_dumpall

Pour permettre une sauvegarde aisée de tout le contenu d'un cluster, le programme pg_dumpall(1) est fourni.pg_dumpall sauvegarde toutes les bases de données d'un cluster (ensemble des bases d'une instance)PostgreSQL et préserve les données communes au cluster, telles que les rôles et tablespaces. L'utilisation ba-sique de cette commande est:

pg_dumpall > fichier_de_sortie

Le fichier de sauvegarde résultant peut être restauré avec psql:

psql -f fichier_d_entree postgres

(N'importe quelle base de données peut être utilisée pour la connexion mais si le rechargement est exécuté surun cluster vide, il est préférable d'utiliser l'usager postgres.) Il faut obligatoirement avoir le profil superutili-sateur pour restaurer une sauvegarde faite avec pg_dumpall, afin de pouvoir restaurer les informations sur lesrôles et les tablespaces. Si les tablespaces sont utilisés, il faut s'assurer que leurs chemins sauvegardés sont ap-propriés à la nouvelle installation.

pg_dumpall fonctionne en émettant des commandes pour recréer les rôles, les tablespaces et les bases vides,puis en invoquant pg_dump pour chaque base de données. Ceci signifie que, bien que chaque base de donnéesest cohérente en interne, les images des différentes bases de données peuvent ne pas être tout à fait synchroni -sées.

1.2. Gérer les grosses bases de données

Certains systèmes d'exploitation ont des limites sur la taille maximum des fichiers qui posent des problème lorsde la création de gros fichiers de sauvegarde avec pg_dump. Heureusement, pg_dump peut écrire sur la sortiestandard, donc vous pouvez utiliser les outils Unix standards pour contourner ce problème potentiel. Il existeplusieurs autres méthodes:

Compresser le fichier de sauvegarde. Tout programme de compression habituel est utilisable. Par exemplegzip:

pg_dump base_de_donnees | gzip > nom_fichier.gz

Pour restaurer:

gunzip -c nom_fichier.gz | psql base_de_donnees

ou

cat nom_fichier.gz | gunzip | psql base_de_donnees

64 / 74 Version: 0.0.4 6 avril 2015

Page 65: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Sauvegardes et restaurations PostgreSQL

Couper le fichier avec split. La commande split permet de découper le fichier en fichiers plus petits, de tailleacceptable par le système de fichiers sous-jacent. Par exemple, pour faire des morceaux de 1 Mo:

pg_dump base_de_donnees | split -b 1m - nom_fichier

Pour restaurer:

cat nom_fichier* | psql base_de_donnees

2. Sauvegarde

L'exemple démontré ci-dessous explique un seul scénario de sauvegarde et restauration de PostgreSQL. Ce scé-nario n'est heureusement pas le seul. Il est laissé à l'usager d'en construire un qui réponde à sa propre situation.

On change d'usager pour devenir l'usager postgres.

[root@sme-9 ~]# su - postgres

-bash-4.1$

On vérifie.

-bash-4.1$ whoami

postgres-bash-4.1$

Où sommes-nous?

-bash-4.1$ pwd

/var/lib/pgsql-bash-4.1$

On sauvegarde.

-bash-4.1$ pg_dumpall --clean > PostgreSQL_Odoo-8_2015-01-15_17h16

-bash-4.1$

-c

--clean

Inclut les commandes SQL pour nettoyer (drop) les bases de données avant de les recréer.

La commande DROP pour les rôles et les tablespaces est aussi ajoutée.

-f filename

--file=filename

Envoie la sortie vers le fichier spécifié. Si ce paramètre n'est pas spécifié, la sortie standard est utilisée.

On vérifie.

-bash-4.1$ ls -als PostgreSQL_Odoo-8_2015-01-15_17h16

9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 PostgreSQL_Odoo-8_2015-01-15_17h16-bash-4.1$

2015-04-06 Version: 0.0.4 65 / 74

Page 66: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

On retourne à l'usager root.

-bash-4.1$ exit

logout[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

On déplace le fichier de sauvegarde vers le répertoire de l'usager odoo pour que ce fichier puisse être sauvegar-dé lors d'une sauvegarde standard du Serveur SME.

[root@sme-9 ~]# mv /var/lib/pgsql/PostgreSQL_Odoo-8_2015-01-15_17h16 /home/e-smith/files/users/odoo/sauvegarde_odoo/

[root@sme-9 ~]#

On vérifie

[root@sme-9 ~]# ls -als /home/e-smith/files/users/odoo/sauvegarde_odoo/

total 9056 4 drwxrwxr-x 2 odoo odoo 4096 15 janv. 17:17 . 4 drwx------ 7 odoo odoo 4096 15 janv. 17:02 .. 4 -rwxr-xr-x 1 odoo odoo 2864 15 janv. 17:09 odoo 4 -rw-r----- 1 odoo odoo 492 15 janv. 17:09 odoo-server.conf9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 PostgreSQL_Odoo-8_2015-01-15_17h16 4 -rwxr-xr-x 1 odoo odoo 276 15 janv. 17:09 rc.local[root@sme-9 ~]#

2.1. cron

On pourrait créer un cron pour exécuter une sauvegarde hebdomadaire.

Il serait préférable de faire la sauvegarde dans le répertoire personnel de l'usager odoo car ainsi les sauvegardesdu Serveur SME sauvegarderaient aussi les sauvegardes PostgreSQL.

3. Restauration

Ici, on restaure toutes les bases de données de Odoo car nous avons utili-ser pg_dumpall pour la sauvegarde.

Si on veut restaurer seulement une base de données, il faut utiliserpg_dump pour sauvegarder chacune des BD.

66 / 74 Version: 0.0.4 6 avril 2015

Page 67: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Sauvegardes et restaurations PostgreSQL

3.1. Effaçage des bases de données actuelles

Si on est logué dans Odoo, on se déconnecte.

À l'écran de login, on accède à la gestion des bases de données en cliquant Manage Databases.

On sélectionne chacune des BD de Odoo, on donne le mot de passe de l'admin de la BD et on clique Droppour effacer la BD. On refait cette procédure pour toutes les BD de Odoo. On confirme en cliquant OK.

3.2. Restauration

On affiche les fichiers de sauvegarde.

[root@sme-9 ~]# ls -als /home/e-smith/files/users/odoo/sauvegarde_odoo/PostgreSQL_Odoo*

9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 /home/e-smith/files/users/odoo/sauvegarde_odoo/PostgreSQL_Odoo-8_2015-01-15_17h16[root@sme-9 ~]#

On déplace le fichier de sauvegarde qu'on veut restaurer.

[root@sme-9 ~]# mv /home/e-smith/files/users/odoo/sauvegarde_odoo/PostgreSQL_Odoo-8_2015-01-15_17h16 /var/lib/pgsql/

[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# ls -als /var/lib/pgsql/PostgreSQL_Odoo-8_2015-01-15_17h16

9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 /var/lib/pgsql/PostgreSQL_Odoo-8_2015-01-15_17h16[root@sme-9 ~]#

On change pour l'usager postgres.

[root@sme-9 ~]# su - postgres

-bash-4.1$

On vérifie.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

2015-04-06 Version: 0.0.4 67 / 74

Page 68: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

SME-9 & Odoo-8

On affiche le fichier de restauration.

-bash-4.1$ ls -als PostgreSQL*

9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 PostgreSQL_Odoo-8_2015-01-15_17h16-bash-4.1$

On restaure.

-bash-4.1$ psql -f PostgreSQL_Odoo-8_2015-01-15_17h16

...

...

...GRANTGRANT-bash-4.1$

On redevient l'usager root.

-bash-4.1$ exit

logout[root@sme-9 ~]#

On vérifie.

[root@sme-9 ~]# whoami

root[root@sme-9 ~]#

On repart le serveur PostgreSQL.

[root@sme-9 ~]# /etc/init.d/postgresql-9.4 restart

Arrêt du service postgresql-9.4: [ OK ]Démarrage du service postgresql-9.4 : [ OK ][root@sme-9 ~]#

4. Vérification

On se logue avec un compte quelconque.

Victoire totale.

68 / 74 Version: 0.0.4 6 avril 2015

Page 69: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Sauvegardes et restaurations PostgreSQL

Crédits

© 2015 RF-232

Auteur: Michel-André Robillard CLP

Remerciement: Tous les contributeurs GNU/GPL.

Intégré par: Michel-André Robillard CLP

Contact: michelandre at micronator.org

Répertoire de ce document: E:\000_DocPourRF232_general\RF-232_SME-9.0_Odoo-8\RF-232_SME-9.0_Odoo-8_Installation_2015-04-05_16h21.odt

Historique des modifications:

Version Date Commentaire Auteur

RC-1 2015-01-11 Début. M.-A. Robillard

0.0.1 2015-01-24 Début. M.-A. Robillard

0.0.2 2015-02-22 Petites modifications. M.-A. Robillard

0.0.3 2015-03-13 Correction orthographique. M.-A. Robillard

0.0.4 2015-04-05 Vérification complète Changement des propriétés du document dans LibreOffice pour ajuster le titre.

M.-A. Robillard

2015-04-06 Version: 0.0.4 69 / 74

Page 70: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Index

Index

1192.168.1.10.................................10

332 bit (i686) seulement.................3232 ou 64 bits..................................11

664 bit (x86_64) seulement............31

88069........................................52, 54

Aabsolete.........................................14addons_path..................................43adduser michelandre.....................19admin_passwd..............................43adresse du lien........................27, 30Afficher les mises à jour disponibles......................................................59AGPL..............................................6Ajout du dépôt..............................13altinstall........................................32America/Toronto...........................43anciens essais................................32ASCII..............................................7astuce..............................................7Avertissement.................................2

Bbase de données par défaut...........18BaseURL......................................13bleu.................................................7Brancher les aînés...........................8build..............................................32

Ccabextract......................................27cat...................................................7CentOS 6 - x86 64........................11CentOS-6......................................11CentOS-6 x86 64bit................27, 30CentOS-6.5...................................11

Chemin.........................................39chkconfig......................................48chmod 640....................................44Choose password..........................53chown -R......................................42chown admin:shared.....................55chown root.odoo...........................44clé PKI..........................................12coltest............................................22Commande de démarrage.............48commande yum.............................11Commentaire................................69Commentaires et suggestions.........8Configuration................................59Configuration finale......................24Confirm password........................53Connexion à la BD.......................21Conventions....................................7cPanel & WHM............................38CR...................................................7CREATE.......................................22Create Database............................53CREATE SCHEMA.....................18CREATE TABLE test.test............22CREATE USER............................18createuser......................................25Création d'une nouvelle base de données.........................................53Création des répertoires................37Crédits...........................................69cron...............................................66

Ddaviddean99....................................9db_host.........................................43db_password.................................43db_password.................................53db_port..........................................43db_user.........................................43Déconnexion...........................18, 23Default language...........................53Dépendances.................................26dépendances de paquetages..........26dépôt PostgreSQL.........................11Description générale.......................6diffusion du savoir..........................8DigestIT-2004.................................7DROP.....................................22, 65

DROP TABLE..............................22

Eeasy_install-2.7.............................35en cours d'exécution.....................60EnableGroups...............................13environnement virtuel...................38EOF...............................................44ERP.................................................6étape................................................7Exclude=.......................................14exit................................................58

Ffghtbgh..........................................43fichier_d_entree............................64fichier_de_sortie...........................64Fichiers de configuration..............62Fichiers journaux..........................50fork................................................39

Ggcc.................................................26Général Toto.................................20GitHuB............................................9GPGCheck....................................13GPGKey........................................13GRANT........................................18GRANT ALL ON ALL TABLES. 18GRANT ALL ON SCHEMA........18grep...............................................20grosses bases de données..............64groupe shared................................19Groupe shared...............................41gzip...............................................64

Hhelp...............................................17HELP............................................22http://download.gna.org/...............39http://pkgs.repoforge.org/.............28https://bitbucket.org/.....................35https://github.com/........................42https://raw.githubusercontent.com45

I

70 / 74 Version: 0.0.4 2015-04-06

Page 71: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Index

i-bay Primary................................36ident..............................................21Informatique Libre..........................8initdb.............................................16Initialisation..................................16INSERT........................................22Installation depuis GitHub............41Installer les mises à jour sélectionnées.................................59INTERPRÉTEUR...................19, 37ISO9001..........................................6

Jjava script......................................52

LLancement à l'amorçage...............16Lancement manuel........................16LF...................................................7load...............................................43Load demonstration data..............53log_handler...................................43log_level.......................................43logfile............................................43logiciel Odoo..................................6Logiciels recommandés..................7logrotation.....................................44

Mmagenta...........................................7make.............................................34make altinstall...............................34Manipulation...................................7Manuel de l'Administrateur............6Manuel de l'Utilisateur...................6Manuel du développeur..................6Master password...........................53MD5..........................................7, 24micronator.org.................................8MirrorList.....................................14Mise à jour....................................59Mise à jour logicielle....................59Mises à jour..................................60mkdir sauvegarde_odoo................62modules RPC................................43Mot de passe.................................20mot de passe de l'admin................50mv.................................................67

N

niveaux [0..6]................................48no-logrotate...................................43no-netrpc.......................................43no-xmlrpc.....................................43no-xmlrpcs....................................43noexec...........................................32non vérifié.......................................7NON-RESPONSABILITÉ.............2note.................................................7Notes au lecteur..............................7

Oobjets nommés..............................18Odoo-8..........................................41odoo.git.........................................42odoo/bin/activate..........................39Open Source...................................6OpenERP........................................6OpenERP SA..................................6orange.............................................7

Ppasswd michelandre......................20PDF...........................................7, 29pg_dumpall...................................64pg_dumpall --clean.......................65pg_hba.conf..................................24pgdg..............................................11PIL................................................39pillow............................................39PIP................................................35pip install......................................39pip virtualenv................................35point-virgule.................................17PostgreSQL 9.4.............................14PPPoE...........................................10Premiers pas..................................17Primary/htm/odoo.........................55Primary/html.................................19Primary/html/odoo........................37procédure........................................7psql...............................................17psql -d postgres.............................21psql -f............................................68PsycoPG2.....................................39PuTTY............................................7PyChart-1.39.tar.gz.......................39Python 2.7.......................................9

Rrecommandation.............................7

Reconfigurer.................................59Redirection HTML.......................54référence internet............................7Répertoires sauvegardés...............61repository......................................11Restauration..................................66RF-232............................................8rhel-6-x86_64...............................11RHEL6..........................................27RÔLE............................................18rouge...............................................7rpath..............................................34rpm --import.................................12rpm -e gcc-4.4.7-11.el6.x86_64....52rpm -q --whatrequires gcc.............51rpm -qa | grep gcc.........................52rpm absolete..................................14RPM-GPG-KEY-PGDG-94..........12

SSauvegarde..............................61, 65sauvegarde_odoo..........................63SCHEMA......................................18Script de démarrage......................45script de lancement.........................9sed.................................................24SELECT........................................22SELECT *.....................................22Select a database name.................53Server Manager.............................19serveur et passerelle......................10serveur Odoo.................................43serveur privé et passerelle.............10setprop base Exclude....................14SFTP...............................................7SHA-1.............................................7shared............................................19Shell par défaut.............................20show base......................................14signal-event...................................49signal-event post-upgrade.............21signal-event reboot.......................21signal-event yum-modify..............13Site Odoo......................................52SME-8.x..........................................9split...............................................65SSH.................................................7status=disabled.............................13su - postgres..................................17superutilisateur..............................64

T

2015-04-06 Version: 0.0.4 71 / 74

Page 72: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Index

tablespaces....................................64témoins.........................................52timezone.......................................43Tiny ERP........................................6

Uuname -p.......................................11Usager odoo..................................38usager postgres.......................17, 67usager standard.............................19Usager standard odoo...................36usermod -s....................................21

Vvarchar(20)...................................22Vérification...................................68Vérification après réamorçage......60Vérification de Odoo....................60Version CentOS............................11Victoire.........................................68VirtualBox......................................7virtualenv......................................35Visible...........................................13

Wwget........................................26, 45whoami.........................................17WinSCP..........................................7wkhtmltopdf.................................29

Xxorg-x11-fonts-75dpi....................29

Yyum install -y................................11yum_repositories..........................13yum-modify..................................14

---branch 8.0...................................42--clean...........................................65--createdb......................................25--enablerepo=pgdg94....................14--file=filename..............................65--groups.........................................19--home...........................................19--no-createrole..............................25--no-superuser...............................25--prefix=/usr/local.........................34--pwprompt...................................25--shell............................................19--username postgres......................25-c...................................................65-d, --home REP_PERSO..............19-d, --home RÉP_PERSO..............37-f filename....................................65-G, --groups............................19, 37-s, --shell.................................19, 37

.

./configure.....................................34

./index.htm....................................55

[[TAB]............................................13

//bin/bash........................................19/etc/centos-release.........................11/etc/fstab........................................32/etc/group......................................20/etc/init.d/odoo..............................50/etc/init.d/odoo status....................57/etc/init.d/odoo stop......................57/etc/init.d/postgresql-9.4.........16, 50/etc/init.d/postgresql-9.4 status.....60/etc/logrotate.d..............................45/etc/odoo-server.conf....................43/etc/passwd....................................20/etc/pki/rpm-gpg/..........................12/etc/rc.d/rc.local............................16/etc/yum.repos.d/..........................13/home/e-smith/files/users/odoo.....36/sbin/e-smith/db............................13/tmp/..............................................32/usr/bin/.........................................31/usr/bin/rssh..................................20/usr/local/lib..................................34/var/lock/subsys/local...................16/var/run/odoo................................37

\\?...................................................17\copyright......................................17\g...................................................17\h...................................................17\q.............................................17, 18

©© RF-232........................................2

72 / 74 Version: 0.0.4 2015-04-06

Page 73: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Licence publique générale GNU

LICENCE PUBLIQUE GÉNÉRALE GNU

Version 3, du 29 juin 2007.Copyright (C) 2007 Free Software Foundation, Inc.<http://fsf.org/>Chacun est autorisé à copier et distribuer des copiesconformes de ce document de licence, mais toute modifi-cation en est proscrite.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Traduction française par Philippe Verdy <verdy_p (à)wanadoo (point) fr>, le 30 juin 2007 (dernière correctiondu 4 janvier 2011).Avertissement important au sujet de cette traduction française.Ceci est une traduction en français de la licence “GNUGeneral Public License” (GPL). Cette traduction estfournie ici dans l’espoir qu’elle facilitera sa compréhen-sion, mais elle ne constitue pas une traduction officielleou approuvée d’un point de vue juridique.La Free Software Foundation (FSF) ne publie pas cettetraduction et ne l’a pas approuvée en tant que substitutvalide au plan légal pour la licence authentique “GNUGeneral Public Licence”. Cette traduction n’a pas encoreété passée en revue attentivement par un juriste et doncle traducteur ne peut garantir avec certitude qu’elle re-présente avec exactitude la signification légale destermes de la licence authentique “GNU General PublicLicense” publiée en anglais. Cette traduction n’établitdonc légalement aucun des termes et conditions d’utilisa-tion d’un logiciel sous licence GNU GPL — seul le texteoriginal en anglais le fait. Si vous souhaitez être sûr queles activités que vous projetez seront autorisées par laGNU General Public License, veuillez vous référer à saseule version anglaise authentique.La FSF vous recommande fermement de ne pas utilisercette traduction en tant que termes officiels pour vospropres programmes; veuillez plutôt utiliser la versionanglaise authentique telle que publiée par la FSF. Si vouschoisissez d’acheminer cette traduction en même tempsqu’un Programme sous licence GNU GPL, cela ne vousdispense pas de l’obligation d’acheminer en même tempsune copie de la licence authentique en anglais, et deconserver dans la traduction cet avertissement importanten français et son équivalent en anglais ci-dessous.

Important Warning About This French Translation.This is a translation of the GNU General Public License(GPL) into French. This translation is distributed in thehope that it will facilitate understanding, but it is not anofficial or legally approved translation.The Free Software Foundation (FSF) is not the publisherof this translation and has not approved it as a legal sub-stitute for the authentic GNU General Public License.The translation has not been reviewed carefully by law-yers, and therefore the translator cannot be sure that itexactly represents the legal meaning of the authenticGNU General Public License published in English. Thistranslation does not legally state the terms and conditionsof use of any Program licenced under GNU GPL — onlythe original English text of the GNU LGPL does that. Ifyou wish to be sure whether your planned activities arepermitted by the GNU General Public License, pleaserefer to its sole authentic English version.The FSF strongly urges you not to use this translation asthe official distribution terms for your programs; instead,please use the authentic English version published by theFSF. If you choose to convey this translation along witha Program covered by the GPL Licence, this does not re -move your obligation to convey at the same time a copyof the authentic GNU GPL License in English, and youmust keep in this translation this important warning inEnglish and its equivalent in French above.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PréambuleLa Licence Publique Générale GNU (“GNU GeneralPublic License”) est une licence libre, en “copyleft”,destinée aux œuvres logicielles et d’autres typesd’œuvres.Les licences de la plupart des œuvres logicielles et autresœuvres de la pratique sont conçues pour vous ôter votreliberté de partager et modifier ces œuvres. À l’inverse, laLicence Publique Générale GNU a pour but de garantirvotre liberté de partager et changer toutes les versionsd’un programme — afin d’assurer qu’il restera libre pourtous les utilisateurs. Nous, la Free Software Founda-tion, utilisons la Licence Publique Générale GNU pourla plupart de nos logiciels; cela s’applique aussi à touteautre œuvre éditée de cette façon par ses auteurs. Vouspouvez, vous aussi, l’appliquer à vos propres pro-grammes.Quand nous parlons de logiciel libre (“free”), nous nousréférons à la liberté (“freedom”), pas au prix. Nos Li-cences Publiques Générales sont conçues pour assurerque vous ayez la liberté de distribuer des copies de logi-ciel libre (et le facturer si vous le souhaitez), que vous re-ceviez le code source ou pouviez l’obtenir si vous le vou-lez, que vous pouviez modifier le logiciel ou en utilisertoute partie dans de nouveaux logiciels libres, et quevous sachiez que vous avez le droit de faire tout ceci.Pour protéger vos droits, nous avons besoin d’empêcherque d’autres vous restreignent ces droits ou vous de-

mande de leur abandonner ces droits. En conséquence,vous avez certaines responsabilités si vous distribuez descopies d’un tel programme ou si vous le modifiez : lesresponsabilités de respecter la liberté des autres.Par exemple, si vous distribuez des copies d’un tel pro-gramme, que ce soit gratuit ou contre un paiement, vousdevez accorder aux Destinataires les mêmes libertés quevous avez reçues. Vous devez aussi vous assurer qu’euxaussi reçoivent ou peuvent recevoir son code source. Etvous devez leur montrer les termes de cette licence afinqu’ils connaissent leurs droits.Les développeurs qui utilisent la GPL GNU protègentvos droits en deux étapes : (1) ils affirment leur droitsd’auteur (“copyright”) sur le logiciel, et (2) vous ac-cordent cette Licence qui vous donne la permission lé-gale de le copier, le distribuer et/ou le modifier.Pour la protection des développeurs et auteurs, la GPLstipule clairement qu’il n’y a pas de garantie pour ce lo-giciel libre. Aux fins à la fois des utilisateurs et auteurs,la GPL requière que les versions modifiées soient mar-quées comme changées, afin que leurs problèmes nesoient pas attribués de façon erronée aux auteurs des ver-sions précédentes.Certains dispositifs sont conçus pour empêcher l’accèsdes utilisateurs à l’installation ou l’exécution de versionsmodifiées du logiciel à l’intérieur de ces dispositifs, alorsque les fabricants le peuvent. Ceci est fondamentalementincompatible avec le but de protéger la liberté des utilisa-teurs de modifier le logiciel. L’aspect systématique detels abus se produit dans le secteur des produits destinésaux utilisateurs individuels, ce qui est précisément ce quiest le plus inacceptable. Aussi, nous avons conçu cetteversion de la GPL pour prohiber cette pratique pour cesproduits. Si de tels problèmes surviennent dans d’autresdomaines, nous nous tenons prêt à étendre cette restric-tion à ces domaines dans de futures versions de la GPL,autant qu’il sera nécessaire pour protéger la liberté desutilisateurs.Finalement, chaque programme est constamment menacépar les brevets logiciels. Les États ne devraient pas auto-riser de tels brevets à restreindre le développement etl’utilisation de logiciels libres sur des ordinateursd’usage général; mais dans ceux qui le font, nous vou-lons spécialement éviter le danger que les brevets appli-qués à un programme libre puisse le rendre effectivementpropriétaire. Pour empêcher ceci, la GPL assure que lesbrevets ne peuvent être utilisés pour rendre le pro-gramme non-libre.Les termes précis et conditions concernant la copie, ladistribution et la modification suivent.

TERMES ET CONDITIONSArticle 0. Définitions."Cette Licence" se réfère à la version 3 de la “GNU Gen-eral Public License” (le texte original en anglais)."Droit d’Auteur" signifie aussi les droits du “copyright”ou voisins qui s’appliquent à d’autres types d’œuvres,tels que celles sur les masques de semi-conducteurs."Le Programme" se réfère à toute œuvre qui peut être su-jette au Droit d’Auteur (“copyright”) et dont les droitsd’utilisation sont concédés en vertu de cette Licence.Chacun des Licenciés, à qui cette Licence est concédée,est désigné par "vous." Les "Licenciés" et les "Destina-taires" peuvent être des personnes physiques ou morales(individus ou organisations)."Modifier" une œuvre signifie en obtenir une copie etadapter tout ou partie de l’œuvre d’une façon qui néces-site une autorisation d’un titulaire de Droit d’Auteur,autre que celle permettant d’en produire une copieconforme. L’œuvre résultante est appelée une "versionmodifiée" de la précédente œuvre, ou une œuvre "baséesur" la précédente œuvre.Une "Œuvre Couverte" signifie soit le Programme nonmodifié soit une œuvre basée sur le Programme."Propager" une œuvre signifie faire quoi que ce soit avecelle qui, sans permission, vous rendrait directement ouindirectement responsable d’un délit de contrefaçon sui-vant les lois relatives au Droit d’Auteur, à l’exception deson exécution sur un ordinateur ou de la modificationd’une copie privée. La propagation inclue la copie, ladistribution (avec ou sans modification), la mise à dispo-sition envers le public, et aussi d'autres activités danscertains pays."Acheminer" une œuvre signifie tout moyen de propaga-tion de celle-ci qui permet à d’autres parties d’en réaliserou recevoir des copies. La simple interaction d’un utilisa-teur à travers un réseau informatique, sans transfert ef-fectif d’une copie, ne constitue pas un acheminement.Une interface utilisateur interactive affiche des "NoticesLégales Appropriées" quand elle comprend un dispositifconvenable, bien visible et évident qui (1) affiche unenotice appropriée sur les droits d’auteur et (2) informel’utilisateur qu’il n’y a pas de garantie pour l’œuvre (saufsi des garanties ont été fournies hors du cadre de cette Li-cence), que les licenciés peuvent acheminer l’œuvre souscette Licence, et comment consulter une copie de cetteLicence. Si l’interface présente une liste de commandesutilisateur ou d’options, tel qu’un menu, un élémentévident dans la liste présentée remplit ce critère.Article 1. Code source.Le "code source" d’une œuvre signifie la forme préférée

de l’œuvre qui permet ou facilite les modifications decelle-ci. Le "code objet" d’une œuvre signifie touteforme de l’œuvre qui n’en est pas le code source.Une "Interface Standard" signifie une interface qui estsoit celle d’une norme officielle définie par un organismede normalisation reconnu ou, dans le cas des interfacesspécifiées pour un langage de programmation particulier,une interface largement utilisée parmi les développeursqui travaillent dans ce langage.Les "Bibliothèques Système" d’une œuvre exécutable in-cluent tout ce qui, en dehors de l’œuvre dans son en-semble, (a) est inclus dans la forme usuelle de paquetaged’un Composant Majeur mais ne fait pas partie de ceComposant Majeur et (b) sert seulement à permettrel’utilisation de l’œuvre avec ce Composant Majeur ou àmettre en œuvre une Interface Standard pour laquelle unemise en œuvre est disponible au public sous forme decode source; un "Composant Majeur" signifie, dans cecontexte, un composant majeur essentiel (noyau, systèmede fenêtrage, etc.) du système d’exploitation (le caséchéant) d’un système sur lequel l’œuvre exécutablefonctionne, ou bien un compilateur utilisé pour produirele code objet de l’œuvre, ou un interprète de code objetutilisé pour exécuter celui-ci.Le "Source Correspondant" d’une œuvre sous forme decode objet signifie l’ensemble des codes sources néces-saires pour générer, installer et (dans le cas d’une œuvreexécutable) exécuter le code objet et modifier l’œuvre, ycompris les scripts pour contrôler ces activités. Cepen-dant, cela n’inclue pas les Bibliothèques Système del’œuvre, ni les outils d’usage général ou les programmeslibres généralement disponibles qui peuvent être utiliséssans modification pour achever ces activités mais ne sontpas partie de cette œuvre. Par exemple le Source Corres-pondant inclut les fichiers de définition d’interfaces asso-ciés aux fichiers sources de l’œuvre, et le code sourcedes bibliothèques partagées et des sous-routines liées dy-namiquement, pour lesquelles l’œuvre est spécifique-ment conçue pour les requérir via, par exemple, des com-munications de données ou contrôles de flux internesentre ces sous-programmes et d’autres parties del’œuvre.Le Source Correspondant n’a pas besoin d’inclure tout ceque les utilisateurs peuvent régénérer automatiquement àpartir d’autres parties du Source Correspondant.Le Source Correspondant pour une œuvre sous forme decode source est cette même œuvre.Article 2. Permissions de base.Tous les droits accordés suivant cette Licence le sont jus-qu’au terme des Droits d’Auteur (“copyright”) sur leProgramme, et sont irrévocables pourvu que les condi-tions établies soient remplies. Cette Licence affirme ex-plicitement votre permission illimitée d’exécuter le Pro-gramme non modifié. La sortie produite par l’exécutiond’une Œuvre Couverte n’est couverte par cette Licenceque si cette sortie, étant donné leur contenu, constitueune Œuvre Couverte. Cette Licence reconnaît vospropres droits d’usage raisonnable (“fair use” en législa-tion des États-Unis d’Amérique) ou autres équivalents,tels qu’ils sont pourvus par la loi applicable sur le Droitd’Auteur (“copyright”).Vous pouvez créer, exécuter et propager sans conditiondes Œuvres Couvertes que vous n’acheminez pas, aussilongtemps que votre licence demeure en vigueur. Vouspouvez acheminer des Œuvres Couvertes à d’autres per-sonnes dans le seul but de leur faire réaliser des modifi-cations à votre usage exclusif, ou pour qu’ils vous four-nissent des facilités vous permettant d’exécuter cesœuvres, pourvu que vous vous conformiez aux termes decette Licence lors de l’acheminement de tout matérieldont vous ne contrôlez pas le Droit d’Auteur (“copy-right”). Ceux qui, dès lors, réalisent ou exécutent pourvous les Œuvres Couvertes ne doivent alors le fairequ’exclusivement pour votre propre compte, sous votredirection et votre contrôle, suivant des termes qui leur in-terdisent de réaliser, en dehors de leurs relations avecvous, toute copie de votre matériel soumis au Droitd’Auteur.L’acheminement dans toutes les autres circonstancesn’est permis que selon les conditions établies ci-dessous.La concession de sous-licences n’est pas autorisé; l’ar-ticle 10 rend cet usage non nécessaire.Article 3. Protection des droits légaux des utilisateursenvers les lois anti-contournement.Aucune Œuvre Couverte ne doit être vue comme faisantpartie d’une mesure technologique effective selon touteloi applicable remplissant les obligations prévues à l’ar-ticle 11 du traité international sur le droit d’auteur adoptéà l’OMPI le 20 décembre 1996, ou toutes lois similairesqui prohibent ou restreignent le contournement de tellesmesures.Si vous acheminez une Œuvre Couverte, vous renoncez àtout pouvoir légal d’interdire le contournement des me-sures technologiques dans tous les cas où un tel contour-nement serait effectué en exerçant les droits prévus danscette Licence pour cette Œuvre Couverte, et vous décla-rez rejeter toute intention de limiter l’opération ou la mo-dification de l’Œuvre, en tant que moyens pour renforcer,à l’encontre des utilisateurs de cette Œuvre, vos droits lé-gaux ou ceux de tierces parties d’interdire le contourne-ment desdites mesures technologiques.

Article 4. Acheminement des copies conformes.Vous pouvez acheminer des copies conformes du codesource du Programme tel que vous l’avez reçu, sur n’im-porte quel support, pourvu que vous publiiez scrupuleu-sement et de façon appropriée sur chaque copie une no-tice de Droit d’Auteur appropriée; gardez intactes toutesles notices établissant que cette Licence et tous lestermes additionnels non permissifs ajoutés en accordavec l’article 7 s’appliquent à ce code; et donnez à cha-cun des Destinataires une copie de cette Licence enmême temps que le Programme.Vous pouvez facturer un prix quelconque, y compris gra-tuit, pour chacune des copies que vous acheminez, etvous pouvez offrir une protection additionnelle de sup-port ou de garantie en échange d’un paiement.Article 5. Acheminement des versions sources modi-fiées.Vous pouvez acheminer une œuvre basée sur le Pro-gramme, ou bien les modifications pour le produire àpartir du Programme, sous la forme de code source sui-vant les termes de l’article 4, pourvu que vous satisfas-siez aussi à chacune des conditions requises suivantes :■ a) L’œuvre doit comporter des notices évidentes établis-

sant que vous l’avez modifiée et donnant la date corres-pondante.

■ b) L’œuvre doit comporter des notices évidentes établis-sant qu’elle est éditée selon cette Licence et les condi-tions ajoutées d’après l’article 7. Cette obligation vientmodifier l’obligation de l’article 4 de "garder intactestoutes les notices."

■ c) Vous devez licencier l’œuvre entière, comme un tout,suivant cette Licence à quiconque entre en possessiond’une copie. Cette Licence s’appliquera en conséquence,avec les termes additionnels applicables prévus par l’ar-ticle 7, à la totalité de l’œuvre et chacune de ses parties,indépendamment de la façon dont elles sont empaque-tées. Cette licence ne donne aucune permission de licen-cier l’œuvre d’une autre façon, mais elle n’invalide pasune telle permission que vous auriez reçue séparément.

■ d) Si l’œuvre a des interfaces utilisateurs interactives,chacune doit afficher les Notices Légales Appropriées;cependant si le Programme a des interfaces qui n’af-fichent pas les Notices Légales Appropriées, votreœuvre n’a pas à les modifier pour qu’elles les affichent.

Une compilation d’une Œuvre Couverte avec d’autresœuvres séparées et indépendantes, qui ne sont pas parleur nature des extensions de l’Œuvre Couverte, et qui nesont pas combinés avec elle de façon à former un pro-gramme plus large, dans ou sur un volume de stockageou un support de distribution, est appelé un "agrégat" sila compilation et son Droit d’Auteur résultant ne sont pasutilisés pour limiter l’accès ou les droits légaux des utili-sateurs de la compilation en deçà de ce que permettentles œuvres individuelles. L’inclusion d’une Œuvre Cou-verte dans un agrégat ne cause pas l’application de cetteLicence aux autres parties de l’agrégat.Article 6. Acheminement des formes non sources.Vous pouvez acheminer sous forme de code objet uneŒuvre Couverte suivant les termes des articles 4 et 5,pourvu que vous acheminiez également suivant lestermes de cette Licence le Source Correspondant lisiblepar une machine, d’une des façons suivantes :■ a) Acheminer le code objet sur, ou inclus dans, un pro-

duit physique (y compris un support de distribution phy-sique), accompagné par le Source Correspondant fixésur un support physique durable habituellement utilisépour les échanges de logiciels.

■ b) Acheminer le code objet sur, ou inclus dans, un pro -duit physique (y compris un support de distribution phy-sique), accompagné d’une offre écrite, valide pour aumoins trois années et valide pour aussi longtemps quevous fournissez des pièces de rechange ou un supportclient pour ce modèle de produit, afin de donner à qui-conque possède le code objet soit (1) une copie duSource Correspondant à tout logiciel dans ce produit quiest couvert par cette Licence, sur un support physiquedurable habituellement utilisé pour les échanges de logi-ciels, pour un prix non supérieur au coût raisonnable dela réalisation physique de l’acheminement de la source,ou soit (2) un accès permettant de copier le Source Cor-respondant depuis un serveur réseau sans frais.

■ c) Acheminer des copies individuelles du code objetavec une copie de l’offre écrite de fournir le Source Cor-respondant. Cette alternative est permise seulement oc-casionnellement et non-commercialement, et seulementsi vous avez reçu le code objet avec une telle offre, enaccord avec l’article 6 alinéa b.

■ d) Acheminer le code objet en offrant un accès depuis unemplacement désigné (gratuit ou contre facturation) etoffrir un accès équivalent au Source Correspondant de lamême façon via le même emplacement et sans factura-tion supplémentaire. Vous n’avez pas besoin d’obligerles Destinataires à copier le Source Correspondant enmême temps que le code objet. Si l’emplacement pourcopier le code objet est un serveur réseau, le SourceCorrespondant peut être sur un serveur différent (opérépar vous ou par un tiers) qui supporte des facilités équi-valentes de copie, pourvu que vous mainteniez des di-rections claires à proximité du code objet indiquant oùtrouver le Source Correspondant. Indépendamment dequel serveur héberge le Source Correspondant, vous res-

2015-04-06 Version: 0.0.4 73 / 74

Page 74: Micronator · lise le terme Odoo pour désigner le logiciel et OpenERP SA pour désigner l’entreprise de façon univoque. 2. Serveur SME 2.1. Installation d'un Serveur SME-9

Licence publique générale GNU

tez obligé de vous assurer qu’il reste disponible aussilongtemps que nécessaire pour satisfaire à ces obliga-tions.

■ e) Acheminer le code objet en utilisant une transmissiond’égal-à-égal, pourvu que vous informiez les autres par-ticipants sur l’endroit où le code objet et le Source Cor-respondant de l’œuvre sont offerts sans frais au publicgénéral suivant l’article 6 alinéa d.

Une portion séparable du code objet, dont le code sourceest exclu du Source Correspondant en tant que Biblio-thèque Système, n’a pas besoin d’être incluse dansl’acheminement de l’œuvre sous forme de code objet.Un "Produit Utilisateur" est soit (1) un "Produit deConsommation," ce qui signifie toute propriété person-nelle tangible normalement utilisée à des fins person-nelles, familiales ou relatives au foyer, soit (2) toutechose conçue ou vendue pour l’incorporation dans unlieu d’habitation. Pour déterminer si un produit constitueun Produit de Consommation, les cas ambigus sont réso-lus en fonction de la couverture. Pour un produit particu-lier reçu par un utilisateur particulier, l’expression "nor-malement utilisée" ci-avant se réfère à une utilisation ty-pique ou l’usage commun de produits de même catégo-rie, indépendamment du statut de cet utilisateur particu-lier ou de la façon spécifique dont cet utilisateur particu-lier utilise effectivement ou s’attend lui-même ou est at-tendu à utiliser ce produit. Un produit est un Produit deConsommation indépendamment du fait que ce produit aou n’a pas d’utilisations substantielles commerciales, in-dustrielles ou hors Consommation, à moins que de tellesutilisations représentent le seul mode significatif d’utili-sation du produit.Les "Informations d’Installation" d’un Produit Utilisateursignifient toutes les méthodes, procédures, clés d’autori-sation ou autres informations requises pour installer etexécuter des versions modifiées d’une Œuvre Couvertedans ce Produit Utilisateur à partir d’une version modi-fiée de son Source Correspondant. Les informations quisuffisent à assurer la continuité de fonctionnement ducode objet modifié ne doivent en aucun cas être empê-chées ou interférées du seul fait qu’une modification aété effectuée.Si vous acheminez le code objet d’une Œuvre Couvertedans, ou avec, ou spécifiquement pour l’utilisation dans,un Produit Utilisateur et si l’acheminement se produit entant qu’élément d’une transaction dans laquelle le droitde possession et d’utilisation du Produit Utilisateur esttransféré au Destinataire définitivement ou pour un termefixé (indépendamment de la façon dont la transaction estcaractérisée), le Source Correspondant acheminé seloncet article-ci doit être accompagné des Informationsd’Installation. Mais cette obligation ne s’applique pas sini vous ni aucune tierce partie ne détient la possibilitéd’installer un code objet modifié sur le Produit Utilisa-teur (par exemple, l’œuvre a été installée en mémoiremorte).L’obligation de fournir les Informations d’Installationn’inclue pas celle de continuer à fournir un service desupport, une garantie ou des mises à jour pour une œuvrequi a été modifiée ou installée par le Destinataire, oupour le Produit Utilisateur dans lequel elle a été modifiéeou installée. L’accès à un réseau peut être rejeté quand lamodification elle-même affecte matériellement et défa-vorablement les opérations du réseau ou viole les règleset protocoles de communication au travers du réseau.Le Source Correspondant acheminé et les Informationsd’Installation fournies, en accord avec cet article, doiventêtre dans un format publiquement documenté (et dontune implémentation est disponible auprès du public sousforme de code source) et ne doit nécessiter aucune clé oumot de passe spécial pour le dépaquetage, la lecture ou lacopie.Article 7. Termes additionnels.Les « permissions additionnelles » désignent les termesqui supplémentent ceux de cette Licence en émettant desexceptions à l’une ou plusieurs de ses conditions. Lespermissions additionnelles qui sont applicables au Pro-gramme entier doivent être traitées comme si ellesétaient incluent dans cette Licence, dans les limites deleur validité suivant la loi applicable. Si des permissionsadditionnelles s’appliquent seulement à une partie duProgramme, cette partie peut être utilisée séparément sui-vant ces permissions, mais le Programme tout entier restegouverné par cette Licence sans regard aux permissionsadditionnelles.Quand vous acheminez une copie d’une Œuvre Cou-verte, vous pouvez à votre convenance ôter toute permis-sion additionnelle de cette copie, ou de n’importe quellepartie de celui-ci. (Des permissions additionnellespeuvent être rédigées de façon à requérir leur propre sup-pression dans certains cas où vous modifiez l’œuvre.)Vous pouvez placer les permissions additionnelles sur lematériel acheminé, ajoutées par vous à une Œuvre Cou-verte pour laquelle vous avez ou pouvez donner les per-missions de Droit d’Auteur (“copyright”) appropriées.Nonobstant toute autre clause de cette Licence, pour toutconstituant que vous ajoutez à une Œuvre Couverte, vouspouvez (si autorisé par les titulaires de Droit d’Auteurpour ce constituant) supplémenter les termes de cette Li-cence avec des termes :■ a) qui rejettent la garantie ou limitent la responsabilité

de façon différente des termes des articles 15 et 16 decette Licence; ou

■ b) qui requièrent la préservation de notices légales rai-sonnables spécifiées ou les attributions d’auteur dans ceconstituant ou dans les Notices Légales Appropriées af-fichées par les œuvres qui le contiennent; ou

■ c) qui prohibent la représentation incorrecte de l’originede ce constituant, ou qui requièrent que les versions mo-difiées d’un tel constituant soient marquées par desmoyens raisonnables comme différentes de la versionoriginale; ou

■ d) qui limitent l’usage à but publicitaire des noms desconcédants de licence et des auteurs du constituant; ou

■ e) qui refusent à accorder des droits selon la législationrelative aux marques commerciales, pour l’utilisationdans des noms commerciaux, marques commerciales oumarques de services; ou

■ f) qui requièrent l’indemnisation des concédants de li-cences et auteurs du constituant par quiconque acheminece constituant (ou des versions modifiées de celui-ci) enassumant contractuellement la responsabilité envers leDestinataire, pour toute responsabilité que ces engage-ments contractuels imposent directement à ces oc-troyants de licences et auteurs.

Tous les autres termes additionnels non permissifs sontconsidérés comme des « restrictions avancées » dans lesens de l’article 10. Si le Programme tel que vous l’avezreçu, ou toute partie de celui-ci, contient une notice éta-blissant qu’il est gouverné par cette Licence en mêmetemps qu’un terme qui est une restriction avancée, vouspouvez ôter ce terme. Si un document de licence contientune restriction avancée mais permet la reconcession delicence ou l’acheminement suivant cette Licence, vouspouvez ajouter une Œuvre Couverte constituante gouver-née par les termes de ce document de licence, pourvu quela restriction avancée ne survit pas à une telle cession delicence ou un tel acheminement.Si vous ajoutez des termes à une Œuvre Couverte en ac-cord avec cet article, vous devez placer, dans les fichierssources appropriés, une déclaration des termes addition-nels qui s’appliquent à ces fichiers, ou une notice indi-quant où trouver les termes applicables.Les termes additionnels, qu’ils soient permissifs ou nonpermissifs, peuvent être établis sous la forme d’une li-cence écrite séparément, ou établis comme des excep-tions; les obligations ci-dessus s’appliquent dans chacunde ces cas.Article 8. Terminaison.Vous ne pouvez ni propager ni modifier une Œuvre Cou-verte autrement que suivant les termes de cette Licence.Toute autre tentative de le propager ou le modifier estnulle et terminera automatiquement vos droits selon cetteLicence (y compris toute licence de brevet accordée se-lon le troisième paragraphe de l’article 11).Cependant, si vous cessez toute violation de cette Li -cence, alors votre licence depuis un titulaire de Droitd’Auteur (“copyright”) est réinstaurée (a) à titre provi-soire à moins que et jusqu’à ce que le titulaire de Droitd’Auteur termine finalement et explicitement votre li-cence, et (b) de façon permanente si le titulaire de Droitd’Auteur ne parvient pas à vous notifier de la violationpar quelque moyen raisonnable dans les soixante (60)jours après la cessation.De plus, votre licence depuis un titulaire particulier deDroit d’Auteur est réinstaurée de façon permanente si cetitulaire vous a notifié de la violation par quelque moyenraisonnable, et si c’est la première fois que vous avez re-çu une notification de violation de cette Licence (pourune œuvre quelconque) depuis ce titulaire de Droit d’Au-teur, et si vous résolvez la violation dans les trente (30)jours qui suivent votre réception de la notification.La terminaison de vos droits suivant cette section ne ter-minera pas les licences des parties qui ont reçu des co-pies ou droits de votre part suivant cette Licence. Si vosdroits ont été terminés et non réinstaurés de façon perma-nente, vous n’êtes plus qualifié à recevoir de nouvelleslicences pour les mêmes constituants selon l’article 10.Article 9. Acceptation non requise pour obtenir descopies.Vous n’êtes pas obligé d’accepter cette licence afin de re-cevoir ou exécuter une copie du Programme. La propaga-tion asservie d’une Œuvre Couverte qui se produit sim-plement en conséquence d’une transmission d’égal-à-égal pour recevoir une copie ne nécessite pas l’accepta-tion. Cependant, rien d’autre que cette Licence ne vousaccorde la permission de propager ou modifier une quel-conque Œuvre Couverte. Ces actions enfreignent le Droitd’Auteur si vous n’acceptez pas cette Licence. Par consé-quent, en modifiant ou propageant une Œuvre Couverte,vous indiquez votre acceptation de cette Licence pouragir ainsi.Article 10. Cession automatique de Licence aux Desti-nataires et intermédiaires.Chaque fois que vous acheminez une Œuvre Couverte, leDestinataire reçoit automatiquement une licence de lapart des concédants originaux, pour exécuter, modifier etpropager cette œuvre, suivant les termes de cette Li -cence. Vous n’êtes pas responsable du renforcement de laconformation des tierces parties aux termes de cette Li-cence.Une "transaction d’entité" désigne une transaction qui

transfère le contrôle d’une organisation, ou de substan-tiellement tous ses actifs, ou la subdivision d’une organi-sation, ou la fusion de plusieurs organisations. Si la pro-pagation d’une Œuvre Couverte résulte d’une transactiond’entité, chaque partie à cette transaction qui reçoit unecopie de l’œuvre reçoit aussi les licences pour l’œuvreque le prédécesseur intéressé à cette partie avait ou pour-rait donner selon le paragraphe précédent, plus un droitde possession du Source Correspondant de cette œuvredepuis le prédécesseur intéressé si ce prédécesseur endispose ou peut l’obtenir par des efforts raisonnables.Vous ne pouvez imposer aucune restriction avancée dansl’exercice des droits accordés ou affirmés selon cette Li -cence. Par exemple, vous ne pouvez imposer aucun paie-ment pour la licence, aucune royaltie, ni aucune autrecharge pour l’exercice des droits accordés selon cette Li-cence; et vous ne pouvez amorcer aucun litige judiciaire(y compris une réclamation croisée ou contre-réclama-tion dans un procès) sur l’allégation qu’une revendica-tion de brevet est enfreinte par la réalisation, l’utilisation,la vente, l’offre de vente, ou l’importation du Programmeou d’une quelconque portion de celui-ci.Article 11. Brevets.Un « contributeur » est un titulaire de Droit d’Auteur(“copyright”) qui autorise l’utilisation selon cette Li-cence du Programme ou de l’œuvre sur laquelle le Pro-gramme est basé. L’œuvre ainsi soumise à licence est ap-pelée la "version contributive" de ce contributeur.Les "revendications de brevet essentielles" sont toutes lesrevendications de brevets détenues ou contrôlées par lecontributeur, qu’elles soient déjà acquises par lui ou ac-quises subséquemment, qui pourraient être enfreintes dequelque manière, permises par cette Licence, sur la réali-sation, l’utilisation ou la vente de la version contributivede celui-ci. Aux fins de cette définition, le "contrôle" in-clue le droit de concéder des sous-licences de brevetsd’une manière consistante, nécessaire et suffisante, avecles obligations de cette Licence.Chaque contributeur vous accorde une licence de brevetnon exclusive, mondiale et libre de toute royaltie, selonles revendications de brevet essentielles, pour réaliser,utiliser, vendre, offrir à la vente, importer et autrementexécuter, modifier et propager les contenus de sa versioncontributive.Dans les trois paragraphes suivants, une "licence de bre-vet" désigne tous les accords ou engagements exprimés,quel que soit le nom que vous lui donnez, de ne pasmettre en vigueur un brevet (telle qu’une permission ex-plicite pour mettre en pratique un brevet, ou un accordpour ne pas poursuivre un Destinataire pour cause deviolation de brevet). "Accorder" une telle licence de bre-vet à une partie signifie conclure un tel accord ou enga -gement à ne pas faire appliquer le brevet à cette partie.Si vous acheminez une Œuvre Couverte, dépendant enconnaissance d’une licence de brevet, et si le SourceCorrespondant de l’œuvre n’est pas disponible à qui-conque copie, sans frais et suivant les termes de cette Li -cence, à travers un serveur réseau publiquement acces-sible ou tout autre moyen immédiatement accessible,alors vous devez soit (1) rendre la Source Correspon-dante ainsi disponible, soit (2) vous engager à vous pri-ver pour vous-même du bénéfice de la licence de brevetpour cette œuvre particulière, soit (3) vous engager,d’une façon consistante avec les obligations de cette Li -cence, à étendre la licence de brevet aux Destinataires decette œuvre. "Dépendant en connaissance" signifie quevous avez effectivement connaissance que, selon la li-cence de brevet, votre acheminement de l’Œuvre Cou-verte dans un pays, ou l’utilisation de l’Œuvre Couvertepar votre Destinataire dans un pays, enfreindrait un ouplusieurs brevets identifiables dans ce pays où vous avezdes raisons de penser qu’ils sont valides.Si, conformément à ou en liaison avec une même tran-saction ou un même arrangement, vous acheminez, oupropagez en procurant un acheminement de, une ŒuvreCouverte et si accordez une licence de brevet à l’une desparties recevant l’Œuvre Couverte pour lui permettred’utiliser, propager, modifier ou acheminer une copiespécifique de l’Œuvre Couverte, alors votre accord estautomatiquement étendu à tous les Destinataires del’Œuvre Couverte et des œuvres basées sur celle-ci.Une licence de brevet est "discriminatoire" si, dans lechamp de sa couverture, elle n’inclut pas un ou plusieursdes droits qui sont spécifiquement accordés selon cetteLicence, ou en prohibe l’exercice, ou est conditionnéepar le non-exercice d’un ou plusieurs de ces droits. Vousne pouvez pas acheminer une Œuvre Couverte si vousêtes partie à un arrangement, selon lequel une partietierce exerçant son activité dans la distribution de logi-ciels et à laquelle vous effectuez un paiement fondé surl’étendue de votre activité d’acheminement de l’œuvre,et selon lequel la partie tierce accorde, à une quelconquepartie qui recevrait depuis vous l’Œuvre Couverte, unelicence de brevet discriminatoire (a) en relation avec lescopies de l’Œuvre Couverte acheminées par vous (ou lescopies réalisées à partir de ces copies), ou (b) avant toutdestinée à et en relation avec des produits spécifiques oucompilations contenant l’Œuvre Couverte, à moins quevous ayez conclu cet arrangement ou que la licence debrevet ait été accordée avant le 28 mars 2007.Rien dans cette Licence ne devrait être interprété comme

devant exclure ou limiter toute licence implicite oud’autres moyens de défense à une infraction qui vous se-raient autrement disponible selon la loi applicable rela-tive aux brevets.Article 12. Non abandon de la liberté des autres.Si des conditions vous sont imposées (que ce soit par dé-cision judiciaire, par un accord ou autrement) qui contre-disent les conditions de cette Licence, elles ne vous ex-cusent pas des conditions de cette Licence. Si vous nepouvez pas acheminer une Œuvre Couverte de façon àsatisfaire simultanément vos obligations suivant cette Li-cence et toutes autres obligations pertinentes, alors enconséquence vous ne pouvez pas du tout l’acheminer. Parexemple, si vous avez un accord sur des termes qui vousobligent à collecter pour le réacheminement des royaltiesdepuis ceux à qui vous acheminez le Programme, laseule façon qui puisse vous permettre de satisfaire à lafois à ces termes et ceux de cette Licence sera de vousabstenir entièrement d’acheminer le Programme.Article 13. Utilisation avec la Licence Générale Pu-blique Affero GNU.Nonobstant toute autre clause de cette Licence, vousavez la permission de lier ou combiner toute Œuvre Cou-verte avec une œuvre placée sous la version 3 de la Li-cence Générale Publique GNU Affero (“GNU AfferoGeneral Public License”) en une seule œuvre combinée,et d’acheminer l’œuvre résultante. Les termes de cetteLicence continueront à s’appliquer à la partie formantune Œuvre Couverte, mais les obligations spéciales de laLicence Générale Publique GNU Affero, article 13,concernant l’interaction à travers un réseau, s’applique-ront à la combinaison en tant que telle.Article 14. Versions révisées de cette Licence.La Free Software Foundation peut publier des versionsrévisées et/ou nouvelles de la Licence Publique GénéraleGNU (“GNU General Public License”) de temps entemps. De telles version nouvelles resteront similairesdans l’esprit avec la présente version, mais peuvent diffé-rer dans le détail afin de traiter de nouveaux problèmesou préoccupations.Chaque version reçoit un numéro de version distinctif. Sile Programme indique qu’une version spécifique de laLicence Publique Générale GNU "ou toute version ulté-rieure" (“or any later version”) s’applique à celui-ci,vous avez le choix de suivre soit les termes et conditionsde cette version numérotée, soit ceux de n’importe quelleversion publiée ultérieurement par la Free SoftwareFoundation. Si le Programme n’indique pas une versionspécifique de la Licence Publique Générale GNU, vouspouvez choisir l’une quelconque des versions qui ont étépubliées par la Free Software Foundation.Si le Programme spécifie qu’un intermédiaire peut déci-der quelles versions futures de la Licence Générale Pu-blique GNU peut être utilisée, la déclaration publiqued’acceptation d’une version par cet intermédiaire vousautorise à choisir cette version pour le Programme.Des versions ultérieures de la licence peuvent vous don-ner des permissions additionnelles ou différentes. Cepen-dant aucune obligation additionnelle n’est imposée à l’undes auteurs ou titulaires de Droit d’Auteur du fait devotre choix de suivre une version ultérieure.Article 15. Déclaration d’absence de garantie.Il n’y a aucune garantie pour le programme, dans les li-mites permises par la loi applicable. À moins que cela nesoit établi différemment par écrit, les propriétaires dedroits et/ou les autres parties fournissent le programme"en l’état" sans garantie d’aucune sorte, qu’elle soit ex-primée ou implicite, ceci comprenant, sans se limiter àcelles-ci, les garanties implicites de commercialisabilitéet d’adéquation à un objectif particulier. Vous assumez lerisque entier concernant la qualité et les performances duprogramme. Dans l’éventualité où le programme s’avére-rait défectueux, vous assumez les coûts de tous les ser-vices, réparations ou corrections nécessaires.Article 16. Limitation de responsabilité.En aucune autre circonstance que celles requises par laloi applicable ou accordées par écrit, un titulaire de droitssur le programme, ou tout autre partie qui modifie ouachemine le programme comme permis ci-dessus, nepeut être tenu pour responsable envers vous pour lesdommages, incluant tout dommage général, spécial, acci-dentel ou induit survenant par suite de l’utilisation ou del’incapacité d’utiliser le programme (y compris, sans selimiter à celles-ci, la perte de données ou l’inexactitudedes données retournées ou les pertes subies par vous oudes parties tierces ou l’incapacité du programme à fonc-tionner avec tout autre programme), même si un tel titu-laire ou toute autre partie a été avisé de la possibilité detels dommages.Article 17. Interprétation des sections 15 et 16.Si la déclaration d’absence de garantie et la limitation deresponsabilité fournies ci-dessus ne peuvent prendre effetlocalement selon leurs termes, les cours de justice qui lesexaminent doivent appliquer la législation locale qui ap-proche au plus près possible une levée absolue de touteresponsabilité civile liée au Programme, à moins qu’unegarantie ou assumation de responsabilité accompagneune copie du Programme en échange d’un paiement.

74 / 74 Version: 0.0.4 6 avril 2015