Portfolio pour une graphiste

Mon amie est graphiste et illustratrice. Elle possédait déjà un portfolio pour exposer son travail mais elle souhaitait avoir un nom de domaine, et par la même occasion, un nouveau site web. Je me suis alors proposée pour le réaliser.

Elle m’a envoyé un dessin du thème qu’elle souhaitait avoir pour son site. Simple et épuré, j’ai adoré ! Je l’ai donc retranscrit en code CSS. Pour ce site, j’ai voulu mettre en pratique mes connaissances en HTML5 et CSS3. Je voulais que ce site s’adapte aux mobiles et tablettes, c’est pourquoi je me suis mise à l’apprentissage du Responsive Design (qui n’était pas bien compliqué finalement…).

Accueil du portfolio d'une graphiste

  Continue reading

GSB : Gestion des fiches de frais

Pendant mes années de BTS, nous avions un thème commun sur lequel nous devions travailler : GSB. Le laboratoire Galaxy Swiss Bourdin (GSB) est issu de la fusion entre le géant américain Galaxy (spécialisé dans le secteur des maladies virales dont le SIDA et les hépatites) et le conglomérat européen Swiss Bourdin (travaillant sur des médicaments plus conventionnels), lui même déjà union de trois petits laboratoires. En 2009, les deux géants pharmaceutiques ont uni leurs forces pour créer un leader de ce secteur industriel. L’entité Galaxy Swiss Bourdin Europe a établi son siège administratif à Paris.

Notre premier projet consistait à réaliser l’évolution d’une application de gestion des frais de déplacement, de restauration et d’hébergement générés par l’activité de visite médicale, ainsi qu’à développer de nouveaux modules pour le suivi des remboursements des frais.
Rien de tel pour appliquer notre cours sur le MVC ! Les fichiers étaient répartis ainsi :

Le MVC a été choisi pour construitre l'application GSB Frais

 

Grâce à ce modèle, le code est propre et ordonné. Nous avons également décidé de travailler sous Eclipse, et non plus avec Notepad++.
J’ai travaillé sur ce projet avec un de mes camarades de classe, d’ailleurs c’était la première fois que nous avions pu travailler en groupe en classe !

Quelques aperçus en tant que visiteur médical :

Il est possible de voir et de modifier ses informations personnelles sur GSB Frais

 

L'application peut exporter les informations de l'utilisateur en PDF

 

L'application GSB Frais permet de renseigner ses frais

 

Listing de tous les frais de l'utilisateur dans GSB Frais

 

Quelques aperçus en tant qu’administrateur (comptable) :

GSB Frais possède une interface administrateur qui permet de voir les frais des utilisateurs

 

Le comptable peut choisir ou non de rembourser les frais dans GSB Frais

 

Produits Fermiers

J’ai effectué mon stage de 2ème année de BTS SIO chez Martin STERN. J’ai été chargée d’informatiser les commandes de produits fermiers sous l’interface d’un site Internet. Après l’étude du fonctionnement de l’entreprise, j’ai établi un cahier des charges et j’ai donc conçu une base de données prenant en compte : – l’ensemble des produits pouvant être vendus sous différents packs – les quantités en stock de chaque produit – les réapprovisionnements – les commandes des clients – l’ensemble des tournées (celles-ci étant des planning de livraison) – l’ensemble des lots (utilisant comme modèle une tournée pour une date précise) – la disponibilité des produits en fonction des lots – les promotions en cours Cette étape m’a pris pas mal de temps. Mais il était essentiel d’avoir une base de données solide et complète car toute modification entrainerait une perte de temps inimaginable. pfmcd Malgré la courte durée du stage, j’ai pu commencer à programmer le site web, notamment la partie commande coté client. pfscreen1 Le client peut s’inscrire simplement en remplissant un formulaire. Les nouveautés apportées par l’HTML 5 permettent un formulaire plus complet, et plus simple à concevoir. Grâce un code en javascript, lorsque le client sélectionne son code postal de résidence, seules les villes relatives à celui-ci sont sélectionnables. pfscreen0 Une fois l’inscription faite, les informations du client sont enregistrées dans la base de données, et le mot de passe est protégée via la technologie md5. 5 étapes sont requises pour passer commande :

  • Étape 1

pfscreen3 En fonction de son lieu de résidence, un algorithme que j’ai du créer suggère les livraisons les plus proches du client. Cette fonction prend un tableau de villes en paramètre et est chargée de les trier par ordre croissant.

function tri($tab)
{
	$nouv_tab = Array(Array());

	for($i=0;$i {
		$c_temps = 0;
		$k_temps = 5000;

		foreach($tab as $val) //Pour chaque valeur du tableau envoyé
		{
			$tt = Array();
			$entree = 1;

			if((count($nouv_tab) == 1) AND ($i == 0))//Si il n'y a aucune valeur dans le tableau
			{
				if($val[1] <= $k_temps)//Si elle est plus petite ou égale que la valeur déjà enregistrée, on enregistre
				{
					$c_temps=$val[0];
					$k_temps=$val[1];
				}
			}
			else //Si il y en a une
			{
				if($val[1] <= $k_temps) //Si elle est plus petite que la valeur déjà enregistrée
				{
					foreach($nouv_tab as $val2) //il faut vérifier qu'elle n'est pas déjà dans le tableau
					{
						if(($val[1] == $val2[1]) AND ($val[0] == $val2[0])) //si c'est le cas, on annule l'entrée
						{
						$entree = 0;
						}
					}
					if($entree == 1) //Si elle n'est pas déjà dans le tableau
					{
						$c_temps=$val[0];
						$k_temps=$val[1];
					}
				}

			}
		}
		if($entree == 1)
		{
			$tt[] = $c_temps;
			$tt[] = $k_temps;
			$nouv_tab[$i] = $tt;
		}
	}
	return $nouv_tab;
}

Seul les lieux où il reste encore des rendez-vous disponibles sont sélectionnables. Le client peut sélectionner un rendez-vous soit avec la suggestion en fonction des villes les plus proches, soit en fonction des dates, peu importe le lieu (en cliquant sur Afficher, le détail s’affiche).

  • Étape 2

pfscreen4   Ce dernier peut donc sélectionner une date et une heure de livraison pour un lieu précis. Seuls les horaires disponibles sont sélectionnables.

  • Étape 3

pfscreen5 C’est après que le client peut commander différents produits, selon les stocks disponibles. Les produits en promotion sont mis en valeur dans la liste. Lorsqu’un libellé est en bleu, cela veut dire qu’une info-bulle s’affiche, permettant ainsi plus de détails sur le produit. Le poids des produits étant enregistrés en gramme ou en litre dans la base de données, il était nécessaire de convertir automatiquement lorsque c’était nécessaire. Ainsi, 3000 g s’affichait 3kg, 0.4 litre s’affichait 40 cL, etc… Voici la fonction qui permettait cette conversion :
<>

function convertir($val, $unite) {  
    if($unite == ‘g’) {  
        if(strlen($val) == 4) {  
            $val = $val / 1000;  $unite = « kg »;  
        }  
    }  
    if($unite == ‘L’) {  
        if((strlen($val) == 2) OR (strlen($val) == 3) OR (strlen($val) == 4) AND ($val < 1)) { 
            $val = $val * 100;  
            $unite = 'cl';  
        }  
        if((strlen($val) == 5) AND ($val < 1)) {  
            $val = $val * 1000; 
            $unite = 'ml';  
        }  
    }  
    if(($unite == 'unité') OR ($unite == 'cube')) {  
        $unite ='';  
    }  
    return $val.' '.$unite;  
}
  • Étape4

pfscreen6 Une fois les produits ajoutés à la commande, un récapitulatif s’affiche sur l’écran du client. S’il bénéficie de remise, celle-ci s’affiche dans le total. Il est possible de modifier la commande : le client est renvoyé à l’étape 3 avec toutes les informations contenues dans le panier.

  • Étape 5

pfscreen7 Une fois validée, un e-mail de confirmation est envoyé.   J’ai décidé de coder tout ce système en objet. Ainsi, le traitement de l’information est simplifié. Par cette occasion, j’ai pu appliquer ce que j’avais appris en cours tout en améliorant mes acquis. Quelques jours avant la livraison, le bon de livraison est téléchargeable en format PDF avec tout le détail sur le site Internet. celui-ci permettra de retirer ses produits lors de la livraison. J’ai testé un certain nombre de librairies afin de définir celle qui me semblait la meilleure, et j’ai finalement opté pour HTML2PDF. L’installation est vraiment très simple, ainsi que son utilisation. Un wiki est à la disposition des nouveaux utilisateurs. Voici un extrait du bon de commande :

pfscreen9

Quelques jours avant la tournée, l’application ne permet plus la prise de commandes afin de permettre l’organisation concernant le chargement du camion. Le planning était donc établi. Je n’ai pas pu finir le projet. Il était beaucoup trop conséquent pour le clore en 1 mois et demi seulement. C’est pourquoi j’ai bien pris le temps de commenter mon code sans oublier de réaliser une documentation technique pour le prochain développeur qui sera chargé de ce projet.

On Mange Quoi ce soir

J'ai effectué mon stage de 1ère année de BTS SIO chez un auto entrepreneur, Maximilien LECLUSE, avec deux de mes camarades de classe. Durant un mois, j'ai participé au projet On Mange Quoi ce soir, une application Web. Celle-ci avait été créée par notre maître de stage et nous étions chargés de l'améliorer.

L’interface de celle-ci était très simple :

– Première page, 4 boutons : Entrée, Plat, Dessert, Menu (Type de recette)

Choisissez votre type de repas dans l'application On mange quoi

 

– Deuxième page, 2 boutons : Lent, Rapide (temps de préparation)

Choisissez le temps de préparation du repas dans On mange quoi

– Troisième page, 2 boutons : Cher, Pas cher (coût de la recette)

Choisissez le prix du repas dans l'application On mange quoi

– Quatrième page, 1 entrée : le nombre de personnes

Choisissez le nombre de personnes dans l'application On mange quoi

 

Je me suis principalement occupée de la partie requête : En fonction des critères entrés par l’utilisateur, l’application devait rechercher dans la base de données des recettes aléatoirement, prenant en compte le nombre de personnes et le coût de la vie (donnée renseignée par l’INSEE entrée via l’interface admin). J’ai du ensuite créer la Cinquième Page de l’application, avec une mise en page convenable pour l’utilisateur.

Quelques aperçus de l’interface administrateur :

Une partie administrateur est présente dans l'application On mange quoi

Interface permettant de renseigner le coût de la vie

Interface permettant d'ajouter des recettes dans l'application

Interface permettant de modifier les recettes déjà présente dans l'application