Stage 2e année - NEOSIT

Introduction du stage

Cadre

Ce stage de 2e année s'est déroulé chez NEOSIT, à Montigny-le-Bretonneux, du 19 janvier 2026 au 06 mars 2026.

La mission globale était de fiabiliser les formulaires métiers, sécuriser les documents sensibles et améliorer l'efficacité opérationnelle côté client comme côté administration.

Navigation entre stages

Intégration d'API et automatisation de formulaires

Contexte

L'objectif était de réduire les erreurs de saisie des données d'entreprise. L'intégration a d'abord démarré avec l'API SIRENE de l'INSEE, puis a évolué vers l'API Recherche Entreprises pour gagner en stabilité, simplicité d'intégration et qualité des adresses.

Objectifs

  • Accélérer le traitement des demandes B2B en réduisant les saisies manuelles.
  • Standardiser les données clients pour fiabiliser les processus métier.

Outils

PHP JavaScript API Siren (recherche entreprise)

Tâches réalisées

Intégration de l'API Siren pour pré-remplir les formulaires avec les données d'entreprise.

Amélioration de l'expérience utilisateur et réduction des erreurs de saisie.

Automatisation de la validation et du traitement des données des formulaires.

Validation automatique du SIREN sur 9 chiffres avant appel API.

Utilisation d'un proxy PHP pour isoler les appels API et gérer proprement les erreurs.

Ajout de la récupération de l'adresse du siège social en plus de la dénomination.

Migration vers l'API Recherche Entreprises pour éviter les contraintes OAuth et réduire les incohérences de données.

Ajout d'un code regex pour valider le format des adresses saisies.

Illustrations

Code PHP pour l'appel à l'API Siren Code JavaScript pour le fetch vers le proxy PHP Test de saisie d'un SIREN dans le formulaire avec pré-remplissage des données via l'API Code de regex pour valider le format des adresses saisies dans le formulaire

Ce que j'ai appris

  • Intégration d'API pour enrichir les fonctionnalités.
  • Automatisation avancée des processus métier.
  • Gestion des erreurs et migration vers des solutions plus stables.

Génération de documents PDF depuis les formulaires

Contexte

Les équipes avaient besoin d'un récapitulatif PDF professionnel envoyé après soumission, lisible par le client et directement exploitable par l'administration.

Objectifs

  • Produire des documents clients homogènes et exploitables sans reprise manuelle.
  • Assurer la traçabilité des documents émis pour le suivi opérationnel.

Outils

PHP base64 Plugin PDF de RSForm HTML CSS

Tâches réalisées

Vérification de l'installation du plugin PDF de RSForm via coordination avec le détenteur de la licence.

Configuration du plugin pour générer des PDF personnalisés selon les données des formulaires.

Écriture des modèles HTML/CSS pour définir la structure du document PDF.

Ajout du logo et d'éléments graphiques via encodage base64 pour garantir leur intégration.

Création d'un template HTML pensé pour un rendu propre à l'impression A4.

Correction du format de date en remplaçant un placeholder non fiable par un champ formulaire dédié.

Illustrations

Début du code base64 pour intégrer le logo dans le template HTML du PDF Image du rendu du PDF avec le logo intégré dans l'entête du document Image de la section de facturation dans le PDF

Ce que j'ai appris

  • Utilisation d'outils de génération de PDF en PHP.
  • Encodage d'images en base64 pour l'intégration documentaire.
  • Automatisation de la création de documents à partir des formulaires.

Ajout d'un pad de signature manuscrite numérique

Contexte

Le plugin de signature RSForm nécessitait une licence additionnelle. Une solution sur mesure a été développée avec Signature Pad afin de garder la maîtrise technique et éviter une dépendance externe.

Objectifs

  • Permettre la validation des documents via une signature manuscrite numérique.
  • Renforcer la conformité et la continuité du processus de contractualisation.

Outils

HTML CSS JavaScript PHP base64

Tâches réalisées

Intégration d'un pad de signature dans les formulaires web.

Capture de la signature via canvas HTML5.

Conversion en base64 pour stockage et intégration dans les PDF.

Génération automatique de PDF incluant la signature.

Mise en place d'une validation bloquante si la signature est absente.

Redimensionnement responsive du canvas.

Stockage de la signature dans un champ caché.

Injection dynamique dans les documents générés.

Illustrations

Code HTML, canvas de signature et champ caché pour stocker la signature en base64 Code JavaScript pour convertir la signature du canvas en base64 et la stocker dans un champ caché Visuel du pad de signature intégré dans le formulaire Code php pour récupérer la signature en base64 et l'injecter dans le template HTML du PDF Code HTML pour intégrer la signature dans le document PDF Rendu du PDF avec la signature intégrée

Limites

  • Implémentation correspondant à une signature électronique simple (sans authentification forte ni certificat).

Compétences acquises

  • Gestion de données graphiques (canvas → base64).
  • Intégration front/back pour génération documentaire.
  • Mise en place de mécanismes de validation utilisateur.

Amélioration du référencement et de la visibilité en ligne

Contexte

Le site devait maintenir sa visibilité dans un environnement concurrentiel, avec une logique d'amélioration continue du contenu et du suivi des performances.

Objectifs

  • Renforcer le positionnement du site face à la concurrence.
  • Soutenir la génération de trafic organique durable.

Outils

Google Search Console SemRush Sitemap Generator ChatGPT

Tâches réalisées

Analyse des performances SEO et identification des opportunités d'amélioration.

Optimisation du contenu et de la structure du site pour améliorer le classement.

Création de contenus SEO avec l'appui de ChatGPT (descriptions produits, articles).

Suivi continu des performances et ajustement de la stratégie SEO.

Illustrations

Capture d'écran de l'outil SemRush montrant les performances SEO du site Capture d'écran de l'outil SemRush montrant les performances SEO du site

Ce que j'ai appris

  • Stratégies avancées de SEO et optimisation on-page.
  • Pilotage du référencement avec des outils de suivi.
  • Production de contenus SEO avec l'appui de l'IA.

Cybersécurité

Contexte

Des documents sensibles (CV, lettres de motivation, RIB) étaient téléversés via les formulaires. Le défi était de supprimer l'accès public direct sans casser les traitements Joomla/RSForm.

Objectifs

  • Protéger les données sensibles déposées via les formulaires du site.
  • Réduire les risques d'accès non autorisé et de perte d'intégrité des fichiers.

Outils

FileZilla

Tâches réalisées

Configuration de FileZilla pour restreindre les accès FTP aux dossiers sensibles (CV, lettres de motivation, RIB).

Modification des permissions d'accès de 755 à 750.

Mise en place d'une nomenclature unique des fichiers pour éviter conflits et écrasements.

Application de la permission Linux 750 sur le dossier d'uploads pour bloquer l'accès internet direct.

Maintien du fonctionnement applicatif: upload et lecture restent possibles pour l'application.

Illustrations

Accès direct à un document via son URL avant la modification des permissions Capture d'écran de FileZilla montrant la configuration des permissions pour restreindre l'accès aux dossiers sensibles Tentative d'accès à un document après le blocage Capture d'écran du code de renommage du RIB Capture d'écran du RIB renommé avec une nomenclature unique pour éviter les conflits et écrasements

Ce que j'ai appris

  • Configuration d'accès sécurisés pour protéger les données.
  • Gestion des permissions sur les fichiers sensibles.
  • Importance d'une nomenclature fiable pour la maintenance.

Modification d'un formulaire avec champs répétables

Contexte

Le formulaire devait gérer des cas métier variés: sections répétables selon les étages, homogénéisation de certains champs et contrôles plus stricts entre fréquence d'intervention et jours cochés.

Objectifs

  • Adapter la collecte d'informations aux situations multi-étages des entreprises clientes.
  • Garantir une saisie flexible tout en conservant une structure de données exploitable.

Outils

HTML CSS JavaScript PHP base64 Joomla Python

Tâches réalisées

Modification du formulaire pour permettre la répétition de champs selon le nombre d'étages occupés.

Utilisation de Python pour gérer la logique de répétition depuis la structure XML du formulaire.

Adaptation de la génération PDF pour inclure uniquement les champs répétés renseignés.

Passage de champs texte vers des choix structurés pour améliorer l'homogénéité des réponses.

Mise en place d'une validation dynamique fréquence/jours avec blocage de soumission en cas d'incohérence.

Illustrations

Menu de configuration du formulaire dans l'administration Joomla/RSForm Capture d'écran de champs RSForm Capture d'écran du code Python pour gérer la logique de répétition des champs dans le formulaire Capture d'écran du code pour changer un champ texte en champ de choix dans le formulaire

Ce que j'ai appris

  • Conception de formulaires dynamiques avec champs répétables.
  • Gestion de logique conditionnelle pour des données variables.
  • Intégration de données dynamiques dans des documents PDF.