Académique Documents
Professionnel Documents
Culture Documents
Membres de Jury :
- Pr. Mohammed Majid HIMMI
- Pr. El Houssaine EL RHALEB
Juillet 2016
Remerciement
Louange a Allah, nous adressons nos sincères remerciements à nos parents pour leur
prière, leur présence et leur soutien inconditionnel, à notre encadrant Pr Mourad GHARBI qui
nous a initié à la programmation par son enseignement, pour son encadrement et sa patience
tout au long de ces 4 derniers mois, à notre encadrant au stage Mr Saad EL ISMAILI qui nous
a ouvert les portes de sa société, pour ses conseils et sa constante bonne humeur. Nous
remercions les membres du jury Pr Mohammed Majid HIMMI et Pr El Houssaine EL RHALEB
qui nous ont honorés de leur présence pour leurs remarques et leurs conseils. Nous remercions
Mr Otmane GHANDI directeur technique d’OVERSOME pour son aide en programmation
sous Odoo et Mr Mohammed HANNAT pour son soutien. Nous adressons nos remerciements
les plus respectables à l’ensemble du corps enseignant de la faculté des sciences de Rabat chez
le quels nous avons redécouvert le sens de la physique.
BD Base de Donnêes
Le premier chapitre présente une étude générale des ERP, leurs propriétés, leurs avantages,
leurs inconvénients.
Le troisième chapitre est une présentation des dispositifs prise par Odoo contre les principales
attaques applicatives que peuvent subir une application web.
Le dernier chapitre décrit le module d’authentification par SMS que nous avons développé
sous Odoo.
La société :
Over Solutions Maroc est une Société de Services et un
espace de coworking qui accompagne les entreprises et
institutions dans le choix des solutions open source ainsi
que dans l’intégration, l'adaptation aux besoins
Figure 1 : Logo Oversome
spécifiques, la maintenance et le support, afin de bénéficier
des meilleures solutions libres dans la gestion des systèmes d'information.
Encadrant au stage :
Saad EL ISMAILI
Tél : +212 6 61 41 54 10
Email : saad@oversome.net
Les ERP (Enterprise Resource Planning) ou PGI (Progiciels de Gestion Intégrés), est une
catégorie de logiciel de gestion d’entreprise incluant une multitude de programmes
spécifiques à chaque activité de chaque service de l’entreprise, tous ces programmes
partagent une base de données unique et commune. Ce type de logiciel est un outil
incontournable dans l’aide à la décision, la planification, le suivi de l’activité et l’analyse.
Ces logiciels sont apparus dans les années 90 et ont connu leur essor en profitant des
avancées technologiques, l’explosion des technologies web dans les années 2000 et puis
l’apparition des technologies de cloud computing et de SAAS (Software As A Service) à
partir de 2010. Ils sont aujourd’hui indispensables à toute multi national et un puissant
levier de performance pour les entreprises de toutes tailles.
• Ils couvrent tous les besoins d’une entreprise en termes de système d’information.
• Maitrise des processus de bout en bout.
• Homogénéité du système.
• Vue global sur toutes les activités de l’entreprise.
• Disparition des doubles saisis.
• Facilitation de la communication en interne (entre les différents services) et en externe
(avec les clients et les fournisseurs).
• Système multi langues et multi devises.
• Réduction considérable des durés de mise en œuvre et d’intervention.
• Automatisation des processus.
• Elimination des processus et des données inutile.
Le projet de déploiement d’un ERP peut être découpé en sept sous projets :
- Le pilotage : La préparation du déploiement.
Le déploiement d’un ERP est processus généralement long qui durera entre 5 mois et 4 ans
selon la taille de l’entreprise.
VI- Conclusion :
Au sein de ce chapitre nous avons défini les ERP, on a cité leurs avantages, leurs
inconvénients et on a parlé du processus de leur mise en œuvre. Alors quelle sont les
caractéristiques d’Odoo et quelle a été son évolution ?
Le logiciel Odoo est une solution ERP open source complétement personnalisable et modulaire,
Il est basé sur une architecture MVC, des flux de travail
flexibles, une interface utilisateur graphique dynamique, une
interface XML-RPC, un système personnalisable de
comptes rendus, la possibilité d’avoir des applications Android/IOS et la possibilité d’avoir un
site web de e-commerce. Comme tout ERP Odoo est un package destiné à tous les secteurs et
à toutes les fonctions d’une entreprise telle que les ventes, les achats, la facturation, la gestion
des relations client (CRM), la gestion de projet, la gestion d’entrepôt, la production, la
comptabilité et les ressources humaines. En tous Odoo comporte 500 modules officiels et plus
de 6500 modules communautaires, chacun d’eux peut être installé indépendamment et son
Framework permet l’adaptation rapide d’un module aux contextes spécifiques.
II-Historique d’Odoo
Cette partie est destinée à décrire l’histoire du logiciel et de la société derrière de TinyERP à
Odoo.
Mars 2002 : Fabien Pinckaers crée la société Tiny SPRL pour commercialiser des services
pendant qu’il était encore étudiant.
Mars 2005 : Sortie de la deuxième version comportant des améliorations du coté fonctionnelle
et dans la méthode d’installation.
La troisième version qui était lancé en septembre 2005, apporta un module de gestion de la
production (MRP), ainsi que des améliorations en gestion des données multilingues.
Les versions 3.1, 3.2, 3.3 et 3.4.1 lancées en 2006, apportaient des améliorations importantes,
à savoir la possibilité de concevoir les rapports avec OpenOffice, la réécriture du module de
comptabilité pour supporter la comptabilité générale et analytique.
En 2007 : La version 4.1 apporte des améliorations de l’interface graphique et la version 4.2
voix l’apparition de l’interface web.
Février 2009 : OpenERP version 5.0 marque un saut qualitatif significatif avec une amélioration
de l'interface Web, l'introduction des diagrammes de Gantt, de l'éditeur de workflow et de
nombreuses améliorations dans le code fonctionnel.
2010 : La société réalise une levée de fonds de 3 million de dollars et change son business plan,
OpenERP S.A (nouveau nom de la société) passe d’une société de vente de service à une
entreprise d’éditeur de logiciel, cela leur permi de renforcer leur département de recherche et
développement (R & D) et leur département de vente.
En Janvier 2011 : OpenERP version 6.0 marque de nouveau un saut qualitatif important, avec
une amélioration du code fonctionnel, la réécriture complète de la CRM et une amélioration de
l'interface Web. Cette version est la première à être diffusée sous licence AGPL, en
remplacement de la licence GPL (La licence publique générale GNU Affero (GNU AGPL) est
une version modifiée de la version 3 de la GNU GPL ordinaire. Elle a une seule exigence
supplémentaire : si vous exécutez un programme modifié sur un serveur et laissez d'autres
utilisateurs communiquer avec lui, votre serveur doit aussi leur permettre de télécharger le code
source correspondant à la version modifiée en fonctionnement.) . En cette année la société est
classée par Deloitte (un des quatre grands cabinets d'audit et de conseil (Big Four) ) comme la
société avec le plus grand taux de croissance en Belgique, en cette même année la société
dispose d’un réseau de 500 partenaire dans 100 pays et son logiciel est installer 1000 fois par
jour.
Mai 2014 : OpenERP devient Odoo, La société réalise une levée de fonds de 10 million de
dollars et choisi de dépasser le cadre d’un ERP traditionnel.
Juin 2014 : Sortie de la version 8, La principale nouveauté technique sera l'introduction d'une
nouvelle API pour le développement des modules. L'API actuelle continuant d'être supportée.
Autres changements importants : la gestion des stocks a été réécrite pour la version 8.0, le
Octobre 2015 : Sorti d’Odoo version 9.0, la société à publier deux éditions, l’une open-source
appelée Odoo_Community et l’autre propriétaire
appelée Odoo_Enterprise. Odoo_Enterprise est
construite sur la base d’Odoo_Community en lui ajoutant
des développements propriétaires. L’ancienne licence
d’Odoo ne permet pas cette évolution ce qui a conduit
Odoo_SA, a changé de licence pour la licence LGPL. Les
principales évolutions sont : un nouveau design de
l’interface web, un module comptable ré-architecturé,
Figure 5 : Licence dans Odoo 9.0
l’évolution du module de gestion commerciale, une
nouvelle vue GANTT pour la gestion de projet et l’intégration d’un nouveau module de
communication VOIP.
Le premier niveau
Est le serveur Odoo qui contient toute la logique de l’entreprise et assure qu’Odoo fonctionne
d’une manière optimale, il est constitué de :
a- Un moteur ORM :
b- Les modules :
C’est le cœur d’Odoo, ils contiennent tout le métier de l’entreprise et réalise tous les
traitements spécifiques à chaque métier tel que toutes les applications Odoo s'articulent en
modules.
Model : les modèles sont les objets déclarés Figure 7 : Architecture MVC
dans Odoo. Ils sont également des tables
PostgreSQL.
View : les vues constituent la couche présentation, qui s’occupe de tout ce qui est affiché à
l’utilisateur final. En fait, deux types de modules sont proposés par Odoo :
- Le premier suit la Template standard d’Odoo. C’est la vue qui règne sur la plupart
des modules existants, avec les différents blocs et sections qui composent l’interface
graphique affichée à l’utilisateur : menu global, menu gauche, vue principale en différent
mode (arborescence, formulaire, Kanban, …). L’adoption de cette Template générale donne à
l’utilisateur une sensation de l’intégrité d’Odoo comme étant un seul système et non pas une
diversité de programmes ou de modules séparés.
Quelques modules officiels d’Odoo sont développés selon le deuxième type. Nous
citons ici le module du Point de vente.
Controller : les contrôleurs sont les classes Python qui contrôlent Odoo.
d- Le serveur web :
Le client est une application JavaScript développée à l'aide des librairies jQuery et
Underscore.js. Le client s’exécute sur le navigateur web et communique avec le serveur en
utilisant JSON-RPC, il prend les actions des utilisateurs, émet des requêtes vers le serveur et
reçoit des données qu’il affiche de différente manière.
V- Conclusion :
L’objectif de ce chapitre était la présentation d’Odoo, la description de son évolution et celle
de l’entreprise derrière, l’étude de son architecture et ces caractéristiques. De là nous
pouvons nous demander Qu’est-ce que la sécurité informatique et quelle mesure l’éditeur
d’Odoo a-t-il pris pour l’assurer ?
La sécurité d’un système d’information est la garantie pour une entreprise que ces ressources
matérielles et logicielles ne seront utilisées que dans le cadre prévue, que ces données ne seront
consultables et modifiables que par les personnes auxquelles elles sont destinées est cela est
régit par plusieurs normes dans la norme ISO/CEI 27001 l’objectif est de garantir l’intégrité,
la confidentialité et la disponibilité des données.
L'intégrité, c'est-à-dire garantir que les données sont bien celles que l'on croit être ;
La confidentialité, consistant à assurer que seules les personnes autorisées aient accès aux
ressources échangées ;
La disponibilité, permettant de maintenir le bon fonctionnement du système d'information ;
La traçabilité(ou « Preuve ») : garantie que les accès et tentatives d'accès aux éléments
considérés sont tracés et que ces traces sont conservées et exploitables.
La non répudiation, permettant de garantir qu'une transaction ne peut être niée ;
L'authentification, consistant à assurer que seules les personnes autorisées aient accès aux
ressources.
•évaluer les risques: quels risques et quelles menaces, sur quelles données et quelles activités,
avec quelles conséquences ?
Étape difficile des choix de sécurité : dans un contexte de ressources limitées (en temps, en
compétences et en argent), seul certaines solutions pourront être mises en œuvre.
•Surveiller et détecter les vulnérabilités du système d’information, et se tenir informé des failles
sur les applications et matériels utilisés.
•Définir les actions à entreprendre et les personnes à contacter en cas de détection d'une menace.
Odoo est une application web (elle est placée sur un serveur et tout utilisateur n’y accède qu’à
travers un navigateur). De là il est logique de s’intéresser au mesure que l’éditeur d’Odoo à prix
pour contrer les principales vulnérabilités des applications web.
L’OWASP (open web application security project) est une communauté en ligne travaillant sur
la sécurité des applications Web. Sa philosophie est d'être à la fois libre et ouverte à tous. Elle
a pour vocation de publier des recommandations de sécurisation Web et de proposer aux
internautes, administrateurs et entreprises des méthodes et outils de référence permettant de
contrôler le niveau de sécurisation de ses applications Web, l’un de leurs travaux les plus
célèbre est une classification des 10 principales attaques sur les application web. Dans ce
présent paragraphe nous allons énumérer ces attaque et voire quelle sont mesure prise par Odoo
pour les contourner.
A1 – Injection
Définition :
Une faille d'injection se produit quand des données entrées par les utilisateurs sont utilisé dans
une commande ou une requête du serveur sans qu’elle soit vérifiée au préalable.
Odoo a mis en place une couche de son serveur l’ORM, responsable de toute communication
avec la base de donné, la création des tables, la validation et la mise en forme des données pour
se protéger de vulnérabilité du type injection.
Définition :
Cette attaque ce produit quand l’un des programme de gestion de la session d’utilisateur ou le
processus d’authentification inclue une faille.
Odoo a mis en place le standard de cryptographie PKFDB2 + SHA-512, Pour protéger les mots
de passe enregistrer localement dans la base de donnée et permet l’utilisation de OAuth2.0. Si
on veut utiliser l’authentification d’une autre application telle que Facebook ou Google, pour
éviter le stockage interne, ou le standard LDAP d’authentification qui utilise les adresses IP et
Remarque:
L’authentification reste l’une des plus grandes vulnérabilités d’Odoo, car une simple attaque
par force brute permet de trouver le mot de passe de l’administrateur (surtout si le mot de passe
est court et qu’il n’y a pas de mise à jour fréquente), en effet la version communautaire actuelle
d’Odoo ne limite pas le nombre de mot de passe erroné et permet l’ouverture de plusieurs
session sur plusieurs machine avec le même compte sans aucun signale sur les autres sessions
déjà ouvertes, aucune traçabilité et aucune limite ne sont appliqué.
Notre travail se fera sur cette partie, nous essaierons de renforcer l’authentification.
Pour pouvoir réaliser une communication sécurisée il faut installer Odoo derrière un serveur
OpenSSL pour bénéficier du protocole de communication SSL (HTTPS) sinon les
communications ne sont pas sécurisées et l’utilisation OAuth2.0. Sur Odoo représentera une
vulnérabilité car les informations d’authentification échangée pourront être interceptées et
exploités par un hacker (les informations échanges ne sont pas cryptes).
Définition :
Les failles XSS se produisent lorsque l’application envoie des données non vérifiées à un
navigateur web. Ce qui permet au hacker de changer l’interface du site web ou d’y inclure une
redirection vers des sites malveillants.
Pour contrer les attaques XSS Odoo transforme par défaut toutes les expressions en vue, sauf
celle qui ont été spécialement marqué par le développeur comme sure.
Définition :
Cette faille intervient lorsqu’un simple changement d’URL permet à n’importe quel utilisateur
d’accéder à des données dont il n’est pas normalement autorisé.
Le contrôle d'accès Odoo n'est pas mis en œuvre au niveau de l'interface utilisateur, donc il n'y
a aucun risque d'exposer des références à des objets internes dans les URL. Les attaquants ne
peuvent pas contourner la couche de contrôle d'accès par la manipulation de ces références,
Définition :
C’est lorsque l’un des composants de l’application ou l’une des bibliothèques qu’elle utilise
comprend une faille.
Odoo est open source, donc l'ensemble du code source est continuellement examiné par les
utilisateurs Odoo et les collaborateurs à travers le monde. Les rapports de bugs de la
Communauté sont une source importante de rétroaction en ce qui concerne la sécurité sur Odoo.
Définition :
Cette vulnérabilité survient lorsque des données confidentielles sont stockées ou transférées
sans être préalablement crypté.
Odoo utilise les standard PKFDB2 + SHA-512 pour crypter les mots de passe
_ Le serveur SSL est obligatoire pour garantir une communication sécurisée, et dans ce cas
Odoo fonctionnera par défaut sous HTTPS
_ Il est recommandé d’installer Odoo derrière un serveur web pouvant exécuter les fonctions
de chiffrement et de proxy à la demande d’Odoo, des serveurs tels qu’Apache, Lighttpd ou
nginx.
Définition :
Cette vulnérabilité est présente dans les applications qui ne disposent pas d’un processus de
vérification du droit des utilisateurs, pour tout accès à chaque fonction de l’application.
Définition :
Une attaque CSRF (Cross Site Request Forgery) est une attaque faite par un autre site web
ouvert en même temps que l’application attaquer sur le même navigateur. Cette attaque
envoie des requêtes http que l’application vulnérable interprète comme des actions faites par
la victime.
La meilleure option est d’inclure un jeton unique dans un champ caché. Ce jeton, envoyé dans
le corps de la requête HTTP, et non inséré dans l’URL, sera ainsi potentiellement moins exposé.
Cette solution est une des nouveautés d’Odoo 9.0 donc ce problème persiste dans les versions
antérieure. La question qui se pose là est es qu’on peut adapter cette solution au versions
antérieure, puisque pour un utilisateur d’Odoo il est très probable qu’il utilise des modules
communautaire qu’ils ne sont pas présent dans la version 9.0 et puis la migration des bases des
données est service payant offert par l’éditeur d’Odoo qui ne concerne que les modules
standards\certifié et ne supporte pas les transformations spécifiques et le recordage des données
pour les clients, par exemple recorder les bons de commande durant la migration.
Définition :
L’éditeur d’Odoo garantie l’intégrité des bibliothèques, qu’il utilise dans la dernière version et
il assure qu’il prend en compte toute les vulnérabilités détecté par les utilisateurs, pour les
Définition :
Cette attaque survient lorsque l’application laisse l’utilisateur ajouter des liens, ces liens
peuvent renvoyer une victime vers un site de fraude ou vers un logiciel malveillant.
De par sa nature Odoo ne renvoie vers aucun lien externe et tous les URL. Sont créé dans le
serveur Odoo et non pas sur la couche utilisateur en plus toutes les informations, qu’entre les
utilisateurs sont transformer et vue et aucune redirection ou renvoi non vérifié n’est autoriser.
III- Conclusion :
Dans ce chapitre nous avons défini la sécurité informatique en définissant ses facteurs, puisque
Odoo est une application web, nous avons vu les dispositifs mis en place par l’éditeur contre
les principales attaques que peuvent subir une application web. Apres avoir vu tous cela nous
devons présenter notre contribution à l’édifice, comment pourrions-nous renforcer la sécurité
d’Odoo ?
Ce chapitre est consacré à notre module Odoo d’authentification par SMS, module que nous
avonst développer à l’aide du Framework Odoo et d’un simple modem GSM de Maroc
Telecom, le modem GSM est contrôlé avec les commandes AT pour jouer le rôle de serveur
SMS dans notre application.
- depends : la liste des modules dont dépend notre module, si aucune dépendance spécifique
n'est requise, On utiliser simplement ['base'].
- data et demo : des fichiers de données XML ou CSV qui seront chargés lors de l'installation
ou de la mise à jour du module afin de décrire des écrans, des rapports, des droits d'accès et de
données de démonstration.
Un fichier python (SmsAuth.py dans notre cas) il comporte les variables et les fonctions du
module :
Page d’authentification
Page de traçabilité
Pour pourvoir installer notre module auth_sms, vous devez passer par les étapes suivantes :
3-Se connecter au localhost via http:/localhost :8069/web puis choisir la base de donnés dans
laquelle vous voudriez installez votre module.
4-Accédez au menu configuration puis mettre à jour la liste des modules locaux pour que le
module auth_sms devient visible, puis cliquez sur installer.
b- Authentification
Réglage des données de l’utilisateur (le numéro de téléphone de l’utilisateur utiliser dans
l’authentification est réglable dans les paramétrés de l’utilisateur) :
Echec d’authentification :
c- Commande AT
IV- Conclusion :
Ce chapitre a été consacré à notre apport à la sécurité d’Odoo, un module d’authentification par
SMS, nous présentons dans ce chapitre un exemple de l’utilisation du Framework Odoo, et deux
exemples type d’utilisation de notre application.
Cette application peut être améliorée de différentes manières, l’un des axe d’amélioration
possible est l’ajout de l’adresse IP comme facteur décisionnel pour ajouter le deuxième facteur
dans des cas précis (changement de l’adresse IP ou pour quelque adresse bien définit (liste
noir)), un autre axe possible est l’ajout d’une protection contre les attaques par force brute.
Au sein de ce rapport de projet de fin d’étude nous avons définis les ERP, leurs avantages et
leurs inconvénients, on a présenté Odoo, son architecture et son histoire, nous avons conclu
que la forme actuelle d’Odoo est celle d’une application web. On a défini la sécurité
informatique, les principales attaques que peut subir une application web et les dispositifs que
l’éditeur d’Odoo à mis en œuvre contre ces attaques, puis on a présenté notre apport à la
sécurité d’Odoo, un module d’authentification par SMS. Maintenant pour que l’étude de la
sécurité d’Odoo soit complète il faut prendre en compte tout l’environnement de l’application,
la configuration du réseau, les applications installées sur le même serveur qu’Odoo ainsi que
les droits d’accès des employés de l’entreprise. Des tests d’intrusions et de performances
doivent être faits sur tout le système.
Bibliographie
- OWASP Top 10 – 2013 : Les Dix Risques de Sécurité Applicatifs Web les Plus
Critiques
- Mémoire pour obtenir le diplôme du Master spécialisé IPI« Ingénierie des Systèmes
d’information», Conception et réalisation d'une application de gestion intégrée au sein
de la société Eone Group basée sur OpenERP, (Ait mlouk Addi), juin 2013.
Webographie
- www.odoo.com/fr_FR
- www.python.org
- www.odoo.com/documentation/8.0/reference/reports.html
- https://github.com/
- www.odoo.com/documentation/8.0/
- https://doc.odoo.com/trunk/server/02_architecture/
- www.odoo.com/page/security
- https://openclassrooms.com/courses/synthese-sur-la-securite-du-systeme-d-
information-s
Source 1 :
Mémoire pour obtenir le diplôme du Master spécialisé IPI« Ingénierie des Systèmes
d’information», Conception et réalisation d'une application de gestion intégrée au sein de la
société Eone Group basée sur OpenERP, (Ait mlouk Addi), juin 2013.
Ubuntu
Ubuntu est un système d’exploitation libre commandité par la société Canonical et une
marque déposée par cette même société.
Fondé sur la distribution Linux Debian et utilisant le bureau Unity, Ubuntu se veut «
convivial, intuitif et sûr ». Il est constitué de logiciels libres, est disponible gratuitement y
compris pour les entreprises, et bénéficie d'une nouvelle version (appelée « mise à
niveau ») tous les six mois.
Avec une utilisation globale estimée à plus de 25 millions d'utilisateurs, il est principalement
conçu pour une utilisation sur des ordinateurs personnels (portables et fixes), bien que
d'autres versions consacrées aux netbooks et aux serveurs existent aussi. Depuis
Ubuntu 11.04, la version Netbook a fusionné avec la version Desktop. Cette dernière
étant passée à l'interface Unity, il n'y avait plus de raison de maintenir deux branches
distinctes.
Son objectif est de produire et fournir des outils pour la réalisation de logiciels, englobant les
activités de programmation (notamment au moyen d’un environnement de développement
intégré) mais aussi de modélisation, de conception, de test et de reporting. Son
environnement de développement intégré vise à supporter tout langage de programmation.
Dans notre projet l’utilité d’éclipse consiste à développer certain taches en utilisant le
plugin python développement (pydev) et xml.
PostgreSQL
. PostgreSQL peut stocker plus de types de données que les types traditionnels entiers,
caractères, etc. L'utilisateur peut créer des types, des fonctions, utiliser l'héritage de
type etc.
. PostgreSQL est pratiquement conforme (de plus en plus conforme) aux normes ANSI
SQL 89, SQL 92 (SQL 2), SQL 99 (SQL 3), SQL:2003 et SQL:2008. Il fonctionne
sur diverses plates-formes matérielles et sous différents systèmes d'exploitation.
. PostgreSQL fonctionne sur Solaris, SunOS, Mac OS X, HP-UX, AIX, Linux, IRIX,
Digital Unix, BSD, NetBSD, FreeBSD, OpenBSD, SCO unix, NeXTSTEP, UnixWare et
toutes sortes d'Unix. Depuis la version 8.0, PostgreSQL fonctionne également
nativement sur Windows. Avant la version 8, il fallait un émulateur de type cygwin
pour faire fonctionner PostgreSQL sur ce système d'exploitation.
. PostgreSQL est largement reconnu pour son comportement stable, proche d’Oracle.
Mais aussi pour ses possibilités de programmation étendues, directement dans le moteur
de la base de données, via PL/SQL. Le traitement interne des données peut aussi être
couplé à d'autres modules externes compilés dans d'autres langages.
Python
. Fourni dès le départ avec des modules de tests, Python est un langage agile. Le terme agile
est originellement issu de la méthodologie de programmation agile, très proche de la
programmation itérative. Cette méthodologie, qui réduit les risques liés à la conception
de logiciels, introduit entre autres des principes de tests continus du code.
. De haut niveau, orienté objet et totalement libre : même si elle n’est pas imposée,
Python permet la programmation orientée objet. Tous les mécanismes objet essentiels sont
implémentés et toutes les données manipulées sont des instances de classes, comme
pour les langages SmallTalk ou Ruby.
. Dynamique : dans la plupart des implémentations, le code source n’est pas compilé
contrairement à des langages comme C ou Pascal, mais exécuté à la volée. On parle
alors de langage interprété.
Contrairement à HTML, qui est considérer comme un langage défini et figé (avec un nombre
En réalité les balises XML décrivent le contenu plutôt que la présentation (contrairement
À HTML). Ainsi, XML permet de séparer le contenu de la présentation, ce qui permet
par exemple d'afficher un même document sur des applications ou des périphériques
différents sans pour autant nécessiter de créer autant de versions du document que l'on
nécessite de représentations.
XML a été mis au point par le XML Working Group sous l'égide du World Wide
Web Consortium (W3C) dès 1996. Depuis le 10 février 1998, les spécifications XML
1.0 ont été reconnues comme recommandations par le W3C, ce qui en fait un langage
Source 2 :
https://waqarafridi.wordpress.com/2015/01/22/how-to-setup-odoo-8-development-
envirnoment/
Depuis que la version nightly n'est plus à jour et que le projet openerp /odoo à migrer sur
github
Voici la procédure pour installer odoo 8 sous la version LTS d’ubuntu 14.04 à partir de
github:
#apt-get upgrade
python-passlib
#easy_install requests
#wgethttp://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox- 0.12.1_linux-trusty
amd64.deb
#dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
4- Install GIT
#apt-get install git-core
$sudosu - postgres
postgres$exit
6- Installer Gdata
Cd /opt/
#wget http://gdata-python-client.googlecode.com/files/gdata-2.0.17.tar.gz
#cd gdata-2.0.17/
Cd.
7- Télécharger odoo
Le Télécharger la derniére version odoo 8 disponible de github
# cd /opt/openerp
# Git clone https://github.com/odoo/odoo.git
openerp$./openerp-server
Source 3 :
https://fr.wikipedia.org/wiki/Commandes_Hayes
Protocole
Chaque commande est envoyée sous la forme d'une ligne de texte encodée en ASCII,
terminée par le caractère \r seul (code ASCII 13). Le modem retourne une réponse sous la
forme d'une ou plusieurs lignes selon la commande envoyée, chaque ligne se terminant par les
caractères \r suivi de \n (codes ASCII 13 et 10).