de ne plus en avoir • impossible de rechercher dans les données • risque d’égarement du support • pas de possibilité de copie de carte • gros stock de cartes après coup 4 ∞ ?
de ne plus en avoir • impossible de rechercher dans les données • risque d’égarement du support • pas de possibilité de copie de carte • gros stock de cartes après coup • procédé d’échange peu attractif • deux actions discrètes • n’aide pas à créer du lien 4 ∞ ?
des badges : association à un tag • contrainte : équipe de gestion inconnue • facilité de déploiement de l’application • exhaustivité de la documentation ?
des badges : association à un tag • contrainte : équipe de gestion inconnue • facilité de déploiement de l’application • exhaustivité de la documentation • accessibilité des services d’administration ?
PHP • gestion d’une base de données XML • pas de configuration nécessaire • bibliothèque standard PHP (simpleXML) • présentation : HTML+CSS 13 GET/ POST URL 200/ 404/ 500… GET/ POST URL 200/ 404/ 500…
PHP • gestion d’une base de données XML • pas de configuration nécessaire • bibliothèque standard PHP (simpleXML) • présentation : HTML+CSS • interface de programmation disponible pour automatiser la gestion 13
URLs et des méthodes HTTP seules pour manipuler les données • formalisation et documentation complètes • publication d’un sous-module • classe JavaScript d’interfaçage asynchrone entre formulaire HTML et API REST “pure” 14
URLs et des méthodes HTTP seules pour manipuler les données • formalisation et documentation complètes • publication d’un sous-module • classe JavaScript d’interfaçage asynchrone entre formulaire HTML et API REST “pure” • github.com/MattiSG/WebServiceForm 14
URLs et des méthodes HTTP seules pour manipuler les données • formalisation et documentation complètes • publication d’un sous-module • classe JavaScript d’interfaçage asynchrone entre formulaire HTML et API REST “pure” • github.com/MattiSG/WebServiceForm • facilité de déploiement 14 1. 2. [host] baseURL = http:// example.com/surface/ 3. There is no step 3! config.ini 1. 2. [host] baseURL = http:// example.com/surface/ 3. There is no step 3! config.ini
URLs et des méthodes HTTP seules pour manipuler les données • formalisation et documentation complètes • publication d’un sous-module • classe JavaScript d’interfaçage asynchrone entre formulaire HTML et API REST “pure” • github.com/MattiSG/WebServiceForm • facilité de déploiement • démo sur un “vrai” serveur (OVH) 14 1. 2. [host] baseURL = http:// example.com/surface/ 3. There is no step 3! config.ini 1. 2. [host] baseURL = http:// example.com/surface/ 3. There is no step 3! config.ini
XAML • récupération des données du serveur • RESTful API • envoi d’emails : délégation au serveur 18 GET/ POST URL 200/ 404/ 500… GET/ POST URL 200/ 404/ 500…
XAML • récupération des données du serveur • RESTful API • envoi d’emails : délégation au serveur • découplage • déployabilité : serveur web généralement capable d’envoyer des mails 18 GET/ POST URL 200/ 404/ 500… GET/ POST URL 200/ 404/ 500…
XAML • récupération des données du serveur • RESTful API • envoi d’emails : délégation au serveur • découplage • déployabilité : serveur web généralement capable d’envoyer des mails • identification des utilisateurs : badges ! 18
officiels : DotNetFrance, Polytech’… • respect des User Experience Guidelines • base de données téléchargée • mise en cache des avatars • diminution des délais 19
• universellement accessible • réception des cartes : email et exhaustivité des formats • cartes en pièce jointe au format le plus commun (VCF) • possibilité de télécharger des versions alternatives (LDIF, CSV) 23
• recherche de documentation • trial and error sur différentes plateformes • formulaire HTML5 : nouveaux input • s’améliorera “tout seul” avec les navigateurs 24
• recherche de documentation • trial and error sur différentes plateformes • formulaire HTML5 : nouveaux input • s’améliorera “tout seul” avec les navigateurs • emails et formulaire en templates 24
• recherche de documentation • trial and error sur différentes plateformes • formulaire HTML5 : nouveaux input • s’améliorera “tout seul” avec les navigateurs • emails et formulaire en templates • éditables par la prochaine équipe sans toucher au code fonctionnel 24
Carte de visite Mail Serveur web envoie recense manipule communique webservice communique webservice génère contient reconnaît recense XML PHP C# XAML 26
Carte de visite Mail Serveur web envoie recense manipule communique webservice communique webservice génère contient reconnaît recense XML HTML CSS PHP C# XAML 26
Carte de visite Mail Serveur web envoie recense manipule communique webservice communique webservice génère contient reconnaît recense XML HTML CSS PHP C# XAML MIME 26
Carte de visite Mail Serveur web envoie recense manipule communique webservice communique webservice génère contient reconnaît recense XML VCF LDIF CSV HTML CSS PHP C# XAML MIME 26
Carte de visite Mail Serveur web envoie recense manipule communique webservice communique webservice génère contient reconnaît recense XML VCF LDIF CSV HTML CSS PHP C# XAML RESTful Admin API MIME RESTful Surface API 26
Surface • impossibilité d’estimer la durée des tâches • impossibilité de prévoir les points critiques • choix de méthodologies type agile • mise en place d’outils de suivi interactifs
Surface • impossibilité d’estimer la durée des tâches • impossibilité de prévoir les points critiques • choix de méthodologies type agile • mise en place d’outils de suivi interactifs • utilisation des tableaux blancs • travail dans les mêmes espaces • code itératif • déploiements réguliers
l’Équipe • rôle du Directeur de Produit rempli par l’encadrante • pas de possibilité d’avoir un Facilitateur (ScrumMaster) • adaptation à des cycles très courts : sprints d’une journée • éléments d’eXtreme Programming • philosophie (propriété collective du code…) • pair programming lors de problèmes particuliers rencontrés • développement continu • pas de tests unitaires (trop d’interface pour du TDD) 29
production • documentation client complète • documentation technique des API • manuels d’installation et d’utilisation • améliorations possibles • interface graphique de la table et du formulaire d’édition 30
production • documentation client complète • documentation technique des API • manuels d’installation et d’utilisation • améliorations possibles • interface graphique de la table et du formulaire d’édition • meilleure sécurité des transmissions (authentification de la table) 30
production • documentation client complète • documentation technique des API • manuels d’installation et d’utilisation • améliorations possibles • interface graphique de la table et du formulaire d’édition • meilleure sécurité des transmissions (authentification de la table) • sonorisation du dispositif 30