Sommaire I- Contexte II- Réalisation du site III - Réalisation technique IV – Côté Serveur
Qu’est ce que GSB ? Le laboratoire Galaxy Swiss Bourdin correspond à la fusion entre l’américain Galaxy et l’européen Swiss Bourdin. L'outil informatique et l'utilisation d'outils décisionnels ont toujours fait partie de leur nécessité.
Contexte Le laboratoire GSB souhaite une application Web permettant de classer / de trier / de gérer les comptes rendus de visites. Le système doit donc être accessible depuis un navigateur présent sur le réseau. Les services sont répartis sur un serveur virtualisé.
L'environnement doit être accessible aux seuls acteurs l'entreprise. Les données ne doivent pas être accessibles de l'extérieur. L’application concerne la gestion des suivis. Mise à jour des pages du site par le service développement. Une authentification est nécessaire.
L’environnement est libre de choix. Les utilisateurs utiliseront l’OS Microsoft. Le serveur web utilisé devra être sécurisé. L’administration du serveur passera par un service FTP avec authentification.
Les visiteurs alimentent les frais par le serveur web de gestion des rapports. La base de donnée est mise à jour via une page intranet.
Réalisation du site Site réalisé pour GSB, administrant à la fois les visiteurs et les comptables. Deux parties qui on leurs points communs et leurs différences : Partie Visiteur / Partie comptable.
Utilisation d’un site sobre et lisible pour que les visiteurs et les comptables ne se perdent pas et rentrent leurs données sans problèmes de compréhension.
L’accueil présente de part et d’autre offre une petite vision du site aux visiteurs qui ne se sont jamais connectés. Il permet également de rester dans le classique d’un site web. En effet, il s’agit dorénavant d’une norme ( tout à fait compréhensible cependant)
Partie visiteur Une partie qui permet aux visiteurs de rentrer ses propres données personnelles telle que son identité ou ses fiches de frais qui iront directement s’enregistrer dans notre base de données. Il peut donc : - S’inscrire - Se connecter - Contacter les comptables en cas de problèmes
Ou encore : - Saisir ses frais - Les consulter L’inscription se fait à l’aide d’un formulaire. Le visiteur devra remplir ce formulaire avec son identité ainsi que d’autres informations toutes aussi personnelles et qui ne seront révélées à personne lors de l’enregistrement.
La connexion se fait grâce à un Login et Password que le visiteur choisit lui-même lors de l’inscription. Il faut que le mot de passe soit sécurisé et qu’il contienne donc au moins un chiffre. Lors d’une perte d’un ou de ses identifiants il est alors recommander d’appeler d’urgence le service informatique ou alors d’envoyer un grâce à la page « contact ».
La saisie des frais n’est pas compliquée à appréhender du côté du visiteur. Le visiteur a juste à saisir les quantités de frais forfaitisés et les frais hors forfait engagés pour le mois écoulé. ( En résumé : il doit juste rentrer les dépenses.) Petit remarque : Il peut modifier la fiche tout au long du mois et même y ajouter de nouvelles données ou supprimer des éléments déjà saisis.
La consultation des fiches n’est rien d’autre que la gestion des données, du visiteur connecté, auparavant rentrée. Il peut également sur cette page consulter les remboursements effectués.
Partie comptable Une partie qui permet au comptable de valider les fiches de frais des visiteurs ainsi que de les gérer plus facilement à partir de notre base de données remplie par les visiteurs. Il peut donc : - Se connecter - Contacter son service / les clients - Valider fiches de frais - Suivre le paiement des fiches de frais ( Gestion )
La connexion se fait exactement de la même manière que pour les visiteurs. Sauf qu’on lui attribut un identifiant et un mot de passe qu’il ne peut changer. Il ne peut le divulguer. En cas de perte il en sera responsable cependant il peut contacter le service informatique pour un oubli des identifiants.
Dans le cas d’une saisie de frais, de la part du visiteur, qui n’est pas conforme, le comptable peut contacter ce dernier par ou en l’appelant. Cette dernière solution est beaucoup plus rapide et efficace que la première. Comme nous l’avons signalé plus haut, lors d’un problème de gestion ou de perte de données, le comptable peut alors contacter les services informatiques de l’entreprise.
Avant de valider la fiche de frais des visiteurs le comptable doit auparavant « vérifier » que ce dernier ne se trompe pas lors de la saisie des informations. C’est-à-dire : contrôle de la conformité des frais forfaitisés. ( Il faut donc une certaine « cohérence »). Lorsqu’un frais est non validé il est alors supprimé. Le visiteur quand à lui doit être au courant.
Réalisation technique Lors du développement du site on a eu à utiliser deux langages de développement diffèrent : - Le JavaScript : Il s’agit d’un langage de programmation de scripts principalement utilisé dans les pages web interactives mais aussi côté serveur. - Le PHP : « Hypertext Preprocessor », est un langage de programmation libre principalement utilisé pour produire des pages Web dynamiques via un serveur.
Serveur BDD MySQL : Le serveur de Base De Données permet le stockage et l'exploitation de données. Dans notre cas, il s'agit de stocker les utilisateurs et leurs informations enregistrés à travers le site.
Exemples de codes : Menu dynamique(extrait) : if ($_SESSION['pass'] == 'v') { echo '<li '; if (pageEnCours == "saisieDesFrais.php") { echo 'id="select"'; } echo '> Saisie des frais '; } if ($_SESSION['pass'] == "c" || $_SESSION['pass'] == "v") { echo ' Deconnexion'; if (isset($_SESSION['utilisateur'])) { echo ' ('.$_SESSION['utilisateur'].')'; } echo ' '; }
Script de cloturation des fiches du mois précédent $jour = date('d'); $moisDernier = date('m')-1; // Mise à jour des fiches du mois précédent qui ne seraient pas cloturées. $req_cloturation = 'UPDATE fichefrais SET fichefrais.idEtat = "FE" WHERE fichefrais.idEtat="OU" AND fichefrais.mois = '.$moisDernier.';'; $mysql_req_cloturation = mysql_query($req_cloturation, $connexionMS); header("Location:index.php");
Envoi d’un mail avec Swift Mailer. //Appel de la bibliothèque Swift require_once 'swift/lib/swift_required.php'; // Définition des paramètres SMTP du mail. A noter ici l'importance d'utiliser ssl pour l'envoi (spécifique à Gmail). $transport = Swift_SmtpTransport::newInstance('smtp.googl .com', 465, 'ssl') ->setUsername(“ ”) ->setPassword(“MotDePasse”); $mMailer = Swift_Mailer::newInstance($transport); $m = Swift_Message::newInstance(); $m ->setSubject(“ Vos identifiants GSB ”); ”); $m ->setFrom(array(“ => “Galaxy Swiss” )); $m ->setBody(“Blablablabla……”, 'text/html'); //Envoi du mail $mMailer->send($m )
Installation du réseau Un serveur informatique est un dispositif matériel ou logiciel qui offre des services à différents clients. Les services mis en place sont : - Le partage de fichiers : Serveur FTP. - Le stockage en base de données : Serveur BDD. - L'accès à au site de GSB via une adresse IP : Serveur Web.
Schéma de l'architecture de l'application et des échanges attendus dans une configuration réalisable.
Nous avons donc choisit un environnement linux. Ainsi nous aurons la version de Debian grâce à une exportation de machine virtuelle vierge. Nous avons donc une Virtual Box pour pouvoir l'importer et l'utiliser. Par mesure de prévention, au cours des installations, nous avons dupliqué la machine virtuelle mais fort heureusement sans jamais y avoir eu recours.
Qu’est ce que la virtualisation ? Habituellement sur un ordinateur, on utilise un seul système d'exploitation comme Windows par exemple.. La virtualisation permet de faire tourner plusieurs systèmes d’exploitation à la fois. Les intérêts sont : - utilisation optimale des ressources d'un parc de machines - installation, déploiement et migration facile des machines virtuelles d'une machine physique à une autre - économie sur le matériel (consommation électrique) - sécurisation d'un réseau
Les serveurs qui vont être utilisés sont les suivants : - Le serveur Web : il permet l'utilisation du protocole HTTP pour exécuter des pages de script du cote serveur. On utilisera le serveur Apache qui est très en vogue. - Le serveur de Base De Données : il permet le stockage et l'exploitation de données. Dans notre cas, il s'agit de stocker les utilisateurs et leurs informations enregistrés à travers le site. - Serveur FTP (File Transfer Protocol) : Le serveur Pro FTP va dans notre cas nous servir pour la mise à jour des pages Web accessible par le service développement avec authentification du compte administrateur.