Une application pour créer des offres…

Durant mon alternance chez Air Liquide mon maître d'apprentissage m’a demandé de créer une application web qui permet de créer des offres pour les clients.

…mais pourquoi?

Les commerciaux rédigeaient jusqu'à ce moment là leurs offres à la main. Grâce à cette application web ils peuvent à présent créer des offres en quelques minutes directement au format pdf, simplement en remplissant quelques formulaires. Chaque offre étant enregistrée en base de donnée, ils peuvent désormais également consulter les offres précédemment créées et les générer une nouvelle fois en quelques clics.
Les besoins étaient donc :

- avoir une interface permettant de renseigner les informations sur le client auquel l’offre allait être destinée, ainsi que des informations sur les produits ou services proposés dans l’offre, chaque offre étant destinée à un seul client.

- générer un fichier PDF de l’offre.

- pouvoir consulter les offres précédemment créées et les générer une nouvelle fois.

…mais comment?

J’ai développé ce projet en PHP avec un peu de html et CSS pour la partie visuelle et du JS pour certains affichages dynamiques, ainsi qu’une base de données sur SQL Server. J’ai donc commencé par créer une interface graphique avec les formulaires qui auraient permi aux utilisateurs de renseigner les informations nécessaires à l’offre. Une fois l’interface terminée j’ai commencé à travailler sur la base de données. j’ai créé les différentes tables nécessaires pour enregistrer les informations renseignées par l’utilisateur, ainsi que son nom afin de savoir quel utilisateur a créé l’offre pour que ce dernier puisse revenir la consulter plus tard. Un utilisateur ne pourra ainsi consulter que les offres qu’il a créées.

Quelques péripéties…

Ensuite un premier challenge est apparu. Selon les spécifications techniques qui m’ont été transmises, l'utilisateur pouvait, s’il le souhaitait, ajouter un ou plusieurs fichiers, jusqu'à quatre maximum, qui contiennent des données sur le client auquel l’offre était destinée ainsi que sur les produits ou services compris dans l’offre. Il m’a donc pour cela fallu développer des fonctions pour ouvrir et parcourir le fichier ligne par ligne. J’ai ensuite extrait les données du fichier et je les ai stockées dans un tableau de clés et valeurs. Pour finir j’ai fait les requêtes SQL pour enregistrer les données en base.

Il y a eu ensuite un deuxième challenge. Toujours selon les spécifications techniques, dans certains cas, l’utilisateur pouvait ajouter du matériel en plus à l'offre, par le biais d’un tableau. Il lui suffisait de sélectionner une référence dans la première colonne pour que la requête sql que j’avais développée aille chercher les données correspondantes en base. Ensuite, grâce au JS, les autres colonnes étaient automatiquement remplies avec ces données. Il ne restait plus à l'utilisateur qu'à indiquer une quantité et s’il le souhaitait une remise en pourcentage pour que ma fonction JS calcule automatiquement les prix totaux de chaque matériel et le prix total global.

Dernière étape, la génération du pdf. Pour faire cela, j’ai utilisé une librairie php qui s’appelle “fpdf”. Cette librairie permet de générer un fichier pdf avec du code php. Il m’a d’abord fallu lire la documentation pour apprendre à l'utiliser. Je suis ensuite allé chercher les fonctions pour ajouter des pages, ajouter du texte, gérer la mise en page etc. Ensuite, il ne me restait plus qu'à faire des requêtes SQL pour aller chercher les données enregistrées en base par l'utilisateur et les insérer dans le pdf.

Chemin différent

Malheureusement je n’ai pas pu aller jusqu’au bout de ce projet car mon contrat d’alternance a pris fin avant que je ne puisse entièrement terminer le développement. Néanmoins cette expérience a été très enrichissante pour moi aussi bien sur le plan technique que sur le plan humain. En effet, j’ai pu apprendre à utiliser des nouveaux outils tels que SQL Server, ainsi que des nouvelles technologies comme la librairie “fpdf”. J’ai également été très bien accueilli et intégré au sein de l’entreprise, et j’ai pu réaliser ce projet en toute tranquillité sous la supervision de mon maître d’apprentissage et grâce a ses bons conseils.