Rapport Stage PDF
Rapport Stage PDF
Rapport Stage PDF
Dpartement Informatique
Rapport de Stage
SOULE Tho
M. ROBERT Cdric
Anne 2014-2015
2/39
3/39
Remerciements
Je remercie M. ROBERT Cdric pour son aide, son soutien, et pour ses prcieux conseils.
galement merci tous les employs de l'entreprise CAILLOT, notamment pour leur accueil et leurs
explications.
Et enfin merci Mme. SIMON Carine pour le suivi du stage et pour les conseils, mais aussi aux
professeurs de l'IUT pour l'apport de connaissances qui m'ont aid tout le long de mon stage.
4/39
Sommaire
1. Introduction.....................................................................................6
2. Prsentation de l'entreprise.............................................................7
2.1. Description..............................................................................................................7
2.2. Fonctionnement et rseau........................................................................................9
4. Analyse et dveloppement............................................................13
4.1. Gestion du stage....................................................................................................13
4.2. Utilisation d'un debugger PHP..............................................................................15
4.3. Scripts PHP...........................................................................................................16
4.3.1. Mise jour des stocks fournisseurs......................................................................................16
4.3.2. Mise jour du prix de vente.................................................................................................20
4.3.3. L'export des commandes......................................................................................................23
4.3.4. Annulation de certains produits............................................................................................25
5. Bilan Technique............................................................................33
6. Conclusion....................................................................................34
7. English Summary..........................................................................35
8. Bibliographie................................................................................36
9. Lexique.........................................................................................37
10. Annexes.......................................................................................39
10.1. Modle Physique de Donnes Prestashop..........................................................39
5/39
1. Introduction
Ce rapport prsente mon stage encadr par l'IUT dpartement informatique qui se droule sur 10
semaines, du 7 avril au 14 juin 2015. Ce dernier a t ralis dans l'entreprise CAILLOT, au sein de
l'agence de Clermont-Ferrand. J'ai ainsi rejoint le service informatique aux cts de M. ROBERT
Cdric, mon matre de stage.
Mon objectif lors de ce stage tait d'amliorer et faciliter l'importation des produits de multiples
fournisseurs au sein du site de vente en ligne www.laboutiquedemarcel.com , utilisant l'application
web Prestashop. Cela consiste reprendre du code PHP dj existant, l'analyser et enfin trouver des
solutions pour optimiser. Ceci permettrait un gain de temps pour l'entreprise, qui doit galement grer
un logiciel en parallle. Ayant rejoint le service informatique d'une PME (petite et moyenne entreprise),
mon rle tait galement de m'occuper de la maintenance du parc informatique de l'entreprise, en
ralisant diverses tches de manire polyvalente. L'activit principale de l'entreprise est la distribution
de matriel lectrique. Ainsi, quelques notions d'conomies taient matriser afin de ne pas raliser
d'erreurs financires.
J'ai aussi eu certaines missions secondaires, telle que la recherche d'une solution viable afin que
l'entreprise puisse faire le dveloppement collaboratif de leur logiciel (ERP*) dans les meilleures
conditions.
Comment amliorer l'importation de produits venant de multiples fournisseurs au sein d'un site
web utilisant Prestashop ?
Pour rpondre cela, je vais dans un premier temps prsenter en dtails l'entreprise, puis je
dcrirai de manire synthtique le stage, en explicitant son environnement, ses enjeux et ses objectifs.
Le dveloppement montrera les diffrentes tches effectues ainsi que la procdure pour les raliser. Un
bilan rcapitulera le stage, et une conclusion mettra en avant ce que ce dernier m'a apport. Un lexique
viendra aider la comprhension des termes techniques.
6/39
2. Prsentation de l'entreprise
2.1. Description
L'entreprise CAILLOT S.A. est une PME vieille de plus de 85 ans, qui possde huit agences
implantes dans diverses villes de France : Clermont-Ferrand, Ambert, Montluon, Moulins, Roanne,
Saint-Flour, Thiers, et Vichy. Cette entreprise distribue du matriel lectronique aux professionnels, et
plus petite chelle aux particuliers.
DIRIGEANTS
Eric et Herv GOLFIER
Resp. FINANCES
Batrice JOUANEN
COMPTABILITE
Valrie VITRE
SECRETARIAT ACCUEIL
ASSISTANTE COMMERCIALE
Elodie FERRIER
STOCK CENTRAL
Responsable magasin
Joaquim CARMO
SERVICE ACHATS
Chef produit
Alain DELL'ISOLA
Christine CHAMALET
SERVICE INFORMATIQUE
Chef du service
Cdric ROBERT
SOULE Tho
Rception
Lionel TERRASSE
Chantal BERGERAT
FACTURATION / SAISIE
Dominique RAYNAUD
Monique PLANCHAT
Magasin Inter-Agence
Didier HERVE
Claude VERT
Mickal MERCIER
Cindy MARIANO
Nicolas TORENT
ENTRETIEN
Sylvie CHASTAIN
Chauffeur-Livreur
Nicolas CONSTANT
Figure 1: Organigramme des services non commerciaux
L'agence de Clermont-Ferrand dans laquelle mon stage s'est droul est aussi le sige social. On
y trouve galement le stock central. Les autres agences sont des points de vente qui possdent
galement un stock. Beaucoup de marchandises transitent entre le stock central et ceux des agences.
Comme le montre l'organigramme de la page suivante, chaque agence est contrle par un chef qui
gre son point de vente.
7/39
AGENCE DE CLERMONT-FD
Chef d'Agence
Amandine CHEZE
AGENCE DE SAINT-FLOUR
Chef d'Agence
Jacques ROUCHIT
Commerciaux Sdentaires
Jean-Pierre JOHANNY
Brice GUERIN
Delphine FARRY
Attach Commercial
Lionel REGIMBAL
Vendeur-Magasin
Sbastien LOUSSERT
Attach Commercial
Pierre LEBLOND
Vendeur-Magasin
Sabrina SIMON
LA BOUTIQUE
Responsable
Jean-Luc AMBLARD
AGENCE DE MOULINS
Chef d'Agence
Dominique BREANT
Vendeur-Magasin
Sylvie BONIFACE
Geoffrey SERRE
AGENCE DE MONTLUCON
Chef d'Agence
Jrme LAPARRA
Attachs Commerciaux
Jean-Marc SEMEILHON
Fabien CHABANCE
Vendeur Technico
Rgis REGRAIN
Jules HERRERA
Yoan SAVINEL
AGENCE DE THIERS
Chef d'Agence
Norbert DASSAUD
Vendeurs Comptoir
Thierry MAYET
Mickal AUCLAIR
Rgis COLLIN
SAV
Christian LEROY
AGENCE D'AMBERT
Attachs Commerciaux
John CHASSIN
Arnaud BORDES
AGENCE DE ROANNE
Chef d'Agence
Jacky PEREY
Vendeurs-Magasin
David MOULIN
Jean-Marc LUSTIERE
Attach Commercial
Francisco VEGA
Pierre GOUTORBE
AGENCE DE VICHY
Chef d'Agence
Dominique AUJAMES
Vendeur-Magasin
Alain BONVIN
Attach Commercial
Jean-Pascal RIOU
Grand Public
Roselyne PRAS
Vendeurs Comptoir
Coplia
FILIPPINI
Guillaume PIGEAT
Gelle BEAUJEU
Figure 2: Organigramme des agences commerciales et de la boutique
Vendeurs-Magasin
Laurence FERNANDES
Lorin QUADERI
8/39
INTERNET
SDSL Pro+ 12 Mbs
Clermont-Ferrand
s+
sines
u
B
L
ADS
VPN de CAILLOT
Services:
VPN MPLS
Qualit de service Qos
Adressage IP fixe
Nom de domaine
Relais SMTP
FW 2U hbergs
Pare-feu
Backbone Adista
Haute disponibilit et scurit
Agences distantes
Figure 4: Schma du rseau de Caillot
9/39
10/39
Descente des
commandes sur la
boutique
WS*
Marketplaces
Amazon CDiscount
FNAC
Pixmania
Prestashop
La boutique de Marcel
Cration des produits
Achat des
produits
Modules
Scripts
BDD
Crons
Client
Internet
11/39
12/39
4. Analyse et dveloppement
4.1. Gestion du stage
Une liste de missions m'taient confies au dbut du stage. Je vais ainsi prsenter un Gantt
rcapitulatif des tches prvisionnelles, puis je prsenterai un Gantt des tches rellement ralises, en
commentant les diffrences ou obstacles intervenus.
La maintenance tait raliser en parallle toutes les autres tches. La premire est la prise de
connaissance du fonctionnement de l'entreprise qui est particulirement importante pour la bonne
ralisation du stage. En effet, il fallait comprendre comment l'entreprise traite les commandes, et ainsi
pouvoir proposer mon aide pour faciliter la procdure. Sans compter qu'il faut savoir quoi
correspondent les donnes manipules pour ne pas commettre d'erreur. S'en suit la mise en place de
l'environnement de dveloppement, avec notamment le transfert du site de vente du serveur au rseau
local.
Le plupart des tches sont des scripts PHP raliser, mais il y a aussi beaucoup de
manipulations de l'interface vendeur du Prestashop. En effet, on y manipule notamment les modules qui
permettent de mettre jour les stocks de produits vers les marketplaces.
Pour ce qui est de la maintenance du parc informatique je n'avais que peu de connaissances, il
s'agissait donc au dbut surtout d'un apport de connaissances par mon matre de stage, afin que je
puisse le faire en autonomie par la suite.
La page suivante va prsenter les tches rellement effectues, en expliquant les diffrences
notables. En effet, comme dans tout projet certains obstacles ont t rencontrs.
13/39
Certaines tches n'ont pas t ralises et d'autres ont t rajoutes. Voici ci-dessous le Gantt des
tches relles :
14/39
15/39
/*** Fichier texte pour dfinir les paramtres d'import des fournisseurs.
/*** Attention ne pas laisser de ligne vide
/*** Les lignes qui commencent par "/***" suivies d'un espace ne sont pas prises en compte.
/*** Ci-dessous les champs dans l'ordre, # pour non dfini.
/*** |
/*** Nom Fournisseur, ID du fournisseur dans la BDD, Chemin du .csv ,ean colonne, qtt colonne, "par
combien" colonne, prix d'achat colonne, Quantite minimum, frais de port
/*** NOM ID CSV EAN QTT PAR_CB PRIX QTT_M F_DP
/*** |
16/39
Nous utilisons le champs ean13* afin d'identifier un produit. Ainsi les deux champs
principaux prendre en compte sont l'ean13 et le stock du produit. Voici un schma pour expliquer le
fonctionnement de l'algorithme :
CSV par FTP
CSV par FTP
CSV par Macro
nne
de
l'E
AN
:0
du
stoc
k
: 1
EAN: 6
Col
o
nne
Stock: 7
Col
o
nne
Colo
Fichier
texte
0
AN:
'E
l
de
k: 1
stoc
u
d
ne
olon
Lecture
Script
PHP
17/39
Le script PHP est excut sous l'environnement Prestashop. Ainsi, il faut utiliser certaines
classes utilitaires pour modifier la base de donnes complexe sans oublis de tables ou champs. Voici
donc par exemple comment mettre jour le stock :
StockAvailable::setQuantity($idFinal,0,$qty);
Ici, je fais appel une classe PHP oriente objet fournie par Prestashop pour modifier les
quantits. J'utilise la mthode public static setQuantity, qui a besoin de 3 paramtres :
L'ID de la version du produit (si un produit existe en plusieurs couleurs par exemple)
La quantit
Le script est ralis de manire envoyer un mail automatiquement la fin de son excution.
Ainsi, chaque changement est indiqu dans une variable $message. Puis l'envoie du mail ce fait comme
ceci :
mail($to, $subject, $message, $headers);
En plus du message, il faut galement renseigner 3 autres champs : $to pour le destinataire,
$subject pour l'objet, et $headers pour donner des informations de traitement du mail.
Pour ce qui est de la suppression des produits non mises jour, le script utilise un champs
boolean dans la base de donnes. Au dbut du script, on met tous les produits du fournisseur avec une
valeur FALSE . chaque produit prsent dans le fichier .csv, on lui met une valeur TRUE .
Ainsi, la fin de la mise jour du fournisseur, on supprime tous ceux qui sont toujours FALSE .
Voici ci-dessous les requtes pour changer ce champs :
mysql_query('UPDATE ps_product SET price_updated=0 WHERE id_supplier='. $f_id .';');
mysql_query('UPDATE ps_product SET price_updated=1 WHERE id_product ='. $idFinal . ' ;');
18/39
Ensuite il ne reste plus qu' excuter ce script rgulirement et automatiquement tous les jours.
Pour cela, il est possible d'utiliser ce qu'on appelle des crons. Un module prestashop est disponible pour
faciliter l'utilisation de ces crons. Il faut renseigner l'url excuter, ainsi que la frquence. Voici une
capture d'cran pour mieux comprendre :
30 12,19 * * *
2015-05-31 12:30:01
19/39
20/39
Pour changer le prix de vente et le mettre 5% de taux de marge, il a fallut raliser un petit
calcul. Le voici :
$prixVente = (100/(100-(5)))*($buyPriceTTC+$ecoTaxTtc+$com);
Il est ainsi possible de connatre le prix de vente d'un produit pour avoir un taux de marge 5%.
Pour cela il faut renseigner le prix d'achat TTC, la taxe co TTC, et enfin la commission prleve par le
marketplace, dans notre cas on se base sur celle d'Amazon. Pour rcuprer les informations ncessaires,
j'ai utilis une classe utilitaire de Prestashop.
Une classe trs utile est Product. C'est avec cette classe et ses mthodes que l'on va rcuprer
des informations utiles sur un produit, notamment si l'on souhaite mettre jour le prix de vente. Voici
ci-dessous comment instancier un objet de la classe Produit partir de son identifiant :
$p_product = new Product($idFinal, null, $id_lang, $id_shop,
Context::getContext()->shop->setContext(Shop::CONTEXT_SHOP, $id_shop));
Il ne faut pas oublier de dfinir l'ID de la langue, et l'ID de la boutique. En effet, Prestashop
propose un systme de multi-boutique. Sans oublier de renseigner le contexte. Une fois le produit
instancier, On rcupre diverses informations.
Le calcul du nouveau prix de vente est effectu dans le script de mise jour des produits : c'est
ce moment l que le prix d'achat peut potentiellement changer. Ainsi on ajoute la condition suivante :
if($tauxMarge<4.99)
changePrice($id,$buyPriceTTC,$prixVente, $priceNoReduc,$com,$ecoTaxTtc,$marge,$tauxMarge);
La condition vrifie si le taux de marge est infrieur 4.99 car le script n'arrive parfois pas
mettre un taux de marge de 5% exactement. Ainsi, le script referait le calcul du prix de vente la
prochaine mise jour, ce qui n'est pas utile.
21/39
C'est la fonction changePrice cite prcdemment qui va modifier les valeurs de la base de
donnes. Voici l'algorithme de la fonction :
Affecter (prix sans rduction nouveau prix de vente) la nouvelle remise
Si remise positive Alors
Si le produit ne possde aucune remise Alors
Insertion de la nouvelle remise
Sinon
Suppression des remises
Insertion de la nouvelle remise
Fin Si
Sinon
Si le produit ne possde aucune remise Alors
Mise jour du prix de vente
Sinon
Suppression des remises
Mise jour du prix de vente
Fin Si
Fin Si
Pour obtenir le prix sans rduction, j'ai utilis une mthode public de la classe Product :
$priceNoReduc = $p_product->getPriceWithoutReduct();
Il est important de grer les remises, pour garder un affichage cohrent sur le site. En effet, s'il y
a une promotion il faut l'afficher, mais dans le cas contraire cela n'aurait pas de sens. Voici un exemple
d'affichage du prix d'un produit sur le front office :
22/39
Bouton Exportation
Le fichier cr par Prestashop ne contient pas les informations concernant les produits vendus.
En effet, deux tables de la base de donnes sont prendre en compte. La table ps_orders et la table
ps_order_detail. La premire a pour rle de prsenter l'en-tte de la commande, et la seconde indique
tous les dtails, notamment tous les produits de la commande. La table ps_order_detail n'est donc pas
gr par le Prestashop.
23/39
Le script ralis prend en compte les produits de chaque commande. Ainsi, on boucle sur les
commandes, puis sur chaque produit de la commande. On obtient ensuite deux fichiers csv diffrents,
un pour chaque table exporte.
On insre la premire ligne correspondant aux noms des colonnes comme ceci :
$fields= array("Commande ID","Reference","Adresse Livraison 1","Adresse Livraison 2",
"Code Postal","Ville","Client","Total","Paiement","Etat","Date");
fputcsv($foutput,$fields,$delimiter=';');
fputcsv prend trois paramtres :
un dlimiteur, ici le point virgule. En effet, un fichier csv spare les donnes avec
un dlimiteur dfinit, bien souvent le point virgule mais cela peut tre un espace
ou une virgule. Les logiciels de traitement de tableur savent ainsi comment
placer les donnes dans les cases.
Suite l'insertion des donnes, j'ai rencontr une erreur l'ouverture du fichier sous Microsoft
Excel. En effet, le logiciel n'arrive pas ouvrir le fichier .csv si la toute premire donne est gale
ID . Ainsi, j'ai du remplacer ID par Commande ID .
Une fois cette premire ligne insre correctement, on peut insrer les donnes rcupres dans
la base de donnes. Il y a toutefois une particularit dans le script. Sachant qu'il sera excut
rgulirement, et dans un soucis d'optimisation, on souhaite exporter uniquement les nouvelles
commandes. Pour cela, on ajoute un champs is_exported de type boolean dans la table ps_orders,
qui indique si la ligne a t exporte ou non. On insre alors uniquement les commandes ayant une
valeur false dans le csv. Une fois la ligne insre, on passe la valeur du champs true :
mysql_query("UPDATE ps_orders SET is_exported=1 WHERE id_order=".$id_order);
24/39
25/39
26/39
27/39
28/39
On a finalement dcouvert que l'espace disque tait utilis 100% sur la racine en utilisant la
commande df , qui affiche l'espace disque utilis en pourcentage. Une solution pour diminuer ce
pourcentage tait de mettre de ct le cache des images. Cela a permis un gain d'espace non
ngligeable. Cependant, cela n'a pas rsolu le problme de lenteur. Il s'est avr qu'on ne pouvait plus
crer de fichier pour manque d'espace disponible, alors que cela avait t grandement diminu.
Un second problme se cachait dans le nombre de nuds d'index, aussi appel inode, qui est
une structure contenant le nom des fichiers. En effet, le serveur ne dispose pas d'un nombre illimit de
nuds, or l'importation des 10 000 produits en avait trop cr. Ainsi, la commande df -i affichait
100% alors que la commande df n'affichait rien d'inquitant, que 70%. Voici un exemple :
29/39
30/39
31/39
Une fois la machine virtuelle installe, il faut installer le serveur http Apache puis Gitlab pour
reproduire la situation qui pourrait faire conflit sur la boutique en ligne. J'ai donc effectu ces
commandes pour installer Apache :
sudo apt-get update
sudo apt-get install apache2
On peut alors vrifier qu'Apache fonctionne en se rendant l'ip du serveur : http://1.2.3.4 .
On installe ensuite Gitlab-Omnibus, c'est dire le pack qui permet d'installer tout ce qui est
ncessaire au fonctionnement du logiciel. Dans ce pack, il y a Nginx, qui est un autre serveur http. C'est
notamment cause de ce service qu'il y a des risques de conflits. En effet, Nginx et Apache ne doivent
pas couter le mme port (canal rseau), qui est par dfaut 80 pour http.
On suit donc le tutoriel disponible sur le site du logiciel pour l'installation, et on s'arrte avant le
lancement de Gitlab. Il faut maintenant changer le port d'coute de Gitlab, et plus prcisment du
serveur http Nginx utilis. Pour cela, on change l'url d'accs Gitlab dans son fichier de configuration,
et notamment la ligne external_url dans le fichier /etc/gitlab/gitlab.rb pour spcifier le bon port, ici
on prend par exemple 8090 :
external_url "http://gitlab.example.com:8090"
Cela doit modifier automatiquement le port d'coute de Nginx d'aprs la documentation fournie.
Ainsi, lorsqu'on dmarre Gitlab, on doit avoir un rsultat comme ci-dessous lorsqu'on accde l'url
spcifie dans le fichier de configuration :
32/39
5. Bilan Technique
Tout d'abord, j'ai transfr le site web install sur un serveur vers un environnement de
dveloppement local. Certaines modifications dans la base de donnes du site tait ncessaire.
J'ai alors ralis diffrents scripts utilisant le langage PHP afin d'amliorer le fonctionnement du
site de vente de l'entreprise. Pour cela j'ai install un debugger. J'ai ainsi cr un script afin de faciliter
l'ajout de fournisseurs concernant la mise jour des stocks et prix de ventes. J'ai galement amlior
cette procdure, en l'optimisant et en trouvant certains bugs. J'ai ensuite cr un algorithme afin que le
taux de marge minimum des produits soit 5%. Un autre script correspond l'exportation des
commandes dans un fichier csv. J'ai ensuite annul la mise en vente des produits d'une marque. Un
dernier script a t ralis pour supprimer des produits en masse du Prestashop.
J'ai galement ralis de la configuration et du monitoring sur le serveur qui hberge le site,
notamment afin de reprer les problmes de lenteurs. Aussi, j'ai fait beaucoup de manipulations sur
l'interface vendeur du Prestashop. Ainsi, j'ai utilis des modules pour grer les marketplaces. Par
exemple, il fallait associer les catgories de produits du Prestashop celles du marketplace. Le
backoffice a galement t utilis pour donner l'accs restreint un agent commercial qui voulait
raliser un audit des statistiques de la boutique. Il fallait galement lui donner un accs restreint la
base de donnes l'aide de PhpMyAdmin.
J'ai manipul Microsoft Excel afin de prparer les fichiers csv pour la cration des produits. En
effet, il faut que le fichier soit importable par Prestashop. J'ai donc effectu des calculs sur le logiciel
Excel, par exemple pour obtenir les bons frais de port selon le poids du produit. Il fallait galement lier
les colonnes en faisant des rfrences entre les feuilles de calculs. Afin de vrifier qu'il n'y avait pas de
doublons, ou parfois pour vrifier certaines donnes, j'ai effectu des requtes SQL sur les tables depuis
PhpMyAdmin, qui donne un accs simplifie aux bases de donnes.
La maintenance du parc informatique a t une grosse partie du stage. Par exemple, j'ai chang
la passerelle rseau et les DNS* de tous les ordinateurs de l'agence de Clermont-Ferrand suite un
changement d'oprateur. Aussi, j'ai effectu le tri des cartouches d'imprimantes, ou encore du vieux
matriel informatique. J'ai galement effectu quelques manipulations matrielles, telle que la
rcupration des donnes d'un disque dur interne d'un ordinateur qui ne fonctionnait plus, ou encore
l'ajout de mmoire vive un ordinateur. De plus, j'ai effectu l'installation de nouveaux ordinateurs sur
le rseau. J'ai aussi configur des ordinateurs pour qu'ils puissent accder aux imprimantes grce leur
ip. Il y avait certains ordinateurs rparer, cause de problmes lis au systme d'exploitation
Windows par exemple.
33/39
6. Conclusion
Ce stage a t pour moi une toute nouvelle exprience. En effet, j'ai t confront un
environnement o il faut manipuler des prix et des stocks. Cela pouvait avoir des consquences directes
sur le chiffre d'affaire de l'entreprise, et donc cela tait pour moi assez stressant, il tait important de
garder son sang-froid afin de rsoudre les diffrents problmes.
Durant ce stage, j'ai appris qu'on attend beaucoup de polyvalence d'un informaticien, et c'est
d'autant plus vrai dans une PME. En effet, il n'y a pas que la programmation mais toute la rparation
matrielle, la configuration des ordinateurs et leur installation. Il fallait aussi faire l'administration des
serveurs et rseaux, ou encore effectuer la gestion des utilisateurs.
La formation de l'IUT m'a permis d'tre l'aise avec la plupart des concepts ncessaires la
bonne ralisation des tches, avec toutefois un petit manque concernant la rparation matrielle.
videmment le stage est aussi l pour apprendre de nouvelles choses, et il est difficile de connatre
toutes les notions dans un univers aussi vaste que l'informatique.
J'ai galement t confront des demandes utilisateurs, que je devais prendre en compte afin
d'amliorer le site de vente. Ainsi, j'ai eu l'occasion d'amliorer ma communication et mon
professionnalisme. Il a fallut aussi de l'autonomie, puisqu'il ne s'agissait pas d'un travail en quipe ou
encadr par un professeur. En effet, j'tais responsable de la maintenance informatique du site de vente
de l'entreprise, et c'tait donc moi de rsoudre les bugs le plus rapidement possible par exemple.
Selon moi, une formation avec un stage est trs important et utile. En effet, le monde scolaire et
le monde du travail sont deux choses compltement diffrentes, et avoir une premire approche en
entreprise permet de mieux cerner ses attentes futures.
34/39
7. English Summary
I have done ten weeks of internship in the company Caillot, settled in Clermont-Ferrand. I was
in the computer science's service, and my tutor was Mr. Cdric ROBERT, the chief of the service. The
main goal was to improve the update of the products from suppliers to the website of the company.
I needed to be polyvalent, as I had to do the computer maintenance, together with the
development of PHP scripts and the server administration. I was stressed since I had to manipulate the
prices and stocks of products. It was important to stay calm to resolve bugs.
In order to perform the tasks, I needed to document myself a lot autonomously. Then I
developped some scripts. I had to retrieve the existing scripts to both improve and optimize them. I
improved a script so you can add as much suppliers as you want in the update easily, using a text file.
Then I developped a script so the products always have at least 5% of margin. I created another script
in order to remove a manufacturer of our sales.
As my tutor needed to develop the software that all the company uses, also called ERP, he
hadn't the time to handle the website. Therefore, I was responsible of it and I needed to manipulate the
seller interface. I also imported new products with a csv file, so I had to make some calculations in
Microsoft Office Excel.
Moreover, I have done the computer maintenance. For example, I had to change the network
configurations of all the computers, since our company changed their operator. I have done many
manipulations like formatting a computer or tranfer datas from an internal hard disk to a new computer.
In the end, I learnt a lot of things that will help me in my professional life. There are many
differences between a work in school and in a company. For example, at school there are never
unexpected obstacles. Moreover, it was up to me to find which technology to use to carry out the work.
35/39
8. Bibliographie
Documentation sur diverses dfinitions techniques
https://en.wikipedia.org
https://fr.wikipedia.org
Documentation pour Prestashop
http://doc.prestashop.com/display/PS16/English+documentation
Aide pour rsolution de bugs ct serveur
http://serverfault.com/
Aide pour rsolution de bugs en gnral
http://stackoverflow.com/
http://www.commentcamarche.net/
Diverses traductions
https://translate.google.com
Instructions pour l'installation et la configuration de Gitlab
https://about.gitlab.com/downloads/
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md
Documentation pour rparations diverses
https://support.microsoft.com/fr-fr
Support des modules Prestashop des marketplaces
http://blog.common-services.com/
Diverses informations concernant le langage PHP
http://php.net/manual/en/
Configuration Apache
http://httpd.apache.org/
Organigramme et schma rseau fournis par l'entreprise
Diverses informations sur l'entreprise Caillot
http://www.caillot.fr/
36/39
9. Lexique
Backbone :
Interconnecte stratgiquement le rseau informatique, l'aide d'un routeur puissant, qui forme
alors un grand axe de passage des donnes. Gnralement un fournisseur internet en hberge.
Cron :
Cron est un programme Unix pour excuter automatiquement des scripts, des commandes ou
des logiciels une frquence voulue. Cron est le diminutif de Crontab qui est lui-mme le diminutif de
Chrono table, qui signifie table de planification.
DNS : Domain Name System
-Systme de noms de domaine- C'est un service qui traduit un nom de domaine en adresses IP.
Ean13 :
Il s'agit de lidentifiant code barres des produits utilis dans le monde entier. Un ean13 est
compos de 13 chiffres.
ERP : Enterprise Resource Planning
Logiciel de gestion des affaires, qui intgre de nombreuses applications afin de rpondre aux
besoins d'une entreprise.
FTP : File Transfer Protocol
-Protocole de transfert de fichiers- C'est un protocole de communication pour changer des
fichiers en rseau TCP/IP. Il existe divers logiciels respectant ce protocole pour effectuer les changes.
Marketplace :
Site commercial offrant des mcanismes de transaction scuriss permettant aux entreprises,
particuliers, collectivits et associations de comparer et slectionner diffrentes offres. Il existe par
exemple Cdiscount, Amazon, FNAC ou encore Pixmania.
SDSL : Symmetric digital subscriber line
-Ligne d'abonn numrique dbit symtrique- Une technique d'accs qui permet de faire
transporter des donnes un dbit symtrique en mission et rception. ADSL correspond alors un
change asymtrique.
37/39
38/39
10. Annexes
10.1. Modle Physique de Donnes Prestashop
39/39