Skip to content

Instantly share code, notes, and snippets.

@cdarne
Last active March 13, 2020 03:28
Show Gist options
  • Save cdarne/66ae718ddb58fc42eaeffcf86d1d40a0 to your computer and use it in GitHub Desktop.
Save cdarne/66ae718ddb58fc42eaeffcf86d1d40a0 to your computer and use it in GitHub Desktop.

API OGCA

L'API OGCA est une API publique qui présente les informations des colloques de l'AQUOPS. C'est une API HTTP REST au format JSON qui suit la spécification json:api.

Format

Tous les accès se font par HTTPS depuis https://ogca.aquops.qc.ca/api/v1. Toutes les données sont envoyées et recues en JSON.

Les champs vides sont inclus avec la valeur null au lieu d'être omis.

All timestamps return in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ

Structure des documents

Haut niveau

Un objet JSON est toujours renvoyé comme root element. Il contient les attributs suivants:

  • data: les données primaires du document
  • errors: un Array d'error objects
  • links: les liens associés pour la pagination du contenu (Voir section pagination)

data est donc la représentation d'une seule ressource ou d'une collection de ressources qui ont été requêtées. Les données primaires peuvent être:

  • soit un seul "resource object" ou null pour les requêtes qui retournent une seule ressource,
  • soit un Array de "resource object" (ou un Array vide []) pour les requêtes qui retournent une liste de ressources.

Resource object

Un "Resource object" sert simplement à représenter les ressources de l'API. Cet object contient les membres haut niveau suivant:

  • id: l'identifiant unique de la resource
  • type: type de la ressource qui est présentée
  • attributes: objet représentant les données de la ressource
  • relationships: objet représentant les relations de l'object courrant avec d'autres objets
  • links: objet représentant les liens de l'object pour la pagination (utile surtout pour les listes et la pagination)

Voici un exemple de "resource object":

{
    "id": "11381",
    "type": "participant",
    "attributes": {
        "first_name": "Natacha",
        "last_name": "Veilleux",
        "resume": "<p style="text-align: justify;">...</p>",
        "twitter": "@natveilleux",
        "linked_in": "https://www.linkedin.com/in/natacha-veilleux-7519b44/",
        "website": "",
        "original_img_url": "https://ogca.aquops.qc.ca/system/participants/imgs/000/011/381/original/Photo_Natacha_Veilleux.jpg?1572635213",
        "large_img_url": "https://ogca.aquops.qc.ca/system/participants/imgs/000/011/381/large/Photo_Natacha_Veilleux.jpg?1572635213",
        "medium_img_url": "https://ogca.aquops.qc.ca/system/participants/imgs/000/011/381/medium/Photo_Natacha_Veilleux.jpg?1572635213",
        "small_img_url": "https://ogca.aquops.qc.ca/system/participants/imgs/000/011/381/small/Photo_Natacha_Veilleux.jpg?1572635213",
        "work_title": "Productrice au contenu",
        "organization_name": "Les Affranchis"
    },
    "relationships": {
        "presentations": {
            "data": [
                {
                    "id": "1509",
                    "type": "presentation"
                },
                {
                    "id": "1596",
                    "type": "presentation"
                }
            ]
        }
    },
    "links": {
        "self": "https://ogca.aquops.qc.ca/api/v1/animators/11381.json"
    }
}

Identification

Chaque Object Resource contient un id et un type. Ces valeurs sont des Strings. Chaque paire permet d'identifier un seule et unique ressource à travers toute l'API. id est généralement utilisé dans les URLs comme paramètre pour obtenir les informations spécifiques d'un type (type) de resource.

Attributs

La valeur de attributes est toujours un objet, les membres de cet objet représentent les données du Resource Oject dans laquelle il est définit. Il peut contenir des valeurs simples (String, Integer, Date) ou bien des Object ou Array. Par contre il ne contient aucune relations ou liens vers des membres: c'est à dire, il n'y a pas de clés étrangères (ex: author_id) dans ces champs. Car il existe déjà une section dédiée (relationship) pour décrire les relations du Resource Object.

Relations

La section relationship sert à décrire les différentes relations que possège le Resource Object avec d'autres Resource Object. Les relations peuvent être to-one ou to-many. L'objet relationship contient 0 ou plusieurs membres dont la clè décrit le type d'objet (identifiable par type) et la valeur est un object avec la structure suivante:

  • data: les données décrivant la ressource liées (généralement id et type)
  • link: le lien vers l'API pour lister les resources associées à l'objet courant s'il existe une telle API

Exemple d'objet relationship sans API endpoint associé:

{
    "relationships": {
        "presentations": {
            "data": [
                {
                    "id": "1509",
                    "type": "presentation"
                },
                {
                    "id": "1596",
                    "type": "presentation"
                }
            ]
        }
    }
}

Exemple d'objet relationship avec API endpoint associé:

{
    "relationships": {
        "animators": {
            "data": [ ],
            "links": {
                "related": "https://ogca.aquops.qc.ca/api/v1/presentations/1509/animators.json"
            }
        },
        "co_animators": {
            "data": [ ],
            "links": {
                "related": "https://ogca.aquops.qc.ca/api/v1/presentations/1509/co_animators.json"
            }
        },
        "attachments": {
            "data": [ ],
            "links": {
                "related": "https://ogca.aquops.qc.ca/api/v1/presentations/1509/attachments.json"
            }
        }
    }
}

List endpoints

Les endpoints de l'API qui renvoient des collections d'objets utilisent la même structure haut niveau data/errors/links mais avec certaines spécificités.

Données des objets

Lorsque les résultats sont présentés sous forme de liste, data contient un Array de Resource Object contenant les données des objet. Le nombre de résultat peut varier selon les données disponibles mais aussi la pagination en vigueur. La structure des Resource Object reste identique à celle que l'on retrouve pour les API qui retournent un seul objet. Enfin la section links est utilisée pour la pagination.

{
    "data": [
        {
            "id": "185",
            "type": "attachment",
            "attributes": {
            "title": "Bande-annonce de l'application Aventure en Arctique",
                "url": "https://vimeo.com/370373939",
                "content_type": "video"
            },
            "relationships": {
                "presentation": {
                    "data": {
                        "id": "1509",
                        "type": "presentations"
                    }
                }
            }
        },
        {
            "id": "186",
            "type": "attachment",
            "attributes": {
                "title": "Bande-annonce du film Odyssée sous les glaces",
                "url": "https://vimeo.com/358914383",
                "content_type": "video"
            },
            "relationships": {
                "presentation": {
                    "data": {
                        "id": "1509",
                        "type": "presentations"
                    }
                }
            }
        },
    ]
}

Pagination

La pagination des API retournant de listes se fait à l'aide du paramètre page et de ses attributs number et size. Les 2 paramètres sont optionels: size correspond au nombre de résultats renvoyés dans une page (par défaut 100) et number correspond au numéro de la page à renvoyer. Par exemple pour afficher la 2e page des résultats limités à 10: https://ogca.aquops.qc.ca/api/v1/conventions/11/presentations.json?page[number]=2&page[size]=10. Chaque réponse des API de listes contient une section root links qui détaille les liens de pagination de la liste courrante:

  • self: la page courante des résultats
  • first: la première page des résultats
  • last: la dernière page des résultats
  • prev: la page précédente des résultats
  • next: la page suivante des résultats

Resource Objects

presentation

Cet objet représente un atelier et toutes les informations relatives à son déroulement.

Attributs:

  • title: Titre
  • summary: Résumé
  • social_media_summary: Résumé pour réseaux sociaux
  • category: Volet
  • sector: Secteur
  • company_name: Nom de l'entreprise
  • level: Niveau (scolaire ou autre)
  • participant_type: Public cible
  • kind: Type
  • device_kinds: Type d’appareil concerné
  • target_oss: Systèmes d’exploitation visés
  • presented_at: Date de l'atelier
  • started_at: Heure de début
  • end_at: Heure de fin
  • allowed_registrations: Nombre d'inscriptions total
  • registrations_count: Nombre d'inscriptions restantes
  • room_name: Salle d'atelier
  • block: Block horaire
  • status: État
  • canceled: Atelier annulé
  • website: URL du site web
  • company_type: Type d'entreprise
  • classification: PAN - combos numériques

participant

Cet objet représente les animateurs et co-animateurs des ateliers.

Attributs:

  • first_name: Prénom
  • last_name: Nom
  • resume: Biographie
  • twitter: Handle twitter
  • linked_in: URL du profil linkedIn
  • website: URL du site web
  • original_img_url/large_img_url/medium_img_url/small_img_url: URLs de l'image de profil en différente résolutions (large: 400x400px, medium: 200x200px, small:100x100px)
  • work_title: Titre de travail
  • organization_name: Nom de l'organisation

attachment

Cet objet représente un document (fichier ou video) attaché à un atelier: c'est un lien vers une ressource que l'auteur d'un atelier mets à disposition pour illustrer l'atelier.

Attributs:

  • title: Titre
  • url: URL de la ressource
  • content_type: Type de contenu ("video" ou "document")

attendee

Cet objet représente les participants aux ateliers.

Attributs:

  • first_name: Prénom
  • last_name: Nom
  • resume: Biographie
  • twitter: Handle twitter
  • linked_in: URL du profil linkedIn
  • website: URL du site web
  • work_sector: Secteur de travail
  • work_title: Titre de travail
  • organization_name: Nom de l'organisation

End points

/presentations/:id.json

Ce endpoint permet de récuperer les informations d'un seul atelier.

Paramètres

  • :id: id de l'atelier à retourner

Exemple

curl -i https://ogca.aquops.qc.ca/api/v1/presentations/1614.json
HTTP/1.1 200 OK
Date: Mon, 10 Feb 2020 20:16:14 GMT
Server: Apache/2.4.41 (cPanel) OpenSSL/1.1.1d mod_bwlimited/1.4 Phusion_Passenger/5.3.7
Cache-Control: max-age=0, private, must-revalidate
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-XSS-Protection: 1; mode=block
X-Request-Id: 16677827-a3fa-46fe-9679-b7424731ddb6
X-Frame-Options: SAMEORIGIN
X-Runtime: 0.023719
X-Content-Type-Options: nosniff
X-Powered-By: Phusion Passenger 5.3.7
ETag: W/"b7c0443aecfacc5bfdd1eeedc08aee9d"
Status: 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8

{
    "data":{
        "id":"1614",
        "type":"presentation",
        "attributes":{
            "created_at":"2020-01-29T21:32:23.000-05:00",
            "updated_at":"2020-01-31T08:19:03.000-05:00",
            "convention_id":11,
            "title":"Créer, animer et dessiner avec la tablette",
            "summary":"<p style=\"text-align: justify;\">Comment la tablette permet-elle d'exprimer la cr&eacute;ativit&eacute; des &eacute;l&egrave;ves? Dans cet atelier, vous pourrez vous approprier la tablette num&eacute;rique selon diverses intentions p&eacute;dagogiques. Vos &eacute;l&egrave;ves pourraient faire parler un personnage historique, produire la une d&rsquo;un journal ou encore concevoir un projet multim&eacute;dia.&nbsp;<br /><br />*Besoin num&eacute;rique<br />-&nbsp;iPad<br /><br /><span id=\"docs-internal-guid-ced66c19-7fff-a30a-611a-b37a3e498aba\"><strong>*Attention</strong> : prenez note que cet atelier est r&eacute;p&eacute;t&eacute; au bloc horaire #1501</span></p>",
            "social_media_summary":"Dans cet atelier, vous pourrez vous approprier la tablette numérique selon diverses intentions pédagogiques.",
            "category":"Formation technologique",
            "sector":"Primaire, Secondaire",
            "company_name":"RÉCIT national, Domaine de l'univers social",
            "level":"Débutant",
            "participant_type":"Personnel enseignant",
            "kind":"Appareil en main 75 min.",
            "device_kinds":"Tablette",
            "target_oss":"iOS",
            "presented_at":"Mercredi, 23 mars",
            "started_at":"2000-01-01T15:15:00.000-05:00",
            "end_at":"2000-01-01T16:30:00.000-05:00",
            "allowed_registrations":60,
            "registrations_count":13,
            "room_name":"",
            "block":"Bloc 3500",
            "status":"valid",
            "canceled":false,
            "website":"https://recitus.qc.ca",
            "company_type":"Organisme",
            "classification":"Flotte d'appareils"
        },
        "relationships":{
            "animators":{
                "data":[

                ],
                "links":{
                    "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1614/animators.json"
                }
            },
            "co_animators":{
                "data":[

                ],
                "links":{
                    "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1614/co_animators.json"
                }
            },
            "attachments":{
                "data":[

                ],
                "links":{
                    "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1614/attachments.json"
                }
            }
        },
        "links":{
            "self":"https://ogca.aquops.qc.ca/api/v1/presentations/1614.json"
        }
    }
}

/presentations/:presentation_id/animators.json

Ce endpoint permet de récuperer la liste des animateurs d'un atelier, il sont retournés en tant que type participant.

Paramètres

  • :presentation_id: id de l'atelier

Exemple

curl -i https://ogca.aquops.qc.ca/api/v1/presentations/1614/animators.json
HTTP/1.1 200 OK
Date: Mon, 10 Feb 2020 20:20:28 GMT
Server: Apache/2.4.41 (cPanel) OpenSSL/1.1.1d mod_bwlimited/1.4 Phusion_Passenger/5.3.7
Cache-Control: max-age=0, private, must-revalidate
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-XSS-Protection: 1; mode=block
X-Request-Id: 687cfd46-9908-4112-8ee5-88d6eb53655c
X-Frame-Options: SAMEORIGIN
X-Runtime: 0.023793
X-Content-Type-Options: nosniff
X-Powered-By: Phusion Passenger 5.3.7
ETag: W/"0ef6deb049a72b9fe87e15c8ef423825"
Status: 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8

{
    "data":[
        {
            "id":"11334",
            "type":"participant",
            "attributes":{
                "first_name":"Maude",
                "last_name":"Labonté",
                "resume":"\u003cp style=\"text-align: justify;\"\u003eMaude Labont\u0026eacute; est collaboratrice au R\u0026Eacute;CIT de l'univers social. Dans son mandat, elle intervient aupr\u0026egrave;s des \u0026eacute;coles primaires et secondaires sur la question de l'int\u0026eacute;gration des technologies et histoire et en g\u0026eacute;ographie. Elle est enseignante de formation et d\u0026eacute;tentrice d\u0026rsquo;une ma\u0026icirc;trise en histoire. Elle est \u0026eacute;galement charg\u0026eacute;e de cours en didactique de l\u0026rsquo;histoire \u0026agrave; l\u0026rsquo;Universit\u0026eacute; de Montr\u0026eacute;al.\u003c/p\u003e",
                "twitter":"@MaudeLab",
                "linked_in":"",
                "website":"",
                "original_img_url":"https://ogca.aquops.qc.ca/system/participants/imgs/000/011/334/original/Labonte_Maude_Centre.jpg?1578241681",
                "large_img_url":"https://ogca.aquops.qc.ca/system/participants/imgs/000/011/334/large/Labonte_Maude_Centre.jpg?1578241681",
                "medium_img_url":"https://ogca.aquops.qc.ca/system/participants/imgs/000/011/334/medium/Labonte_Maude_Centre.jpg?1578241681",
                "small_img_url":"https://ogca.aquops.qc.ca/system/participants/imgs/000/011/334/small/Labonte_Maude_Centre.jpg?1578241681",
                "work_title":"Collaboratrice",
                "organization_name":"RÉCIT national, Domaine de l'univers social"
            },
            "relationships":{
                "presentations":{
                    "data":[
                        {
                            "id":"1486",
                            "type":"presentation"
                        },
                        {
                            "id":"1477",
                            "type":"presentation"
                        },
                        {
                            "id":"1583",
                            "type":"presentation"
                        },
                        {
                            "id":"1534",
                            "type":"presentation"
                        },
                        {
                            "id":"1614",
                            "type":"presentation"
                        }
                    ]
                }
            },
            "links":{
                "self":"https://ogca.aquops.qc.ca/api/v1/animators/11334.json"
            }
        }
    ]
}

/presentations/:presentation_id/co_animators.json

Ce endpoint permet de récuperer la liste des co-animateurs d'un atelier, il sont retournés en tant que type participant.

Paramètres

  • :presentation_id: id de l'atelier

Exemple

curl -i https://ogca.aquops.qc.ca/api/v1/presentations/1614/co_animators.json
HTTP/1.1 200 OK
Date: Mon, 10 Feb 2020 20:23:09 GMT
Server: Apache/2.4.41 (cPanel) OpenSSL/1.1.1d mod_bwlimited/1.4 Phusion_Passenger/5.3.7
Cache-Control: max-age=0, private, must-revalidate
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-XSS-Protection: 1; mode=block
X-Request-Id: 610838f0-3fd2-4c9b-9d09-101cd6f287ee
X-Frame-Options: SAMEORIGIN
X-Runtime: 0.031501
X-Content-Type-Options: nosniff
X-Powered-By: Phusion Passenger 5.3.7
ETag: W/"5b39452940c0f3d244387055f654d10f"
Status: 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8

{
    "data":[
        {
            "id":"11335",
            "type":"participant",
            "attributes":{
                "first_name":"Steve",
                "last_name":"Quirion",
                "resume":"\u003cp style=\"text-align: justify;\"\u003eSteve Quirion est conseiller p\u0026eacute;dagogique et responsable du Service national du R\u0026Eacute;CIT de l\u0026rsquo;univers social. Dans son mandat, il intervient aupr\u0026egrave;s des \u0026eacute;coles primaires et secondaires sur la question de l\u0026rsquo;int\u0026eacute;gration des technologies en histoire et g\u0026eacute;ographie. Il est enseignant de formation, d\u0026eacute;tenteur d\u0026rsquo;un DESS en communaut\u0026eacute;s virtuelles et d\u0026rsquo;une ma\u0026icirc;trise en histoire.\u003c/p\u003e",
                "twitter":"",
                "linked_in":"",
                "website":"",
                "original_img_url":"https://ogca.aquops.qc.ca/system/participants/imgs/000/011/335/original/steve.jpg?1572806598",
                "large_img_url":"https://ogca.aquops.qc.ca/system/participants/imgs/000/011/335/large/steve.jpg?1572806598",
                "medium_img_url":"https://ogca.aquops.qc.ca/system/participants/imgs/000/011/335/medium/steve.jpg?1572806598",
                "small_img_url":"https://ogca.aquops.qc.ca/system/participants/imgs/000/011/335/small/steve.jpg?1572806598",
                "work_title":"Conseiller pédagogique",
                "organization_name":"RÉCIT national, Domaine de l'univers social"
            },
            "relationships":{
                "presentations":{
                    "data":[
                        {
                            "id":"1478",
                            "type":"presentation"
                        },
                        {
                            "id":"1477",
                            "type":"presentation"
                        },
                        {
                            "id":"1486",
                            "type":"presentation"
                        },
                        {
                            "id":"1534",
                            "type":"presentation"
                        },
                        {
                            "id":"1614",
                            "type":"presentation"
                        }
                    ]
                }
            },
            "links":{
                "self":"https://ogca.aquops.qc.ca/api/v1/co_animators/11335.json"
            }
        }
    ]
}

/presentations/:presentation_id/attachments.json

Ce endpoint permet de récuperer la liste documents associés à une atelier (type attachment).

Paramètres

  • :presentation_id: id de l'atelier

Exemple

curl -i https://ogca.aquops.qc.ca/api/v1/presentations/1509/attachments.json
HTTP/1.1 200 OK
Date: Mon, 10 Feb 2020 20:29:57 GMT
Server: Apache/2.4.41 (cPanel) OpenSSL/1.1.1d mod_bwlimited/1.4 Phusion_Passenger/5.3.7
Cache-Control: max-age=0, private, must-revalidate
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-XSS-Protection: 1; mode=block
X-Request-Id: 952d79e5-a479-4140-9a8e-ed042f428bc9
X-Frame-Options: SAMEORIGIN
X-Runtime: 0.007225
X-Content-Type-Options: nosniff
X-Powered-By: Phusion Passenger 5.3.7
ETag: W/"42b92c1261fc4af3c4989bd973a54cb4"
Status: 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8

{
    "data":[
        {
            "id":"185",
            "type":"attachment",
            "attributes":{
                "title":"Bande-annonce de l'application Aventure en Arctique",
                "url":"https://vimeo.com/370373939",
                "content_type":"video"
            },
            "relationships":{
                "presentation":{
                    "data":{
                        "id":"1509",
                        "type":"presentations"
                    }
                }
            }
        },
        {
            "id":"186",
            "type":"attachment",
            "attributes":{
                "title":"Bande-annonce du film Odyssée sous les glaces",
                "url":"https://vimeo.com/358914383",
                "content_type":"video"
            },
            "relationships":{
                "presentation":{
                    "data":{
                        "id":"1509",
                        "type":"presentations"
                    }
                }
            }
        },
        {
            "id":"187",
            "type":"attachment",
            "attributes":{
                "title":"Aventure en Arctique et en classe",
                "url":"https://drive.google.com/file/d/1zgOibfkZ6Kki0T91jv2_ezib_qrlkpXl/view?usp=sharing",
                "content_type":"document"
            },
            "relationships":{
                "presentation":{
                    "data":{
                        "id":"1509",
                        "type":"presentations"
                    }
                }
            }
        },
        {
            "id":"188",
            "type":"attachment",
            "attributes":{
                "title":"Application en bref",
                "url":"https://drive.google.com/file/d/17S6m-VSkGCrvkLxax-z8DVSfnlChwgp1/view?usp=sharing",
                "content_type":"document"
            },
            "relationships":{
                "presentation":{
                    "data":{
                        "id":"1509",
                        "type":"presentations"
                    }
                }
            }
        }
    ]
}

/conventions/:convention_id/presentations.json

Ce endpoint permet de récuperer la liste de tous les ateliers d'un colloque donné (Le colloque 2020 étant #11).

Paramètres

  • :convention_id: id du colloque

Exemple

curl -i https://ogca.aquops.qc.ca/api/v1/conventions/11/presentations.json
HTTP/1.1 200 OK
Date: Mon, 10 Feb 2020 20:36:41 GMT
Server: Apache/2.4.41 (cPanel) OpenSSL/1.1.1d mod_bwlimited/1.4 Phusion_Passenger/5.3.7
Cache-Control: max-age=0, private, must-revalidate
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-XSS-Protection: 1; mode=block
X-Request-Id: f7bf0d5d-301f-4345-85d3-10bc54993c50
X-Frame-Options: SAMEORIGIN
X-Runtime: 1.710663
X-Content-Type-Options: nosniff
X-Powered-By: Phusion Passenger 5.3.7
ETag: W/"a04d9a273b6e0eee85a5aa2025caf111"
Status: 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8

{
    "data":[
        {
            "id":"1614",
            "type":"presentation",
            "attributes":{
                "created_at":"2020-01-29T21:32:23.000-05:00",
                "updated_at":"2020-01-31T08:19:03.000-05:00",
                "convention_id":11,
                "title":"Créer, animer et dessiner avec la tablette",
                "summary":"\u003cp style=\"text-align: justify;\"\u003eComment la tablette permet-elle d'exprimer la cr\u0026eacute;ativit\u0026eacute; des \u0026eacute;l\u0026egrave;ves? Dans cet atelier, vous pourrez vous approprier la tablette num\u0026eacute;rique selon diverses intentions p\u0026eacute;dagogiques. Vos \u0026eacute;l\u0026egrave;ves pourraient faire parler un personnage historique, produire la une d\u0026rsquo;un journal ou encore concevoir un projet multim\u0026eacute;dia.\u0026nbsp;\u003cbr /\u003e\u003cbr /\u003e*Besoin num\u0026eacute;rique\u003cbr /\u003e-\u0026nbsp;iPad\u003cbr /\u003e\u003cbr /\u003e\u003cspan id=\"docs-internal-guid-ced66c19-7fff-a30a-611a-b37a3e498aba\"\u003e\u003cstrong\u003e*Attention\u003c/strong\u003e : prenez note que cet atelier est r\u0026eacute;p\u0026eacute;t\u0026eacute; au bloc horaire #1501\u003c/span\u003e\u003c/p\u003e",
                "social_media_summary":"Dans cet atelier, vous pourrez vous approprier la tablette numérique selon diverses intentions pédagogiques.",
                "category":"Formation technologique",
                "sector":"Primaire, Secondaire",
                "company_name":"RÉCIT national, Domaine de l'univers social",
                "level":"Débutant",
                "participant_type":"Personnel enseignant",
                "kind":"Appareil en main 75 min.",
                "device_kinds":"Tablette",
                "target_oss":"iOS",
                "presented_at":"Mercredi, 23 mars",
                "started_at":"2000-01-01T15:15:00.000-05:00",
                "end_at":"2000-01-01T16:30:00.000-05:00",
                "allowed_registrations":60,
                "registrations_count":13,
                "room_name":"",
                "block":"Bloc 3500",
                "status":"valid",
                "canceled":false,
                "website":"https://recitus.qc.ca",
                "company_type":"Organisme",
                "classification":"Flotte d'appareils"
            },
            "relationships":{
                "animators":{
                    "data":[

                    ],
                    "links":{
                        "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1614/animators.json"
                    }
                },
                "co_animators":{
                    "data":[

                    ],
                    "links":{
                        "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1614/co_animators.json"
                    }
                },
                "attachments":{
                    "data":[

                    ],
                    "links":{
                        "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1614/attachments.json"
                    }
                }
            },
            "links":{
                "self":"https://ogca.aquops.qc.ca/api/v1/presentations/1614.json"
            }
        },
        {
            "id":"1613",
            "type":"presentation",
            "attributes":{
                "created_at":"2020-01-28T10:16:21.000-05:00",
                "updated_at":"2020-01-31T10:02:18.000-05:00",
                "convention_id":11,
                "title":"Jeu d'évasion virtuel avec PowerPoint",
                "summary":"\u003cp style=\"text-align: justify;\"\u003eVous voulez faire vivre une activit\u0026eacute; interactive et engageante pour vous \u0026eacute;l\u0026egrave;ves? Dans les derni\u0026egrave;res ann\u0026eacute;es, j\u0026rsquo;ai cr\u0026eacute;\u0026eacute; quelques jeux d\u0026rsquo;\u0026eacute;vasion en deuxi\u0026egrave;me secondaire \u0026agrave; partir de PowerPoint. Les \u0026eacute;l\u0026egrave;ves appr\u0026eacute;cient l\u0026rsquo;activit\u0026eacute; et en redemandent. Lors de l\u0026rsquo;atelier, je vous ferai tout d\u0026rsquo;abord vivre l\u0026rsquo;activit\u0026eacute;, afin que vous viviez les m\u0026ecirc;mes succ\u0026egrave;s et difficult\u0026eacute;s que pourraient vivre vos \u0026eacute;l\u0026egrave;ves, puis je vous montrerai comment je m\u0026rsquo;y prends pour cr\u0026eacute;er ce type de document interactif. Dans la derni\u0026egrave;re partie de l\u0026rsquo;atelier, je vous proposerai un canevas de d\u0026eacute;part afin que vous puissiez commencer \u0026agrave; cr\u0026eacute;er un jeu pour vos \u0026eacute;l\u0026egrave;ves. Saurez-vous relever le d\u0026eacute;fi?\u003cbr /\u003e\u003cbr /\u003e\u003cstrong\u003e*Besoins num\u0026eacute;riques\u003cbr /\u003e\u003c/strong\u003e-\u0026nbsp;Ordinateur\u003cbr /\u003e- Application PowerPoint\u003c/p\u003e\r\n\u003cp style=\"text-align: justify;\"\u003e\u003cspan id=\"docs-internal-guid-ced66c19-7fff-a30a-611a-b37a3e498aba\"\u003e\u003cstrong\u003e*Attention\u003c/strong\u003e : prenez note que cet atelier est r\u0026eacute;p\u0026eacute;t\u0026eacute; au \u003ca href=\"http://www.aquops.qc.ca/atelier/4501-jeu-devasion-virtuel-avec-powerpoint/\" target=\"_blank\" rel=\"noopener\"\u003ebloc horaire #4501\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e",
                "social_media_summary":"Création d'un jeu virtuel dont vous êtes le héros avec PowerPoint.",
                "category":"Formation technologique",
                "sector":"Primaire, Secondaire",
                "company_name":"Collège Regina Assumpta",
                "level":"Débutant",
                "participant_type":"Personnel enseignant",
                "kind":"Appareil en main 90 min.",
                "device_kinds":"Ordinateur",
                "target_oss":"Windows",
                "presented_at":"Mercredi, 23 mars",
                "started_at":"2000-01-01T13:00:00.000-05:00",
                "end_at":"2000-01-01T14:30:00.000-05:00",
                "allowed_registrations":60,
                "registrations_count":21,
                "room_name":"",
                "block":"Bloc 2500",
                "status":"valid",
                "canceled":false,
                "website":"",
                "company_type":"Organisme",
                "classification":""
            },
            "relationships":{
                "animators":{
                    "data":[

                    ],
                    "links":{
                        "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1613/animators.json"
                    }
                },
                "co_animators":{
                    "data":[

                    ],
                    "links":{
                        "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1613/co_animators.json"
                    }
                },
                "attachments":{
                    "data":[

                    ],
                    "links":{
                        "related":"https://ogca.aquops.qc.ca/api/v1/presentations/1613/attachments.json"
                    }
                }
            },
            "links":{
                "self":"https://ogca.aquops.qc.ca/api/v1/presentations/1613.json"
            }
        }
    ],
    "links":{
        "self":"https://ogca.aquops.qc.ca/api/v1/conventions/11/presentations.json?page%5Bnumber%5D=1\u0026page%5Bsize%5D=100",
        "next":"https://ogca.aquops.qc.ca/api/v1/conventions/11/presentations.json?page%5Bnumber%5D=2\u0026page%5Bsize%5D=100",
        "last":"https://ogca.aquops.qc.ca/api/v1/conventions/11/presentations.json?page%5Bnumber%5D=3\u0026page%5Bsize%5D=100"
    }
}

/conventions/:convention_id/attendees.json

Ce endpoint permet de récuperer la liste de tous les participants à un colloque donné (Le colloque 2020 étant #11). Note: Compte tenu du charactère confidentiel des données exposées par cet API, cette route est protégé par un système d'authentification HTTP BASIC AUTH.

Paramètres

  • :convention_id: id du colloque

Exemple

curl -i https://ogca.aquops.qc.ca/api/v1/conventions/11/attendees.json -u admin:password
HTTP/1.1 200 OK
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"927f3deaf357a843d69caf4b9550af8f"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 7028e01c-3a0b-49ab-91b4-aaa204765c39
X-Runtime: 0.197413
Transfer-Encoding: chunked

{
  "data":[
    {
      "id": "12702",
      "type": "attendee",
      "attributes": {
        "first_name": "Jean",
        "last_name": "Desrochers",
        "email": "fdr@test.org",
        "resume": "",
        "twitter": "",
        "linked_in": "",
        "website": "",
        "work_sector": "Primaire 3e cycle",
        "work_title": "Enseignant",
        "organization_name": "CS de Montréal"
      },
      "links": {
        "self": "https://ogca.aquops.qc.ca/api/v1/attendees/12702.json"
      }
    }
  ],
  "links": {
    "self": "https://ogca.aquops.qc.ca/api/v1/conventions/11/attendees.json?page%5Bnumber%5D=1&page%5Bsize%5D=100",
    "next": "https://ogca.aquops.qc.ca/api/v1/conventions/11/attendees.json?page%5Bnumber%5D=2&page%5Bsize%5D=100",
    "last": "https://ogca.aquops.qc.ca/api/v1/conventions/11/attendees.json?page%5Bnumber%5D=12&page%5Bsize%5D=100"
  }
}

/presentations/:convention_id/attendees.json

Ce endpoint permet de récuperer la liste de tous les participants à un atelier donné. Note: Compte tenu du charactère confidentiel des données exposées par cet API, cette route est protégé par un système d'authentification HTTP BASIC AUTH.

Paramètres

  • :presentation_id: id du colloque

Exemple

curl -i https://ogca.aquops.qc.ca/api/v1/presentations/1614/attendees.json -u admin:password
HTTP/1.1 200 OK
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"927f3deaf357a843d69caf4b9550af8f"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 7028e01c-3a0b-49ab-91b4-aaa204765c39
X-Runtime: 0.197413
Transfer-Encoding: chunked

{
  "data":[
    {
      "id": "12702",
      "type": "attendee",
      "attributes": {
        "first_name": "Jean",
        "last_name": "Desrochers",
        "email": "fdr@test.org",
        "resume": "",
        "twitter": "",
        "linked_in": "",
        "website": "",
        "work_sector": "Primaire 3e cycle",
        "work_title": "Enseignant",
        "organization_name": "CS de Montréal"
      },
      "links": {
        "self": "https://ogca.aquops.qc.ca/api/v1/attendees/12702.json"
      }
    }
  ],
  "links": {
    "self": "https://ogca.aquops.qc.ca/api/v1/presentations/1614/attendees.json?page%5Bnumber%5D=1&page%5Bsize%5D=100",
    "next": "https://ogca.aquops.qc.ca/api/v1/presentations/1614/attendees.json?page%5Bnumber%5D=2&page%5Bsize%5D=100",
    "last": "https://ogca.aquops.qc.ca/api/v1/presentations/1614/attendees.json?page%5Bnumber%5D=12&page%5Bsize%5D=100"
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment