Skip to content

Analayse Web

Simon Kinet edited this page Mar 10, 2023 · 5 revisions

Identification dans le cahier des charges des fonctionnalités

La vente des produits s’effectue uniquement en B2B (revendeurs). L’entreprise dispose d’un portail Web public présentant ses produits (www.woodytoys.be), d’un site de vente en ligne réservé aux revendeurs (b2b.woodytoys.be), et d’un site de gestion interne (ERP).

Le code source de ces trois sites est préexistant, il s’agit d’un site statique en HTML/CSS pour le site vitrine, et de sites dynamiques en PHP/MySQL pour le site b2b et l’intranet. Ces deux derniers sont alimentés par une base de données commune.

Pour le prototype, le client déclare pouvoir se contenter d’un proof of concept composé depages web très simples utilisant les technologies sus-mentionnées. L’objectif est de tester l’accès à la DB et les contrôles d’accès aux sites web.

Identification des besoins techniques

Dans ce service on a besoin de 3 site web.

Site vente (B2B) :

  • PHP
  • MySQL
  • Local

Site vitrine :

  • HTML
  • CSS
  • Public

Site interne (ERP) :

  • PHP
  • MySQL

Présentation des solutions

Quel sont nos critères ?

  • L'adaptabilité au projet
  • Le prix
  • La facilité d'installation
  • La documentation

Quelles sont les solutions existantes ?

Apache

Apache est sorti en 1995, il s'est longtemps imposé comme leader dans le monde des serveurs web.

Nginx

Pour sa part Nginx est quant à lui sorti en 2004, c'est actuellement lui le leader des serveurs web.

Lighttpd

Il a été dans le top des serveurs les plus utilisés, il a été écrit en C, Lighttpd est un solide candidat également.

Tableau comparatif

Ils sont tous adaptés au projet, vu leurs utilisations dans le monde, ils ont tous une bonne documentation.

Nom Open source Prix Avantages Inconvénients
Apache Oui Gratuit Logiciel stable, Mise à jour régulière, facile à configurer, cela s'adapte facilement aux débutants Problèmes de performances sur les sites web avec un énorme trafic
Nginx Oui Gratuit Meilleur evolutivité dans le temps qu'Apache, conçu sur mesure donc de bonnes performances Nginx ne prend pas en charge .htaccess, pas comme Apache
Lighttpd Oui Sur demande Il est rapide, flexible, il a de bonnes peformances Cela ne supporte pas les fichiers htaccess ou encore htpasswd pas comme Apache

Choix de la solutions

Mon choix se porte sur Apache pour les différentes raisons suivantes. Il est gratuit donc c'est parfait pour notre situation. Il est open source c'est un bonus, il a une bonne documentation vu sa popularité. Ses fonctionnalités sont adaptés au besoin que l'on aura de lui. Il est jugé simple pour les débutants ce qui est un plus vu notre cas. Il est disponible sur Windows, Linux, MacOS tout comme ses autres candidats. Il a déjà été utilisé en admin 1 via un laboratoire, et personnellement je l'ai déjà utilisé ce qui un bonus.

Instruction de configuration

Résume des étapes à faire :

  1. Installer Docker
  2. Créer un DockerFile avec l'image Apache et PHP
  3. Configurer la base de donnée avec un DockerFile
  4. Il faut créer un docker-compose pour gérer l'ensemble

Quelques lignes de commandes :

Installer Docker

Mettre à jour son système

sudo yum update -y

Configuration du référentiel Docker

sudo yum install yum-utils -y sudo yum-config-manager -add-repo https://download.docker.com/linux/centos/docker-ce.repo

Installer Docker

sudo yum install docker-ce docker-ce-cli containerd.io

Créer un DockerFile

Tutoriel pour un Dockerfile Apache et PHP

Configurer la base de donnée

Lien pour configurer une BBD avec MySQL

Bonus

Voici un lien qui permet de comprendre pas mal de choses, c'est un guide complet : Lien

Bibliographie

Clone this wiki locally