Draft:Conferences and Presentations Dolibarr

Cette page représente des plans type de conférences possibles sur Dolibarr ERP/CRM.

= THEME DE CONFERENCE C: DEMO TAKE IT EASY =

Title/Duration
WHY DOLIBARR IS SO EASY

Duration: 7mn maximum

Goal
Show how Dolibarr is easy to use.

Introduction
Dolibarr is an ERP & CRM software, so a software to manage a company resources ad customers relationships. It differ from other softwares on same category because our strategy and technology differs. - easy - easy - easy - easy - easy (easy to install, easy to setup, easy to use, easy to enhance, easy to develop)
 * Other OpenSource softwares try to reach medium and large company market. The try to add most feature as possible, making them sophisticated and
 * Dolibarr is not endorsed to any company but a foundation (like Mozilla is for Firefox) and goal is to reach small and medium companies, freelance and users with no technical knowledges. To reach this goal, all works were concentrated on 5 words:

TOOLS TO PREPARE: Presentation page.

Easy to install (on your own computer Linux)
-> DoliDeb

TOOLS TO PREPARE: Debian package onto desk

Easy to install (on your own computer Windows)
-> DoliWamp

TOOLS TO PREPARE: A windows virtual machine with DoliWamp onto desktop

And this works any other Operating System (Macintosh, any Windows, any Linux like OS). Do you know any other enterpise software that provide a full autoinstall process for all OS ?

Easy to install (in the SaaS)
TOOLS TO PREPARE: Video recording to create a DoliCloud instance.

Easy to setup
But what about setup ? ERP are known to be "usine à gaz". Dolibarr philosophy choose the opposite way of working: By default, Dolibarr has no feature at all. Let's see what it looks after login. To enable feature, just click "on". Some feature has subfeature, just click "on" too.

Do you know any other enterprise softwares who choosed this strategy ?

TOOLS TO PREPARE: A .sql for an empty "just installed" instance. A link to script init_demo.sh with this sql as parameters. A link to opened instance.

Easy to use
Most menus use same syntax with only 3 entries: The learning curve is one hour.
 * New
 * List
 * Statistics

Easy to enhance
-> Dolistore download Dolimed, then unzip file and show what it changes.

TOOLS TO PREPARE: Module Dolimed on desktop.

Easy to develop
Adding a new module is as easy as editing copying/editing a file.

TOOLS TO PREPARE: A module descriptor with next changes ready but commented.

Adding a trigger
Adding a new module is as easy as editing copying/editing a file.

Others

 * Adding theme

Conclusion
= THEME DE CONFERENCE A: REUSSIR UNE APPLI DE GESTION PHP PAR L'EXEMPLE DE DOLIBARR ERP/CRM =

Titre/Durée
REUSSIR UNE APPLI DE GESTION PHP PAR L'EXEMPLE DE DOLIBARR ERP/CRM

Durée: 45mn minimum (sans séance de questions) ou 1h (dont séances de questions)

Objectif
Présenter les pratiques PHP, et règles de l'art du développement PHP, à mettre en oeuvre pour réaliser un gros projet comme un ERP/CRM, pour chacune des grandes problématiques d'un tel projet (Sécurité, performances, qualité du code, maintenance, ...) et les illustrer par un retour d'expérience de leur mise en œuvre dans la réalisation de Dolibarr ERP/CRM.

Principe de la présentation

 * 8 thèmes seront abordés.
 * Pour chaque thèmes, 3 paragraphes évoqués: pourquoi, comment par l'exemple, résultat par l'exemple

Thèmes abordés
Les thèmes abordés seront les suivants:
 * Thème 1: Documentation technique
 * Thème 2: Accès aux données (DAO)
 * Thème 3: Design pattern MVC et moteur de templates
 * Thème 4: Performances
 * Thème 5: Traduction
 * Thème 6: Portabilité
 * Thème 7: Sécurité
 * Thème 8: Tests unitaires/non régression

Choix de l'exemple
Présentation de Dolibarr ERP/CRM, le produit et surtout le projet qui servira aux exemples.

Présentation fonctionnelle
Énumération des fonctionnalités

Présentation technique
Énumération des caractéristiques techniques

Présentation historique
Background du développement de l'application.

Thème 1: Bonnes pratiques PHP Documentation
-> Faciliter la maintenance et développement -> Tags et outils types Eclipse + Doxygen -> Présentation de la documentation
 * Pourquoi
 * Comment
 * Résultat

Thème 2: Bonnes pratiques PHP Design pattern DAO
-> Banaliser le développement et maintenance -> Présentation du générateur de DAO fait maison Dolibarr -> Adhésion rapide au développement.
 * Pourquoi
 * Comment
 * Résultat

Thème 3: Design pattern et moteur de templates (MVC by part versus MVC by file)
-> Faciliter la lecture du code, maintenance -> Comparaison des Frameworks "MVC by file" (Smarty, ...) ou pratique Dolibarr "MVC by part" (controlleur et présentation séparés mais se suivant dans le même fichier) Tableau comparatif -> Retour expérience sur Dolibarr: Résultat en terme de performance sur Dolibarr Résultat en terme de lisibilité Abandon de templates Smarty au profit de templates ... PHP -> Adhésion rapide au développement.
 * Pourquoi
 * Comment
 * Résultat
 * Résultat

Optimisation navigateur et réseau
-> Optimiser la génération et travail du browser -> Réduire le flux réseau -> Demo du plugin Firebug / Google PageSpeed. -> Bilan gain des modifications faites sur Dolibarr.
 * Pourquoi
 * Comment
 * Résultat

Diagnostique avec Xdebug
-> Identifier les portions de code "ratés" -> Présentation d'une lecture avec XCacheGrind (WinCacheGrind ou KCacheGrind) -> Bilan gain des modifications faites sur Dolibarr.
 * Pourquoi
 * Comment
 * Résultat

Utilisation d'un serveur de cache
-> Réduire le temp d'initialisation des données persistantes réinitialisées à chaque accès PHP. -> shared memory ou  serveur memcached ? -> Bilan gain des modifications faites sur Dolibarr.
 * Pourquoi
 * Comment
 * Résultat

Thème 5: Bonnes pratiques PHP Traduction
-> Avoir un projet internationnalisé. -> Favoriser les contributions externes spontannées par un socle technique adapté. -> Résultat obtenus sur Dolibarr.
 * Pourquoi
 * Comment
 * Résultat

Thème 6: Bonnes pratiques PHP Portabilité
PHP est déjà un langage portable. Mais certain sujets requiert malgré tout une couche de portabilité supplémentaire.

Base de données (iso/utf, mysql/postgresl/mssql)
-> Un projet indépendant du serveur de base de données -> Comparaison de la couche d'abstration PDO et de celle de Dolibarr -> Résultat obtenus sur Dolibarr sur portabilité sans double maintenance.
 * Pourquoi
 * Comment
 * Résultat

Encodage du système de fichiers (ansi windows/utf linux)
-> Un produit multiplateforme -> Permettre des développements sous Windows et une mise en production sous Linux -> Présentation portion de code d'abstraction au système de fichier
 * Pourquoi
 * Comment
 * Résultat

GET-POST-REQUEST
-> Un système de passage de paramètre unique -> Abandon de l'utilisation de REQUEST au profit d'une fonction GETPOST -> Résolution des problème dus aux cookies homonymes des paramètres. Un souci technique de moins.
 * Pourquoi
 * Comment
 * Résultat

Thème 7: Bonnes pratiques PHP Sécurité
-> Définition des dangers (Rappel du top 10 des dangers recensés par l'OWASP) -> Danger OWASP 1 -> Solution PHP -> Exemple dans Dolibarr ERP/CRM
 * Pourquoi
 * Comment

-> Danger OWASP 2 -> Solution PHP -> Exemple dans Dolibarr ERP/CRM

-> Danger OWASP n -> Solution PHP -> Exemple dans Dolibarr ERP/CRM

-> Danger OWASP 10 -> Solution PHP -> Exemple dans Dolibarr ERP/CRM -> Pas de retour à offrir. Mais quand on parle de sécurité, n'est-ce pas en soit un bon bilan ?
 * Résultat

Thème 8: Tests unitaires et PHPUnit
-> Améliorer la qualité -> Réduire le travail répétitif des tests -> PHPUnit - Selenium -> Bilan couverture de tests PHPUnit -> Pas de bilan Selenium (trop nouveau)
 * Pourquoi
 * Comment
 * Résultat

Conclusion
Petite conclusion...

-> Ouverture sur d'autres bonnes pratiques non abordés car non mise en œuvre dans Dolibarr ERP/CRM
 * Génération de code MDA (exemple ....)
 * Utilisation de Framework PHP clés en main (Symphony, ...)

Pour plus d'informations:
 * Le socle de développement de Dolibarr: http://wiki.dolibarr.org/index.php/Environment_and_development_tools
 * Le portail officiel du projet: http://www.dolibarr.org

= THEME DE CONFERENCE B: DOLIBARR ERP/CRM: Gérer votre entreprise ou association facilement =

Titre/Durée
Gérer votre entreprise ou association avec Dolibarr ERP/CRM. Durée: 20mn minimum (sans séance de questions) ou 45mn (dont séances de questions)

Introduction/Objectifs
Présenter l'installation et grandes fonctionnalités de Dolibarr
 * Produits
 * Tiers (Clients/Prospect/Fournisseurs)
 * Devis
 * Commandes
 * Factures
 * Banque et rapprochement

Autres fonctions importantes non abordées

 * Point de vente/Caisse enregistreuse
 * Contrats de services (suivi d'abonnement ou services à durée limitée dans le temps)
 * Autres modules transverses

Conclusion
Quelques adresses pour plus d'information:
 * Le portail officiel: http://www.dolibarr.org
 * La documentation: http://wiki.dolibarr.org
 * La démo en ligne: http://demo.dolibarr.org
 * La place de marché de modules/extension: http://www.dolistore.com