Nathan Mir
Recherche pour :

Patrimoine de l’entreprise QuantiQ

Respect des Normes et standards

Comment l’entreprise/l’organisation gère-t-elle les incidents ?

Les intervenants sur les incidents ont-ils des attributions spécifiques ? La notion de « niveau » d’intervention est-elle présente ? Si oui, décrire cette organisation en niveaux.

L’entreprise est en phase de développement de son futur logiciel. Il n’y a donc pas d’incident à gérer à ce stade.

Y-a-t-il une procédure à suivre comme plus ou moins prévu dans ITIL ou autre procédure interne ? Si oui, décrivez là ?

N/A

Décrivez le processus de gestion des incidents observé depuis la création du ticket jusqu’à la résolution de l’incident

N/A

Le cas échéant, quel est le logiciel utilisé dans votre entreprise pour gérer les incidents (matériels ou logiciels …) ?

Les projets de développements sont pilotés via Projeqtor pour la partie gestion de projet, et GitLab pour la gestion des sources. Les fonctionnalités à développer sont modélisées sous forme de requêtes (et pas d’incidents).

Avez-vous participé (ou même seulement observé) à une migration ? Quel était le besoin ? L’existant ? Qu’avez-vous mis en service ?

Non

Comment l’entreprise prend-elle en compte la réglementation sur l’usage du numérique ? (CNIL, RGPD ou autres).

Veille sur les publications de la CNIL, prise de connaissance des guides de bonnes pratiques publie.

Cartographie des flux de données constituée au fur et à mesure des développements informatiques.

Modèles de conventions de service client intégrant des annexes d’engagement à la conformité et au respect de l’utilisation des données clients.

Comment se fait le partage des informations et des connaissances au sein de l’équipe informatique, de l’entreprise et avec quels outils (messagerie électronique, plateforme de travail collaboratif, dossier partagé …) ?

Documentation rédigée sur l’instance GitLab, en rédaction collaborative, avec validation par le responsable d’équipe.

Cette documentation n’inclue pas les données confidentielles comme les credentials clients, et autres données sensibles.

En matière de développement de logiciels, quelles sont les pratiques observées ?

Les développements sont réalisés en agilité, voire en observation de la méthode scrum. La volonté est que les développements soient réalisés en bloc fonctionnels minimaux avec des itérations de validation optimales.

Comment se fait le partage du code développé au sein de l’entreprise et avec quels outils (outils de gestion de version, serveur ftp…)

Tout le code est sur l’instance GitLab, réparti en branches master pour la production, dev pour la qualification, et unitaires pour les développements (une branche temporaire par fonctionnalité)

Comment les vulnérabilités connues sont-elles prises en compte ?

Une grande partie de la sécurité est reportée sur le prestataire qui héberge l’infrastructure informatique. Les serveurs « en ligne », aussi bien qualification que production, sont configurés selon les usages de sécurité adéquates en fonction des services qu’ils fournissent et des technologies utilisées, notamment les failles connues, si elles ne peuvent être évitées. Les accès aux serveurs sont monitorés, et la politique d’accès appliquée est celle dite du moins disant.

Gestion des configurations

Quel est l’outil (application/fichier) utilisé dans votre entreprise pour répertorier, gérer etc … les matériels et les licences (serveurs, postes, switch etc …) ?

Avez-vous participé (ou même seulement observé) à une migration ? Quel était le besoin ? L’existant ? Qu’avez-vous mis en service ?

Plus largement quels sont les outils mis en œuvre pour déployer des nouveaux postes de travail, des nouvelles configurations (scripts, clonage de poste, …)

Comment fait l’entreprise pour collecter ces informations ? Décrivez le processus de gestion des matériels/configurations observé depuis la création de la fiche jusqu’au déploiement de logiciels le cas échéant.

Comment avez-vous fait pour réaliser un schéma réseau par exemple, pour décrire le contexte technique dans lequel vous êtes intervenu ?

Comment fait votre entreprise pour tester / surveiller le bon fonctionnement des matériels, du réseau, des applications, etc … ?

Des documentations techniques sont-elles rédigées et conservées ? Sous quelle(s) forme(s) ?

Avez-vous, vous-même rédigé une doc sur une mise en place de configuration ?

Quelle est la « trace » de votre travail dans votre entreprise ?

Gestion des compétences

L’entreprise vous a-t-elle proposé de suivre une formation particulière (Interne dans votre entreprise, ou dans un centre de formation, ou chez un fournisseur par exemple ?)

Non, aucune formation ne m’a été proposé.

Avez-vous eu à vous auto-former à l’aide de tutoriaux internet ou documentations spécifiques, pour pouvoir réaliser une mission durant votre stage ?

Oui, j’ai principalement été en auto-formation pendant toute la durée de mon stage. Bien que mon tuteur, en tant que PDG de l’entreprise, ait été très occupé, il a pu trouver le temps de répondre à mes questions et m’expliquer en détails que je lui posais parfois comme leur manière de générer et de mettre à jour le cahier des charges pour le projet d’un client.

Avez-vous étudié une nouvelle technologie durant votre stage ? Un nouvel outil ? Le(s)quel(s) ?

Pour la première fois, j’ai utilisé le système d’exploitation Linux. J’ai aussi utilisé PHP Phalcon et j’ai généré une maintenance de dépendances en découvrant des fonctionnalités sur Microsoft Excel.

L’entreprise a-t-elle mis en place des processus de veille technologique ?

Si oui quels outils sont utilisés ? Comment s’organise cette veille dans votre entreprise.

Qu’avez-vous mis en œuvre pour votre propre veille technologique ?

Stage de 2ème année BTS SIO

Pour ma deuxième année de BTS SIO option SLAM, j’ai effectué un stage de 6 semaines dans l’entreprise QuantiQ.

Qu’est-ce que c’est ?

QuantiQ est une SS2I (Société de Service et d’Ingénierie Informatique) dont l’activité a démarré en début d’année 2022. Elle est spécialisée dans :

  • La conduite de projets de dématérialisation/digitalisation (AMOA/AMOE/MOE)
  • L’édition de logiciels de digitalisation de processus métiers

Le logo de l’entreprise QuantiQ

Activités : 

  • Expertise projets digital
  • Développement informatique

Missions effectuées pendant le stage : 

  • Mise en place d’un environnement numérique de travail
  • Gestion de maintenance
  • Développement et traitement d’une base de données relationnelle sécurisée
  • Automatisation de tests de gestion de base de données
  • Développement un module d’application à l’aide du framework Phalcon
  • Logiciels, langages et compétences

Mise en place un environnement numérique de travail

Au début de mon stage de deuxième année, j’ai dû mettre en place un environnement numérique de travail en installant les logiciels et extensions nécessaires (Phalcon, PhpStorm, DataGrip). J’ai suivi une documentation m’indiquant quelles commandes entrer sur une invite de commandes.

A la fin de l’installation, j’avais un projet à mon nom, des identifiants et je pouvais commencer à me concentrer sur le projet qui m’a occupé pendant mon stage.

La documentation de mise en place d’environnement numérique :

Gestion de maintenance

Avant de m’attaquer à un projet de développement pour l’entreprise, j’ai d’abord dû faire du travail de maintenance. Concrètement, j’ai comparer des dépendances afin de vérifier si une mise à jour était possible sur le système informatique de l’entreprise.

Pour ce faire, je suis principalement aller sur GitLab dans la section « releases » des dépendances qui y existent. J’ai créer un tableau grâce à LibreOffice Calc pour comparer les versions, leur utilité, leur utilisation dans le système informatique de l’entreprise, etc… ainsi qu’un affichage conditionnel afin d’en simplifier la lecture. Cet exercice m’a appris beaucoup de fonctionnalités disponibles sur ce logiciel.

Aperçu du document Calc sur les dépendances de l’entreprise :

Développement et traitement d’une base de données relationnelle sécurisée

Après avoir montré mon document à mon tuteur de stage, j’ai donc démarré un projet de développement informatique en PHP.

But du projet :

Le but final de mon projet était de développer un programme d’automatisation de test de gestion de base de données. Le programme devait purger et peupler une base de données, ajouter au bon format les différentes données et calculer certaines valeurs.

Enfin, un programme se lançait pour vérifier si les formats entrés étaient les bons, si les données calculées étaient celles attendues et si les relations entre les tables avaient été respectées.

Développement :

J’ai donc commencé par créer sur le logiciel DataGrip (JetBrains) une base de données vides contenant 3 tables :

  • La table Article : Pour y mettre les différents articles qui seront inscrits sur la facture
  • La table Facture : Pour renseigner sur les principales informations concernant une facture (articles achetés, quantité, etc)
  • La table DetailFacture : Regroupe des informations des 2 tables précédentes pour calculer la somme total de la facture, avec et sans taxes.

Aperçu de l’affichage du programme sur console :

Automatisation de tests de gestion de base de données

Sur DataGrip, j’ai créer une base de données relationnelle avec 3 tables communicant entre elles.

J’y ai donc appliquée les mesures de sécurité nécessaires, à savoir :

  • Créer une clé primaire pour chaque élément afin de pouvoir les répertorier dans la base de données
  • Limiter le format des informations dans chaque colonne des tables
  • Ajouter une valeur non nulles pour les informations nécessaires au bon fonctionnement du programme (dans ce cas, toutes car la base de données était dans une version minimaliste, donc seul l’essentiel a été ajouté)
  • Ajouter une valeur par défaut pour les éléments qui le permettaient
  • Ajouter des clés étrangères pour faire la liaison des données entre les tables

Développement un module d’application

Je suis ensuite passé sur le logiciel PhpStorm (JetBrains) pour y développer une classe qui gérerai l’ensemble des modifications appliquées à la base de données. J’y ai donc créer les fonctions nécessaires pour les besoins du projet.

Les fonctions :

J’ai développé une fonction pour purger chaque table présente dans la base de données, les vidant complétement.

Cette fonction était simple, ma principale occupation pendant ce stage a été la fonction de peuplement, qui vérifiait les formats des informations, en calculait certaines, avant de les enregistrer dans leur table respective.

Erreurs rencontrées et les solutions apportées :

Bien sûr, j’ai rencontré plusieurs erreurs pendant le développement de ce projet. Cela m’a permis de développer des fonctions pour contrer les erreurs éventuelles et, par la même occasion, affiner mes capacités à identifier, comprendre et régler des erreurs informatiques et me documenter sur plusieurs sites pour rechercher des solutions.

Le contrôleur de tests :

La dernière fonction à créer devait vérifier que chaque information enregistrée dans la base de données était conforme et exacte à celle attendue. Le contrôleur de tests contrôle donc chaque table une par une. En cas de rencontre avec une erreur ou une fonction incorrecte, le contrôleur de tests s’arrêtait et expliquait à l’utilisateur quelle donnée a généré l’erreur et quelle est celle attendue.

Logiciels, langages et compétences

Logiciels :

Langages :

  • Terminal
  • PHP (langage objet, langage principal utilisé dans le projet)
  • PHP Phalcon (langage spécifique au framework)
  • SQL (base de données)

Compétences :

  • A.1.1.1 Analyse du cahier des charges d’un service à produire
  • A.1.3.1 Test d’intégration et d’acceptation d’un service
  • A.1.3.4 Déploiement d’un service
  • A.1.4.1 Participation à un projet
  • A.2.2.1 Suivi et résolution d’incidents
  • A.2.3.1 Identification, qualification et évaluation d’un problème
  • A.2.3.2 Proposition d’amélioration d’un service
  • A.4.1.1 Proposition d’une solution applicative
  • A.4.1.3 Conception ou adaptation d’une base de données
  • A.4.1.7 Développement, utilisation ou adaptation de composants logiciels
  • A5.1.2 Recueil d’informations sur une configuration et ses éléments
  • A5.1.3 Suivi d’une configuration et de ses éléments
  • A5.2.4 Étude d’une technologie, d’un composant, d’un outil ou d’une méthode

Stage de 1ère année BTS SIO

Synthèse de stage :

_

Contexte

J’ai effectué mon stage de première année à la DINUM (Direction du Numérique et de la Modernisation), anciennement appelée DTSI, association gouvernementale spécialisée dans la politique de développement du numérique de la Nouvelle-Calédonie, localisée à Ouémo.

J’ai travaillé dans le service de la Mission Transformation Numérique, plan lancé par le gouvernement, chargé de simplifier les services publics et d’agir avec efficience.

J’ai utilisé le logiciel de gestion de base de données ODS (OpenDataSoft). J’ai donc coder en HTML et en CSS (langages déjà appris au cours de l’année) pour générer des pages web dynamiques qui traitaient et affichaient des données de manière à subvenir aux besoins de la clientèle de la DINUM.

_

Ce que j’ai aimé

  • Apprendre à faire des graphiques et trier l’information
  • Faire de la mise en page de kpis personnalisables à l’aide de filtres
  • Effectuer des recherches personnelles et résoudre des problèmes rencontrés pendant le projet
  • Acquérir de l’expérience sur le développement de page web dynamiques
  • Échanger avec les employés de la DINUM sur leur travail respectif (différences de méthodologie, d’utilisation de logiciels, de langage, etc…)

_

Compétences

  • A1.1.1 Analyse du cahier des charges d’un service à produire
  • A1.3.1 Test d’intégration et d’acceptation d’un service
  • A1.3.4 Déploiement d’un service
  • A1.4.1 Participation à un projet
  • A2.2.1 Suivi et résolution d’incidents
  • A2.3.1 Identification, qualification et évaluation d’un problème
  • A2.3.2 Proposition d’amélioration d’un service
  • A4.1.1 Proposition d’une solution applicative
  • A4.1.2 Conception ou adaptation de l’interface utilisateur d’une solution applicative
  • A4.1.3 Conception ou adaptation d’une base de données
  • A4.1.7 Développement, utilisation ou adaptation de composants logiciels
  • A5.1.2 Recueil d’informations sur une configuration et ses éléments
  • A5.1.3 Suivi d’une configuration et de ses éléments
  • A5.2.4 Étude d’une technologie, d’un composant, d’un outil ou d’une méthode

_

Mission principale

Introduction : Découverte

Découverte du logiciel ODS durant la première semaine afin d’être à l’aise lors de son utilisation. Création de quelques graphiques sur différentes bases de données. Suivi de tutoriels sur ODS Academy.

Mon but final était d’afficher les différents établissements artisanaux en Nouvelle-Calédonie et de les trier en fonction de leur poids dans chaque secteur, leur densité artisanale (nombre d’établissements par habitants) et la part de ces entreprises de 5 ans et plus.

Cette page (ou site à une page unique) avait pour but de répondre aux questions fréquentes des clients de la CMA (Chambre des Métiers et de l’Artisanat) concernant les différents secteurs d’activités des établissements artisanaux en Nouvelle-Calédonie.

Etape 1 : Choisir la structure principale de la page

Etape 2 : Importer la base de données et les paramètres adéquats

Etape 3 : Importer et traiter les données

Etape 4 : Rendre la page lisible et facile d’utilisation

_

Conclusion

Grâce à ce stage, j’ai pu avoir un aperçu du travail dans la gestion et l’utilisation des bases de données et développer mes compétences en programmation :

  • Utiliser des balises ODS en HTML
  • Utiliser des KPIs
  • Utiliser plusieurs bases de données en même temps
  • Modifier un site presque entièrement en modifiant uniquement ses paramètres
  • Rendre mon site dynamique et utile pour le traitement de données
  • Répondre aux besoins du client (et ça c’est beau)

Je tiens à remercier ma tutrice de stage de m’avoir aidé le temps de mon stage et de m’avoir accueilli.

_

Captures d’écran

_