Comment ça marche ?

Tous les cours et TP sont disponible sur mon compte Google Drive, pour chaque matière vous trouverez un lien vers un espace Google Docs partagé, vous y trouverez tous les supports qu’il suffit alors de télécharger (ou d’enregistrer dans votre propre compte Google Drive)

Publicités

Comment préparer sa soutenance de projet/stage de fin d’études

Vous trouverez ici quelques conseils afin de bien préparer votre soutenance de projet/stage de fin d’études.

Voici comment se passera la soutenance :
  1. Entre 15mn et 20mn pour la présentation du projet sans présenter l’application
  2. Après vous passez à la démonstration live de l’application
  3. Enfin les questions et remarques du jury

 

Pendant l’étape 2 on peut vous posez des questions techniques.
Pendant l’étape 2 il vaut mieux préparer un scénario complet , c-a-d vous ne devez pas parler de toutes les fonctionnalités séparément! Imaginez que vous aller installer l’application pour votre client et lui expliquer comment démarrer et utiliser l’application, il faut donc un enchaînement.
Pour l’étape 1 il faut préparer une présentation (un simple powerpoint suffit, avec le strict minimum d’animations) et pour chaque écran il faut préparer le discours (en anglais : speech), c-a-d le développement oral de chaque écran (diapo)
Pour chaque écran il faut des points et non pas de long paragraphes.
Ceci est un bon exemple :
pfe-bon-exemple
Il y juste des points (رؤوس أقلام), les détails sont expliqué oralement (dans le speech)

Ceci n’est pas un bon exemple :

pfe-mauvais-exemples

Il y a beaucoup de texte : le jury ne va rien lire !

Pour chaque écran il faut estimer le temps que vous allez prendre pour le détailler, un écran prendra entre 30s et 2mn, donc on devrait avoir une présentation d’au maximum 35 pages !
Voici le plan standard d’une présentation :
  1. Présentation  de l’entreprise
  2. Cadre du projet
  3. Analyse & Spécification des besoins
  4. Conception
  5. réalisation
  6. Conclusion & Perspectives
Dans #2 expliquer le but du projet
Dans #3 expliquer les use case
Dans #4 diagramme de séquence & diagramme de classe
Dans #5 parler des technologies/langauges et détailler les partie de code les plus complexes que vous avez développé vous même.

Ci-dessous quelques remarques concernant la présentation :

  1. ne pas oublier le n° des pages de chaque diapo
  2. insérer des diagrammes lisibles (certaines étudiants mettent un grand diagramme déformé impossible à lire sur vidéo projecteur)
  3. utiliser une couleur (de police) sombre sur un fond claire
  4. ne jamais utiliser la police Comics
  5. utiliser le maximum possible d’illustrations et images
  6. un diapo doit être pas trop chargé et pas trop vide
  7. le plus important : pas de paragraphes copié depuis le rapport, juste des points !

En rédigeant la présentation et le discours il faut supposer que le jury n’a pas lu votre rapport, il faut donc aborder tous les points de votre projet !

Derniers conseils : apprendre par cœur le discours et faire des tests en faisant une présentation devant un groupe de personnes (vos amis ou votre famille). Cette méthode vous permet de bien maîtriser votre discours et de surtout mesurer le temps que vous allez prendre : si vous mettez moins de 15mn le jury va vous pénaliser, si vous prenez plus de 20mn le jury va vous interrompre et ne pas vous laisser terminer !

Bon travail … et que la force soit avec vous :p

par Sami CHANGUEL Posté dans Blog
wp-admin mot de passe perdu

WordPress : mot de passe admin perdu ?

Vous avez perdu le mot de passe du compte admin de votre site wordpress ? Si vous avez un accès FTP (ou si vous travaillez en local), changer le mot de passe est très simple :

Identifiez le thème utilisé en front office : ouvrez le front office, afficher le code source (CTRL + U) et notez le dossier /wp-content/themes/XXXXXX/, ici XXXXXX est le thème utilisé.

Allez à ce dossier, éditez le fichier functions.php et ajouter ceci à la fin :

wp_set_password( 'foobar', 1 );

Explications : en supposant que l’admin est le tout 1er utilisateur créé dans la base de données, son identifiant est « 1 », on va donc forcer le mot de passe à foobar

Si vous avez manipulé les utilisateurs de votre site  il faut consulter la table #_users et noter l’identifiant de l’utilisateur à modifier (utiliser phpMyAdmin ou Adminer)

Sauvegardez le fichier functions.php, actualisez le front office, ensuite supprimer l’instrcutions que vous avez ajouté et sauvegardez de nouveau le fichier functions.php

Maintenance vous pouvez vous connecter à l’admin en utilisant le mot de passe « foobar ».

par Sami CHANGUEL Posté dans Blog

WooCommerce & WC Fields Factory : récupérer un champ personnalisé en filtrant sur un autre

Bonjour,

WC Fields Factory est un plugin gratuit permettant d’ajouter des attributs à vos produits WooCommerce. Dans mon cas je l’ai utilisé afin de personnaliser les rendez-vous d’un site permettant de prendre des rendez-vous payants, ici le RdV est le produit et est caractérisé par une date et une séance. Pour une date donnée je peux vendre 6 séances. Mon but est d’avoir la liste des séances vendue à une date donnée. Il sembe ne pas y avoir de fonctions WC pour le faire, du coup il faut une jointure entres plusieurs tables, voici donc la requête :


$q = "SELECT oim2.meta_value AS seance
FROM {$wpdb->prefix}woocommerce_order_itemmeta oim, {$wpdb->prefix}woocommerce_order_itemmeta oim2,
{$wpdb->prefix}woocommerce_order_items oi, {$wpdb->prefix}posts p
WHERE oim.meta_key = 'Date' AND oim.meta_value = '$date_rdv'
AND oim.order_item_id = oim2.order_item_id AND oim2.meta_key = 'Seance'
AND oim2.order_item_id = oi.order_item_id
AND oi.order_id = p.ID
AND p.post_status = 'wc-completed'";

Il suffit de récupérer le résultat de cette requête en utilisant la fonction get_results()

Bon dev 🙂

par Sami CHANGUEL Posté dans Blog

DSI 3.1 – eCommerce – Homework noté #1

Bonjour,

A la fin du 2ème chapitre « Conception d’une boutique e-commerce », on vous demande de créer les mockups du back office, c-a-d mes interfaces permettant de gérer les données conformément au diagramme de classe.

En classe on a vu le mockup « Product > Add new » avec 4 champs : Name, Price, Description et Image. Cependant j’avais oublié un champ très important, celui permettant de définir la catégorie du produit ! A vous de corriger ça dans vos mockups.

Votre travail doit être remis sous forms d’images JPG (ou PNG) ou de PDF, vous pouvez aussi envoyer un ZIP (pas de RAR s’il vous plait !) Il faut ensuite ajouter un commentaire (formulaire ci-dessous) en indiquant votre nom, prénom, adresse mail et dans le message vous indiquer le lien me permettant de télécharge votre travail (vou pouvez par exemple déposer votre travail sur Google Drive et copier le lien)

Dernière date de remise : mardi 17/10/2017 à 23h59 🙂

Bon travail

par Sami CHANGUEL Posté dans LMD3

Quand l’ATI ne veut pas bosser et ne laisse pas les autre le faire !

Il y a quelques semaines notre ô chère ATI (Agence Tunisienne de l’Internet), ancien QG du fameux Ammar 404 qui censurait l’internet Tunisien à tort et à travers, a demandé à OVH de ne plus héberger les serveurs DNS relatifs aux noms de domaines .tn, OVH a alors installé ses propres serveurs DNS chez ATI Hosting, et il y a quelques jours ces DNS ont subits une attaque DDoS les rendants hors ligne, ce qui fait que tous les sites .tn hebergés chez OVH sont hors service. ATI étant incapable de protégrer ces serveurs, OVH a rapatrié ses zones DNS vers ses propres serveurs en France.

Je me demande le but exacte de l’ATI ? Si ce n’est de faire ternir l’image d’OVH Tunisie ! Je rappelle que c’est seulement après l’ouverture d’OVH Tunisie que l’hébergement en tunisies est devenu raisonnable et qu’on trouve des noms de domaines .tn à moins de 20d/an, avant il fallait demander aux FAIs qui faturaientt ce service pas moins de 60D/an, je ne parle pas de l’hébergement de piètre qualité à des prix exorbitants !

Donc un seul mot à l’ATI : shame on you ! Vous ne faites pas bien votre travail, et vous ne laissez pas les autres travailler tranquillement !

Ci-dessous un mail envoyé par OVH le 05/10/2017 à propos de ce sujet :

Bonjour,

Du mardi 26/09 au vendredi 29/09/2017, vos domaines en .tn et تونس. (pour la ville de Tunis) enregistrés chez OVH ont connu une forte indisponibilité.

Cet incident — référencé dans la tâche travaux FS#27398 — était dû à la dégradation du service fourni par les DNS OVH hébergés par la société tunisienne ATI hosting. Soucieux de rétablir dans les meilleurs délais le service de DNS pour ses clients, OVH a pris la décision le vendredi 29/09 de rapatrier, temporairement, les zones DNS de vos noms de domaines en .tn sur des serveurs localisés en France, chez OVH.

Cette solution palliative est temporaire, car elle ne respecte pas nos obligations envers le registre de l’extension nationale tunisienne, ATI.tn. A savoir l’hébergement des services DNS sur le sol tunisien. Néanmoins, ni vous, ni vos visiteurs, clients ou utilisateurs n’encourent le moindre risque du fait de cette situation.

Il nous est actuellement impossible de migrer à nouveau les serveurs DNS sur le sol tunisien, car nous n’avons pas l’assurance qu’ils fonctionneront correctement. Pour cette raison, nous avons pris la décision d’interrompre l’enregistrement de nouveaux domaines en .tn ainsi que les transferts entrants à compter du jeudi 5/10/2017.

Pour vous, chers clients, nous étudions toutes les solutions envisageables permettant de pérenniser la fourniture du service, dans les meilleures conditions et dans le respect des dispositions contractuelles qui nous lient au registre ATI.

Vous trouverez sur notre blog un billet avec d’avantage d’explications.

Nous vous tiendrons informés de l’évolution de la situation.

Nous regrettons sincèrement les désagréments que cet incident a pu vous causer.

Cordialement,

OVH.TN

par Sami CHANGUEL Posté dans Blog

la Banque Centrale de Tunisie : Le site de la mort qui tue la vie

Comme plusieurs tunisiens, je suis en rage contre la BCT car elle a tout fait pour faire foirer la mise en place de Paypal en Tunisie, et bien sûr ils ont rejeté la faute sur Paypal qui semble avoir une dent contre la Tunisie … sachez que Paypal est fonctionnel en Algérie et au Maroc, donc s’il y a un truc qui cloche c’est sûr que c’est pas la faute à Paypal !! Lire la suite

par Sami CHANGUEL Posté dans Blog

Firefox en fait un peu trop …

Depuis sa version 51, firefox affiche un message d’alerte au moment où vous saisissez votre login et mot de passe sur un site non httpS (donc non sécurisé)

Si comme moi ce message d’alerte vous parait envahissant, il suffit de suivre les étapes suivantes :

  1. Dans la barre des titre saisir about:config puis ENTREE
  2. Dans le champ de recherche saisir insecure_field_warning
  3. Vous devriez trouver une seule entrée dont la valeur est à « true », double-cliquez dessus afin de la mettre à « false »
  4. … et voilà, même pas la peine de redémarrer firefox
par Sami CHANGUEL Posté dans Blog

MDW 3 – SOA – Mini projet

Bonjour,

Lors de la dernière séance TP nous avons développé un script PHP qui fait appel au service web de openweathermap.org afin d’afficher les données météos concernant une ville fixée dans le script.

On demande de refaire le travail pour la séance TP du mercredi 09/11 en prenant en compte le gabarit ci-dessous (Il faut télécharger le gabarit, les données doivent bien sûr être dynamiques.)

Les énoncés du TP sont à télécharger ici.

soa-meteo

par Sami CHANGUEL Posté dans LMD3

Les Services Web – SOA & Cloud

Tous les documents sont disponibes sur Google Drive

ATTENTION : les utilisateurs de WAMP 2.x sous Windows 64bits doivent mettre à jour l’extension cURL par défaut ! Si vous avez activé cURL et que la fonction curl_init() n’est pas reconnue, télécharger un fichier ZIP (depuis le dossier  »cURL fix pour 64bits », il y en a plusieurs, il faudra trouver le bon) et décompresser le fichier .DLL dans votre dossier « bin\php\php…\ext\ » en écrasant le fichier existant. Il faut avant tout arrêter le serveur pour pouvoir remplacer le DLL.

par Sami CHANGUEL Posté dans ING5, LMD3

Atelier Web 2 : Javascript

Il s’agit d’une initiation à la programmation côté client en Javascript. On y détaille les variables, les types, les instructions de base, les fonctions (standards et anonymes), les tableaux, les objets…et ensuite on passe à jQuery.

Vous trouverez le support de cours version étudiant (avec des vider à compléter) ainsi que les différents TP.

Cours & TP disponible ici : https://docs.google.com/folder/d/0B5_NHnOk2LCfUjA2MXhWOVJibkE/edit