Structure et téléversement
Afin d’ajoute votre application sur Plateforme, il faut en premier lieu créer le dossier de votre application sur l’espace FTP fourni. Ce nom de dossier ne doit contenir que des caractères alphanumériques, ainsi que « _ » et « - ».
Il ne peut pas y avoir plus d'un dossier avec le même nom. Il est à noter que le nom du dossier apparaîtra dans l’URL du navigateur ce qui vous permet d’envoyer un lien direct vers votre application.
Par exemple : https://plateforme.timmatane.ca/#jms1
Le dossier créé dossier doit contenir tous les fichiers et dossiers nécessaires à votre projet ainsi qu’un fichier JSON nommé « infos.json ». Sans ce fichier, la tuile de votre application n’apparaitra pas sur la Plateforme.
» Projet html/css/javascript
IMPORTANT : Tout le contenu de votre application doit être rassemblé dans le fichier index.html. Par exemple, si vous avez un menu, il doit être affiché/caché dans index.html et non dans une autre page (par exemple menu.html). Plateforme ne permet qu'une seule page HTML par application.
Voici un exemple de structure pour votre dossier d’application. Il s'agit ici d'une structure traditionnelle telle qu'utilisée pour n'importe quel site Web :
Une fois l’application téléversée sur l’espace FTP, Plateforme va tenter de la charger et d’afficher la tuile permettant de la démarrer.
Plateforme essayera d’afficher les erreurs JavaScript lancées par le navigateur. Gardez l’œil ouvert! Toutes les erreurs détectées s’afficheront dans la console du navigateur.
» Projet Unity WebGL
Vous devez utiliser le gabarit WebGL fourni afin de produire un build WebGL qui sera fonctionnel et pourra communiquer avec la Plateforme.
Votre build doit utiliser la compression GZIP dans les Player settings
Si Unity vous dit qu'il ne peut faire le build dans les build settings,
Il faut décocher la case Auto Graphics API dans les Player settings pour que l'erreur disparaisse.
Une fois le build complété...
Le dossier du gabarit WebGL contient des fichiers que vous devrez modifier (infos.json, tile.png) avant de faire votre build final ou bien après que ce dernier soit produit. Tous les fichiers de votre builds doivent se retouver dans votre dossier d'application sur le serveur FTP.
Voici la structure d'un build WebGL produit avec le gabarit fourni :
Attention, vous devez renommer le fichier htaccess.txt en .htaccess avant l'envoi sur le serveur.
Une fois le build téléversé sur l’espace FTP, Plateforme va tenter de le charger et d’afficher la tuile permettant de le démarrer.
Plateforme essayera d’afficher les erreurs JavaScript lancées par le navigateur. Gardez l’œil ouvert! Toutes les erreurs détectées s’afficheront dans la console du navigateur. Par défaut un build WebGL ne donne pas beaucoup d'information en lien avec les erreurs détectées lors de l'exécution, il faut donc s'assurer d'avoir activé le build en mode développement (fig1. Build settings) ainsi que la génération complète d'erreurs dans les paramètres du conteneur (fig2. Player settings, fig3. Player settings). Une fois les erreurs corrigées, ont remet les paramètres à leur état initial.
Fichier infos.json
Le fichier infos.json doit obligatoirement contenir les propriétés suivantes :
- String author : Votre prénom et nom
- String year : L’année de création de votre application
- String title : Le titre de votre application Tout titre comptant plus de 20 charactères sera tronqué
- String description : La description de votre application ou bien les instructions Toute description comptant plus de 250 charactères sera tronquée.
- Boolean displayTitle : Est-ce que le titre doit être affiché avec la police de Plateforme, ou bien il est inclus dans l’image utilisée pour représenter votre application?
- String img : Le chemin de l’image représentative de votre application. Elle doit faire 300x300 pixels exactement.
- Boolean desktopOnly : Est-ce que l’application fonctionne sous desktop seulement? Dans le cas où un appareil mobile lance une application définie comme desktopOnly, un message d’avertissement est affiché.
Le fichier infos.json peut aussi optionnellement* contenir les propriétés suivantes :
- String website : L’adresse Web de votre portfolio
- String width : La largeur souhaitée pour la fenêtre de l’application Si votre application doit aussi fonctionner sur un appareil mobile, il peut être préférable de laisser la fenêtre prendre toute la largeur disponible et de réorganiser les contenus en fonction de celle-ci. *Dans la cas d'un projet WebGL Unity, cette propriété est OBLIGATOIRE et doit avoir la même valeur que celle définie pour le build Unity (player settings)
- String height : La hauteur souhaitée pour la fenêtre de l’application Si votre application doit aussi fonctionner sur un appareil mobile, il peut être préférable de laisser la fenêtre prendre toute la largeur disponible et de réorganiser les contenus en fonction de celle-ci. *Dans la cas d'un projet WebGL Unity, cette propriété est OBLIGATOIRE et doit avoir la même valeur que celle définie pour le build Unity (player settings)
- Boolean noCache : Forcer le chargement de l’application sans prise en compte du cache Utile lors du développement et l’installation, une fois que tout fonctionne, on doit enlever cette propriété afin d’utiliser le cache du navigateur.
Voici un exemple du contenu d’un fichier infos.json valide pour Plateforme :
{
"author": "Jean-Michel Simard",
"website": "https://plateforme.timmatane.ca/",
"year": "2020",
"title": "Le Jeu",
"description": "Exemple de jeu simple. Il faut être rapide...bla...bla...bla",
"displayTitle": true,
"img": "images/tile.jpg",
"desktopOnly": false,
"width" : 800,
"height" : 600
}