SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
POC Notes de frais
Présentation d’un logiciel multiplateforme développé sous Delphi
utilisant VCL, Firemonkey, WebBrocker et IntraWeb.
(c) Patrick Prémartin / developpeur-pascal.fr
L’idée
• Beaucoup d’entreprises ont du personnel nomade.
• Beaucoup de salariés et d’entrepreneurs passent leur temps à trier
des tickets de caisses et faire des notes de frais quand ils arrivent chez
eux, à l’hôtel ou au pire une fois par mois au bureau pour transmettre
ensuite à leur hiérarchie.
• Il existe beaucoup d’applications sur abonnement pour gérer ses
notes de frais, avec tout un tas d’options, ce qui m’a donné envie d’en
faire un POC.
(c) Patrick Prémartin / developpeur-pascal.fr
Concrètement
• Le projet « POC Notes de frais » est un ensemble de modules
permettant une gestion simplifiée de notes de frais.
• Le « nomade » fait une photo de chaque ticket de caisse qui est
transmise sur un serveur central.
• Un responsable du projet interroge la base de notes de frais en
attente et les valide ou les rejette.
• L’information remonte au « nomade ».
• Des administrateurs gèrent les comptes utilisateurs.
(c) Patrick Prémartin / developpeur-pascal.fr
Les programmes de l’application
• Le programme des nomades est une application mobile développée
avec Firemonkey sous Delphi.
• Le programme destiné aux administrateurs, parfois sur Mac, est
également développé avec Firemonkey pour fonctionner sur macOS.
• Le programme destiné aux « modérateurs » des notes de frais est
développé avec la VCL car ils sont sous Windows.
• Le serveur qui gère la base principale est développé sous Delphi avec
WebBrocker en configuration « console » pour tourner sous Linux ou
Windows.
(c) Patrick Prémartin / developpeur-pascal.fr
L’application mobile
• Développée avec FMX sous Delphi. Dispo pour iOS et Android.
• Identifie l’utilisateur (user / password) en vérifiant sa validité auprès
du serveur par une requête http(s) en POST.
• Utilise l’action standard pour prendre les photos. Ca permet d’appeler
le module de photographie du téléphone et bénéficier de ses réglages
plutôt que gérer nous-mêmes le focus, le zoom, ...
• Passe par des appels http(s) en POST pour soumettre les photos au
serveur.
• Stocke des données locales dans une base SQLite.
(c) Patrick Prémartin / developpeur-pascal.fr
La gestion des utilisateurs
• Développée avec FMX sous Delphi. Dispo pour macOS et Windows.
• Permet simplement de gérer une liste d’utilisateurs à partir d’une
simple liste.
• Importe/Exporte la base complète des utilisateurs depuis le serveur
(appels http(s) et transfert de la table sous forme de JSON utilisé dans
un TFDMemTable ensuite).
• Utilise les composants de saisie et d’affichage classiques avec
LiveBinding.
(c) Patrick Prémartin / developpeur-pascal.fr
La gestion des notes de frais
• Développée avec la VCL sous Delphi. Dispo pour Windows.
• Traite note de frais à valider par note de frais à valider.
• Demande au serveur une note de frais en attente de validation,
affiche l’image correspondante, enregistre les informations utiles puis
les renvoi au serveur.
• Utilise des ordres http(s) pour travailler en GET et POST.
(c) Patrick Prémartin / developpeur-pascal.fr
Le serveur
• Développée avec WebBrocker sous Delphi.
• Dispo pour Windows et Linux en console (ou background).
• Utilise une base de données SQLite pour archiver les informations à
traiter.
• Utilise un stockage sous forme de fichiers pour les photos des notes
de frais.
• Fourni une API « REST » simple ou tout simplement répond à des
ordres GET ou POST spécifiques.
(c) Patrick Prémartin / developpeur-pascal.fr
Bonus : un extranet de consultation
• En complément des programmes vraiment utiles, on ajoute un site
web de consultation de la base de données des notes de frais.
• Le programme affiche la liste des notes de frais et permet de
consulter la photo de chacune d’entre elles.
• Développement fait avec IntraWeb, exécutable uniquement sous
Windows pour le moment (Linux sera pris en charge dans la
prochaine version de IntraWeb dispo d’ici septembre).
(c) Patrick Prémartin / developpeur-pascal.fr
Bonus : un service d’alerte
• Pour que les utilisateurs gérant la liste des notes de frais soient
informés qu’il y en a à traiter, on ajoute un service Windows qui
interroge régulièrement le serveur web.
• Lorsqu’une nouvelle note de frais est à valider, une notification est
envoyée à l’utilisateur.
(c) Patrick Prémartin / developpeur-pascal.fr
Moins de parole, des actes !
• Pour reprendre ce célèbre slogan d’une « vieille » association
militante, nous allons pouvoir passer à la démo.
• Profitez-en pour poser vos questions, nous y répondrons dans
quelques minutes.
(c) Patrick Prémartin / developpeur-pascal.fr
Vos question ? Nos réponses !
• La parole est à vous.
• Et si vous avez des questions plus tard sur ce projet et son
fonctionnement, posez les moi depuis la rubrique « contact » du blog
https://www.developpeur-pascal.fr
(c) Patrick Prémartin / developpeur-pascal.fr

Contenu connexe

Similaire à POC Notes de frais

Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
ENSIBS
 

Similaire à POC Notes de frais (20)

Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distance
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MA
 
Powershell et les techniques de remoting
Powershell et les techniques de remoting Powershell et les techniques de remoting
Powershell et les techniques de remoting
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphi
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
 
Catalogue pfe 2018 2019
Catalogue pfe 2018 2019Catalogue pfe 2018 2019
Catalogue pfe 2018 2019
 
HLayer / DevOps REX
HLayer / DevOps REXHLayer / DevOps REX
HLayer / DevOps REX
 
API Banque : Convertigo à la French Mobile Day 2015
API Banque : Convertigo à la French Mobile Day 2015API Banque : Convertigo à la French Mobile Day 2015
API Banque : Convertigo à la French Mobile Day 2015
 
Les API Banque By convertigo
Les API Banque By convertigoLes API Banque By convertigo
Les API Banque By convertigo
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Alphorm.com Formation Déployer Xen Desktop 7.6 ET XenApp 7.6
Alphorm.com Formation Déployer Xen Desktop 7.6 ET XenApp 7.6 Alphorm.com Formation Déployer Xen Desktop 7.6 ET XenApp 7.6
Alphorm.com Formation Déployer Xen Desktop 7.6 ET XenApp 7.6
 
Premiers pas avec snort
Premiers pas avec snortPremiers pas avec snort
Premiers pas avec snort
 

Plus de pprem

Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
pprem
 
Internationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXInternationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMX
pprem
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'images
pprem
 

Plus de pprem (20)

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game engine
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environment
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkey
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
 
Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Diffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourDiffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jour
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitaires
 
Développer une application pour Android TV avec Delphi
Développer une application pour Android TV avec DelphiDévelopper une application pour Android TV avec Delphi
Développer une application pour Android TV avec Delphi
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Android
 
Internationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXInternationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMX
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphi
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'images
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCL
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkey
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphi
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMX
 

POC Notes de frais

  • 1. POC Notes de frais Présentation d’un logiciel multiplateforme développé sous Delphi utilisant VCL, Firemonkey, WebBrocker et IntraWeb. (c) Patrick Prémartin / developpeur-pascal.fr
  • 2. L’idée • Beaucoup d’entreprises ont du personnel nomade. • Beaucoup de salariés et d’entrepreneurs passent leur temps à trier des tickets de caisses et faire des notes de frais quand ils arrivent chez eux, à l’hôtel ou au pire une fois par mois au bureau pour transmettre ensuite à leur hiérarchie. • Il existe beaucoup d’applications sur abonnement pour gérer ses notes de frais, avec tout un tas d’options, ce qui m’a donné envie d’en faire un POC. (c) Patrick Prémartin / developpeur-pascal.fr
  • 3. Concrètement • Le projet « POC Notes de frais » est un ensemble de modules permettant une gestion simplifiée de notes de frais. • Le « nomade » fait une photo de chaque ticket de caisse qui est transmise sur un serveur central. • Un responsable du projet interroge la base de notes de frais en attente et les valide ou les rejette. • L’information remonte au « nomade ». • Des administrateurs gèrent les comptes utilisateurs. (c) Patrick Prémartin / developpeur-pascal.fr
  • 4. Les programmes de l’application • Le programme des nomades est une application mobile développée avec Firemonkey sous Delphi. • Le programme destiné aux administrateurs, parfois sur Mac, est également développé avec Firemonkey pour fonctionner sur macOS. • Le programme destiné aux « modérateurs » des notes de frais est développé avec la VCL car ils sont sous Windows. • Le serveur qui gère la base principale est développé sous Delphi avec WebBrocker en configuration « console » pour tourner sous Linux ou Windows. (c) Patrick Prémartin / developpeur-pascal.fr
  • 5. L’application mobile • Développée avec FMX sous Delphi. Dispo pour iOS et Android. • Identifie l’utilisateur (user / password) en vérifiant sa validité auprès du serveur par une requête http(s) en POST. • Utilise l’action standard pour prendre les photos. Ca permet d’appeler le module de photographie du téléphone et bénéficier de ses réglages plutôt que gérer nous-mêmes le focus, le zoom, ... • Passe par des appels http(s) en POST pour soumettre les photos au serveur. • Stocke des données locales dans une base SQLite. (c) Patrick Prémartin / developpeur-pascal.fr
  • 6. La gestion des utilisateurs • Développée avec FMX sous Delphi. Dispo pour macOS et Windows. • Permet simplement de gérer une liste d’utilisateurs à partir d’une simple liste. • Importe/Exporte la base complète des utilisateurs depuis le serveur (appels http(s) et transfert de la table sous forme de JSON utilisé dans un TFDMemTable ensuite). • Utilise les composants de saisie et d’affichage classiques avec LiveBinding. (c) Patrick Prémartin / developpeur-pascal.fr
  • 7. La gestion des notes de frais • Développée avec la VCL sous Delphi. Dispo pour Windows. • Traite note de frais à valider par note de frais à valider. • Demande au serveur une note de frais en attente de validation, affiche l’image correspondante, enregistre les informations utiles puis les renvoi au serveur. • Utilise des ordres http(s) pour travailler en GET et POST. (c) Patrick Prémartin / developpeur-pascal.fr
  • 8. Le serveur • Développée avec WebBrocker sous Delphi. • Dispo pour Windows et Linux en console (ou background). • Utilise une base de données SQLite pour archiver les informations à traiter. • Utilise un stockage sous forme de fichiers pour les photos des notes de frais. • Fourni une API « REST » simple ou tout simplement répond à des ordres GET ou POST spécifiques. (c) Patrick Prémartin / developpeur-pascal.fr
  • 9. Bonus : un extranet de consultation • En complément des programmes vraiment utiles, on ajoute un site web de consultation de la base de données des notes de frais. • Le programme affiche la liste des notes de frais et permet de consulter la photo de chacune d’entre elles. • Développement fait avec IntraWeb, exécutable uniquement sous Windows pour le moment (Linux sera pris en charge dans la prochaine version de IntraWeb dispo d’ici septembre). (c) Patrick Prémartin / developpeur-pascal.fr
  • 10. Bonus : un service d’alerte • Pour que les utilisateurs gérant la liste des notes de frais soient informés qu’il y en a à traiter, on ajoute un service Windows qui interroge régulièrement le serveur web. • Lorsqu’une nouvelle note de frais est à valider, une notification est envoyée à l’utilisateur. (c) Patrick Prémartin / developpeur-pascal.fr
  • 11. Moins de parole, des actes ! • Pour reprendre ce célèbre slogan d’une « vieille » association militante, nous allons pouvoir passer à la démo. • Profitez-en pour poser vos questions, nous y répondrons dans quelques minutes. (c) Patrick Prémartin / developpeur-pascal.fr
  • 12. Vos question ? Nos réponses ! • La parole est à vous. • Et si vous avez des questions plus tard sur ce projet et son fonctionnement, posez les moi depuis la rubrique « contact » du blog https://www.developpeur-pascal.fr (c) Patrick Prémartin / developpeur-pascal.fr