Analyse et conception du système Traixto

Analyse et conception du système Traixto

Etude des systèmes existants

Dans ce premier chapitre, nous allons exploiter le marché Algérien à travers une étude menée dans le but de trouver les solutions qui fournissent des services similaires ou légèrement différents des nôtres, c’est pourquoi nous allons prospérer avec ce chapitre pour évaluer la crédibilité du problème que nous résolvons et aussi notre valeur ajoutée unique.

La reconnaissance optique de caractères (ROC) est l’utilisation de la technologie pour distinguer les caractères textuels imprimés ou manuscrits à l’intérieur des images numériques de documents physiques, tels que des documents papier numérisés (Scannés). Le processus de base de la ROC consiste à examiner le texte d’un document et à traduire les caractères en code pouvant être utilisé pour le traitement des données. La ROC est parfois aussi appelé reconnaissance de texte. Les logiciels de ROC de nos jours peuvent également tirer parti de l’intelligence artificielle (IA) pour mettre en oeuvre des méthodes plus avancées. Le processus de la ROC est le plus souvent utilisé pour convertir des documents juridiques ou historiques sous forme imprimée en fichiers PDF. Une fois placés dans cette copie logicielle, les utilisateurs peuvent éditer, formater et rechercher dans le document.

Avantages de la reconnaissance optique de caractères

Avant le développement des programmes de la ROC, les documents papier devaient être convertis en copies numériques à la main. Par conséquent, les principaux avantages de la technologie de la ROC sont le gain de temps, la réduction des erreurs de frappe et la réduction des efforts. Il permet également des actions qui ne sont pas compatibles avec les versions papiers, telles que la compression dans des fichiers ZIP, la mise en évidence de mots-clés, l’intégration dans un site Web et l’attachement à un courrier électronique. Tandis que la prise d’images de documents permet leur archivage numérique, la ROC offre la fonctionnalité supplémentaire de pouvoir éditer et rechercher dans ces documents.

Implémentation du système

Dans ce chapitre, nous aborderons l’aspect technique de l’application. Nous verrons en premier lieu la manière dont une application web moderne doit être structurée. Par la suite, nous détaillerons les technologies utilisées par les applications de type MEAN stack . Au final, nous nous intéresserons au code source même (implémentation).

Une application web est une application client-serveur dont le navigateur joue le rôle d’un client et le serveur web comme serveur. La logique d’une application web est distribuée entre le client et le serveur. Les données sont échangées sur le réseau avec le protocol de transfer hypertext (HTTP).L’un des avantages de cette approche est le fait que les utilisateurs ne dépendent pas d’un système d’exploitation ou d’une configuration de matériel spécifique. Donc les application web sont des services multi plateforme (cross-platform services).

Une application web monopage (Single page application « SPA ») Une application “Single Page” (SPA) est une application qui fonctionne dans un navigateur et qui ne nécessité pas un rechargement de la page pendant son utilisation. Par exemple: Gmail, Google Maps, Facebook ou GitHub. les SPA ont pour but de servir une bonne expérience d’utilisation (UX) en imitant l’environnement “naturel” dans le navigateur sans aucun rechargement de pages, sans aucun temps d’attente supplémentaire. C’est juste une page web qui, après être visitée, charge tout le contenu en utilisant Javascript dont ils dépendent fortement. Les SPA demandent le markup et les données indépendamment et rend les pages directement dans le navigateur. Nous pouvons le faire grâce aux frameworks avancées de Javascripts, notamment AngularJS, Ember.js, Meteor.js, Knockout.js .

Le fonctionnement JavaScript est un langage single-thread , donc Node.js opère sur un seul thread, en utilisant des appels d’E/S non bloquants, ce qui lui permet de prendre en charge des dizaines de milliers de connexions simultanées détenues dans la boucle d’événements (event loop) . Ainsi, la boucle d’événements est une boucle qui attend des événements et les répartit lorsqu’ils surviennent. Les développeurs de Node écrivent donc des fonctions de rappel qui s’exécutent lorsqu’un événement Node se produit. De ce fait, au lieu de créer un nouveau thread pour chaque requête, comme le font les langages multithread, Node.js prend toutes les requêtes, puis attribue la majeure partie du travail à d’autres utilisateurs du système (system workers) . Cela fonctionne parfaitement avec les opérations quotidiennes telles que la manipulation du système de fichiers, les requêtes réseau ou les périphériques d’accès. Donc, si vous avez suivi à la lettre, vous aurez remarqué que Node.js n’est pas idéal pour les tâches gourmandes liées au processeur et qui peuvent surcharger le thread principal (et l’unique) qui ne pourra pas exécuter ses tâches convenablement par la suite.

Conclusion générale

Ce projet de fin d’études «Traixto» est une plate-forme d’impression et de reconnaissance optique de caractères en ligne qui a été créée dans le but de permettre la conversion de documents sous format papier (photos, images) en format électronique modifiable (pdf, word) ainsi que l’impression de mémoires de projets de fin d’études en ligne. L’une des raisons qui ont motivé et encouragé l’élaboration de ce projet est l’absence de telles plates-formes et d’autres innovations technologiques sur le marché algérien. Afin d’avoir créé cette plate-forme, nous sommes en premier lieu passés par la phase de validation du problème, qui consiste à rechercher des plates-formes existantes similaires et à les étudier pour mieux comprendre ce qui est déjà fait et comment nous pouvons les améliorer de telle sorte à les personnaliser en fonction des besoins de nos clients.

Ensuite, nous sommes passés à la phase d’analyse et de conception où nous avons discuté en détails des acteurs et des exigences fonctionnelles et non fonctionnelles de notre système. Durant cette phase, nous avons également donné un aperçu détaillé de la structure de notre application. En ce qui concerne la phase finale, nous avons abordé les aspects techniques de notre travail. Ce dernier a été implémenté en utilisant les dernières technologies, telles que la pile MEAN pour le développement en full-stack en JavaScript, Git en tant que système de gestion de versions et GitLab en tant qu’hébergeur, GCP pour les services de stockage en nuage et les fonctionnalités de ROC (Reconnaissance Optique de Caractères) grâce à l’ API VISION . Pour finir, nous souhaitons mettre en évidence l’énorme expérience pratique que nous avons acquise durant la réalisation de ce projet de fin d’études, qui nous a également donné l’occasion de mettre à profit nos connaissances en génie logiciel.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport gratuit propose le téléchargement des modèles gratuits de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Liste des figures
Liste des tableaux
Liste des abréviations
Introduction générale
Chapitre 1 : Etude des systèmes existants
Introduction
1.1: Définition d’un ROC
1.2: Avantages de la reconnaissance optique de caractères
1.3: Définition d’une plateforme d’impression de mémoire en ligne
1.4: Étude de l’existant
1.4.1: La plate forme Scribbr.fr
1.4.2: La plate forme Corep.fr
1.4.3: La plate forme Nuance.com
1.5: Étude du besoin sur le marché
1.5.1: Utilisation de l’outil « Google trends »
1.5.2: La communauté Facebook
Conclusion
Chapitre 2 : Analyse et conception du système Traixto
Introduction
2.1: Spécification des besoins du système
2.1.1: Identification des acteurs
2.1.2: Besoins fonctionnels
2.1.3. Besoins non fonctionnels
2.2: Modélisation des besoins fonctionnels
2.2.1: Diagramme de cas d’utilisation
2.2.2: Diagramme de paquetage
2.2.3: Diagramme de séquences
2.2.3.1: Diagramme de séquences « Créer une commande »
2.2.3.1.1: Description textuelle
2.2.3.1.2: Diagramme de séquence système « Créer une commande »
2.2.3.2: Diagramme de séquence« convertir une image au texte »
2.2.3.1.1: Description textuelle
2.2.3.1.2: Diagramme de séquence système «Convertir une image au texte»
2.2.4: Diagramme de classe
Conclusion
Chapitre 3 : Implémentation du système
Introduction
3.1: Structure d’application web moderne
3.1.1: Application web moderne
3.1.2: Une application Client-serveur
3.1.3: Les services web RESTful
3.1.4: Une application web monopage (Single page application « SPA »)
3.1.4.1: Les avantages d’utiliser une application application web monopage
3.1.5: Authentification par JSON Web Tokens « JWT »
3.1.5.1: JSON Web Token
3.1.5.2: La structure d’un jeton JWT
3.1.5.3: L’authentification basée sur le JWT
3.1.6: Google Cloud Platform (GCP)
3.1.6.1: Cloud Storage
3.1.6.2: Cloud Vision API
3.2: Développement javascript full-stack (MEAN Stack )
3.2.1: Javascript coté client
3.2.1.1: Javascript (ES6)
3.2.1.2: TypeScript
3.2.1.3: Les Framework Javascript côté client
3.2.1.3.4: Angular
3.2.2: Javascript côté serveur
3.2.2.1: Nodejs
3.2.2.1.1: Le fonctionnement
3.2.2.1.2: Quand utiliser Node.js?
3.2.2.2: Node Package Manager (NPM)
3.2.2.3: Développer des applications élégantes Node.js en utilisant NestJS
3.2.3: MongoDB
3.2.3.1: Mongoose
3.2.3.2: Mlab (Database-as-a-Service)
3.3: L’architecture de l’application
3.4: Maquettes du système
3.5: L’implémentation de « Traixto »
3.5.1: Installation d’Angular
3.5.2: Les composants principaux d’Angular
3.5.3: API RESTful de Traixto
3.5.4: Installation de NestJs
3.5.5: Les principaux éléments constitutifs de NestJs
Conclusion
Conclusion générale
Références bibliographiques
Résumé

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *