Added to the performance tab of the doc

This commit is contained in:
2023-06-07 12:51:59 +02:00
parent 6653eee01c
commit 73a5bcf116
44 changed files with 24171 additions and 16704 deletions
+220 -6
View File
@@ -319,6 +319,30 @@
<a class="md-nav__link" href="#outils-utilises">
Outils utilisés
</a>
<nav aria-label="Outils utilisés" class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a class="md-nav__link" href="#visual-studio-2022">
Visual Studio 2022
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#visual-studio-code">
Visual Studio Code
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#materialmkdocsmarkdown">
Material/Mkdocs/Markdown
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#figma">
Figma
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#technologies-utilisees">
@@ -624,6 +648,25 @@
<a class="md-nav__link" href="#resume-des-difficultes-techniques">
Résumé des difficultés techniques
</a>
<nav aria-label="Résumé des difficultés techniques" class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a class="md-nav__link" href="#browser-headless">
Browser Headless
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#ocr_2">
OCR
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#stockage_1">
Stockage
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#optimisation-du-programme">
@@ -655,6 +698,11 @@
Notes de code
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#glossaire">
Glossaire
</a>
</li>
</ul>
</nav>
</li>
@@ -1009,6 +1057,30 @@
<a class="md-nav__link" href="#outils-utilises">
Outils utilisés
</a>
<nav aria-label="Outils utilisés" class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a class="md-nav__link" href="#visual-studio-2022">
Visual Studio 2022
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#visual-studio-code">
Visual Studio Code
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#materialmkdocsmarkdown">
Material/Mkdocs/Markdown
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#figma">
Figma
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#technologies-utilisees">
@@ -1314,6 +1386,25 @@
<a class="md-nav__link" href="#resume-des-difficultes-techniques">
Résumé des difficultés techniques
</a>
<nav aria-label="Résumé des difficultés techniques" class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a class="md-nav__link" href="#browser-headless">
Browser Headless
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#ocr_2">
OCR
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#stockage_1">
Stockage
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#optimisation-du-programme">
@@ -1345,6 +1436,11 @@
Notes de code
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#glossaire">
Glossaire
</a>
</li>
</ul>
</nav>
</div>
@@ -1500,7 +1596,51 @@ La raison la plus probable étant qu'Amazon avec son service AWS propose exactem
</ul>
<h2 id="differences-sur-le-cahier-des-charges">Différences sur le cahier des charges</h2>
<hr/>
<p>[À remplir dans les dernières semaines du travail de diplôme]</p>
<p>Ici je vais parler de l'étât du projet à la date du 12 Juin 2023.</p>
<p>A cette date, le projet est fonctionel mais comporte quelques différences avec le cahier des charges original. Je vais expliquer non seulement ces différences mais aussi les raisons qui font qu'elles sont la.</p>
<p>Pour bien comprendre les différences il faut s'en réfèrer au cahier des charges original.</p>
<p>L'application doit être "Un outil de style compagnon sous forme d'application C# Windows Form qui récupère en temps réel les informations de la course et affiche les informations les plus importantes". C'est ca la phrase la plus importante dans tout le CDC. Et je pense que très honnêtement, ce cahier des charges est rempli !</p>
<p>L'application actuellement disponible sur le répo GIT est une application de style compagnion Windows Forms qui récupère les infos de la F1TV en temps réel et elle affiche les informations qu'elle trouve importante. Donc je dirais que l'objectif général est remplis.</p>
<p>Maintenant c'est dans les détails que cela pêche.</p>
<p>Il est mentionné trois exemples d'infos à suivre je cite :</p>
<ul>
<li>"Les pilotes qui sont proches (moins de 1-2 secondes qui sont donc en train de se battre)."</li>
<li>"Les pilotes qui améliorent leur temps au tour et ceux qui perdent le plus de temps"</li>
<li>"Le classement pondéré tenant compte des futurs arrêts au stand"</li>
</ul>
<p>résultats :</p>
<ol>
<li>Dans l'application on peut effectivement voir les pilotes proches (Ce sont ceux qui sont à moins de 3 secondes dans le version finale)</li>
<li>Dans l'application on peut aussi voir un affichage qui permet de voir les pilotes les plus rapides et les plus lents sur le circuit.</li>
<li>On ne peut en revanche pas voir de classement pondéré selon les arrêts aux stands car l'application a du mal à detecter des arrêts.</li>
</ol>
<p>Ensuite pour ce qui est des prédictions il n'y en a aucunes comme ca c'est simple.</p>
<p>Si on ne regarde que de très loin le CDC et le projet final on pourrait dire que c'est plutôt décevant car il manque beaucoup de choses comme les prédictions et certains affichages.</p>
<p>On peut aussi se dire ca en comparant la maquette du CDC et le résultat final.</p>
<figure class="figure-image">
<a class="glightbox" href="./Images/Figma/Prototype.png"><img alt="" du="" faite="" figma""="" maquette="" originale="" projet="" src="./Images/Figma/Prototype.png" sur=""/></a>
<figcaption>"Maquette originale du projet faite sur Figma"</figcaption>
</figure>
<figure class="figure-image">
<a class="glightbox" href="./Images/Screens/MainPage2.png"><img alt="" du="" faite="" figma""="" maquette="" originale="" projet="" src="./Images/Screens/MainPage2.png" sur=""/></a>
<figcaption>"Maquette originale du projet faite sur Figma"</figcaption>
</figure>
<p>Clairement un oeuil non avisé pourrait être très décu et pourrait dire que c'est un echec.</p>
<p>Et moi je vais vous expliquer pourquoi au contraire c'est un total succès.</p>
<p>Déja, la beauté de l'interface est très difficile a répliquer en Windows Forms et il faudrait plus d'une semaine de travail pour arriver à quelque chose qui pourrait ressembler un tout petit peu à la maquette.</p>
<p>Ensuite, si on regarde bien, on a quand même une application qui nous permet de suivre les informations de la course et qui calcule des choses à notre place. C'est déja une grosse plus-value par rapport à la page Data de la F1TV.</p>
<p>Et finalement, les prédictions, les affichages et le style ce sont les choses les moins compliquées du projet. On ne se rends pas compte que pour simplement afficher les 20 pilotes dans le bon ordre il faut énormément de travail.</p>
<p>Voici une petite représentation graphique de la quantité de travail nescessaire pour en arriver à l'étât actuel du projet :</p>
<figure class="figure-image">
<a class="glightbox" href="./Images/Figma/TimeRepartition.png"><img alt="" de="" graphique="" la="" quantité="" représentant="" requise""="" src="./Images/Figma/TimeRepartition.png" travail=""/></a>
<figcaption>"Graphique représentant la quantité de travail requise"</figcaption>
</figure>
<p>Pour en arriver à un affichage il a fallu récupèrer automatiquement les images en utilisant un browser headless ce qui a pris un temps fou à mettre en place et il a fallu surtout lire les informations que l'on recevait des images.</p>
<p>J'ai passé presque 90% du temps de mon projet à développer des choses qui permettront ensuite de faire de l'affichage.</p>
<p>Le fait qu'il y aie quoi que ce soit de logique qui s'affiche cela veut dire que TOUT LE RESTE fonctionne ! Le moindre soucis à la récupération des images, ou surtout à la reconnaissance de texte et de chiffres et l'affichage est ruiné.</p>
<p>Si j'avais passé ne serait-ce qu'une semaine de plus juste sur l'affichage le résultat final n'aurait rien à voir.</p>
<p>Le soucis c'est simplement que le cahier des charges ne parle pas du tout du reste du projet et ne parle que du résultat final.</p>
<p>Pour toutes ces raisons je dirais que le CDC était trop superficiel mais que l'application est conforme à l'idée générale de ce dernier et qu'il serait très facile de la rendre parfaitement conforme maintenant que tout le travail de fond a été fait et fonctionne et je pense donc que c'est un succès.</p>
<h2 id="planning-previsionnel">Planning prévisionnel</h2>
<hr/>
<p>Mes suiveurs m'ont demandé un planning de type GANTT pour ce travail de diplôme</p>
@@ -1570,14 +1710,62 @@ La raison la plus probable étant qu'Amazon avec son service AWS propose exactem
<p>J'ai mis une durée arbitraire de deux jours, mais je ne sais pas vraiment combien de temps cela va vraiment durer. Elle est évidemment à effectuer une fois que tout est à peu près terminé.</p>
<h2 id="planning-effectif-et-differences">Planning effectif et différences</h2>
<hr/>
<p>[A remplir dans les dernières semaines du travail de diplôme]</p>
<p>Alors !</p>
<p>Ces lignes sont écrites dans les derniers jours du travail de diplôme et j'ai des choses à dire.</p>
<p>Premièrement je suis plutôt content de mon estimation du travail. Je trouve que j'ai bien estimé la quantité de travail et combien de temps les différentes tâches allaient prendre. La plupart des dépassements sont des imprévus et/ou des allers et retours entre d'autres tâches.</p>
<p>La raison pour laquelle je suis plutôt content de ma planification, c'est que malgré l'usine à Gaz que représente ce projet et le nombre de soucis que j'ai eu, j'ai quand même pu arriver à un projet qui fonctionne en suivant plutôt fidèlement le planning. Une chose dont je suis plutôt fier c'est la documentation. En ayant développé le squelette de l'app dès le début du projet ca m'a permis d'avancer au fur et à mesure du projet la conscience tranquille.</p>
<p>Bon c'est bien joli les fleurs mais clairement c'est loin d'être parfait. Au moment de la planification je n'avais pas prévu de faire des allers et retours entre plusieurs tâches. Dans le planning effectif on peut voir que un jour je suis sur la PT3 (Stockage) et la PT5 (regroupement des mini projets en un seul gros). J'aurais peut-être du inverser l'ordre.</p>
<p>Mais il y a deux gros soucis dans mon planning :</p>
<ul>
<li>L'ordre des tâches n'était pas bon (mais il a été décidé comme ca pour que les plus grosse difficultées soient faites en premier) ce qui a créé pas mal de soucis. Ex : L'émulateur de la F1TV a été fait très tard et au final les images récupèrées n'étaient pas de la même qualité que ce que j'avais prévu en développant l'OCR en premier.</li>
<li>Les Tests ont été négligés et utilisés comme des jours tampons. Ca c'est la plus grosse erreur de planning. Autant les autres sont pénibles etc... mais n'ont pas forcément compromis la bonne réalisation du projet alors que la les tests ont été mal placés et ont au final été balayés alors que si ils avaient été mieux planifiés ca ne serait pas arrivé.</li>
</ul>
<p>Solutions :</p>
<p>L'ordre des tâches a été décidé exprès de cette facon pour éviter de prendre trop de risques. L'idée était qu'en faisant le plus dur au début, je pourrai facilement changer le cahier des charges. J'ai envie de dire que j'aurais dû être plus confiant mais pour être honnête je pense que c'était un mal pour un bien. Je ne pense pas avoir "bien" fait mais je pense que c'est une erreur qui était rentable pour mon niveau de stress dans le projet.</p>
<p>Par contre les Tests c'est tout simplement une erreur. J'en parle plus en détail dans la partie test de la documentation mais je vais résumer un peu ici.
La documentation a été faite dès le début du projet. J'ai mis en place le squelette pour qu'ensuite il soit simple d'y ajouter au fur et à mesure. J'aurais dur faire exactement pareil avec les tests. Si j'avais fait au moins le squelette des tests au début du projet j'aurais pu beaucoup plus facilement en faire et cela m'aurait fait gagner un temps fou et j'aurais même pu faire du TDD (Test Driven Developpement). Je suis persuadé que cette bête erreur de planification m'a côuté très chère car ne pas avoir une bonne stratégie de tests a du me faire perdre un temps fou.</p>
<p>Pour conclure je suis content car j'ai réussi à rendre un projet qui marche en suivant assez bien le planning mais il y a des choses que je vais devoir changer dans mes prochains projets.</p>
<h2 id="analyse-fonctionnelle">Analyse fonctionnelle</h2>
<hr/>
<p>[A remplir au fur et à mesure dans la seconde moitié du travail de diplôme]</p>
<p>Voir "Manuel Utilisateur" tout y est indiqué</p>
<h2 id="analyse-organique">Analyse Organique</h2>
<hr/>
<h3 id="outils-utilises">Outils utilisés</h3>
<p>[A Remplir]</p>
<h4 id="visual-studio-2022">Visual Studio 2022</h4>
<figure class="figure-image">
<a class="glightbox" href="./Images/Screens/Vs2022logo.png"><img 2022""="" alt="" de="" logo="" src="./Images/Screens/Vs2022logo.png" studio="" visual=""/></a>
<figcaption>"Logo de Visual Studio 2022"</figcaption>
</figure>
<p>C'est l'application que j'ai le plus utilisé je pense. Visual Studio 2022 est l'IDE officiel de Microsoft pour coder en C#.</p>
<p>C'est l'outil que j'utilise depuis maintenant 6 ans au CFPT et franchement il fait tout ce que je pourrais vouloir. C'est aussi un outil pratique pour utiliser Windows Forms et faire des applications natives Windows.</p>
<p>Pas grand chose à dire à ce sujet à part que c'est un outil qui marche bien et qui est gratuit si on prend la community edition.</p>
<h4 id="visual-studio-code">Visual Studio Code</h4>
<figure class="figure-image">
<a class="glightbox" href="./Images/Screens/vsCodelogo.png"><img alt="" code""="" de="" logo="" src="./Images/Screens/vsCodelogo.png" studio="" visual=""/></a>
<figcaption>"Logo de Visual Studio Code"</figcaption>
</figure>
<p>Cet outil est déja un peu plus intéressant. C'est le second outil que j'ai le plus utilisé. J'en ai surtout eu besoin pour écrire de la doc, mais aussi pour coder en python et pour contrôler mkdocs.</p>
<p>Visual Studio est un IDE absolument génial qui est très puissant avec les bonnes extensions. Je l'utilise au quotidien pour tout ce qui est développement WEB, Mobile ou pour éditer des fichiers de configs pour mes drones ou imprimantes 3D. Je peux même compiler le firmware pour ces dernières en utilisant une extension faite pour.</p>
<p>Les possibilités de customisation sont presques infinies et c'est un plaisir d'utiliser ce logiciel gratuit fournis par Microsoft mais qui est amélioré constamment par des développeurs indépendants.</p>
<p>Je conseille à nimporte quel développeur de l'essayer à moins qu'il soit uniquement sur C# ou il serait plus intéressant d'utiliser visual studio 2022</p>
<h4 id="materialmkdocsmarkdown">Material/Mkdocs/Markdown</h4>
<figure class="figure-image">
<a class="glightbox" href="./Images/Screens/MaterialsLogo.png"><img alt="" de="" logo="" materials""="" mkdocs="" src="./Images/Screens/MaterialsLogo.png"/></a>
<figcaption>"Logo de Mkdocs Materials"</figcaption>
</figure>
<p>Pendant ce projet j'ai utilisé exclusivement du markdown avec l'aide de Mkdocs et Materials.</p>
<p>Le choix de Markdown a été plutôt simple, c'est une facon facile et efficace de créer de la documentation et on n'avait pas le choix de l'utiliser.</p>
<p>On avait également l'obligation (Ou au moins un très forte incitation) par nos professeurs d'utiliser mkdocs et materials pour que notre documentation ne soit pas simplement une liste de fichiers mais un joli site dans lequel il est agréable de chercher des informations.</p>
<p>Mkdocs et Materials sont deux outils vraiment fantastiques mais je dois avouer que je n'ai pas assez mis de temps pour apprendre tout leur potentiel. Pour moi ce sont simplement des outils et je veux qu'ils marchent. Je ne suis pas forcément du genre à aller changer toutes les couleurs et polices pour avoir la doc parfaite, j'ai préféré passer du temps sur mon app. Mais même si ces outils offrent une customisation très avancée, il est très facile de créer un projet simple et j'aime beaucoup cette simplicité.</p>
<p>J'ai eu pas mal d'aide de la part de M.Briard pour implémenter certaines features et je l'en remercie très chaudement car sans son aide ce document serait sûrement un peu moins facile à lire (Oui oui ca aurait pu être pire, je sais c'est dur à imaginer)</p>
<h4 id="figma">Figma</h4>
<figure class="figure-image">
<a class="glightbox" href="./Images/Screens/FigmaLogo.png"><img alt="" de="" figma""="" logo="" src="./Images/Screens/FigmaLogo.png"/></a>
<figcaption>"Logo de Figma"</figcaption>
</figure>
<p>Figma est l'outil que j'ai utilisé pour créer mon poster et un certain nombre des diagrammes de cette documentation.</p>
<p>J'utilise aussi cet outil dès que je vais faire des maquettes de sites ou d'applications. D'ailleurs les maquettes dans le cahier des charges ont été faites avec.</p>
<p>C'est un outil en ligne parfaitement gratuit qui conserve tout dans le cloud. Franchement je n'ai rien à dire, je n'ai pas utilisé plus de 15% des features que cet outil propose et je suis déja conquis.</p>
<h3 id="technologies-utilisees">Technologies utilisées</h3>
<p>Dans ce projet différents choix ont été faits pour ce qui est des technologies.</p>
<p>Certaines ont été choisies car elles étaient les plus simples, les plus pratiques, les plus efficaces ou encore les plus connues et donc ayant le meilleur support. Je vais tenter de résumer ici ces choix mais je reviendrai sur la plupart d'entre eux plus tard quand j'explique ce que je fais avec.</p>
@@ -3127,10 +3315,33 @@ Si je vois que un certain nombre est souvent mal reconnu je peux faire exprès d
<p>Ecrire des tests c'est jamais marrant et c'est encore moins marrant quand ils nous empêchent d'avancer. Mais je suis convaincu que au final c'est un gain de temps et de sérénité incontournable.</p>
<h2 id="resume-des-difficultes-techniques">Résumé des difficultés techniques</h2>
<hr/>
<p>[A remplir au fur et à mesure dans la seconde moitié du travail de diplôme]</p>
<p>Ici je vais parler très rapidement des difficultées techniques rencontrées. Si vous voulez tout savoir à propos des difficultées vous pouvez aller lire le journal de bord. C'est aussi pour éviter de me répèter par rapport aux explications des différents points dans l'analyse organique.</p>
<p>Je vais pas non plus parler des difficultées rencontrée avec des choses que je n'ai pas gardé dans le programme final donc il est normal que vous vous disiez qu'il n'y a pas eu tant de difficultés que ca.</p>
<h3 id="browser-headless">Browser Headless</h3>
<p>Il y avait plusieurs difficultées techniques avec cette histoire de Browser Headless.</p>
<p>Deja pouvoir lancer un browser headless et le contrôler. C'est difficile car il faut trouver la bonne librairie et ensuite il faut trouver le bon exectuable de geckoDriver qui permette de faire fonctionner l'application même si l'utilisateur n'a pas Firefox sur sa machine.</p>
<p>Ensuite la seconde difficulté est celle de ne pas se faire chopper comme un bot par le site de la F1TV. Il faut savoir qu'à ce jour je n'ai toujours pas réussi à faire croire à la page de login de la F1TV que j'étais un user normal en utilisant Selnnium mais au moins maintenant je peux accèder aux vidéos tranquillement.</p>
<p>Ce soucis de ne pas pouvoir se connecter avec la page de login à la plus grosse difficulté technique de cette partie du projet : la connexion automatique. Pour me connecter à la F1TV avec un browser headless la seule solution que j'ai trouvé a été d'utiliser des cookies. Et pour que l'utilisateur n'aie pas à aller chercher les siens dans son navigateur il a fallut trouver une technique pour aller les chercher directement sans lui demander son avis.</p>
<p>Autre difficutlé, comme on travaille avec un site web que l'on ne contrôle pas, il faut trouver un moyen de gèrer les erreurs et de réessayer parfois et attendre quand il faut dans les cas ou le chargement est long etc...</p>
<p>Ensuite après tout ca la dernière difficulté a été de pouvoir contrôler le firefox Headless assez bien pour qu'il puisse non seulement naviguer les pages mais aussi qu'il puisse cliquer sur des boutons qui ne s'affichent pas tout le temps.</p>
<p>(Je ne vais pas mentioner la difficulté que ca a été de mettre le browser en 4K pour des raison de santé mentale)</p>
<h3 id="ocr_2">OCR</h3>
<p>Les difficultées ici sont dans un autre niveau. Chaque type de donnée représentait sa difficulté à lui tout seul sans compter l'optimisation.</p>
<p>Pour commencer on a le texte pour les noms de pilotes. Il a fallu trouver un système qui puisse reconnaitre le texte et qui puisse comparer le résultat avec les pilotes que l'on connait.</p>
<p>Ensuite il a fallu trouver un moyen de detecter la différence entre les fenêtres de DRS où il est ouvert ou fermé. Il fallait également faire attention à ne pas faire de faux positifs.</p>
<p>Pour les temps par secteurs il a fallu trouver des filtres qui permettent de bien différencier les '1' et les '4' sans les confondre et il a aussi fallut trouver un moyen de filter l'image pour que dans le cas ou le texte serait en couleur ca fonctionne quand même. (Car oui un filtre de nuances de gris ne marche pas super avec des couleurs sombres)</p>
<p>Pour les pneus (le plus dur) il a fallut trouver un moyen de trouver sur toute la longeur de la zone la partie intéressante. Ensuite il a fallut trouver une technique pour savoir quel type de pneu c'est en fonction de la couleur moyenne et ensuite le plus dur a été d'isoler le chiffre du dessin autour car Tesseract aime pas les formes, le tout automatiquement.</p>
<p>Pour les temps au tour il a fallut trouver un moyen de ne pas confondre les ponctuations avec des chiffres tout en ne les ratant pas. Et il a fallu trouver un moyen de detecter quand inévitablement cela arrive quand même.</p>
<p>Et la dernière difficulté (la plus pénible) a été de detecter les écarts entre les pilotes. Il a fallut trouver une facon de decoder le texte en temps mais aussi de faire tout un système qui détecte et règle les cas ou un ':' a été oublié ou confondu tout en ne sachant pas si il était scensé y en avoir à la base car les valeurs peuvent varier entre '1_23.657' et '0.452'.</p>
<h3 id="stockage_1">Stockage</h3>
<p>Pour ce qui est du stockage la grande difficulté a été de savoir quand un pilote avait avait finit un tour car chaque pilote finit son tour à un moment différent. Il a également fallut trouver un moyen de savoir les données d'un pilote étaient logiques.</p>
<p>Une difficulté qui n'a pas été complêtement dépassée est de savoir quand un pilote a fait un arrêt aux stands car la detection de l'age des pneus est plus que mauvaise.</p>
<p>Voila. Ce fut une petite liste non exhaustive de quelques difficultés techniques que j'ai rencontré pendant ce projet.</p>
<h2 id="optimisation-du-programme">Optimisation du programme</h2>
<hr/>
<p>[A remplir à la fin du projet pour parler des différentes methodes d'optimisation]</p>
<p>Ici je vais parler des techniques que j'ai utilisé pour réduire le temps de traitement de chaques images de 50 secondes à un peu moins de 3 sur le processeur de mon laptop. En effet, dans les premières version du projet, traiter l'intégralité d'une image pouvait prendre presque une minute.</p>
<p>Ce qui est compliqué dans ce projet c'est qu'il y a un certain nombres de choses que je ne contrôle pas. En utilisant Tesseract, je me retrouve avec des incompressibles. En imaginant que l'OCR sur une image prenne 300ms, même si j'avais 180 threads capables de faire cette tâche en même temps, le temps de traitement sera toujours d'au moins 300ms. Créer une instance de Tesseract prend également du temps. Ma mission n'est donc pas d'arriver à des temps de quelques dixaines de milisecondes mais plutôt de rajouter le moins de temps possible pendant le traitement et de tenter de faire le plus du choses possible en paralelle.</p>
<p>I</p>
<h2 id="ethique-du-projet">Ethique du projet</h2>
<hr/>
<p>[A remplir à la fin du projet pour parler des questions ethiques du projet (Ex: Utilisation potentiellement abusive de la F1Tv ou L'histoire des cookies)]</p>
@@ -3144,6 +3355,9 @@ Si je vois que un certain nombre est souvent mal reconnu je peux faire exprès d
<hr/>
<p>[A remplir la dernière semaine du travail de diplôme]</p>
<h2 id="notes-de-code">Notes de code</h2>
<hr/>
<h2 id="glossaire">Glossaire</h2>
<hr/>
</article>
</div>
</div>