Introduction sur le fichier POM de Maven

Introduction sur le fichier POM de Maven :

POM est un acronyme pour Project Object Model. Le fichier pom.xml contient des informations de projet et les informations de configuration pour maven afin de construire un projet respectant les normes comme les dépendances , construction des répertoire, le répertoire source, répertoire de test , plugins, objectifs, etc.

Maven lit le fichier pom.xml , puis exécute les objectifs à atteindre.

Avant maven 2 , il a été nommé en tant que fichier project.xml. Mais, depuis maven 2 (également en maven 3 ), il est renommé en tant pom.xml.

Éléments nécessaires du fichier maven pom.xml :

  • Project : c’est l’élément racine du fichier pom.xml.
  • modelVersion : Il doit être réglé sur 4.0.0.
  • groupId : Il spécifie l’id du groupe de projet.
  • artifactId : C’est le nom de votre projet.
  • version : C’est la version du projet.

 

Maven Repository

Maven Repository :

Maven repository est un répertoire de fichiers JAR emballés avec le fichier pom.xml. Il existe 3 types de repository maven :

  • Local Repository
  • Central Repository
  • Remote Repository

1)- Local Repository :

Local repository Maven est situé dans votre système local. Il est créé par maven lorsque vous exécutez une commande maven.
Vous pouvez changer l’emplacement du local repository en modifiant la balise <localRepository>(mettez le chemin ou vous voullez mettre le local repository, exemple : C:\Man\repo) qui existe dans le fichier settings.xml(vous le trouverez dans le répertoire conf, exemple : C:\Man\apache-maven-3.3.9-bin\apache-maven-3.3.9\conf).

2)- Central Repository :

Central Repository est situé sur le web. Il a été créé par la communauté apache maven.
Le chemin du référentiel central est : http://repo1.maven.org/maven2/

3) Maven Remote Repository :

Remote Repository est situé sur le web. La plupart des bibliothèques peuvent être manquantes à partir du central repository tel que JBoss, etc…, donc nous avons besoin de définir un référentiel distant dans le fichier pom.xml.

Maven, c’est quoi?

Maven, c’est quoi?

Ce tuto fournit des concepts de bases et avancés de la technologie apache maven3. Notre tutoriel maven est développé pour les débutants et les professionnels.

Maven est un outil de gestion de projet puissant qui est basé sur POM (modèle d’objet du projet ) . Il est utilisé pour des projets build, la dépendance et la documentation .

Il simplifie le processus de construction comme ANT. Mais il est trop avancé que ANT .

Il y a beaucoup de problèmes auxquels nous sommes confrontés lors de l’élaboration du projet. Ils sont décrits ci-dessous:

  • Ajout d’ ensemble de Jars dans chaque projet : dans le cas des frameworks struts, Spring, Hibernate, il faut ajouter un ensemble de fichiers JAR dans chaque projet ainsi l’inclusion de toutes les dépendances de ces fichiers JAR.
  • Création de la structure de projet : Nous devons créer la bonne structure du projet sinon il ne sera pas exécuté.
  • Construction et déploiement du projet : Nous devons avoir à construire et à déployer le projet afin qu’il puisse travailler.

Maven simplifie tous les problèmes mentionnés ci-dessus, et vous aidez également à faire les points ci-dessous :

  • Construire les projets facilement.
  • Il fournit des processus de construction uniforme(un projet maven peut être partagé par tous les autres projets maven).
  • Il fournit des informations sur les projets (documents log, liste de dépendances, rapports de tests unitaires, etc… ).
  • la migration est facile pour les nouvelles versions de Maven.

Déclaration des importations

Déclaration des importations :

Vous pouvez utiliser les classes et interfaces dans le même package sans préfixer leurs noms avec le nom du package. Mais pour utiliser une classe ou une interface d’un autre package, vous devez utiliser son nom complet. Parce que cela peut être fastidieux et peut rendre votre code difficile à lire, vous pouvez utiliser l’instruction import.
Regardons cela en utilisant une classe d’exemple, AnnualExam, qui est définie dans le package université. Classe AnnualExam est associée à la classe certification.ExamQuestion, comme le montre l’exemple ci-après :exemple_import_1

Ci-dessous le code qui correspond à la classe AnnualExam :

package university;
import certification.ExamQuestion;
class AnnualExam{
ExamQuestion eq;
}

Merci de noter que l’instruction import doit être toujours déclarée après le package(dans le cas ou l’instruction package n’existe pas, l’instruction import est déclarée dans la première ligne).

Les étiquettes Bootstrap 3

Les étiquettes Bootstrap 3 permettent d’ajouter un degré d’interactivité aux images. Nous allons, pour cela, utiliser la classe .thumbnail.

Créer une image cliquable

L’utilisation de la classe .thumbnail permet d’attacher un lien hypertexte à une image. Par défaut, cette dernière sera encadrée d’une bordure composée d’un arrière-plan de couleur blanche et d’un liseré gris. Lorsque le curseur survolera la zone, le liseré de la bordure deviendra bleu, indiquant à l’utilisateur que l’image renvoie vers un lien hypertexte.

Pour créer une telle zone cliquable, nous allons la positionner à l’intérieur d’une balise <a> dont la mise en forme sera assurée par la classe .thumbnail :

Ce qui donne le résultat ci-dessous :

Image cliquable - Bootstrap 3

Image cliquable – Bootstrap 3

Créer des étiquettes complexes

L’étiquette complexe est l’outil idéal pour créer une galerie de produits dans un site d’e-commerce. Cette fonctionnalité nous permet, en effet, de lier à une image un contenu HTML libre comprenant, par exemple, un titre, du texte ainsi que des boutons. L’ensemble de cette zone sera affiché à l’intérieur d’un cadre doté d’angles légèrement arrondis, de bordures blanches, entourées d’un léger liseré gris. Cette mise en forme élégante s’obtient, ici encore, via la classe .thumbnail.

Dans l’exemple ci-dessous, nous allons créer une page présentant une liste de voyages proposés par un tour-opérateur. Afin d’aligner correctement nos étiquettes, nous utiliserons la grille de Bootstrap 3 :

Découvrons l’aspect des étiquettes sur notre page :

Etiquettes complexes - Bootstrap 3

Etiquettes complexes – Bootstrap 3

 

Sql et la gestion des base de donnée

Sql et la gestion des base de donnée :

Créer une base de donnée :
SQL CREATE DATABASE est utilisée par un développeur pour créer une base de données.

  • La syntaxe est la suivante :

Supprimer une base de donnée :
SQL DROP est utilisée par un développeur pour supprimer une base de données.

  • La syntaxe est la suivante :

Renommer une base de donnée :
SQL RENAME DATABASE
est utilisée par un développeur pour modifier le nom d’une base de données.

Nous allons voir comment faire pour modifier le nom d’une base de donnée sur Mysql et Sql Server :

  • Renommer une base de donnée Mysql :
  • Renommer une base de donnée SqlServer :

     

     

Syntaxe SQL

Syntaxe SQL

SQL suit un certain nombre de règles et de directives appelées syntaxe. Ici, nous fournissons toute la syntaxe SQL de base.

  • SQL est pas sensible à la casse. Les mots-clés du langage SQL sont écrits généralement en majuscules.
  • Nous pouvons placer une instruction SQL sur une ou plusieurs lignes de texte.
  • Vous pouvez effectuer la plupart des actions dans une base de données avec des instructions SQL.
  • SQL dépend de l’algèbre relationnelle et calcul relationnel de tuple.

Instructions SQL

Les instructions SQL sont lancées avec l’une des commandes SQL comme SELECT, INSERT, UPDATE, DELETE , ALTER , DROP , etc., et la déclaration se termine par un point-virgule ( ; )

  • Exemple d’une instruction SQL :

Commandes SQL

Quelque commandes SQL importantes :
SELECT : Il extrait les données à partir d’une base de données.
UPDATE : Il met à jour les données dans la base de données.
DELETE :  Il supprime les données.
– CREATE TABLE : Utilisée pour créer de nouvelles tables.
– ALTER TABLE : Utilisée pour modifier les tables.
– DROP TABLE : Suppression des tables.
– CREATE DATABASE : Utilisée pour créer de nouvelles base de données.
– ALTER DATABASE : Utilisée pour modifier les base de données.
– INSERT INTO : inserer de nouvelles données dans une BD.
– CREATE INDEX : Il est utilisé pour créer un index (clé de recherche).
– DROP INDEX : Supprimer les index.

Introduction au Business Intelligence

C’est quoi le Business Intelligence ?

L’informatique décisionnelle (en anglais Business Intelligence, BI), est un concept proposé par IBM, Oracle, Microsoft, pour consolider l’énorme quantité de données que les entreprises génèrent pour que les utilisateurs puissent les comprendre et les exploiter, extraire des informations pertinentes et utiles à partir des données et présenter l’information dans des formats plus utiles, en utilisant des outils d’exploitation, de reporting et de visualisation avancées dans l’objectif d’améliorer les performances décisionnelles des entreprises en répondant aux demandes d’analyse des décideurs non informaticiens et non statisticiens.

SI transactionnel VS décisionnel

Le système transactionnel permet de gérer les données en production en temps réel. Il est conçu pour l’insertion, la modification, interroger rapidement, efficacement et en sécurité les données de la base, sélectionner, ajouter, mettre à jour, supprimer des tuples et répondre à de nombreux utilisateurs simultanément.

Mais il y a des requêtes complexes et lourdes qui abîment les performances des systèmes transactionnels, et des données temporelles réparties rendent la vue historique de données difficile.
Le système décisionnel gère les données agrégées, calculées selon des axes (critères d’analyse) prédéterminés à des fins d’analyse.

Le système décisionnel permet de naviguer sur les données pour un but d’analyse.

Le système décisionnel permet aussi de fournir différents niveaux d’analyse, de parcourir aux utilisateurs des différents niveaux de données pour mesurer des indicateurs importants (indicateurs de pilotage), détecter les évènements et les anticiper.

Exemple :

  • Etat des employés de l’entreprise par tranche d’âge, par sexe, par diplôme, etc.
  • Etat des absences des étudiants par module, par sexe, par période, etc.
  • Le type de produit dont les ventes augmentent constamment pendant le 3éme trimestre de l’année?
  • Est-ce qu’une baisse des prix de 5% ferait redémarrer les ventes ?

Faciliter et améliorer la prise de décisions stratégiques et tactiques.

Système décisionnel : trois générations
1ere génération : interrogation directe
Principes :
Extrait direct des sources ;
Adapté à une classe de décideur.
Inconvénients :
Décisions limitées ;
Pas de centralisation de données décisionnelle commues ;
Pas d’historisation de données.

2éme génération : Data Warehouse et Data Mart

Data Warehouse est une collection de données orientées objet, intégrées, non volatiles et historisées, organisées pour le support d’in processus d’aide à la décision. D’après Bill inmom (1996)

Lieu de stockage centralisé.

Extrait des sources des données historisées;
Organisé selon un modèle informatique facilitant la gestion des données(en plusieurs dimensions) ;
Pertinent pour les décideurs.

Data Mart : Un sous-ensemble de données dérivés du Data warehouse ciblé sur un sujet unique.

3éme génération : OLAP

Transformées intégrées avant d’être stockées dans l’entrepôt ;
L’entrepôt est en lecture seulement et définit spécifiquement pour la prise de décision ;
Les utilisateurs accèdent d’après une interface de l’application.

Base de données multidimensionnelle :

Facilitent les analyses selon plusieurs niveaux d’analyse.

Exemple :

Niveaux d’analyse en vente :

  • Le jour de la vente ;
  • La ville de la vente ;
  • Le produit vendu.

Généralement, des dimensions sont hiérarchisées : la date de vente peut-être organisée en une hiérarchie (année, trimestre, mois)

Dimension et indicateurs :

Pour analyser selon un (ou plusieurs) axe(s) on doit disposer d’un modèle relativement approprié et capable de stocker le résultat de nombreuse calculs d’agrégation : BD multidimensionnelle.

La modélisation multidimensionnelle propose d’analyser des indicateurs (généralement numériques) dans un contexte qui nécessite de croiser plusieurs dimensions.

  • Le modèle multidimensionn : Combinaison de plusieurs tables (dimensions et de faits)

Le fait est le sujet d’analyse. Il est formé de mesures (alimentées de manière continue).

Les mesures est le résumé (agrégation) d’un grand nombre d’enregistrements de données sources.

  • Le fait est analysé selon des perspectives (axes d’analyse) nommées dimensions dans le but de répondre à des requêtes analytiques.

Faits ?

La table de fait contient l’ensemble des mesures correspondant aux informations de l’activité à analyser.

Une table de fait contient des valeurs numériques de ce qu’on désire mesurer et les clés vers les tables de dimensions, en général elle contient un petit nombre de colonnes (champs) et les données sont utilisées pour faire des sommes, moyennes, etc.

Schéma conceptuel en étoile : Les dimensions sont directement reliées à la table de fait.

Avantages :

  • Facilité de navigation
  • Nombre de jointures limité

Inconvénients :

  • Redondance dans les dimensions
  • Toutes les dimensions ne concernent pas les mesures

Schéma relationnel en flocon : modèle de mise en relation des dimensions et des faits dans un entrepôt de données. Le principe étant qu’il peut exister des hiérarchies de dimensions et qu’elles sont reliées à la table de fait.

Avantages :

  • Normalisation des dimensions
  • Economie d’espace disque (réduction du volume)

Inconvénients :

  • Modèle plus complexe (nombreuses jointures)
  • Requêtes moins performantes
  • Navigation difficile

Cube de données

La modélisation multidimensionnelle utilise des schémas (en étoile, flocon, etc.) pour prendre en charge des structures de données multidimensionnelles appelées cubes.
Un DW (Data Warehouse) est basé sur un modèle multidimensionnel où les données sont vues comme des data cubes permettant de voir les données selon plusieurs dimensions

  • Intérêt de la modélisation multidimensionnelle est d’analyser selon plusieurs axes.

Hiérarchies

Une hiérarchie représente une perspective d’analyse précisant les niveaux de granularité auxquels peuvent être manipulés les indicateurs d’analyse .Elle permet d’organiser les membres d’une dimension selon une relation est plus fin conformément à leur niveau de détail.

Exemple :

La dimension « temps », par exemple, pourrait être divisée en années, trimestres, mois, semaines, jours, etc.

Drill-up : synthèse des informations en fonction d’une dimension (exemple de drill-up sur l’axe temps : passer de la présentation de l’information jour par jour sur une année, à une valeur synthétique pour l’année),

Drill-down : c’est l’équivalent d’un « zoom », opération inverse du drill-up,

Conception d’un DW :

Il est conseillé de décomposer le problème en sous problèmes : Résoudre une problématique précise d’un petit groupe d’utilisateurs.
Une démarche pragmatique pour construire un Data Wrehouse c’est de construire tout d’abord des petites structures ( Data Mart), très ciblées et pilotées par les besoins des utilisateurs (un sujet).

Data Mart a la même vocation qu’un Data Warehouse sauf qu’il vise une problématique métier et par conséquent un petit nombre d’utilisateurs.

C’est donc une base de données orienté sujet mise à la disposition des utilisateurs ciblés.

On doit :

  • Préciser la ou les indicateurs qu’on souhaite analyser.
  • Spécifier le ou les axes d’analyse sur lesquels les indicateurs doivent être projetés.
  • Spécifier la population sur laquelle l’analyse doit être appliquée.

OLAP vs OLTP
L’objectif des bases OLTP est de pouvoir répondre rapidement à des réponses simples, exemple : les ventes du produit X.
Les bases OLAP permettent des requêtes plus complexes : les ventes du produit X par vendeur, région et par mois.

ETL (Extraction, Transformation et Load)

Est un outil chargé d’extraire des données depuis les différentes sources d’information de l’entreprise, les nettoyer et de les charger dans un entrepôt de données.

Extraction (Extraction): Ces opérations permettent de filtrer les données à partir de données sources (BD, fichiers, sites web, etc.) dans des bases de données temporaires.

Transformation (Transformation): Ces opérations permettent de transformer les données extraites dans un format uniforme, les conflits entre les modèles, les schémas et les données sont résolus durant cette phase.

Chargement (Load): Ces opérations permettent de charger les données transformées dans la base de données cible, la base de données cible est souvent implantée avec un SGBD relationnel-objet.

Agrégat et groupement (Aggregating and grouping): La base de données cible doit permettre de stocker les données opérationnelles et les données issues de calculs.

Groupement multiple

GROUP BY GROUPING SETS

GROUP BY a, b equivalent à GROUP BY GROUPING SETS (a, b);

GROUP BY GROUPING SETS ((a, b),(a, c),(a)) equivalent à GROUP BY a GROUPING SETS((b),(c),());

GROUP BY ROLLUP

GROUP BY ROLLUP a, b, c equivalent à GROUP BY a, b, c GROUPIN SETS ((a, b, c),(a, b),(a),());

GROUP BY CUBE

GROUP BY CUBE a, b, c equivalent à GROUP BU a, b, c GROUPING SETS ((a, b, c),(b, c),(c),());

Fouille de données : Data mining

Volumétrie des données (DW, Big Data, etc.), cela est dure à la maturité des technologies de base de données et à l’automatisation de collecte de données.

Croissance exponentielle de la collecte des données (Internet, scanners de télésurveillance, etc.)

Besoin de techniques pour analyser ces données pour en extraire des informations pertinentes.

Exemple de sources de données :

  • Hébergement de document ;
  • Big Data ;
  • Réseaux sociaux (Facebook, Gmail, etc.) ;
  • Entrepôt du web (Google) ;
  • Tracking Data on the internet (sites visités, mot-clé recherchés, etc.) ;
  • Etc.

Une grande masse de données mais pas assez d’information.

Data mining est un processus qui permet l’extraction non triviale de connaissances implicites (à partir des données issues de grands entrepôts de données) qui sont potentiellement utilisés. Appelé souvent fouille de données est conçu pour l’exploitation et l’analyse de grandes quantités de données afin d’y découvrir de l’information implicite.

Data mining vs Statistiques

Data mining :

  • Des millions d’indicateurs ;
  • Des centaines de variables ;
  • Des données recueillies sans étude préalable ;
  • Une nécessité de calculs rapides.

Statistiques :

  • Quelques certaines d’indicateurs ;
  • Quelques variables ;
  • Fortes hypothèses sur les lois statistiques ;
  • Une importance accordée au calcul ;
  • Un échantillon aléatoire.

Les techniques de Data mining sont plus complexes que de simples statistiques descriptives dans il y a les outils d’intelligence artificielle, algorithmes sophistiques, théorie de l’information (arbre de décision, etc.).