SlideShare une entreprise Scribd logo
1  sur  14
Les critères d’une utilisabilité efficace
d’API et comment améliorer cette
utilisabilité
1
Les critères d’une utilisabilité efficace d’API ?
2
• Critères liés à l’utilisation
• Critères liés à la documentation
• Critères liés au développement du code
• Critères liés à l’effet d’apprentissage
3
• Critères liés à l’utilisation
• Efficacité d'utilisation
• Utilisation fréquente de l’API (de bonnes ressources)
Les critères d’une utilisabilité efficace d’API ?
4
• Critères liés à la documentation
• A jour et accessible
• Complète
• Avec des exemples suffisants
Les critères d’une utilisabilité efficace d’API ?
5
• Critères liés au développement du code
• Au niveau des méthodes
• Au niveau des classes
• Au niveau des paquets
Les critères d’une utilisabilité efficace d’API ?
6
• Critères liés au développement du code (Au niveau des méthodes)
• Nombre de paramètres de méthodes
• Type de paramètre de méthodes
• Nom de la méthode (getData, getData2)
• Type de retour
Les critères d’une utilisabilité efficace d’API ?
7
• Critères liés au développement du code (Au niveau des classes)
• Constructeur ( par défaut, avec paramètre(s) )
• Noms des méthodes (getInputMessages, getAllInputMessages)
• DataType
Les critères d’une utilisabilité efficace d’API ?
8
• Critères liés au développement du code (Au niveau des paquages)
• Gestion des erreurs
• Le patternFacotry Vs constructeur
• Plusieurs manières de faire la même chose
• Complexité et nombre de classes
Les critères d’une utilisabilité efficace d’API ?
9
• Critères liés à l’effet d’apprentissage
• Incrémenter le processus d’apprentissage
• Evaluer l’effort de compréhension
Les critères d’une utilisabilité efficace d’API ?
10
• Améliorations liées à l’utilisation
• Améliorations liées à la documentation
• Améliorations liées au développement du code
• Améliorations liées à la conception de l’API
Comment améliorer l’utilisabilité d’une API ?
11
• Améliorations liées à l’utilisation
• Auto complétion
• Connaissance sur le domaine de l’API ( photographie )
• Choix de la classe d’appel des méthodes (Message.Send (serveur) )
Comment améliorer l’utilisabilité d’une API ?
12
• Améliorations liées à la documentation
• Facilité d’accès à la documentation
• Regroupement des exemples similaires (Regrouper, supprimer les doublons)
• Création automatique des exemples (Test Unitaire, détection de pattern)
• Fournir des documentations selon les profils des développeurs (débutants, experts)
• Code bien commenté ( Côté développeur )
Comment améliorer l’utilisabilité d’une API ?
13
• Améliorations liées au développement du code
• Bonne répartition des paquages
• Bon choix de la visibilité des méthodes (public Vs private)
• Minimiser les appels sur une ligne ( getData ().getX().getValue().ToString() )
• Facilité d’instantiation
Comment améliorer l’utilisabilité d’une API ?
14
• Améliorations liées à la conception de l’API
• Avoir un feedback tôt
• Avoir une bonne compréhension de chaque facteur de l’utilisabilité
• Utilisation des dimensions cognitives
Comment améliorer l’utilisabilité d’une API ?

Contenu connexe

Similaire à Les critères d’une utilisabilité efficace d’API et comment améliorer cette utilisabilité

Introduction à la programmation fonctionnelle
Introduction à la programmation fonctionnelle Introduction à la programmation fonctionnelle
Introduction à la programmation fonctionnelle Marine Karam
 
2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'ObjetFabrice Bellingard
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
Présentation certification ireb ingénierie exigences 20130329
Présentation certification ireb ingénierie exigences 20130329Présentation certification ireb ingénierie exigences 20130329
Présentation certification ireb ingénierie exigences 20130329Stéphane BADREAU
 
Présentation certification ireb ingénierie exigences 20130416
Présentation certification ireb ingénierie exigences 20130416Présentation certification ireb ingénierie exigences 20130416
Présentation certification ireb ingénierie exigences 20130416Stéphane BADREAU
 
Présentation certification ireb ingénierie exigences 20130416
Présentation certification ireb ingénierie exigences 20130416Présentation certification ireb ingénierie exigences 20130416
Présentation certification ireb ingénierie exigences 20130416Stéphane BADREAU
 
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Franck Cornu
 
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022Agile Montréal
 
Service sémantique de découverte de données géospatiales
Service sémantique de découverte de données géospatialesService sémantique de découverte de données géospatiales
Service sémantique de découverte de données géospatialesACSG Section Montréal
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Jean-Pierre Lambert
 
Benchmark stratice des plateformes open source
Benchmark stratice des plateformes open sourceBenchmark stratice des plateformes open source
Benchmark stratice des plateformes open sourceFFFOD
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certificationsLeClubQualiteLogicielle
 
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsCdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsAgile Montréal
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de testLeClubQualiteLogicielle
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)LeClubQualiteLogicielle
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
présentation soutenance PFE
présentation soutenance PFEprésentation soutenance PFE
présentation soutenance PFEHeithem Moumni
 
Démonstration Drupal Commons !
Démonstration Drupal Commons ! Démonstration Drupal Commons !
Démonstration Drupal Commons ! Core-Techs
 
Design-First API : pourquoi et comment
Design-First API : pourquoi et commentDesign-First API : pourquoi et comment
Design-First API : pourquoi et commentAlexandre ESTELA
 

Similaire à Les critères d’une utilisabilité efficace d’API et comment améliorer cette utilisabilité (20)

Introduction à la programmation fonctionnelle
Introduction à la programmation fonctionnelle Introduction à la programmation fonctionnelle
Introduction à la programmation fonctionnelle
 
2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
Présentation certification ireb ingénierie exigences 20130329
Présentation certification ireb ingénierie exigences 20130329Présentation certification ireb ingénierie exigences 20130329
Présentation certification ireb ingénierie exigences 20130329
 
Présentation certification ireb ingénierie exigences 20130416
Présentation certification ireb ingénierie exigences 20130416Présentation certification ireb ingénierie exigences 20130416
Présentation certification ireb ingénierie exigences 20130416
 
Présentation certification ireb ingénierie exigences 20130416
Présentation certification ireb ingénierie exigences 20130416Présentation certification ireb ingénierie exigences 20130416
Présentation certification ireb ingénierie exigences 20130416
 
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
 
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
 
Service sémantique de découverte de données géospatiales
Service sémantique de découverte de données géospatialesService sémantique de découverte de données géospatiales
Service sémantique de découverte de données géospatiales
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
 
Benchmark stratice des plateformes open source
Benchmark stratice des plateformes open sourceBenchmark stratice des plateformes open source
Benchmark stratice des plateformes open source
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
 
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsCdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
 
OpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP serverOpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP server
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
présentation soutenance PFE
présentation soutenance PFEprésentation soutenance PFE
présentation soutenance PFE
 
Démonstration Drupal Commons !
Démonstration Drupal Commons ! Démonstration Drupal Commons !
Démonstration Drupal Commons !
 
Design-First API : pourquoi et comment
Design-First API : pourquoi et commentDesign-First API : pourquoi et comment
Design-First API : pourquoi et comment
 

Plus de Khaled Fayala

Développement d’une application mobile bancaire pour QNB Tunisie
Développement d’une application mobile bancaire pour QNB TunisieDéveloppement d’une application mobile bancaire pour QNB Tunisie
Développement d’une application mobile bancaire pour QNB TunisieKhaled Fayala
 
Conception et réalisation d’une application Mobile banking
Conception et réalisation d’une application  Mobile banking  Conception et réalisation d’une application  Mobile banking
Conception et réalisation d’une application Mobile banking Khaled Fayala
 
Détection des droites par la transformée de Hough
Détection des droites par la transformée de HoughDétection des droites par la transformée de Hough
Détection des droites par la transformée de HoughKhaled Fayala
 
Maquettes pour une application mobile
Maquettes pour une application mobile Maquettes pour une application mobile
Maquettes pour une application mobile Khaled Fayala
 
SCORM : Sharable Content Object Reference Model
SCORM: Sharable Content Object Reference ModelSCORM: Sharable Content Object Reference Model
SCORM : Sharable Content Object Reference ModelKhaled Fayala
 
Les bibliothèques de calcul scientifiques
Les bibliothèques de calcul scientifiquesLes bibliothèques de calcul scientifiques
Les bibliothèques de calcul scientifiquesKhaled Fayala
 
LE MANAGEMENT STRATEGIQUE
LE MANAGEMENT STRATEGIQUELE MANAGEMENT STRATEGIQUE
LE MANAGEMENT STRATEGIQUEKhaled Fayala
 

Plus de Khaled Fayala (10)

Développement d’une application mobile bancaire pour QNB Tunisie
Développement d’une application mobile bancaire pour QNB TunisieDéveloppement d’une application mobile bancaire pour QNB Tunisie
Développement d’une application mobile bancaire pour QNB Tunisie
 
Conception et réalisation d’une application Mobile banking
Conception et réalisation d’une application  Mobile banking  Conception et réalisation d’une application  Mobile banking
Conception et réalisation d’une application Mobile banking
 
Détection des droites par la transformée de Hough
Détection des droites par la transformée de HoughDétection des droites par la transformée de Hough
Détection des droites par la transformée de Hough
 
Maquettes pour une application mobile
Maquettes pour une application mobile Maquettes pour une application mobile
Maquettes pour une application mobile
 
Traduction des sms
Traduction des smsTraduction des sms
Traduction des sms
 
SCORM : Sharable Content Object Reference Model
SCORM: Sharable Content Object Reference ModelSCORM: Sharable Content Object Reference Model
SCORM : Sharable Content Object Reference Model
 
Les bibliothèques de calcul scientifiques
Les bibliothèques de calcul scientifiquesLes bibliothèques de calcul scientifiques
Les bibliothèques de calcul scientifiques
 
LE MANAGEMENT STRATEGIQUE
LE MANAGEMENT STRATEGIQUELE MANAGEMENT STRATEGIQUE
LE MANAGEMENT STRATEGIQUE
 
E business
E businessE business
E business
 
Traduction des SMS
Traduction des SMSTraduction des SMS
Traduction des SMS
 

Les critères d’une utilisabilité efficace d’API et comment améliorer cette utilisabilité

  • 1. Les critères d’une utilisabilité efficace d’API et comment améliorer cette utilisabilité 1
  • 2. Les critères d’une utilisabilité efficace d’API ? 2 • Critères liés à l’utilisation • Critères liés à la documentation • Critères liés au développement du code • Critères liés à l’effet d’apprentissage
  • 3. 3 • Critères liés à l’utilisation • Efficacité d'utilisation • Utilisation fréquente de l’API (de bonnes ressources) Les critères d’une utilisabilité efficace d’API ?
  • 4. 4 • Critères liés à la documentation • A jour et accessible • Complète • Avec des exemples suffisants Les critères d’une utilisabilité efficace d’API ?
  • 5. 5 • Critères liés au développement du code • Au niveau des méthodes • Au niveau des classes • Au niveau des paquets Les critères d’une utilisabilité efficace d’API ?
  • 6. 6 • Critères liés au développement du code (Au niveau des méthodes) • Nombre de paramètres de méthodes • Type de paramètre de méthodes • Nom de la méthode (getData, getData2) • Type de retour Les critères d’une utilisabilité efficace d’API ?
  • 7. 7 • Critères liés au développement du code (Au niveau des classes) • Constructeur ( par défaut, avec paramètre(s) ) • Noms des méthodes (getInputMessages, getAllInputMessages) • DataType Les critères d’une utilisabilité efficace d’API ?
  • 8. 8 • Critères liés au développement du code (Au niveau des paquages) • Gestion des erreurs • Le patternFacotry Vs constructeur • Plusieurs manières de faire la même chose • Complexité et nombre de classes Les critères d’une utilisabilité efficace d’API ?
  • 9. 9 • Critères liés à l’effet d’apprentissage • Incrémenter le processus d’apprentissage • Evaluer l’effort de compréhension Les critères d’une utilisabilité efficace d’API ?
  • 10. 10 • Améliorations liées à l’utilisation • Améliorations liées à la documentation • Améliorations liées au développement du code • Améliorations liées à la conception de l’API Comment améliorer l’utilisabilité d’une API ?
  • 11. 11 • Améliorations liées à l’utilisation • Auto complétion • Connaissance sur le domaine de l’API ( photographie ) • Choix de la classe d’appel des méthodes (Message.Send (serveur) ) Comment améliorer l’utilisabilité d’une API ?
  • 12. 12 • Améliorations liées à la documentation • Facilité d’accès à la documentation • Regroupement des exemples similaires (Regrouper, supprimer les doublons) • Création automatique des exemples (Test Unitaire, détection de pattern) • Fournir des documentations selon les profils des développeurs (débutants, experts) • Code bien commenté ( Côté développeur ) Comment améliorer l’utilisabilité d’une API ?
  • 13. 13 • Améliorations liées au développement du code • Bonne répartition des paquages • Bon choix de la visibilité des méthodes (public Vs private) • Minimiser les appels sur une ligne ( getData ().getX().getValue().ToString() ) • Facilité d’instantiation Comment améliorer l’utilisabilité d’une API ?
  • 14. 14 • Améliorations liées à la conception de l’API • Avoir un feedback tôt • Avoir une bonne compréhension de chaque facteur de l’utilisabilité • Utilisation des dimensions cognitives Comment améliorer l’utilisabilité d’une API ?

Notes de l'éditeur

  1. Efficacité d'utilisation  (khaled) : les utilisateurs doivent être en mesure d'accomplir leurs tâches avec l'API efficacement.
  2. 22 (Khaled)
  3. Auto Complétion (Khaled) Surcharges basées sur la simplicité des types de paramètres Les surcharges importantes doivent être empêchées d'être bien en bas dans la liste  Changer les noms des méthodes avec le même préfixe 
  4. Une restructuration simple en plusieurs (sous-) packages peut aider à améliorer les performances de recherche et l'expérience du programmeur.   Lorsque seules les classes principales sont laissées dans le paquet principal, les programmeurs peuvent facilement identifier ce qui est le plus important dans l'API.
  5. dimensions cognitives (Khaled)