CodinGame est un site d’apprentissage et de formation ludique basé sur la programmation informatique. Il permet aux utilisateurs d’utiliser jusqu’à 25 langages orientés objet. Il offre un suivi des activités effectuées à l’aide d’un système de niveau d’expérience et d’un classement entre les joueurs. Il propose également à sa communauté des événements mensuels ou des défis contre d’autres utilisateurs, appelé « Clash of Code« .
CodinGame peut aussi leur distribuer des certificats si ces derniers accumulent un certain nombre d’activités terminées dans la même catégorie.
Ce site aide également les développeurs qui le souhaitent à trouver un travail. Il possède une page dédié intitulée « CodinGame for Work », afin d’interviewer et sélectionner les développeurs qui s’y présenteront.
_
Mon profil
_
Sur CodinGame, le profil sert à afficher certaines informations « classiques » que l’on retrouve sur d’autres sites avec des comptes, tel que :
– le pseudonyme
– une photo de profil
– une description
– les relations
Mais il sert aussi à afficher des informations propres aux fonctionnalités du site comme :
– l’entreprise dans laquelle travail l’utilisateur (s’il est salarié)
– l’établissement de travail ou d’études
– le pays
– les certifications obtenues par l’utilisateur
– son niveau actuel sur le site (en fonction du nombre d’activités terminées)
– son classement par rapport aux autres utilisateurs
– les langages de programmation utilisés sur le site
– ses compétences
– ses succès
_
La partie haute du profil avec les informations du compte, les certificats et la progression.Les langages, compétences et le classement du profilD’avantage de compétences et de succès
Pix est un site web français d’évaluation, de développement et de certification de compétences numériques. Cette évaluation se base sur 16 compétences différentes réparties en 5 domaines distincts :
1) Informations et données
2) Communication et collaboration
3) Création de contenu
4) Protection et sécurité
5) Environnement numérique
Chacun de ses domaines demandent des compétences et des connaissances particulières en informatique, en RGPD et même en culture générale.
Chaque compétence peut être augmenter jusqu’au niveau 6 avec un total de 768 points pour toutes compétences au maximum.
_
Mon profil
A l’aide de plusieurs recherches et d’un travail régulier, j’ai réussi à obtenir la note maximale (768) en atteignant le niveau 6 pour toutes les compétences que le site propose pour le moment.
_
_
Mes certifications
Au vue de ma formation en BTS SIO, j’ai obtenu une certification Pix afin de valider mes compétences.
Cisco NetAcad est une plateforme de formation aux technologies Cisco, permettant à ses utilisateurs d’acquérir des compétences sur les réseaux et la configuration des équipements qui composent un réseau informatique.
_
Cours
Pendant ma deuxième année de BTS SIO, j’ai validé un entraînement de formation basé sur le langage Python.
OpenClassrooms est un site de formation et de cours en ligne. Il propose à ses membres (utilisateurs connectés avec un compte) des parcours et cours avec une certification donnée si l’utilisateur paye un abonnement premium et qu’il a fini la formation leur permettant de déboucher sur des métiers dans le domaine de l’informatique.
_
Cours
J’ai suivi plusieurs cours sur OpenClassrooms afin d’obtenir des certificats en fin d’année pour valider mes progressions. Je me suis principalement concentré sur mon langage de prédilection Python mais j’ai également suivi des formations PHP, SQL, GitHub et d’autres sujets pour ma culture personnelle.
Lorsque l’on postule pour un travail, il est utile (et générer demandé) d’envoyer à l’employeur concerné une première impression sur notre identité professionnel. La lettre de motivation met en avant notre savoir-faire et certaines de nos qualités professionnelles. Elle démontre donc à l’entreprise quels avantages elle aurait à nous recruter.
_
Exemple
Parmi les exemples de lettre de motivation possibles, en voici un où je poste ma candidature pour le poste de stagiaire dans une entreprise basée sur le marché du numérique :
Actuellement en deuxième année de BTS SIO option SLAM, j’aimerais postuler dans votre établissement en tant que stagiaire. Cela me permettrait d’affiner mes compétences et de valider mon année de BTS SIO.
Féru d’informatique, j’ai déjà réalisé plusieurs stages dans des entreprises spécialisées dans ce domaine, dont un au gouvernement.
Ma principale passion est le développement de programmes informatiques. À l’aide de mes études et de mon apprentissage personnel, j’ai développé des compétences variées telles que la gestion de base de données, ou la création de page web. Mon langage informatique de prédilection demeure cependant le Python, le premier langage auquel j’ai été initié, avec lequel j’ai réalisé des programmes informatiques variés, dont certains me sont utiles au quotidien.
Curieux, passionné et sérieux, j’espère pouvoir mettre au service de votre entreprise [NOM DE L’ENTREPRISE] et de vos clients, mes compétences et mon professionnalisme.
Pour plus d’informations, vous pouvez me contacter via mon adresse mail.
En vous remerciant de votre attention portée à ma candidature,
Je vous prie de croire, madame, monsieur, à l’expression de mes salutations distinguées.
_
Nathan MIR
_
PS : Les informations personnelles ou confidentielles ont été supprimé afin de respecter la vie privée des entreprises et de l’auteur.
Le but de ce projet était de créer un ensemble de pages web capable de communiquer entre elles. Un site web en somme, basé sur le thème de la plongée sous-marine.
Le but de ce projet était d’améliorer le site internet d’une compagnie d’hôtellerie et tourisme nommée Bora Bora. Nous l’avons fait par groupes de 3, à l’aide d’un cahier des charges, après s’être répartie les tâches entre les membres du groupe. Il se composer en 4 missions :
1) Mission 1
– Permettre aux clients de pouvoir prendre rendez-vous
– Ajouter la gestion des tarifs en fonction des activités à la fin d’un séjour d’un client
2) Mission 2
– Ajouter la carte du menu du soir
– Ajouter le récapitulatif de la caisse de la journée
3) Mission 3
– Ajouter la gestion des clients inscrits au site de l’hôtel (numéro de chambre, infos persos, etc…)
– Ajouter et/ou améliorer les principales activités de l’hôtel : restaurant, brasserie, bar, spa
4) Mission 4
– Ajouter les loisirs que propose l’hôtel : sports, jeux de société, jeux pour enfants, sorties, etc…
– Gérer la partie administrateur et la partie client du site
_
Organisation
_
Pour optimiser notre organisation à ce projet, nous avons développer un espace de travail avec le site Trello. Nous avons ajouter le cahier des charges, des étiquettes pour trier le type de tâches à effectuer ainsi que la date limite pour finir chaque étape.
Le but de ce projet était de développer un site de garage capable d’afficher de manière dynamique une galerie de voiture figurant dans une base de données modifiable à condition que l’on soit connecté à une session ‘administrateur’.
Vous pouvez accéder à mon garage « Express car » ici.
Conditions de réussite :
– Site dynamique
– Affichage de données depuis une base de données distante ou en locale
– Pouvoir se connecter et créer un compte
– Pouvoir se connecter en tant qu’administrateur
– Octroyer à l’administrateur le droit d’ajouter, modifier et supprimer un article
– Site avec une page « about » avec une présentation du site, ses contacts et sa licence
_
Le site
_
Le site devait donc contenir une page d’accueil, une page pour recherché une / des modèle(s) spécifique(s) de voitures, un moyen de se connecter à son compte, un formulaire d’inscription et une page « about » qui renseignait sur les différentes informations sur site.
_
Aperçu des pages du site :
_
Conclusion
_
Ce projet m’a permis de développer mes compétences dans différents domaines :
– Créer une page web dynamique avec PHP et CSS
– Créer et exploiter une base de données
– Gérer des droits en fonction des utilisateurs
– Sécuriser un formulaire en limitant les types de données entrées
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