Logbook¶
19.04.2021¶
8h05¶
Entretiens avec M. Garcia
9h05¶
Copie de mon disque pour Gawen
9h20¶
Création du git
9h30¶
je réfléchi à ce par quoi je vais commencer j’hésite entre commencé entre le site web ou les téléchargement
9h40¶
Modélisation de la BDD

10h30¶
Installation de laragon
10h40¶
Création de la base de données
12h40¶
Création de la structure du site web
14h35¶
Création des différente pages et mise en place de bootstrap
résumé¶
j’ai créer la base de donnée et le site web
20.04.2021¶
8h05¶
je continue à créer le site web je crée les formulaires pour la connexion
15h20¶
J’ai impliqué la création de compte et la connexion, le mail doit être unique et le username aussi.
j’ai selon les indication de M. Schmid utilisé les fonctions
password_hash et password_verify de php.
15h30¶
j’ajoute des donnée a la main dans la bdd
15h56¶
aide de M.Schmid pour du sql
21.04.2021¶
8h10¶
Modification de la structure du site et ajout de l’update de mots de passe
13h00¶
l’affichage des jeux est disponible ainsi qu’une recherche sur les jeux grâce à leurs noms.
13h20¶
Ajout de champs dans la table game
description
imageName
15h00¶
l’affichage de la recherche et du détail d’un jeu fonctionne mais n’est pas beau.
22.04.2021¶
8h05¶
Ajout de l’affichage des catégories de chaque jeu
9h00¶
Affichage des jeux qui appartiennent à une catégorie.
10h20¶
modification de l’interface de recherche
notes personnelles¶
je dois ajouter une table pour savoir le nombre d’heure de jeu de chaque utilisateurs
je dois ajouter une gestion des messages d’erreurs.
je peux ajouter une photo de profil
11h0¶
modification de l’interface de connexion et de d’inscription
11h50¶
suppression de la page de création de compte
12h40¶
Ajout d’un jeux en favoris
15h00¶
suppression d’un jeu en favoris
a faire demain¶
l’affichage des card dans le dashboard n’est pas bon
23.04.2021¶
8h05¶
modification de la l’interface du Dashboard
8h40¶
Ajout d’un champ dans la table utilisateur pour spécifier si l’utilisateur est privé ou non si l’utilisateur n’est pas privé tout le monde va pouvoir voir son profils
9h30¶
la modification du paramètre pour savoir si le compte est privé ou non
12h20¶
test de Git Hook
13h30¶
modification de l’interface theme blanc -> dark
15h20¶
Création de la page de téléchargement et mise en place de du téléchargement de Caiman depuis le site
notes pour la prochaine fois¶
Je dois créer la partie Administrateur du site
Je dois créer un une fonctionnalité qui me permet de gérer les messages d’erreurs
Je dois sécuriser l’accès au pages
je dois sécuriser les différents formulaires
je dois je dois me renseigner comment uploader des gros fichier depuis un poste clients
je dois changer de navbar
26.04.2021¶
8h05¶
notes personnelles:
je dois ajouter la possibilité d’afficher la page d’un utilisateur
je dois corriger mon script d’export de base de données
8h10¶
Création de la page dédiée aux administrateurs.
8h30¶
Ajout de catégorie
9h00¶
Ajout de jeu
notes personnels¶
j’ai regardé plusieurs méthodes pour envoyer un fichier depuis un formulaire en php. Pour l’instant j’utilise les fonctions de base de php et elle fonctionne donc je vais faire des tests une fois le site uploadé sur le Bunker.
11h00¶
le fichier .iso est uploadé avec le bon nom mais pas encore dans la base de données
15h00¶
Le jeu est bien ajouté avec le bon nom ainsi que la bonne image.
15h45¶
il est maintenant possible de mettre à jour le nom, la description ou la console d’un jeu.
15h50¶
modification de la structure du git
27.04.2021¶
8h05¶
ajout/ suppression de catégories a un jeu
9h20¶
modification mineur de l’interface
10h05¶
recherche d’un profil utilisateur
12h15¶
la recherche et l’affichage d’un profil utilisateur est fonctionnel
13h00¶
modification de l’interface pour que les jeux s’affiche correctement
13h30¶
Le site est fonctionnel mais il manque des détail comme les message d’erreur et les droit sur les pages
notes personnelles¶
pour finir le site il me reste les choses suivante a faire:
Sécuriser les pages
afficher des messages d’erreur
suppression de catégories
suppression de jeu
mot de passe oublié
commenter mon code
pagination pour les recherches
13h40¶
documentation
28.04.2021¶
8h05¶
documentation
10h40¶
correction d’un bogue sur le nombre d’heure de jeu et riage des jeux par heure de jeu
11h00¶
gestion des droit d’accès au page
13h10¶
modification de la navbar
14h00¶
gestion des erreurs de du login
29.04.2021¶
8h30¶
Documentation
10h20¶
Mr. Garcia m’a aidé à mettre en place ma documentation doxygen
11h00¶
documentation
30.04.2021¶
8h05¶
Correction du logbook
8h20¶
supression de code inutile sur le site et mis a jour de la doccumentation
9h30¶
ajout de contrainte dans la base de données
10h45¶
Création du planning effectif
13h00¶
Configuration de debian
user tfp : FTPdiplomant password ftp : SuperCfpt@
J’ai pus installer apache, php, et mysql mais je n’arrive pas à me connecter en ftp. A la connexion je bloque sur l’erreur : “Impossible de récupérer le contenu du dossier”. Malgré l’aide de Mr.Schmidt je n’ai toujours pas réussi.
15h20¶
Je n’arrive toujours pas a me connecter au ftp, je ne sais pas si le probléme viens de ma configuration ou du firewall
notes pour le premier rendu¶
J’ai durant ces deux premières semaines, créé le site internet de Caiman. Le site n’est pas fini à 100% mais les fonctionnalités de base sont toutes implémentées. Les fonctionnalités actuelles permettent de faire toutes les choses nécessaires au fonctionnement de l’application. J’ai pris plus de temps que prévu à réaliser le site mais durant la création de mon planning prévisionnel j’ai fait des erreurs, j’ai par exemple oublié de planifier la création des fonctionnalités d’administration ( Ajout de jeux, ajout de catégories, assignation de catégories à un jeu, upload de jeux, etc ).
La documentation du site n’est pas forcément touffue mais le site n’est pas particulièrement complexe, il m’a pris du temps dû au nombre de tables à gérer. Il reste à mettre en place la récupération de mot de passe mais j’ai décidé de passer à l’interface graphique de l’application C# dès la semaine prochaine. Étant donné que le projet est la partie la plus importante de l’application, je ne vais pas configurer la récupération de mot de passe maintenant.
03.05.2021¶
8h10¶
Réflexion sur l’interface graphique et création du projet
8h15¶
Importation de la classe XboxController.cs que j’ai créé précédemment.

La table MainForm contient un XboxController() cette classe permet de connaître les manettes connectés au pc et de recevoir leur inputs.
Elle contient aussi une liste de form, ces formes sont les différentes fenêtres de l’application (si possible j’aimerai faire que seul une fenêtre soit active).
Je fais des test avec les usercontrols
10h00¶
je n’arrive pas a afficher dynamiquement quand une action est faite.
12h00¶
Mon problème venait du fait que je n’initialisait pas l ‘usercontrol.
13h00¶
Je vais essayer de me baser sur la structure des div en html pour gérer le contenu de l’affichage.

14h00¶
FInalisation de la configuration du serveur
04.05.2021¶
8h05¶
Je continue à faire des test pour pouvoir bouger le focus d’une “div” a une autre
11h00¶
Je continue à faire des test mais j’ai apporté des modifications:
le MainForm ne contient pas une liste de list de control, ce n’est pas nécessaire sachant que le lien entre les control est seulement connu des sous contrôle
dorénavant chaque sous control possède une liste de listes de control pour pouvoir se déplacer.
quand on déplace la position maximum dans un sous control il y a deux possibilité.: un control est disponible dans la direction souhaité rien n’est disponible Si un control est disponible alors la main form est informée qu’elle doit changer d’activeForm pour pouvoir se déplacer dans de bonne condition.
12h05¶
Le déplacement dans chaque form fonctionne et l’on peut passer d’une form à une autre.
05.05.2021¶
8h05¶
Je continue à améliorer le fonctionnement de l’interface.
J’ai décidé de diviser l’interface en 3 “partie” la navbar la sidebar le main contenu

10h50¶
J’ai créé une nouvelle classe ButtonContext.cs, elle contient les paramètres qui doivent être passer a la forme pour quel sache l’action à exécuter.
Il est maintenant possible de cliquer sur un bouton et la manette va reprendre la ou l’utilisateur a cliqué.
12h40¶
Je permet le déplacement grâce au joystick gauche
13h00¶
J’essaie de faire en sorte que je puisse revenir en arrière dans les fenétre
15h00¶
J’ai essayé de sauver dans une liste les choses précédemment affichée mais j’ai des soucis avec les liens entre les différents panel.
Je vais essayer de recréer les anciens panel a chaque fois au lieu de les recharger.
06.05.2021¶
8h05¶
Je continue a faire en sorte que je puisse retourner en arrière grâce à la touche “B”
9h00¶
Il est maintenant possible de revenir en arrière dans la navigation
10h00¶
si il y a des “trou” dans la navigation le curseur le contourne
10h40¶
J’essaie d’afficher des images dans l’application
13h00¶
J’ai discuté avec Mr Maréchal de mon git. Pour pouvoir appliquer correctement mon gitignore j’ai dus supprimer les fichier du git
14h00¶
J’ai fais des recherche sur la publication de projet et j’ai corrigé des bugs
07.05.2021¶
8h05¶
J’ai essayé le paquet “Microsoft Visual Studio Installer Projects” que m’a conseillé M. Schmid. L’installation marche mais certains dossiers de PCSX2 et de Dolphin ne sont pas inclus dans l’installation.
10h00¶
Je commente les classe que j’ai créé et je supprimer les fonctions qui ne sont pas utilisé
12h40¶
documentation + Création d’une release pour pouvoir essayer l’interface
Je déplace la documentation du projet web au projet desktop la seul documentation qui reste dans le projet web est celle qui concern son propre code (doxygen)
notes personnelles¶
Je dois modifier la connexion a la base de données pour passer des fonctions de cryptographie de PHP au mds. Le problème ce que je ne peux pas me connecter depuis le c# avec les fonctions de cryptographie de php.
15h30¶
J’ai mis à jour ma documentation du projet.
J’ai essayé d’ajouter des tâches à mon git mais j’ai eu des soucis pour la signature du projet donc je remet ça à plus tard.
10.05.2021¶
8h05¶
Je modifie la création de mot de passe et la connexion pour qu’un utilisateur puisse se connecter depuis le site web et Caiman.
J’utilisais les fonctions de php (password_hash et password_verify) mais je passe a du md5 + salt. La raison est que je ne pouvais pas utiliser ces fonctions pour me connecter depuis l’application c#.
10h10¶
je vais essayer de créer un login en C#
Pour ce faire, je commence par créer une classe “AccessDatabase.cs” pour communiquer avec la base. Pour stocker la la connexionString je l’ai mise dans les settings de l’application.
10h45¶
Pour pouvoir me connecter a la base de donnée je dois passer par le port 1433 mais il est fermé dans le firewall du coup je dois essayer de me connecter par le port 433
13h30¶
Je commence à créer la “vrai” interface je commence par les menu de configurations et le menu pour quitter l’application.
14h00¶
Après une discussion avec M. Scmid j’ai décidé de faire une api.
14h30¶
J’ai demandé à M.Borel de l’aide pour la structure de mon api, il a pu m’indiquer une structure correcte mais elle est très verbeuse donc je vais surement avoir pour minimum 3 jours a faire mon API.
11.05.2021¶
8h00¶
Je continue mon api, je commence par essayer la structure de M.Borel sur une seule table pour essayer puis je vais faire les autres.
11h40¶
Je peux maintenant faire des requêtes mais j’ai un souci avec les headers. Le hearder Autorization n’est pas correctement recu Je pense que vu le temps que faire une API prend je fais faire en sorte que l’API ne soit que faite pour Caiman. Je vais donc seulement créer les requêtes nécessaires
13h00¶
Je vais lister les requêtes qui me seront potentiellement utile pour Caiman
liste des jeux recherche de jeu affichage des informations d’un jeu recherche des informations d’un utilisateur recherche des jeux avec un nombre qui ont été joué par un utilisateur particulier recherche d’un jeu selon sa catégorie jeux favoris d’un utilisateur recherche des jeux qui ont été joué connexion d’un utilisateur Création de compte réception d’un fichier de sauvegarde réception d’un fichier de configuration
13h40¶
Je fais un test d’appel a l’API depuis Caiman
14h20¶
Pour pouvoir utiliser correctement les appels à l’api je dois utiliser des objets que je je rempli avec chaque appel.
Par exemple, si je veux recevoir les informations d’un jeu je créer un objet jeu a qui je vais attribuer les données que je viens de recevoir.
Il me faut donc créer une classe pour l’utilisateur et une classe pour les jeux.
15h50¶
je dois aussi pouvoir connaître la liste des catégories grâce à l’API
16h00¶
Il est maintenant possible de récupérer les catégories
12.05.2021¶
8h05¶
Documentation et suppression de code inutile
13h00¶
J’ai discuté avec M.Smid il m’a donner des conseil sur pour mon api
14h30¶
J’ai changé les routes de mon api exemple: /games/userFavorites/8 => /games/?byUserFavorites=8
15h30¶
J’ai essayé de mettre l’api en ligne mais quand j’arrive sur une page j’ai une erreur 500.
13.05.2021¶
11h00¶
L’erreur 500 que j’avais était liée à une version de PHP, le serveur avait une version de php 7.3 alors que mon API a besoin d’une version PHP minimum en 7.4. J’ai donc mis à jour la version présente sur le serveur.
12h00¶
J’ai corrigé différentes erreurs liées à l’api par exemple quand on envoyait que le username et pas de password pour se connecter une erreur apparaissait.
13h00¶
J’ai une erreur sur le serveur quand je veux faire une requête d’utilisateur avec sa clé d’API j’ai une erreur 404.
Je vais peut etre passer la recherche d’api en POST et non en GET
14.05.2021¶
8h00¶
J’ai toujours une erreur quand je veux récupérer les informations d’un utilisateur grâce à son apitoken, l’erreur n’est présente que sur le caiman.cfpt.info. Pour corriger l’erreur je vais passer par du post pour éviter de perdre trop de temps.
09h22¶
j’ai push sur le serveur une version de l’API qui fonctionne bien, je vais maintenant continuer ma documentation
09h30¶
je me rend compte qu j’ai une requête qui ne marche pas
11h30¶
J’ai dû modifier le .htaccess pour pouvoir appliquer les rewriteRules. Le fichier n’était pas pris en compte sur le serveur je l’ai donc mis dans le dossier ou point le virtual host.
12h00¶
documentation
17.05.2021¶
8h05¶
Création d’une ébauche de diagram de classe sur le tableau.
J’ai repris en grande partie le diagramme de mon POC en y ajoutant une gestion des sauvegardes et des téléchagement.
9h00¶
Création du schéma sous UMLetino
Première version du diagramme de la logique de Caiman.
13h20¶
J’essaie de réfléchir à la manière de télécharger les sauvegardes et la façon dont je dois stocker les jeux que l’utilisateur a téléchargé.
Je pense que je vais faire en sorte de vérifier si les jeux qui devraient être présents sur le disque de l’utilisateur le sont réellement.
Je vais faire en sorte que l’utilisateur ait la possibilité de pouvoir télécharger les jeux dans un dossier spécifique. Il va devoir au premier lancement de l’application spécifier ou l’installation doit se faire. (c’est peut etre contraire a mon but de faire une application simple d’utilisation).
Je dois aussi savoir si le disque de l’utilisateur n’a pas la place requise pour télécharger le jeu demandé.
14h35¶
Discussion avec M.Maréchal
18.05.2021¶
8h05¶
Je vais créer une page de connexion pour l’utilisateur
10h00¶
La connection marche, je vais maintenant télécharger les images des jeux
12h00¶
Je commence a faire en sorte que quand un nouveau jeu est reçu depuis l’API son image est automatiquement télécharger et mise dans le dossier %appdata% de l’application
13h30¶
J’affiche dans la sidebar le nom des catégories
15h00¶
Quand je clique sur une catégorie les jeux de la catégorie choisie sont afficher.
19.05.2021¶
8h05¶
je fais en sorte d’afficher tous les jeux quand je lance l’application.
9h00¶
je vais maintenant faire en sorte de pouvoir voir les détails d’un jeu.
9h30¶
J’ai un problème avec les image bouton le clic n’est pas pris en compte
11h00¶
j’ai corriger le soucis des boutons et je modifie un petit peu l’interface
13h00¶
je commence l’affichage des détails d’un jeu
14h00¶
je fais des recherche sur la façon de télécharger un jeu
20.05.2021¶
8h05¶
Je crée une route pour pouvoir recevoir le lien de téléchargement d’un jeu.
09h15¶
Je me rend compte que pour créer la route de téléchargement je dois:
Avoir le lien du site Avoir le lien pour la console avoir le nom du fichier
Pour avec ces différents éléments je dois modifier mon API pour pouvoir faire tout ça.
11h00¶
J’arrive à créer l’URL mais le fichier n’est pas accessible en dehors du serveur donc je ne sais pas vraiment quoi faire
12h50¶
Correction d’un problème où l’on pouvait se déplacer dans une case qui n’existe pas donc l’application plantait.
14h00¶
Je commence a faire en sorte que je puisse créer la route pour télécharger le fichier des jeux
21.05.2021¶
9h00¶
Je voulais télécharger un jeu en passant par le webClient en C# mais ma route est en POST dans mon API. Malheureusement je ne peux pas fournir de paramètres en POST avec la fonction downloadFileAsync donc je dois passer ma route en GET
11h00¶
j’ai changé ma route et j’en ai ajouté pour pouvoir connaître les dossiers ou je dois stocker les jeux et le nom du fichier d’un jeu.
16h00¶
J’ai réussi à afficher la liste des téléchargements et maintenant je suis en train de faire en sorte de pouvoir ajouter un jeu au favoris. j’ai réglé des soucis de droit d’accès au fichier qui sont en cours de lecture.
24.05.2021¶
15h15¶
les téléchargement se font maintenant l’un après l’autre
16h35¶
Affichage des jeux téléchargé
25.05.2021¶
8h10¶
je dois modifier l’API pour pouvoir manipuler les jeux favoris des utilisateur
10h25¶
il est maintenant possible d’ajouter et de supprimer un jeu des favoris. je vais maintenant faire en sorte de pouvoir exécuter des jeux depuis caiman.
10h30¶
Je regarde le code que j’ai fais pour le poc pour voir si je peux reprendre des parties de codes.
14h00¶
J’ai un soucis avec le lancement des jeux de PS2
14h25¶
Le problème venait des paramètres j’avais oublié une espace entre le nom du fichier à exécuter et les paramètres
15h50¶
J’ai pus ajouter les émulateurs et appliquer certains paramètres graphique.
26.05.2021¶
8h05¶
Je dois modifier mon api pour pouvoir générer un token à chaque connexion pour ne pas avoir à se connecter à chaque lancement de l’application.
10h30¶
J’ai modifié l’API, je vais maintenant passer a Caiman.
11h00¶
Il est maintenant possible de se connecter automatiquement , je vais maintenant modifier un petit peu l’aspect graphique de Caiman.
13h00¶
je veux afficher le jeux qui est actuellement utilisé par l’utilisateur
15h30¶
Il est possible de voir le jeu actuellement lancé par l’utilisateur et peut importe comment l’utilisateur quite le jeu Caiman va étre au courant
18h00¶
Affichage du temps de jeu de la session
21h00¶
Le nombre de minutes de jeu a comptabilisé
27.05.2021¶
8h10¶
J’ai remarqué que je ne pouvais pas upload de jeu actuellement je vais essayer de comprendre pouquoi.
09h00¶
J’ai résolu le problème je devais ajouter les droit d’écriture dans mon debian Par contre hier soir j’ai oublié de push donc je ne peux pas continuer Caiman ce matin
10h05¶
Je profite de ne pas pouvoir coder pour faire des tests, ajouter des jeux et faire de la doc
23h30¶
J’ai réussi à scanner un dossier pour savoir si il a y eu une modification.
28.05.2021¶
9h30¶
j’ai reussi a faire en sorte que les sauvegardes de l’utilisateur qui se connecte sont déplacé dans le dossier des sauvegardes des émulateurs.
10h00¶
Je réfléchi à comment faire pour synchroniser les sauvegardes des utilisateurs. J’ai eu l’idée de créer un sous répertoire pour chaque utilisateur sur le serveur
###10h30
J’ai réfléchi et finalement je pense envoyer des fichier zip contenant toutes les sauvegardes d’un utilisateur et cela pour chaque console. Cela a l’avantage de réduire la taille des fichier et de simplifier l’upload et le téléchargement
14h00¶
J’ai eu un bogue ou les sauvegarde n’était pas envoyé dans le bon dossier
14h35¶
Documentation
30.05.2021¶
13h30¶
Modification de l’API pour pouvoir télécharger un fichier de sauvegarde
16h12¶
Je fais en sorte que les sauvegardes se synchronisent sur caiman
19h43¶
j’ai ENFIN réussi à synchroniser les sauvegardes de Gamecube mais j’ai un soucis avec celle de ps2
31.05.2021¶
8h05¶
Je commente le code de Caiman
14h00¶
Discussion avec M.Maréchal et ajout de tests pour la classe GameTimer
01.06.2021¶
8h05¶
Ajout de tests pour la classe TimeInGame
8h20¶
Je veux faire en sorte que Caiman s’exécute sur l’écran principale du pc de l’utilisateur
8h30¶
J’ai désactiver le .gitIgnore par ce que cela créait des soucis avec les dossier des émulateurs
02.06.2021¶
8h05¶
Commentaire du code de l’API
10h30¶
documentation
15h30¶
J’ai corrigé le fait que un compte pouvait être créé sans remplir tous les champ
03.06.2021¶
8h10¶
J’ai eu un problème de conflit avec mon git j’ai du re télécharger tout le projet mais maintenant c’est bon.
8h34¶
Je continue la documentation
04.06.2021¶
8h05¶
Documentation
13h15¶
La documentation avance bien je vais donc créer les diagrammes de classe pour le C#.
07.06.2021¶
8h10¶
Recherche sur comment exporter ma documentation en pdf et je continue ma doc.
11h20¶
Je vais essayer d’installer un certificat ssl sur le serveur debian
13h30¶
Je n’arrive pas a installer certbot donc je laisse ca en attente
14h00¶
Documentation
08.06.2021¶
8h10¶
Documentation
09.06.2021¶
8h10¶
Documentation
10.06.2021¶
8h10¶
Export des fichiers sources en pdf et vérification global