Framework de développement Web, conception, développement agile et solutions de tests unitaires, d'intégration et fonctionnels (IHM). architecture de données ouvertes (web services REST)

—-

Agilité et développement d'application web

  • utilité d'un framework web, modèle MVC
  • Pourquoi des tests ⇒ Qu'est-ce que le développement dirigé par les test (Test Driven Development) ?
  • ouvrir ses données : architecture/API REST et javascript/JSON
  • instrumenter un serveur web, un navigateur pour automatiser les tests

Une fois ces notions explicitées pour les participants, le groupe discutera de l'intérêt de ces sujets et de l'éventualité d'un groupe de travail dans le domaine.


  • Documents de référence:
  • Date:
  • Lieu:
  • Premier vote: 45
  • Choix définitif: 31

Compte Rendu

Merci à Laurence Farhi pour sa prise de notes, base de ce compte rendu.

Sondage à mains levées ; sur 40 personnes

  • l'écrasante majorité (tous sauf 3) travaille de manière isolée, i.e. seul ou avec une autre personne pour ses tâches de développement.
  • Développement web : seules 4 personnes n'utilisent pas de framework
  • peu de personnes pratiquent une approche de développement orienté par les tests (TDD, BDD) : 5 personnes en ont entendu parler

Intérêt MVC

Séparation données/contrôleur (dialogue http avec le client)/vue (template) Quand on utilise un Framework. plein de choses sont faites automatiquement et simplifiée pour le programmeur Phase d'apprentissage Historiquement : avant Rails et après Rails (rubis)

Intérêt des framework pour l'IHM : vue fait par graphistes

Framework dvlt WEB Il existe des framework complets à tous les niveaux

Test?

Pourquoi? comment? TDD : Test Driven Dvlt), BDD (TDD en plus dirigé, Behaviour Driven Dvlt), CI (Continuous Integration) Ecrire les tests avant d'écrire le code (brique de base de l'extreme programing)

Avantages:

  • force à faire la conception (le test)
  • force à écrire la doc
  • code produit = résultat des tests –> couverture de code (quasi)complète des cas d'utilisation
  • confiance dans ce qu'on a fait, moins de réticences à modifier le code, sécurisant
  • investissement qu'on récupère dans le temps, surtout si bcp de maintenance

Inconvénients:

  • chgt complet de la manière de coder –> formation sur 1 journée nécessaire
  • Ca a un coût pour faire les tests (20% pour des applis web) car on en fait plus qu'avant –> il faut factoriser son code le plus possible

Les framework aident à faire cela. On teste les différents composants de manière isolée.

3 catégories de tests :

  • tester chacun des composants avec des méthodes qui testent
  • interaction du composant avec le code : pour tester le MVC, les framework proposent des outils (ex: remplacer le serveur http) = le mocking/stubing
  • tests d'intégration : la totale. des framework le permettent (remplace un user qui remplit un formulaire, appui sur un bouton, …). Difficile à faire sans framework

ex sous Rails : TestUnit, Rsrec, capybava + Rails permet des faire des tests d'intégration. Pour tester du js, selenium : simule les actions d'un utilisateur. Indépendant du langage phpunit pour php.

Des tests pour la sécurité (lib externes qui parcourent le code)

Tests de performances : souvent, les framework intègrent des outils de profiling

Outils pour encadrer un dvlt

Dépend du framework Maven pour du java

Ouverture des données d'une application, REST, Web Services

Fournir rapidement une API d'accès aux données, requêtes http basiques REST : protocole http pour accéder aux infos

  • ex: get serveur/personnes/32 –> info sur la pers 32 du serveur
  • accès simple aux données
  • généré par les framework
  • résultats en JSON (jv object notation)
  • Exemple d'application : authentification décentralisée
  • permet de réutiliser un service qui existe

Vers le html5, javascript

Nous avons parlé d'outils pour ce qui semble être le futur des interfaces des applications web.

  • des lib très évoluées: gwt, JSF
  • des lib minimaliste : jquery, underscore.js, mustache.js

Bcp moins de pb de compatibilité avec javascipt avec les nouvelles générations de navigateur.

Toujours des problèmes d'accessibilé Indisponible pour les appli Iphone, tactile …

html5 : permet de stocker des données dans le navigateur, sockets, le navigateur est un système d'exploitation …

Bilan de la discussion

 
groupe-de-travail/framework-de-développement-web-conception-développement-agile-et-solutions-de-tests-unitaires-d-intégration-et-fonctionnels-ihm-.-architecture-de-données-ouvertes-web-services-rest-/start.txt · Dernière modification: 2011/10/05 08:45 par pierre.gambarotto@enseeiht.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki