About the Author

OpenTuto

Injection de dépendance – Méthode Setter

Injection de dépendance – Méthode Setter :

Dans ce tuto, nous allons voir comment faire une injection de dépendance en utilisant la méthode setter :

  • Injecter une variable primitive :
    Nous allons créer une classe Personne.java qui va contenir 2 variables (id et nom) et leurs méthodes setter et getterPersonne.java :


    applicationContext.xml :


    Classe d’éxecution (Main.java) :

  • Injecter un Objet :
    Dans le cas ou on a une relation entre deux classes une relation de type HAS-A, du coup nous avons besoin de créer l’instance de la classe B pour la faire passer au constructeur de la classe A. Nous allons prendre l’exemple d’une personne qui a une adresse.(Personne Has-A Adresse)

    Adresse.java :

    Personne.java :

     aplicationContext.xml :

    Classe d’éxecution(Main.java) :

     

     

Autres apports de la version 2 de Hadoop

La version 2 de Hadoop supporte officiellement Windows Server et Windows Azure.

La version 2 de Hadoop permet aussi :

  • D’accéder à HDFS à partir d’un système de fichiers distribué NFS-v3, ce qui permet alors de considérer HDFS comme un disque partagé standard.
  • De prendre des « clichés » (snapshots) de tout ou partie d’un cluster.

Hadoop 2 – YARN (Yet Another Resource Negotiator)

Apache Hadoop YARN (Yet Another Resource Negotiator) est une technologie de gestion de clusters. Elle rend l’environnement Hadoop mieux adapté aux applications opérationnelles qui ne peuvent pas attendre la fin des traitements par lots.

La principale différence entre Hadoop version 1 et Hadoop version 2 est la séparation claire dans la version 2 entre la gestion des ressources du cluster et le modèle de traitement des données.

Hadoop 1 vs Hadoop 2

Dans la version 1, MapReduce assure à la fois la gestion des ressources et le traitement des données.

Dans la version 2 :

  • La gestion des ressources du cluster est assurée par YARN.
  • Les modèles de traitement des données, MapReduce pour ce qui nous concerne, s’appuient sur YARN.
Hadoop 1 vs Hadoop 2

Hadoop 1 vs Hadoop 2

Les deux aspects « gestion des ressources du cluster » et « modèle de traitement des données » sont nettement distincts dans la version 2 de Hadoop, ce qui permet d’utiliser YARN avec des modèles de traitement différents de MapReduce tout en bénéficiant des fonctionnalités de HDFS.

Les daemons de type JT et TT n’existent plus dans la version 2 de Hadoop. Ils sont remplacés par plusieurs nouveaux daemons :

  • Le ResourceManager (RM) : il y en a un par cluster.
  • L’ApplicationMaster (AM) : il y en a un par job.
  • Le NodeManager (NM) : il y en a un par nœud esclave.

Hadoop 2 – HDFS Federation

Le dispositif HDFS Federation permet de faire cohabiter plusieurs NameNodes (NN) au sein d’un même cluster physique.

Les NN sont indépendants deux à deux : chaque NN gère un espace de nommage (namespace) qui lui est propre et les NN ne communiquent pas entre eux.

Chaque NN se voit allouer un certain nombre de blocs pour stocker les fichiers dont il a la charge. Ces blocs sont répartis sur plusieurs nœuds. Un disque peut héberger des blocs correspondant à des NN différents.

L’intérêt du concept de Federation est double :

  • Federation facilite le scaling out d’un cluster :
    • Il est facile de rajouter des nœuds pour augmenter la capacité de stockage et/ou la puissance de traitement mais, dans la version 1, toute la charge de travail repose sur un seul NN, ce qui a ses limites lorsque l’on gère des clusters de plusieurs milliers de nœuds.
    • La version 2 de Hadoop, en distribuant la charge de travail entre plusieurs NN, facilite l’avènement de clusters de grande taille ; les temps de réponse au niveau des NN peuvent être améliorés (moins de métadonnées à gérer pour chaque NN, d’où besoins en RAM et en temps CPU moindres pour chaque NN, etc.).
  • Federation permet d’isoler chaque namespace des autres, par exemple pour faire cohabiter au sein d’un même cluster physique un cluster logique de développement et un cluster logique de production.
Une Federation HDFS

Une Federation HDFS

Les notions de High Availability et de Federation sont indépendantes. Il est possible d’activer l’une ou l’autre, ou les deux. Dans ce dernier cas, il faut activer l’option Federation avant d’activer l’option High Availability.

Développer un portfolio en HTML, CSS et JavaScript

Dans cette serie de vidéos, nous allons développer ensemble un portfolio en HTML, CSS et JavaScript.

La première vidéo sera consacrée à la mise en place de l’environnement et la strcture du projet :

La deuxième vidéo vous montre comment installer les fonts à utiliser dans la création du portfolio ainsi que font awesome:

Dans cette troisième vidéo, nous allons développer la page d’accueil de notre portfolio :

Injection de dépendance – Par Constructeur

Injection de dépendance – Par Constructeur :

Dans ce tuto, nous allons voir les différentes maniere pour faire une injection de dépendance par Constructeur.

    • Injecter une variable Primitive :
      Nous allons créer une classe Personne.java qui va contenir 2 variables (id et nom), trois constructeurs et une methode, ci-dessous le code source

      Nous allons maintenant créer le fichier applicationContexte.xml, c’est au niveau de ce fichier que nos objets seront créés ainsi que leur injection.

      L’injection dans ce cas se fait par un Constructeur, donc on va utiliser constructor-arg

      En fin, nous allons créer la classe d’exécution :

      Résultats :

    • Injecter un Objet :
      Dans le cas ou on a une relation entre deux classes une relation de type HAS-A, du coup nous avons besoin de créer l’instance de la classe B pour la faire passer au constructeur de la classe A.Nous allons prendre l’exemple d’une personne qui a une adresse.(Personne Has-A Adresse)Adresse.java :
      Nous pouvons injecter des valeurs de collections en utilisant un constructeur, trois éléments peuvent être utilisés dans le tag <constructeur-arg> : List, Set, Map. Puisque les trois éléments sont utilisés de la même manière nous allons faire l’exemple de List.Personne.java :

      applicationContext.xml :


      Classe d’éxecution(Main.java) :


       
    • Injecter une collection :
      Nous pouvons injecter des valeurs de collections en utilisant un constructeur, trois éléments peuvent être utilisés dans le tag <constructeur-arg> : List, Set, Map. Puisque les trois éléments sont utilisés de la même manière nous allons faire l’exemple de List.Dans ce cas nous allons utiliser la classe Client, un client peut passer plusieurs commandes :Client.java :

      applicationContext.xml :

      Classe d’éxecution(Main.java) :

       


       

       

       

Spring – Injection de dépendance(DI)

Spring – Injection de dépendance(DI) :

L’injection de dépendance(DI) est un design pattern qui nous permet de supprimer les dépendances entre le code, ce dernier facilite la gestion de l’appli, test et maintenance de l’application, le couplage du code est faible, donc on peut changer dans l’application sans faire bcp de modifications dans le code.

Les informations seront fournies depuis un fichier xml.

Nous avons deux façons pour faire l’injection de dépendance :

 

Integration du framework Spring avec Hibernate

Integration du framework Spring avec Hibernate :

On peut facilement integrer spring avec hibernate, dans ce cas on n’aura pas besoin de créer le fichier hibernate.cfg.xml(c’est le fichier qui contient les informations de connexion avec la base de donnée ), toutes ces configurations seront intégrées dans le fichier applicationContext.xml.

L’avantage d’utiliser Spring avec Hibernate :

Spring fournit une classe qui s’appele HibernateTemplate, qui nous permet en fait de créer la configuration, BuildSessionFactory, Session, commencer et commiter les transactions etc…, donc puisque tout ce que nous venons de dire sera géré automatiquement, du coup on aura pas besoin d’écrire bcp de lignes de code.

7 étapes à suivre pour réussir l’intégration du Spring et Hibernate :

  1. Créer la base de donnée.
  2. Importer les jars necessaires.
  3. Créer la classe java beans
  4. Créer le fichier de mapping (.hbm.xml)
  5. Créer la classe qui va intéragir avec la base de donnée
  6. Créer le fichier applicationContext.xml.
  7. Créer la classe exécution.

Ci-dessous la description de chaque étape.

  1. Créer la base de donnée :
    Nous allons utiliser MySql comme SGBD, ci-dessous le script à utiliser pour créer la table personne.
  2. Importation des jars :
    Vous pouvez telecharger la version souhaitée.
  3. Créer la classe java beans :
    Nous allons créer une classe javabeans qu’on va la nommer Personne.java, ci-dessous le code :
  4. Création du fichier de mapping (.hbm.xml) :
    Ce fichier nous permet de faire en fait la liason entre les attributs de la classe et les champs de la table c’est ce qu’on appele le mapping.
  5. Creation de la classe DAO :
    c’est avec cette classe qu’on peut mettre en place nous méthode pour faire des mises à jour à une base de donnée.

    Donc comme vous voyez la classe HibernateTemplate à déjà des methodes qui sont prédefinies. Donc HibernateTemplate nous permet de faire tous ces trucs en écrivant un peu de code c’est wow n’est ce pas !!
  6. Creation du fichier applicationContext.xml :
    c’est au niveau de ce fichier qu’on va faire presque toute la config du projet : connexion avec base de donnée, création des objet(en se basent sur IOC), injection des depandances, etc…
  7. Exécution du projet :
    on va créer une classe qui va prendre en charge l’exécution de notre projet.

    Pour bien comprendre le pricipe d’IOC je vous invite à voir ce tuto Spring.
Tableau de bord Wordpress

Tableau de bord WordPress

Le Tableau de bord est une page permettant d’avoir une vue rapide sur le site, vous y retrouvez différents blocs : les derniers articles, les derniers commentaires, les dernières activités des auteurs, des nouvelles de WordPress…

tableau-de-bord-wordpress

Tableau de bord

Accueil

L’onglet Accueil du tableau de bord est la page principale de l’administration. Après chaque connexion au panel d’administration, vous arrivez sur cette page.

Dans les Options de l’écran, menu situé en haut à droite de la page, vous pouvez choisir d’afficher ou de masquer certains blocs. Il est aussi possible de réorganiser les blocs en faisant le glisser-déposer avec la souris.

Vous pouvez choisir d’afficher ou de masquer certains blocs en utilisant les Options de l’écran, menu situé en haut à droite de la page.

Il est aussi possible de changer l’emplacement d’un bloc en placant la souris sur le titre et faites un glisser-déposer.

Suite à l’installation de certaines extensions, de nouveaux blocs peuvent apparaître, par exemple un bloc avec des scores SEO, un autre avec des statistiques sur les utilisateurs…

Mises à jour

L’onglet mise à jour du Tableau de bord permet en un seul clic de mettre à jour WordPress, les extensions et les traduction. Il permet également de réinstaller et de vérifier l’existence d’une nouvelle version de WordPress.

Il faut absolument faire une sauvegarde avant de faire les mises à jour. En effet, lors de mises à jour, certains fichiers sont écrasés et remplacés, ou ont parfois du mal à se transférer si votre connexion Internet est trop lente.
Se connecter au tableau de bord de wordpress

Se connecter au tableau de bord de WordPress

Le pannel d’administration de WordPress

Pour accèder au panel d’administration de votre site, connectez-vous en ajoutant à la fin de votre URL « /wp-admin » ou « /wp-login.php ».

Exemple : http://www.mon-nom-de-domaine.extension/wp-admin

ou : http://localhost/nom_du_dossier/wp-admin

Entrez votre identifiant et votre mot de passe pour accéder au panel d’administration :

Page de connexion à l’administration du site.

Page de connexion à l’administration du site.

Vous devez voir s’afficher la page d’accueil de l’administration(Tableau de bord ou Dashboard en anglais) :

Tableau de bord WordPress

Tableau de bord

Dans les sections suivantes, vous verrez l’utilisation des onglets qui composent le menu de gauche, c’est le menu principal de l’administration de WordPress.

Menu principal.

Menu principal.

Vous retrouvez tout en haut du site un menu horizontal qui permet d’accéder plus rapidement à certaines sections du menu principal.

Menu horizontal.

Menu horizontal.

En haut à droite, un menu d’options, Options de l’écran, permet d’afficher ou de cacher certaines fonctionnalités, selon la page où vous vous trouvez.

Le menu Options de l’écran.

Le menu Options de l’écran.

Le menu Aide à côté permet de vous guider dans l’utilisation de la page où vous vous trouvez (liens vers le codex, forum d’entraide…).

Le menu Aide.

Le menu Aide.