Draft:Conférences et Présentation Dolibarr

From Dolibarr Wiki

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


Contents

Orientation.png 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.

Plan de la présentation

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

  • Pourquoi

-> Faciliter la maintenance et développement

  • Comment

-> Tags et outils types Eclipse + Doxygen

  • Résultat

-> Présentation de la documentation

Thème 2: Bonnes pratiques PHP Design pattern DAO

  • Pourquoi

-> Banaliser le développement et maintenance

  • Comment

-> Présentation du générateur de DAO fait maison Dolibarr

  • Résultat

-> Adhésion rapide au développement.

Thème 3: Design pattern et moteur de templates (MVC by part versus MVC by file)

  • Pourquoi

-> Faciliter la lecture du code, maintenance

  • Comment

-> 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)

  • Résultat

Tableau comparatif

Avantage/Inconvénient Moteur template (Smarty, ...) Template natif PHP (choix Dolibarr)
Garantie "technique" isolation code/présentation oui non
Maintenance Plus simple
Evolutivité Plus fermé Plus souple
Fonctionnalités
Performances Moins bonne (attention aux annonces de "cache"). 120 Base 100
  • Résultat

-> 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.

Thème 4: Bonnes pratiques PHP Performances

Optimisation navigateur et réseau

  • Pourquoi

-> Optimiser la génération et travail du browser -> Réduire le flux réseau

  • Comment

-> Demo du plugin Firebug / Google PageSpeed.

  • Résultat

-> Bilan gain des modifications faites sur Dolibarr.

Diagnostique avec Xdebug

  • Pourquoi

-> Identifier les portions de code "ratés"

  • Comment

-> Présentation d'une lecture avec XCacheGrind (WinCacheGrind ou KCacheGrind)

  • Résultat

-> Bilan gain des modifications faites sur Dolibarr.

Utilisation d'un serveur de cache

  • Pourquoi

-> Réduire le temp d'initialisation des données persistantes réinitialisées à chaque accès PHP.

  • Comment

-> shared memory ou serveur memcached ?

  • Résultat

-> Bilan gain des modifications faites sur Dolibarr.

Thème 5: Bonnes pratiques PHP Traduction

  • Pourquoi

-> Avoir un projet internationnalisé.

  • Comment

-> Favoriser les contributions externes spontannées par un socle technique adapté.

  • Résultat

-> Résultat obtenus sur Dolibarr.

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)

  • Pourquoi

-> Un projet indépendant du serveur de base de données

  • Comment

-> Comparaison de la couche d'abstration PDO et de celle de Dolibarr

Avantage/Inconvénient PDO Surcouche Dolibarr
Portabilité ordres DDL

(select, insert...)

Oui Oui
Portabilité ordres DML

(create, truncate, ...)

Non Oui
Portabilité code erreurs Incomplète Oui
Gestion transactions imbriquées Non Oui
  • Résultat

-> Résultat obtenus sur Dolibarr sur portabilité sans double maintenance.

Encodage du système de fichiers (ansi windows/utf linux)

  • Pourquoi

-> Un produit multiplateforme -> Permettre des développements sous Windows et une mise en production sous Linux

  • Comment

-> Présentation portion de code d'abstraction au système de fichier

  • Résultat

GET-POST-REQUEST

  • Pourquoi

-> Un système de passage de paramètre unique

  • Comment

-> Abandon de l'utilisation de REQUEST au profit d'une fonction GETPOST()

  • Résultat

-> Résolution des problème dus aux cookies homonymes des paramètres. Un souci technique de moins.

Thème 7: Bonnes pratiques PHP Sécurité

  • Pourquoi

-> Définition des dangers (Rappel du top 10 des dangers recensés par l'OWASP)

  • Comment

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

-> 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

  • Résultat

-> Pas de retour à offrir. Mais quand on parle de sécurité, n'est-ce pas en soit un bon bilan ?

Thème 8: Tests unitaires et PHPUnit

  • Pourquoi

-> Améliorer la qualité -> Réduire le travail répétitif des tests

  • Comment

-> PHPUnit - Selenium

  • Résultat

-> Bilan couverture de tests PHPUnit -> Pas de bilan Selenium (trop nouveau)

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:

Orientation.png 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

Produits

Tiers

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:

Personal tools
In other languages
French
No translation in French.
Spanish
No translation in Spanish.