diff options
-rw-r--r-- | source/website/Documents/stage2.md | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/source/website/Documents/stage2.md b/source/website/Documents/stage2.md new file mode 100644 index 00000000..020c26b7 --- /dev/null +++ b/source/website/Documents/stage2.md @@ -0,0 +1,175 @@ +<nav class="subnav"> + <div class="sublia-border"> + -- generate submenu here -- + </div> +</nav> + +<nav class="situation1nav"> + <div class="situation1lia-border"> + <a href='#description' class='situation2lia'><li><span class='situation2left-lia'></span><span class='situation2center-lia'>Description</span><span class='situation2right-lia'></span></li></a> + <a href='#activités-et-compétences' class='situation2lia'><li><span class='situation2left-lia'></span><span class='situation2center-lia'>Compétences</span><span class='situation2right-lia'></span></li></a> + <a href='#production' class='situation2lia'><li><span class='situation2left-lia'></span><span class='situation2center-lia'>Production</span><span class='situation2right-lia'></span></li></a> + </div> +</nav> + + +--- +title: 'Situation n°1 ~ Stage Seconde année' +--- + +### ·| Développement d'une API |· + +# Description + +## Contexte + +Le projet général est de développer une API permettant de faire l'interface avec un système de reconnaissance automatique de la parole. Cette API doit pouvoir passer l'échelle (plusieurs coeurs, plusieurs machines) de manière quasi transparente afin d'absorber de gros volumes de données. +L'API doit pouvoir être accessible en HTTP et permettre l'envoi de fichiers audio et vidéo qui seront par la suite envoyés à des systèmes de traitement automatique de la parole. Ces systèmes devront être intégrés à l'API pour pouvoir récupérer traiter leurs résultats automatiquement. + +## Présentation globale du projet + +L'objectif général de la mission est de pouvoir envoyer un fichier au format wav 8khz en utilisant curl. Il faut pouvoir fournir une URL à laquelle le résultat sera envoyée. + +## Cadre + +Ce projet a été réalisé seul. + +## Moyen + +Seulement mon portable. + +# Activités et Compétences + +## A1.3.4, Déploiment d'un service + +La procédure d'installation est disponible dans la documentation. Elle est automatique mais elle requiert certains éléments préinstallés. + + - C1.3.4.1 Mettre au point une procédure d'installation de la solution + - C1.3.4.2 Automatiser l'installation de la solution + +## A1.4.3, Gestion des ressources + +Le planning personnel s'adapte lui même en fonction des ressources disponibles. + + - C1.4.3.2 Adapter son planning personnel en fonction des ressources disponibles + +## A4.1.6, Gestion d'environnements de développement et de test + +L'environnement de développement était composé des edtieurs Neovim et Atom ainsi que de Git. De plus le framework Phoenix permet la gestion d'envrionnement de test. + + - C4.1.6.1 Mettre en place et exploiter un envrionnement de développement + - C4.1.6.2 Mettre en place et exploiter un environnement de test + +## A4.1.7, Développement, utilisation ou adaptation de composants logiciels + +Voir directement [les sources de l'application](https://framagit.org/NeodarZ/the_transcriber_backend). + + - C.1.7.1 Développer les éléments d'une solution + - C4.1.7.2 Créer un composant logiciel + - C4.1.7.4 Utiliser des composants d'accès aux données + +## A4.1.8, Réalisation des tests nécessaires à la validation d'éléments adaptés ou développés + +Des test unitaires ont été développés et sont disponibles dans [les sources de l'application](https://framagit.org/NeodarZ/the_transcriber_backend/tree/master/test). + + - C4.1.8.1 Élaborer et réaliser des tests unitaires + +## A4.1.9, Rédaction d'une documentation technique + +La rédaction de la documentation se trouve dans [la documentation]https://framagit.org/NeodarZ/the_transcriber_backend/blob/master/README.md) du projet. + + - C4.1.9.1 Produire ou mettre à jour la documentation technique d'une solution applicative et de ses composants logiciels + +## A4.1.10, Rédaction d'une documentation d'utilisation + +La rédaction de la documentation se trouve parmis la [documentation](https://framagit.org/NeodarZ/the_transcriber_backend/blob/master/README.md). + + - C4.1.10.1 Adapter la documenation d'utilisation, une aide, une FAQ + +## 5.2.2, Veille technologique + +[Veille technologique](/website/Documents/veille_techno.html). + + - C5.2.2.1 Définir une stratégie de recherche d'info + - C5.2.2.2 Tenir à jour une liste de sources d'info + - C.2.2.3 Évaluer la qualité d'une source d'information en fonction d'un besoin + - C5.2.2.4 Synthétiser et diffuser les résultats d'une Veille + +## A5.2.4, Étude d'une technologie, d'un composant, d'un outil ou d'une méthode + +La découverte d'un nouveau paradigme et d'un nouveau langage de programmation est justifié par les sources de l'[API](https://git.neodarz.net/neodarz/cours_SIO/recap_stage_2.git/) ainsi que par le [rapport d'activitées]((https://git.neodarz.net/neodarz/cours_SIO/recap_stage_2.git/tree/Rapport/rapport.pdf). Le compétence suivante sont donc validée : + + - C5.2.4.1 Se documenter à propos d'une technologie, d'un composant, d'un outil ou d'une méthode. + +# Production + + - [Sources](https://git.neodarz.net/neodarz/cours_SIO/recap_stage_2.git/) + - [Rapport d'activitées](https://git.neodarz.net/neodarz/cours_SIO/recap_stage_2.git/tree/Rapport/rapport.pdf) + + +--- + + +### Procédure d'installation + +Add Erlang Solutions repo: + +``` sh +wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb +``` + +Run: + +``` sh +sudo apt-get update +``` + +Install the Erlang/OTP platform and all of its applications: + +``` sh +sudo apt-get install esl-erlang +``` + +Install Elixir: + +``` sh +sudo apt-get install elixir +``` + +Install postgresql and configure it. + +CREATE USER demo WITH PASSWORD 'P@ssword'; +ALTER USER demo CREATEDB; + +Clone the project: + +``` sh +git clone https://framagit.org/NeodarZ/the_transcriber_backend.git +``` + +edit the file config/dev.exs with this: +`` +[...] +username: "demo", +password: "P@ssword", +[...] +``` +Instalation des dépendances : +```sh +mix deps.get +``` + +You must have this message: +```sh +Could not find Hex, which is needed to build dependency :phoenix +Shall I install Hex? (if running non-interactively, use: "mix local.hex --force") [Yn] +``` + +Accept it because Hex is necessary to install dependences + +Create and migrate your database with +``` sh +mix ecto.create && mix ecto.migrate +``` + +install node 6.10.0 and npm from source |