Quelques raccourcis :

420-KBG-LG – Développement de services d'échange de données

Ceci est un petit site de support pour le cours 420-KBG-LG – Développement de services d'échange de données.

Vous trouverez aussi des liens sur divers langages (dont C# et JavaScript, nos outils de prédilection dans ce cours) un peu partout dans http://h-deb.clg.qc.ca/. Portez une attention particulière à ../../../Sujets/Divers--cdiese/index.html et à ../../../Sujets/Web/index.html

Les diverses sections de cette page (en fonction desquelles vous trouverez quelques liens dans l'encadré à droite) vous mèneront elles-aussi sur des pistes qui vous permettront d'explorer un peu plus par vous-mêmes, de valider vos acquis et d'enrichir votre apprentissage.

Cliquez sur cette cible pour le plan de cours, sous forme électronique

Pratiques de correction

Je corrige les programmes en appliquant des codes de correction. Vous trouverez ici la liste des codes les plus fréquents.

Ma stratégie de correction en tant que telle (pour le code, à tout le moins) est résumée ici.

Cliquez sur cette cible pour un résumé des principales règles de programmatique en vigueur dans ce cours.

Cliquez sur cette cible pour les normes appliquées dans ce cours, en ce qui a trait au pseudocode

Quelques trucs pour demander de l'aide plus efficacement

Détail des séances en classe

Puisque nous serons en quelque sorte laboratoire à la fois pour les séances théoriques et les séances de laboratoire, j'ai fait le choix de construire le cours sous forme de 30 séances (de S00 à S29) plutôt que sous forme de 15 séances théoriques et 15 séances de laboratoire. Le dosage prévu de temps en théorie et de temps en laboratoire (soit environ moitié-moitié) devrait être respecté.

Date Séance Détails

27 août (jeudi 13h)

S00

J'avais prévu tenir une première séance d'accueil aujourd'hui, mais les circonstances ne me l'ont pas permis. Ce n'est que partie remise!

3 sept. (jeudi 11h)

S01

Séance d'accueil. Au menu :

10 sept.

S02

Au menu :

14 sept.

S03

Cette semaine, je serai (virtuellement) à CppCon 2020. Vous pourrez me suivre (à travers ../../Sujets/Orthogonal/cppcon2020.html) si vous le souhaitez.

17 sept.

S04

Cette semaine, je serai (virtuellement) à CppCon 2020. Vous pourrez me suivre (à travers ../../Sujets/Orthogonal/cppcon2020.html) si vous le souhaitez.

21 sept.

S05

Au menu :

24 sept.

S06

Au menu, on s'éloigne un peu du code aujourd'hui, donnant plutôt dans l'historique et dans les schémas :

  • Principes de base des systèmes client / serveur sur le plan de la communication (perspective historique) :
    • Pourquoi des systèmes répartis?
    • Sens des mots « client » et « serveur »
      • Général et historique
      • Contemporain, en particulier dans une optique REST
      • Gains et pertes de cette évolution
    • De protocoles, de fonctions et de services
      • Époque des sockets bruts
      • Avènement du modèle RPC
      • Passage aux composants et rôle des intergiciels
      • De protocoles binaires aux protocoles Web basés XML : pourquoi?
      • De XML à JSON : pourquoi?
      • De RPC et REST : pourquoi?
    • Ce qui peut circuler entre les homologues
    • Découvrabilité : localiser l'homologue (typiquement, le serveur)
      • Services de repérage et de découverte
      • Bottins UDDI
      • ... Google!
    • Identifier les services offerts
    • Gestion de la durée de vie
      • Gestion collaborative
      • Gestion par péremption (et mécènes)
      • Singletons
    • Gestion des pannes
      • Éviter de planter
      • Accepter de planter
      • Être remplaçable et être sans états (Stateless)
    • Échelonnabilité
      • Que faire quand la charge augmente?

28 sept.

S07

Au menu :

  • Suite de S06
  • On profite par la suite de la générosité de Nicolas :

Pour une approche alternative au problème donné dans Activité 00, vous pouvez examiner la proposition de mon collègue Nicolas Chourot sur https://github.com/Nicolas-Chourot/CRUD_Demo. À ce sujet :

Il a aussi mis du temps sur un diaporama électronique présentant Node, Visual Studio Code (que je n'ai pas utilisé mais qui est un très chouette IDE) incluant son débogueur, etc. et qu'il vous offre gracieusement à cette adresse.

1 oct.

S08

Au menu :

5 oct.

S09

Au menu : à venir

8 oct.

S10

Au menu : à venir

13 oct.

S11

Attention, mardi avec horaire du lundi

Au menu : à venir

15 oct.

S12

Au menu : à venir

19 oct.

S13

Au menu : à venir

22 oct.

S14

Au menu : à venir

26 oct.

S15

Au menu : à venir

29 oct.

S16

Au menu : à venir

2 nov.

S17

Au menu : à venir

5 nov.

S18

Au menu : à venir

9 nov.

S19

Au menu : à venir

12 nov.

 

Journée de mise à niveau (cours suspendus)

16 nov.

S20

Au menu : à venir

19 nov.

S21

Au menu : à venir

23 nov.

S22

Au menu : à venir

26 nov.

S23

Au menu : à venir

30 nov.

S24

Au menu : à venir

3 déc.

S25

Au menu : à venir

7 déc.

S26

Au menu : à venir

10 déc.

S27

Au menu : à venir

14 déc.

S28

Au menu : à venir

17 déc.

S29

À remettre :

  • La PFI de la session A2020

Chic examen final

Petits coups de pouces

Vous trouverez ici quelques documents, la plupart petits, qui peuvent vous donner un petit coup de pouce occasionnel.

Comment accéder à du code .NET à partir d'un client C++ natif.

Vous trouverez aussi des exemples de code C# dans la section Divers – C# du site, mais notez que je n'ai pas nécessairement harmonisé ces exemples (écrits pour des cours plus avancés, sous forme de survols) aux standards de programmation appliqués dans le présent cours. À lire avec prudence et discrimination, donc.

Consignes des travaux pratiques

Les consignes des travaux pratiques suivent.

Consignes Détails supplémentaires

TP00

À venir

TP01

À venir

TP02

À venir

PFI

À venir

Solutionnaires

Quelques solutionnaires suivent. Référez-vous aux règles programmatiques pour plus de détails sur les normes de programmation appliquées dans ce cours.

Travail

Solutionnaire possible pour Activité 00

À venir

À venir

En espérant que ça vous aide à organiser vos idées!

Questions à répondre

Question posée le 22 septembre 2020 :

« [...en lien avec 420KBG--Activite00.pdf...] un collègue et moi avions un débat sur la position logique de la gestion des erreurs. Par exemple, dans mon controller.js, les vérifications étaient faites soit directement dans la fonction appelé par le route, soit dans une fonction privée non-exportée. Dans le cas de mon collègue, il vérifiait à l'intérieur de son route.js et, une fois que tout était bon, il passait à l'appel de ses fonctions dans le controller. Ces fonctions sont, par exemple, vérifier si c'est un nombre qui est passé (!NaN), s'il y a trop ou pas assez de paramètres passés, etc. Nous voudrions savoir laquelle est la bonne façon de faire pour respecter a la fois, l'optimisation et le consensus globale du bon code JavaScript. »


Valid XHTML 1.0 Transitional

CSS Valide !