Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Symphorien Niyonzima
Mémoire présenté et défendu pour
l’obtention de Diplôme de Licence en
Informatique de Gestion à l'Institut Supereur d'Informatique et de Gestion de Goma en sigle ISIG-Goma
Supervision de réseau informatique - NagiosAziz Rgd
L’installation de Nagios 3.5.0
Pré-requis
Avant de commencer l’installation de Nagios, on commence par mettre à jour le système:
# sudo apt-get update
# sudo apt-get upgrade
Il faut dans un premier temps installer le package « build-essential » qui comporte les librairies de développement de bases:
# sudo apt-get install build-essential
Nagios utilise une interface Web pour interagir avec les utilisateurs. Il faut donc installer un serveur Web sur notre serveur de supervision.
On va utiliser Apache (version 2):
# sudo apt-get install apache2 wget rrdtool bsd-mailx librrds-perl libapache2-mod-php5 php5 php-pear php5-gd php5-ldap php5-snmp libperl-dev
Certaine librairie sont également nécessaires au bon fonctionnement de Nagios et de ces plugins :
# sudo apt-get install bind9-host dnsutils libbind9-80 libdns81 libisc83 libisccc80 libisccfg82 liblwres80 libradius1 qstat radiusclient1 snmp snmpd
Pour tester votre serveur Web, il faut commencer par le lancer…
# sudo apache2ctl start
On test si apache fonctionne, pour cela, ouvrez votre navigateur Internet et entrez votre adresse IP. Dans mon cas c’est 10.0.0.15.
On installe les librairies qui serviront à Nagios pour afficher de beaux diagrammes réseau:
# sudo apt-get install libgd2-noxpm-dev libpng12-dev libjpeg62 libjpeg62-dev
On installe MySQL .
# sudo apt-get install mysql-server
# sudo apt-get install php5-mysql
# sudo apt-get install libmysqlclient15-dev
Pour des raisons de sécurité, le processus Nagios ne sera pas lancé en root. Nous allons donc créer un utilisateur système nagios et un groupe nagios.
# sudo /usr/sbin/useradd nagios
# sudo passwd nagios
# sudo /usr/sbin/groupadd nagios
# sudo /usr/sbin/usermod -G nagios nagios
# sudo /usr/sbin/usermod -G nagios www-data
Téléchargement de Nagios et des plugins Nagios
Avant d’installer Nagios, allez sur le site afin de télécharger la dernière version de Nagios et la dernière version des plugins Nagios.
Dans notre documentation, nous utiliserons Nagios 3.5.0 et plugins Nagios 1.4.16.
Ensuite, on télécharge ces versions sur notre serveur
# sudo cd /usr/src
# sudo wget http://surfnet.dl.sourceforge.net/sourceforge/nagios/nagios-3.5.0.tar.gz
# sudo wget http://kent.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
Compilation depuis les sources
On commence par décompresser les sources:
# sudo tar xzf nagios-3.5.0.tar.gz
# sudo cd nagios
Nous allons lancer la compilation grâce aux commandes suivantes:
# sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagios --enable-event-broker --enable-nanosleep --enable-embedded-perl --with-perlcache
# sudo make all
# sudo make fullinstall
# sudo make install-config
On installe ensuite le script de démarrage (pour que Nagios se lance automatique)
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Symphorien Niyonzima
Mémoire présenté et défendu pour
l’obtention de Diplôme de Licence en
Informatique de Gestion à l'Institut Supereur d'Informatique et de Gestion de Goma en sigle ISIG-Goma
Supervision de réseau informatique - NagiosAziz Rgd
L’installation de Nagios 3.5.0
Pré-requis
Avant de commencer l’installation de Nagios, on commence par mettre à jour le système:
# sudo apt-get update
# sudo apt-get upgrade
Il faut dans un premier temps installer le package « build-essential » qui comporte les librairies de développement de bases:
# sudo apt-get install build-essential
Nagios utilise une interface Web pour interagir avec les utilisateurs. Il faut donc installer un serveur Web sur notre serveur de supervision.
On va utiliser Apache (version 2):
# sudo apt-get install apache2 wget rrdtool bsd-mailx librrds-perl libapache2-mod-php5 php5 php-pear php5-gd php5-ldap php5-snmp libperl-dev
Certaine librairie sont également nécessaires au bon fonctionnement de Nagios et de ces plugins :
# sudo apt-get install bind9-host dnsutils libbind9-80 libdns81 libisc83 libisccc80 libisccfg82 liblwres80 libradius1 qstat radiusclient1 snmp snmpd
Pour tester votre serveur Web, il faut commencer par le lancer…
# sudo apache2ctl start
On test si apache fonctionne, pour cela, ouvrez votre navigateur Internet et entrez votre adresse IP. Dans mon cas c’est 10.0.0.15.
On installe les librairies qui serviront à Nagios pour afficher de beaux diagrammes réseau:
# sudo apt-get install libgd2-noxpm-dev libpng12-dev libjpeg62 libjpeg62-dev
On installe MySQL .
# sudo apt-get install mysql-server
# sudo apt-get install php5-mysql
# sudo apt-get install libmysqlclient15-dev
Pour des raisons de sécurité, le processus Nagios ne sera pas lancé en root. Nous allons donc créer un utilisateur système nagios et un groupe nagios.
# sudo /usr/sbin/useradd nagios
# sudo passwd nagios
# sudo /usr/sbin/groupadd nagios
# sudo /usr/sbin/usermod -G nagios nagios
# sudo /usr/sbin/usermod -G nagios www-data
Téléchargement de Nagios et des plugins Nagios
Avant d’installer Nagios, allez sur le site afin de télécharger la dernière version de Nagios et la dernière version des plugins Nagios.
Dans notre documentation, nous utiliserons Nagios 3.5.0 et plugins Nagios 1.4.16.
Ensuite, on télécharge ces versions sur notre serveur
# sudo cd /usr/src
# sudo wget http://surfnet.dl.sourceforge.net/sourceforge/nagios/nagios-3.5.0.tar.gz
# sudo wget http://kent.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
Compilation depuis les sources
On commence par décompresser les sources:
# sudo tar xzf nagios-3.5.0.tar.gz
# sudo cd nagios
Nous allons lancer la compilation grâce aux commandes suivantes:
# sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagios --enable-event-broker --enable-nanosleep --enable-embedded-perl --with-perlcache
# sudo make all
# sudo make fullinstall
# sudo make install-config
On installe ensuite le script de démarrage (pour que Nagios se lance automatique)
Ce cours présente à l'apprenant une typologie sur les réseaux informatiques. Nous commençons par circonscrire la notion de réseau, définir le terme réseau informatique, identifier quelques avantages et inconvénients des réseaux informatiques et identifier les types (selon plusieurs critères) des réseaux informatiques.
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-vmware-vsphere-5
VMware a dominé depuis longtemps le marché de la virtualisation des serveurs. Cette formation explore l'installation, la configuration et la gestion de VMware vSphere 5, qui se compose de VMware ESXi et VMware vCenter Server en ces deux versions Windows et Appliance.
Vous allez découvrir toutes les fonctionnalités de cette suite : ESXi, vCenter/vCSA, Machines virtuelles, Web client, réseaux virtuels, vDS, Stockage SAN/NAS/iSCSI/FC, SIOC/NIOC, vMotion/svMotion, clonage/template, hot add/hot plug, DRS/SDRS, HA, alarmes, délégation...
Durant cette formation, vous allez acquérir des compétences critiques pour votre carrière en virtualisation sur le terrain.
Ce cours présente à l'apprenant une typologie sur les réseaux informatiques. Nous commençons par circonscrire la notion de réseau, définir le terme réseau informatique, identifier quelques avantages et inconvénients des réseaux informatiques et identifier les types (selon plusieurs critères) des réseaux informatiques.
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-vmware-vsphere-5
VMware a dominé depuis longtemps le marché de la virtualisation des serveurs. Cette formation explore l'installation, la configuration et la gestion de VMware vSphere 5, qui se compose de VMware ESXi et VMware vCenter Server en ces deux versions Windows et Appliance.
Vous allez découvrir toutes les fonctionnalités de cette suite : ESXi, vCenter/vCSA, Machines virtuelles, Web client, réseaux virtuels, vDS, Stockage SAN/NAS/iSCSI/FC, SIOC/NIOC, vMotion/svMotion, clonage/template, hot add/hot plug, DRS/SDRS, HA, alarmes, délégation...
Durant cette formation, vous allez acquérir des compétences critiques pour votre carrière en virtualisation sur le terrain.
Divisés par des mots communs | Farnell Morisset à TEDxQuébec 2013TEDxQuébec
Un mot, une idée. Du moins, c’est ça le principe. Mais la communication d’idées complexes se fait souvent par approximation, et nous ne plaçons pas les lignes entre les idées de la même façon. Une solution possible: le lexique scientifique? Et ensuite?
Farnell est diplômé en génie de l'Université Laval. Il travaille en développement des affaires dans le secteur de la technologie à Québec. Dans ses temps libres, il s’implique dans le monde des médias traditionnels et alternatifs et aux organismes communautaires. Il s'intéresse aux méthodes de communication, compréhension, et partage d’idées. Il croit en la réduction d’une idée à ses composantes de base afin d’en examiner les fondements avant d’en dialoguer de façon efficace.
Club de la Com : Premier pas sur viadeo linkedinBernard MARTINEZ
Cette matinée Les Premiers Pas sur les réseaux sociaux organisée par le Club de la Com de Toulouse c'est déroulé ce vendredi 7 février 2014.
Rémi GAMBIER, Social Media Manager chez ATCHIK SERVICES
Jean-Renaud XECH, Community Manager chez TOULOUSE METROPOLE
Nicolas RICHER, Consultant en Webmarketing
m'ont accompagné dans ces ateliers et j'ai moi-même traité de Viadeo-Linkedin avec la présentation ci-dessus.
Este documento define una red de telecomunicaciones como el conjunto de medios, tecnologías, protocolos y facilidades necesarios para intercambiar información entre usuarios. Describe cuatro tipos principales de redes: PAN, LAN, MAN y WAN. También incluye una descripción gráfica de redes y dispositivos comunes como repetidores, concentradores, puentes, conmutadores y routers.
La Loi de Finances 2015: ce qui va changer pour les PMECJD ALGERIE
"La Loi de Finances 2015: ce qui va changer pour les PME"
Pour tout savoir sur les nouvelles dispositions, et leur impact sur les procédures et revenus de ton entreprise et comment t’y préparer : : baisse de l’IBS, rémunération des gérants associés, régime IFU (Impôt Forfaitaire Unique),....
Comment le storytelling se construit ? Comment fonctionne-t-il ? Pourquoi est-il si efficace ? Comment l'utiliser efficacement pour vous, votre marque ou votre entreprise ? Quelques chiffres et exemples
Este documento presenta un manual básico para el uso del programa Microsoft PowerPoint XP. Incluye instrucciones para crear y formatear diapositivas, incorporar y editar texto e imágenes, agregar transiciones y animaciones, y guardar y publicar presentaciones. El manual contiene 21 secciones con pasos detallados para realizar estas tareas comúnmente usadas en PowerPoint.
Support Dot Net avec C#. Ce cours traite les points suivants :
- Architecture .Net
- Les bases de C#
- Objet et Classe
- Héritage
- Encapsulation
- Polymorphisme
- Les exceptions
- Les entrées sorties
- Les interfaces graphiques
- Le multi Threading
- Programmation réseaux (Sockets et DataGram)
- Accès aux bases de données
Javascript - Fonctions : que fait ce code ?Ruau Mickael
Ce document a été conçu et utilisé sur plusieurs sessions de formation professionnelles pour développeurs logiciels.
Il présente la syntaxe du langage javascript à usage d'un public de développeurs maîtrisant déjà un langage de développement (langage C, Java, C Sharp, PHP...).
Niveau : débutant.
Séance numéro : 4/10.
Temps nécessaire à la séance : environ 1h.
Cette séance est issue d'une série de 10 séances présentant le langage javascript (niveau débutant à confirmé).
Le niveau débutant de la série se réalise en 2 jours.
La niveau confirmé se réalise en 3 jours.
Ce programme est conforme aux titres du ministère du travail :
- Développeur Logiciel
- Concepteur Développeur Informatique
Il permet de valider les modules correspondants de ces titres RNCP (compétences développement de pages web).
La méthode utilisée mélange les approches interrogatives et actives :
- à partir d'exemples de code, faire raisonner les stagiaires par raisonnement hypothético-déductif ("que fait ce code?")
- à partir de code "à trous", faire découvrir et appliquer des éléments de syntaxe (travaux pratiques "construisons ensemble")
- à partir des problèmes rencontrés, faire rechercher des solutions possibles aux problèmes soulevés par le code "énigme" ("quelles solutions?")
- à partir de code "énigme", faire vérifier l'assimilation des connaissances ("vrai ou faux?")
Inclus :
- code à trou
- grille d'évaluation
Ce document powerpoint est également disponible en marque blanche. Nous contacter via notre compte twitter @forgelogicielle.
Ce cours aborde la gestion d'erreurs en programmation, c'est-à-dire comment gérer les situations où une erreur se produit. Après avoir présenté le principe des spécifications et de la programmation défensive avec l'instruction assert, ce cours présente l'instruction try/except qui permet de capturer des erreurs. Enfin, le cours termine en présentant comment définir ses propres erreurs et les générer avec l'instruction raise.
50 nouvelles choses que l'on peut faire avec Java 8José Paumard
Java 8, c'est bien sûr l'arrivée des lambdas, des Stream et des Collectors. Mais ce n'est pas que cela. Plein de nouvelles choses sont aussi offertes : un nouvelle API pour les dates, un nouveau moteur Javascript, une nouvelle version de JavaFX, une nouvelle ConcurrentHashMap, une nouvelle HashMap, des nouveautés dans le domaine de la concurrence, et toutes sortes de petites choses qui vont nous faciliter la vie, que l'on se propose de passer en revue ici.
(Slides de la présentation à la conférence Agile France 2010)
Vous avez lu la cheatsheet de JMock, la documentation d’EasyMock, la FAQ de Mockito et pourtant, la moitié de votre code n’est toujours pas couvert. Vous n’arrivez juste pas à poser de tests dessus.
Votre code est intestable.
L’objectif de la session est de montrer pourquoi certains codes ne peuvent pas être testés et ce qui peut être fait pour y remédier. Nous verrons ainsi pourquoi il vaut mieux respecter la loi de Demeter et faire de l’injection de dépendances. Nous aborderons également les problèmes des classes avec trop de responsabilités et des états globaux.
Initiation au code : Ateliers en C# (applications desktop et mobile native)Stéphanie Hertrich
Coding - Initiation au code pour les vrais débutants
--- Apprenez les bases de l'algorithmie. Mettez-les en pratique pour créer votre première application de bureau, puis des applications mobiles natives pour Windows Phone ---
À destination de vrais débutants qui n’ont jamais tapé une ligne de code, ces cours vous permettront de comprendre les bases d’algorithmie et découvrir en pratique ce qu’est le code avec des exemples simples et amusants.
Le but n’est pas de faire de vous des développeurs mais de vous donner un niveau qui vous permette de suivre des formations pour développeurs débutants.
Les concepts enseignés sont valables pour tous les langages mais en pratique nous utiliserons le langage C# avec l’environnement de développement Visual Studio 2013.
Cet atelier a été conçu dans le cadre d'une initiative menée conjointement par Girls in Tech Paris et Microsoft France.
Le programme et les explications ici : http://gitparis.com/2013/12/02/cours-de-coding-les-inscriptions-sont-ouvertes-voila-le-programme/
Les slides correspondent aux 3 premiers ateliers (7 cours de 3 heures).
Nouveautés JavaScript dans le monde Microsoftdavrous
Présentation delivrée le 19 mars 2015 lors du JavaScript Open Day: http://www.meetup.com/Javascript-Open-Day/events/220087351/
Au programme: les nouveautés du moteur du projet Spartan comme Web Audio ou ECMAScript 6
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Normandy JUG
Ces nouvelles fonctionnalités introduites à partir de Java 7 nous permettent de parallèliser nos traitements simplement, voire gratuitement. Nous allons donc pouvoir utiliser pleinement nos multicoeurs avec un minimum d'efforts. Quels sont ces nouveaux patterns, quels gains en performance pouvons-nous en attendre, à quels nouveaux bugs serons-nous confrontés ? Une heure pour répondront à chacun de ces points, en introduisant les nouveaux problèmes et leurs solutions. Une heure pour comprendre comment nos habitudes de programmation vont devoir évoluer, et à quoi la programmation parallèle en Java ressemblera-t-elle demain.
2. Sommaire
I-Petite programme en java
Mini projet 1
Java 0 : On veut afficher notre premier programme
Java 1 Nombre entier inférieur à 15
Java 2 -0 Nombre paire inférieure à 20
Java 2 Nombre paire inférieure à 20
Java 3 Nombre impaire inférieure ou égale à 18
Java 3 lire les entrés du clavier
Java 4 Un nombre entier puis les 10 nombre suivant
Java 5 CALCULE DU IMC (indice de masse corporelle )
Java 6 Somme et Produit de deux entier
Java 7
Java 8 constantes maths;
Exercice 1
Exercice 2
Exercice 3
Montant payable
II - Résume java niveau 1
Mini exercices solution 1
Mini exercices solution 2
A - Conversion d'horloge java
B - Comparaison par min max
C - Montant en lettre
B - Equation du 2ème degré.
III - J2EE - Java 2 Enterprise Edition
Java Framework
Introduction à J2EE
Les API de J2EE
Les composants
Les services
HOUNGBEME Joseph http://master1istri.blogspot.com/
2
3. PETITE PROGRAMME EN JAVA BEBUTANT
0° afficher Bonjour le monde !
1° Un programme qui affiche les nombres entiers inférieure à
15 ligne par ligne
2° Un programme qui affiche les nombres pairs inférieurs a
20 ligne par ligne
3° Un programme qui affiche les nombres
impaire ne dépassant pas 18 linge par ligne
4° Programme qui saisit un nombre entier puis affiche les 10
nombre suivant
5 ° Programme qui calcule l'indice de masse corporelle
IMC d'un individus
6 ° Programme qui saisit deux nombre entier puis affiche leur
somme , leur produit
7 ° Programme qui saisit un entier puis affiche : sa moitié,
son carré, puis son double .
8 ° Afficher la valeur de pi. valeur d'exponentielle de sinus
45 de cosinus 10 racine carrée de 10 de 10 puissance 5 de
la partie entière 5
HOUNGBEME Joseph http://master1istri.blogspot.com/
3
4. Réponses
J'utilise netbeans
Java 0 : On veut afficher notre premier programme
package bonjourmonde;
public class BonjourMonde {
public static void main(String[] args) {
System.out.println("Bonjour le Monde !");
}
}
run:
Bonjour le Monde !
BUILD SUCCESSFUL (total time: 0 seconds)
Noter que sans " ln " on ira pas à la ligne suivante
Java 1 Nombre entier inférieur à 15
for (initialisation; condition; modification) {
...//Code à exécuter dans la boucle
}
for(int i=0; i<15 ;i++ )
{
System.out.println(i);
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
4
5. 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
BUILD SUCCESSFUL (total time: 0 seconds)
Java 2 -0 Nombre paire inférieure à 20
public static void main(String[] args) {
for(int i=0; i<20;i=i+2
{
System.out.println("Nombre paire " +i);
}
run:
Nombre paire 0
Nombre paire 2
Nombre paire 4
Nombre paire 6
Nombre paire 8
Nombre paire 10
Nombre paire 12
Nombre paire 14
Nombre paire 16
Nombre paire 18
BUILD SUCCESSFUL (total time: 0 seconds)
HOUNGBEME Joseph http://master1istri.blogspot.com/
5
6. Java 2 Nombre paire inférieure à 20
int i;
for (i=0;i<20;i++)
{
if(i%2==0)
System.out.println(+i);
}
run:
Nombre paire 0
Nombre paire 2
Nombre paire 4
Nombre paire 6
Nombre paire 8
Nombre paire 10
Nombre paire 12
Nombre paire 14
Nombre paire 16
Nombre paire 18
BUILD SUCCESSFUL (total time: 0 seconds)
Java 3 Nombre impaire inférieure ou égale à 18
for(int i=0;i<=18;i=i++)
{
if(i%2!=0)
System.out.println("Nombre impaire " +i);
}
run:
1
3
5
HOUNGBEME Joseph http://master1istri.blogspot.com/
6
7. 7
9
11
13
15
17
BUILD SUCCESSFUL (total time: 0 seconds)
Java 3 lire les entrés du clavier
public static void main(String[] args){
System.out.println("Entrer un nom ");
Scanner mot = new Scanner(System.in);
String str = mot.nextLine();
System.out.println("Entrer le nombre ");
int in = mot.nextInt();
System.out.println("vous avez bien entrez " +
str + " est le numero N°" +in );
}
run:
Entrer un nom
violonjo
Entrer le nombre
1
vous avez bien entrez violonjo est le numero N°1
BUILD SUCCESSFUL (total time: 12 seconds)
Java 4 Un nombre entier puis les 10 nombre suivant
public static void main(String[] args) {
System.out.println("Entrer le nombre entier");
Scanner nbr = new Scanner(System.in);
int in = nbr.nextInt();
for(int i = 1; i <=11; i++)
HOUNGBEME Joseph http://master1istri.blogspot.com/
7
8. System.out.println(+in+i );
}
RUN
Entrer le nombre entier
20
21
22
23
24
25
26
27
28
29
30
31
BUILD SUCCESSFUL (total time: 6 seconds)
INTRO
if (boolean) {
...//Code à exécuter dans la condition
}
else if (boolean) {
...//Code à exécuter si la première condition est fausse et la deuxième vraie
}
else {
...//Code à exécuter si les précédentes conditions ne sont pa vérifiées
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
8
9. Java 5 CALCULE DU IMC (indice de
masse corporelle )
package imc;
import java.util.Scanner;
public class Imc {
public static void main(String[] args) {
System.out.println("----------------------------------
-------------------------");
System.out.println(" Calulez votre indice corporelle
(IMC) ");
System.out.println("----------------------------------
------------------------");
System.out.println("Donnez votre poids en kg: ");
Scanner kg =new Scanner (System.in);
double k = kg.nextDouble();
System.out.println("Donnez votre taille en metre: ");
Scanner metr =new Scanner (System.in);
double m = metr.nextDouble();
System.out.println("Votre indice corporelle IMC est =
"+k/(m*m));
if (k/(m*m) <= 16.5)
System.out.println(" grave!!!! quelle Dénutrition!");
if (k/(m*m)>16.5&&k/(m*m)<=18.5 )
HOUNGBEME Joseph http://master1istri.blogspot.com/
9
10. System.out.println("vous étes Maigre!!!!!");
if (k/(m*m)>18.5&&k/(m*m)<=25 )
System.out.println("Bon super !!!! Corpulence normale!");
if (k/(m*m)>25&&k/(m*m)<=30 )
System.out.println(" ehh !!!!Surpoids!");
if (k/(m*m)>30&&k/(m*m)<=35
)
System.out.println("Obésité modérée!");
if (k/(m*m)>35)
System.out.println("Obésité morbide ou massive!");
}
}
run:
-------------------------------------------
Calulez votre indice corporelle (IMC)
-------------------------------------------
Donnez votre poids en kg:
80
Donnez votre taille en metre:
1,80
Votre indice corporelle IMC est = 24.691358024691358
Bon super !!!! Corpulence normale!
BUILD SUCCESSFUL (total time: 6 minutes 55 seconds)
Java 6 Somme et Produit de deux entier
public static void main(String[] args) {
System.out.println("Premier entier ");
Scanner ent1 = new Scanner(System.in);
HOUNGBEME Joseph http://master1istri.blogspot.com/
10
11. int i = ent1.nextInt();
System.out.println("Deuxième entier ");
Scanner ent2 = new Scanner(System.in);
int e = ent2.nextInt();
int som = i+e;
int prod = i*e;
System.out.println("somme de "+ i +" + "+ e + " = "+som );
System.out.println("produit de "+ i + " * "+ e + " =
"+prod );
}
run:
Premier entier
12
Deuxième entier
14
somme de 12 + 14 = 26
produit de 12 * 14 = 168
BUILD SUCCESSFUL (total time: 4 seconds)
Java 7
public static void main(String[] args) {
System.out.println("Saisie un nombre entier ");
Scanner ent = new Scanner(System.in);
double i = ent.nextDouble();
System.out.println("moitié = "+i/2+"ncarré =
"+i*i+"ndouble = "+i*2);
HOUNGBEME Joseph http://master1istri.blogspot.com/
11
12. run:
Saisie un nombre entier
9
moitié = 4.5
carré = 81.0
double = 18.0
BUILD SUCCESSFUL (total time: 3 seconds)
Java 8
package constantesmaths;
public class ConstantesMaths {
public static void main(String[] args)
{
System.out.println("valeur de
pi................................. = " + Math.PI);
System.out.println("valeur de l'exponentielle
.......... = " + Math.E);
System.out.println("valeur de sinus 45
......................= " + Math.sin(45));
System.out.println("valeur de cosinus 10
..................= " + Math.cos(10));
System.out.println("valeur de racine carrée de 10....=
" + Math.sqrt(10));
System.out.println("valeur de 10 puissance
5............= " + Math.pow(10,5));
System.out.println("valeur de la partie entière
5.......= " + Math.ceil(5));
}
}
run:
valeur de pi................... = 3.141592653589793
valeur de l'exponentielle ..... = 2.718281828459045
valeur de sinus 45 .............= 0.8509035245341184
valeur de cosinus 10 ...........= -0.8390715290764524
valeur de racine carrée de 10...= 3.1622776601683795
valeur de 10 puissance 5........= 100000.0
valeur de la partie entière 5...= 5.0
BUILD SUCCESSFUL (total time: 0 seconds)
HOUNGBEME Joseph http://master1istri.blogspot.com/
12
13. II-MINI PROJET 1
Exercice 1
Un vendeur de boisson vend des fanta et des malta au prix de
225 la fanta et 300 la malta. Dans la journée , il vend X
fanta et Y malta.
Ecrire un programme java qui affiche le chiffre d'affaire
fanta, le chiffre d'affaire malta ,le chiffre d'affaire
totale des boissons vendues.
Il doit payer à l'état une taxe de 18% du montant de ses
ventes, afficher le montant payé à l'état ainsi que le
bénéfice réalisé dans la journée
NB CA FANTA : XXXXXX
CA MALTA : XXXXXX
CA TOTAL : XXXXXX
Mt ETAT : XXXXXX
BENEFICE : XXXXXX
CA chiffre d'affaire
X nombre de fanta et Y nombre de malta vendu : à votre
choix
Exercice 2
Initialiser deux variables , x et y ,x à 2.0 et y à 3.0
HOUNGBEME Joseph http://master1istri.blogspot.com/
13
14. Ecrire un programme Java qui calcule.
Le produit des 2 variables,
Sinus (a+b),
a à la puissance b.
Exercice 3
A) Qu'affiche l'extrait de ce code ? Sans saisir le programme
for(int i = 0; i < 6; 1+=2)
{
System.out.println("Java");
}
B) Ecrire un programme qui affiche l'alphabet de Z à A
1) En utilisant la boucle for
2) En utilisant la boucle while
3) En utilisant la boucle do...while ...
HOUNGBEME Joseph http://master1istri.blogspot.com/
14
15. Réponses
Exercice 1
package boutique;
import java.util.Scanner;
public class Boutique {
public static void main(String[] args) {
System.out.println("Donnez le nombre de fanta vendu
TTC");
Scanner fanta = new Scanner(System.in);
int nbrf = fanta.nextInt();
int pfanta = 225;
double resultatCAF = (double)(pfanta*nbrf);
System.out.println("Donnez le nombre de malta vendu
TTC");
HOUNGBEME Joseph http://master1istri.blogspot.com/
15
16. Scanner malta = new Scanner(System.in);
int nbrm = malta.nextInt();
int pmalta = 300;
double resultatCAM = (double)(pmalta*nbrm);
System.out.println("Votre CA FANTA TTC
est:"+resultatCAF+"f");
System.out.println("Votre CA MALTA TTC
est:"+resultatCAM+"f");
double resultatCAT =
(double)(resultatCAF+resultatCAM);
System.out.println("Votre CA TOTAL TTC
est:"+resultatCAT+"f");
double mtetat = (double)((18*resultatCAT)/100);
System.out.println("Votre taxe TVA :MT ETAT
"+mtetat+"f ");
double benef = (double)(resultatCAT+mtetat);
System.out.println("Votre reste Totale
"+benef+"f");
}
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
16
17. run:
Donnez le nombre de fanta vendu TTC
50
Donnez le nombre de malta vendu TTC
90
Votre CA FANTA TTC est:11250.0f
Votre CA MALTA TTC est:27000.0f
Votre CA TOTAL TTC est:38250.0f
Votre taxe TVA :MT ETAT 6885.0f
Votre reste Totale 45135.0f
BUILD SUCCESSFUL (total time: 1 minute 0 seconds)
Exercice 2
public static
void main(String[] args) {
double x = 2.0, y = 3.0;
double prod = (double)(x * y);
System.out.println("les variables initialisées sont x
= 2.0 et y = 3.0 : ");
System.out.println("le produit des variables x et y
est: "+prod);
System.out.println("valeur de sinus(x+y) = " +
(((Math.sin(x))*(Math.cos( y)))-((Math.cos(x))*(Math.sin(
y)))) );
System.out.println("x à la puissance y =" +
Math.pow(x, y));
}
run:
les variables initialisées sont x = 2.0 et y = 3.0 :
le produit des variables x et y est: 6.0
valeur de sinus(x+y) = -0.8414709848078964
x à la puissance y =8.0
BUILD SUCCESSFUL (total time: 1 second)
HOUNGBEME Joseph http://master1istri.blogspot.com/
17
18. Exercice 3
A)
java
java
java
B)
1) En utilisant la boucle for
char c;
for(c='Z';c>='A';c--)
{
System.out.println(c);
}
2) En utilisant la boucle while
char c='Z';
do
{
System.out.println(c);
c--;
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
18
19. while(c>='A');
3) En utilisant la boucle do...while ...
char c ='Z';
while (c>='A')
{
System.out.println(c);
c--;
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
19
20. Montant payable
Objectif
Ce projet a pour objectif d'afficher le montant payable
dans une banque ou autre : soit la fin du montant 0 ou 5
Raison
Du fait que sur les factures, nous avons des montants
dont 101 f certain clients , en remettant 105 f veulent
à tout prix avoir leur reliquat de 4 f ou d'autre dans
cas
Problème
Quelque solution proposez vous afin de palier ce problème
Afficher le montant totale
Afficher le montant payable
Solution dans la programmation java
package payarrondie;
import java.util.Scanner;
public class Payarrondie {
public static void main(String[] args) {
System.out.println("Saisir le premier montant");
Scanner nbr1 = new Scanner (System.in);
double mt1 = nbr1.nextDouble();
HOUNGBEME Joseph http://master1istri.blogspot.com/
20
21. System.out.println("Saisir le deuxième montant");
Scanner nbr2 = new Scanner (System.in);
double mt2 = nbr2.nextDouble();
double mt = (double)(mt1+mt2);
System.out.println("Le montant totale est "+mt);
if ((mt%10)>0 && (mt%10)<5)
{
double map =(mt+5)-(mt%10);
System.out.println("------------------------------
-- ");
System.out.println(" Le montant payable est "+
map);
System.out.println("-----------------------------
---- ");
}
if ((mt%10)>5)
{
double map = (mt+10)-(mt%10);
System.out.println("-----------------------------
--- ");
System.out.println(" Le montant payable est "+
map);
System.out.println("-----------------------------
---- ");
}
}
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
21
22. run:
Saisir le premier montant
100
Saisir le deuxième montant
101
Le montant totale est 201.0
--------------------------------
Le montant payable est 205.0
---------------------------------
BUILD SUCCESSFUL (total time: 9 seconds)
run:
Saisir le premier montant
104
Saisir le deuxième montant
102
Le montant totale est 206.0
--------------------------------
Le montant payable est 210.0
---------------------------------
BUILD SUCCESSFUL (total time: 34 seconds)
HOUNGBEME Joseph http://master1istri.blogspot.com/
22
23. RESUME JAVA NIVEAU 1
Mini Exercices 1
a
HOUNGBEME Joseph http://master1istri.blogspot.com/
23
25. Le lien entre les questionnaires abc
package mimiex;
import java.util.Scanner;
public class Mimiex {
public void nbreDepiece(int mt, int p){
int nb=(mt/p);
System.out.println("Il y'a "+nb+" pièces");
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int nb,mt,p1=250,p2=200,p3=100,p4=50,p5=25,p6=10,p7=5,operateur;
Double a=50.0,b=100.0,j,x,y,z,som,prod,sous,div,mod;
System.out.println("1: Initialiser");
System.out.println("2: Calcule et Affichage");
System.out.println("3: Rendre de la monnaie");
System.out.print("Votre choix svp :");
operateur=sc.nextInt();
switch(operateur)
{
case 1:
j=b-2*a;
try
{
System.out.println(a/j);
}
catch(ArithmeticException k)
{
System.out.println("impossible de continuer");
}
System.out.println("mon exception java");
break;
HOUNGBEME Joseph http://master1istri.blogspot.com/
25
26. case 2:
System.out.print("donner la valeur de x= ");
x=sc.nextDouble();
System.out.print("donner la valeur de y= ");
y=sc.nextDouble();
som=x+y;
System.out.println("La somme egal à ="+som);
prod=x*y;
System.out.println("Le produit egal à ="+prod);
sous=x-y;
System.out.println("La soustraction egal à ="+sous);
if(y!=0){
div=x/y;
mod=x%y;
System.out.println("La division egal à :"+div);
System.out.println("Le reste de la division entière egal à
:"+mod);
}
else
System.out.println("Impossible de diviser par zero");
break;
case 3:System.out.print("Donnez un montant stp:");
mt=sc.nextInt();
nb=(mt/p1);
System.out.println("Il y'a "+nb+" pièces de 250 Francs");
nb=(mt/p2);
System.out.println("Il y'a "+nb+" pièces de 200 Francs");
nb=(mt/p3);
System.out.println("Il y'a "+nb+" pièces de 100 Francs");
nb=(mt/p4);
System.out.println("Il y'a "+nb+" pièces de 50 Francs");
nb=(mt/p5);
System.out.println("Il y'a "+nb+" pièces de 25 Francs");
nb=(mt/p6);
System.out.println("Il y'a "+nb+" pièces de 10 Francs");
nb=(mt/p7);
System.out.println("Il y'a "+nb+" pièces de 5 Francs");
break;
default : System.out.println("cette opérateur inconnuen");
}
}
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
26
27. run
Ma Facture
Vous êtes chargé de réaliser une petite application qui saisit le
nom d'un produit , sa quantité , son prix unitaire.
Calcule et affiche le montant hors taxe (mthva) le montant de
la tva (mtva) le net à payer le montant payable sachant qu'on
applique une remise de 5% aux clients dont le
montant dépasse 50 000 francs
HOUNGBEME Joseph http://master1istri.blogspot.com/
27
28. Solution dans la programmation java
j'utilise netbeans
package facturation;
import java.util.Scanner;
/*
* @author jo
*/
public class Facturation {
public static void main(String[] args) {
int qte;
String design ="";
double pu;
double mht,mtva,nap,rem,map;
System.out.println("---------------------------
----------");
System.out.println(" Marché de
Facturation ");
System.out.println("---------------------------
----------");
HOUNGBEME Joseph http://master1istri.blogspot.com/
28
29. Scanner nbr=new Scanner(System.in);
System.out.println("Désignation de produit ");
design=nbr.next();
System.out.println("Quantité du produit ");
qte=nbr.nextInt();
System.out.println("Prix unitaire du produit
");
pu=nbr.nextInt();
mht=pu*qte;
mtva=(mht*18)/100;
map=mht+mtva;
System.out.println("Montant hors taxe.....=
"+mht);
System.out.println("Montant de la tva.....=
"+mtva);
if(map<50000.0)
{
if ((map%10)>0 && (map%10)<5)
{
nap =(map+5)-(map%10);
System.out.println("Votre achat ne dépasse pas
50000 fr");
System.out.println("Montant net a payer... =
HOUNGBEME Joseph http://master1istri.blogspot.com/
29
30. "+map);// c'est le montant le totale
System.out.println("Montant payable... =
"+nap);// on rend le mont montant payable soit 0 ou 5
}
else if ((map%10)>5)
{
nap = (map+10)-(map%10);
System.out.println("Remise à plus de 50000
fr d'achat");
System.out.println("Montant totale... =
"+map);// c'est le montant le totale
System.out.println("Montant payable (nep)...
= "+nap);// on rend le mont montant payable soit 0 ou 5
}
else if(map>50000.0)
{
System.out.println("Vous avez une remise de
5%");
rem=(map*5)/100;
nap=map-rem;
if ((map%10)>0 && (map%10)<5)
{
nap =(map+5)-(map%10);
System.out.println("La remise est.........=
"+rem);
System.out.println("Montant totale...=
HOUNGBEME Joseph http://master1istri.blogspot.com/
30
31. "+nap);
System.out.println("Montant payable
(nep)... = "+nap);// on rend le mont montant payable
soit 0 ou 5
}
else if ((map%10)>5)
{
nap = (map+10)-(map%10);
System.out.println("La remise
est.........= "+rem);
System.out.println("Montant totale...=
"+nap);
System.out.println("Montant payable
(nep)... = "+nap);// on rend le mont montant payable
soit 0 ou 5
}
}
}
}
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
31
32. Equation du 2ème degré.
Algorithme pour résoudre l'équation du deuxième degré:
ax2 + bx + c = 0
Si a = 0, on se ramène à une équation du premier degré.
Si a est différent de 0,
on calcule le discriminant Delta = b2 - 4 * a * c
si Delta>0 l'équation a 2 racines réelles distinctes
que l'on
calcule avec (-b+ Delta)/(2*a)
et (-b- Delta)/(2*a)
si Delta=0, les 2 formules ci-dessus sont encore
valables
et fournissent 2 valeurs égales -b/(2*a)
si Delta<0, les 2 formules contenant Delta ne sont
plus valables dans les réels et il faut passer
dans l'ensemble des nombres complexes
pour obtenir des réponses
-b/(2*a) +i -Delta /(2*a)
-b/(2*a) -i -
Delta /(2*a)
NOTE: i est un symbole tel que
2
i =-1
Solution dans
la programmation java
HOUNGBEME Joseph http://master1istri.blogspot.com/
32
33. j'utilise netbeans
package equation;
import java.util.Scanner;
/**
*
* @author jo
*/
public class Equation {
public static void main(String[] args) {
System.out.println(" Resolveur d'Equation du
Second dégrern -------------------------------------" );
Scanner nbr=new Scanner(System.in);
double a,b,c,X1,X2,delta;
System.out.println(" Valeur de a");
a=nbr.nextDouble();
System.out.println(" Valeur de b");
b=nbr.nextDouble();
System.out.println(" Valeur de c");
c=nbr.nextDouble();
System.out.println(" l'équation
f(x)="+a+"x²+"+b+"y+"+c);
System.out.println("----------------- Résolution------
----------- ");
HOUNGBEME Joseph http://master1istri.blogspot.com/
33
34. if(a==0)
{
System.out.println("Equation du premier Dégrer");
if(b==0)
{
System.out.println("C'est une constante f(x)="+c);
}
else{
System.out.println("C'est une fonction affine f(x) =
"+b+"x + "+c+"net x = "+ -c/b);
}
}
if(a!=0)
{
delta=(b*b)-4*a*c;
if(delta>0)
{//printf("il y a deuxracines
distincts.n",X1,X2),
X1=((-b-Math.sqrt(delta)/2*a));
X2=((-b+Math.sqrt(delta)/2*a));
System.out.println("Deux racine distincts:
"+X1+" et X2 = "+X2);
}
else if(delta==0)
{
X1=(-b/2*a);
HOUNGBEME Joseph http://master1istri.blogspot.com/
34
35. X2=X1;
System.out.println("il y'a une racine double
X1=X2 ="+X2);
}
if(delta<0)
{
System.out.println(" Première racine complexes
conjuguée: "+-b/(2*a)+ " +i" +Math.sqrt(-delta) /(2*a));
System.out.println(" Deuxième racine complexes
conjuguée: "+-b/(2*a)+ " -i" +Math.sqrt(-delta) /(2*a));
System.out.println("NOTEZ QUE i² = -1");
} } } }
CONVERSION D'HORLOGE JAVA
Ecrire un programme qui permet de convertir les secondes
en année mois jour heure seconde
HOUNGBEME Joseph http://master1istri.blogspot.com/
35
36. Solution dans la programmation java
j'utilise netbeans
package minsecond;
import java.util.Scanner;
/**
* @author jo
*/
public class Minsecond {
public static void main(String[] args) {
System.out.println("Entrer le nombre de secondes:n");
Scanner nbr = new Scanner (System.in);
int temp = nbr.nextInt();
int annee = temp / 60 / 60 / 24 / 365;
int jour = temp / 60 / 60 / 24 % 365;
int heure = temp / 60 / 60 % 24;
int minute = temp / 60 % 60;
int seconde = temp % 60;
System.out.println("Le temps entré "+temp+ " est égale à n"+annee+" an(s)n"+jour+" journ"
+heure+" heuren"+minute+" minutesn"+ seconde+" secondes");
}
HOUNGBEME Joseph http://master1istri.blogspot.com/
36
37. }
RUN:
Entrer le nombre de secondes:
123456789
Le temps entré 123456789 est égale à
3 an(s)
333 jour
21 heure
33 minutes
9 secondes
BUILD SUCCESSFUL (total time: 12 seconds)
COMPARAISON PAR MIN MAX
Un programme qui compare deux nombre
Solution dans la programmation java
HOUNGBEME Joseph http://master1istri.blogspot.com/
37
38. package minmax;
import java.util.Scanner;
/*
* @author jo
*/
public class Minmax {
public static void main(String[] args) {
Scanner val = new Scanner (System.in);
System.out.println("Entrez la première valeur à
comparer ");
int x = val.nextInt();
System.out.println("Entrez la deuxième valeur à
comparer ");
int y = val.nextInt();
System.out.println(" la plus grande valeur entre "+
x + " et " +y+ " est = " + Math.max(x, y));
System.out.println(" la plus petite valeur entre "+
x + " et " +y+ " est = " + Math.min(x,y));
}
}
run:
Entrez la première valeur à comparer
23
Entrez la deuxième valeur à comparer
90
la plus grande valeur entre 23 et 90 est = 90
la plus petite valeur entre 23 et 90 est = 23
BUILD SUCCESSFUL (total time: 6 seconds)
HOUNGBEME Joseph http://master1istri.blogspot.com/
38
39. Montant en lettre
package nombre;
import java.util.Scanner;
/**
*
* @author jo
*/
public class Nombre
{
/**
* Représentaion en lettre de 0
*/
public static final String ZERO="zéro";
/**
* Représentaion en lettre de 1
*/
public static final String UN="un";
/**
* Représentaion en lettre de 2
*/
public static final String DEUX="deux";
/**
* Représentaion en lettre de 3
*/
public static final String TROIS="trois";
/**
* Représentaion en lettre de 4
*/
public static final String QUATRE="quatre";
/**
* Représentaion en lettre de 5
*/
public static final String CINQ="cinq";
/**
HOUNGBEME Joseph http://master1istri.blogspot.com/
39
40. * Représentaion en lettre de 6
*/
public static final String SIX="six";
/**
* Représentaion en lettre de 7
*/
public static final String SEPT="sept";
/**
* Représentaion en lettre de 8
*/
public static final String HUIT="huit";
/**
* Représentaion en lettre de 9
*/
public static final String NEUF="neuf";
/**
* Représentaion en lettre de 10
*/
public static final String DIX="dix";
/**
* Représentaion en lettre de 11
*/
public static final String ONZE="onze";
/**
* Représentaion en lettre de 12
*/
public static final String DOUZE="douze";
/**
* Représentaion en lettre de 13
*/
public static final String TREIZE="treize";
/**
* Représentaion en lettre de 14
*/
public static final String QUATORZE="quatorze";
/**
* Représentaion en lettre de 15
*/
public static final String QUINZE="quinze";
/**
* Représentaion en lettre de 16
*/
public static final String SEIZE="seize";
HOUNGBEME Joseph http://master1istri.blogspot.com/
40
41. /**
* Représentaion en lettre de 20
*/
public static final String VINGT="vingt";
/**
* Représentaion en lettre de 30
*/
public static final String TRENTE="trente";
/**
* Représentaion en lettre de 40
*/
public static final String QUARANTE="quarante";
/**
* Représentaion en lettre de 50
*/
public static final String CINQUANTE="cinquante";
/**
* Représentaion en lettre de 60
*/
public static final String SOIXANTE="soixante";
/**
* Représentaion en lettre de 100
*/
public static final String CENT="cent";
/**
* Représentaion en lettre de 1000
*/
public static final String MILLE="mille";
/**
* Représentaion en lettre de 1000000
*/
public static final String MILLION="million";
/**
* Représentaion en lettre de 1000000000
*/
public static final String MILLIARD="milliard";
/**
* Représentaion en lettre de -
*/
public static final String MOINS="moins";
//Nom des différents types de paquet de nombre
HOUNGBEME Joseph http://master1istri.blogspot.com/
41
42. private static final String[] tab={"",MILLE,MILLION,MILLIARD,MILLE+"
"+MILLIARD,
MILLION+" de "+MILLIARD,MILLIARD+" de "+MILLIARD};
/**
* Renvoie la représentation en lettre d'un chiffre, c'est à dire d'un nombre ente
0 et 9
*/
public static String getChiffre(int l)
{
if((l<0)||(l>9))
throw new IllegalArgumentException("Un chiffre est entre 0 et 9, donc "+l+"
est interdit");
switch(l)
{
case 0 :
return ZERO;
case 1 :
return UN;
case 2 :
return DEUX;
case 3 :
return TROIS;
case 4 :
return QUATRE;
case 5 :
return CINQ;
case 6 :
return SIX;
case 7 :
return SEPT;
case 8 :
return HUIT;
case 9 :
return NEUF;
}
return null;
}
//Retourne la représentation en lettre d'un paquet. Un paquet est formé de tois
chiffres, comme 123, 012, 001, 100, 101,...
private static String paquet(int p)
{
//On initialise la réponse
String reponse="";
HOUNGBEME Joseph http://master1istri.blogspot.com/
42
43. //Si on a un chiffre des centaines
if(p>100)
{
//Si la valeur est >199 alors, on va mettre devant le chiffre des centaine
if(p/100>1)
reponse=getChiffre(p/100)+" ";
//C'est une centaine, donc on ajoute ensuite "cent"
reponse += CENT+" ";
//On récupére ce qui n'est pas la centaine
p=p%100;
}
//c chiffre des dizaines
//u chaiffre des unitées
int c=p/10;
int u=p%10;
switch(c)
{
//Si la dizaine est nule, alors le nombre est un chiffre
case 0 :
if(u!=0)
reponse += getChiffre(u);
break;
case 1 :
switch(u)
{
case 0 :
reponse += DIX;
break;
case 1 :
reponse += ONZE;
break;
case 2 :
reponse += DOUZE;
break;
case 3 :
reponse += TREIZE;
break;
case 4 :
reponse += QUATORZE;
break;
case 5 :
reponse += QUINZE;
break;
case 6 :
reponse += SEIZE;
HOUNGBEME Joseph http://master1istri.blogspot.com/
43
45. {
case 0 :
reponse += DIX;
break;
case 1 :
reponse += ONZE;
break;
case 2 :
reponse += DOUZE;
break;
case 3 :
reponse += TREIZE;
break;
case 4 :
reponse += QUATORZE;
break;
case 5 :
reponse += QUINZE;
break;
case 6 :
reponse += SEIZE;
break;
default :
reponse += DIX+" "+getChiffre(u);
}
break;
case 8 :
reponse += QUATRE+" "+VINGT;
if(u>0)
reponse += " "+getChiffre(u);
break;
case 9 :
reponse += QUATRE+" "+VINGT+" ";
switch(u)
{
case 0 :
reponse += DIX;
break;
case 1 :
reponse += ONZE;
break;
case 2 :
reponse += DOUZE;
break;
case 3 :
HOUNGBEME Joseph http://master1istri.blogspot.com/
45
46. reponse += TREIZE;
break;
case 4 :
reponse += QUATORZE;
break;
case 5 :
reponse += QUINZE;
break;
case 6 :
reponse += SEIZE;
break;
default :
reponse += DIX+" "+getChiffre(u);
}
break;
}
//On renvoie la réponse, à laquelle on retire les éventuels espaces surperflus
return reponse.trim();
}
/**
* Renvoie le nombre en lettre, <BR>
* ex: 1234567890 devient : un milliard deux cent trente quatre million cinq
cent soixante sept mille huit cent quatre vingt dix
*/
public static String getLettre(long l)
{
//Cas zéro
if(l==0L)
return ZERO;
String signe="";
//Cas négatif
if(l<0L)
{
//On prned la valeur absolue
l=-l;
//On ajoutera moins devant
signe=MOINS+" ";
}
//Initilisation de la réponse
String reponse="";
//Rang du paquet actuel, on va parcourir le nombre de gauche à droite, le
premier paquet de 123456 sera donc : 456
int rang=0;
while(l>0L)
HOUNGBEME Joseph http://master1istri.blogspot.com/
46
47. {
//on ajoute le paquet devant la réponse
reponse=paquet((int)(l%1000L))+" "+tab[rang]+" "+reponse;
//on passe au paquet suivant
l=l/1000L;
rang++;
}
//on ajoute le signe éventuel
reponse=signe+reponse;
//On renvoie la réponse, à laquelle on retire les éventuels espaces surperflus
return reponse.trim();
}
public static void main(String args[])
{
Scanner val = new Scanner (System.in);
System.out.println("Entrez la première montant ");
int a= val.nextInt();
System.out.println("Entrez la deuxième montant ");
int b = val.nextInt();
int x = a+b;
System.out.println("n ---------------------------------- ");
System.out.println("La somme des deux montant "+a+" (+) "+b+" = "+x+"
francs ");
System.out.println(" Soit : "+getLettre (x)+" francs ");
System.out.println("n ---------------------------------- ");
HOUNGBEME Joseph http://master1istri.blogspot.com/
47
48. III - J2EE - Java 2 Enterprise Edition
Introduction au Java Framework
Le «Java Framework» (Java 2 Platform) est composé de
trois éditions, destinées à des usages différents :
J2ME : Java 2 Micro Edition est prévu pour le
développement d'applications embarquées, notamment
sur des assistants personnels et terminaux mobiles ;
J2SE : Java 2 Standard Edition est destiné au
développement d'applications pour ordinateurs
personnels ;
J2EE : Java 2 Enterprise Edition, destiné à un usage
HOUNGBEME Joseph http://master1istri.blogspot.com/
48
49. professionnel avec la mise en oeuvre de serveurs.
Chaque édition propose un environnement complet pour le
développement et l'exécution d'applications basées sur Java et
comprend notamment une machine virtuelle Java (Java virtual
machine) ainsi qu'un ensemble de classes.
Introduction à J2EE
J2EE (Java 2 Enterprise Edition) est une norme proposée par
la société Sun, portée par un consortium de sociétés
internationales, visant à définir un standard de développement
d'applications d'entreprises multi-niveaux, basées sur des
composants.
On parle généralement de «plate-forme J2EE» pour désigner
l'ensemble constitué des services (API) offerts et de
l'infrastructure d'exécution. J2EE comprend notamment :
Les spécifications du serveur d'application, c'est-à-dire
de l'environnement d'exécution : J2EE définit finement
les rôles et les interfaces pour les applications ainsi que
l'environnement dans lequel elles seront exécutées. Ces
recommandations permettent ainsi à des entreprises
tierces de développer des serveurs d'application
conformes aux spécifications ainsi définies, sans avoir à
redévelopper les principaux services.
Des services, au travers d'API, c'est-à-dire des extensions
Java indépendantes permettant d'offrir en standard un
certain nombre de fonctionnalités. Sun fournit une
implémentation minimale de ces API appelée J2EE SDK
HOUNGBEME Joseph http://master1istri.blogspot.com/
49
50. (J2EE Software Development Kit).
Dans la mesure où J2EE s'appuie entièrement sur le Java, il
bénéficie des avantages et inconvénients de ce langage, en
particulier une bonne portabilité et une maintenabilité du code.
De plus, l'architecture J2EE repose sur des composants
distincts, interchangeables et distribués, ce qui signifie
notamment :
qu'il est simple d'étendre l'architecture ;
qu'un système reposant sur J2EE peut posséder des
mécanismes de haute-disponibilité, afin de garantir une
bonne qualité de service ;
que la maintenabilité des applications est facilitée.
Les API de J2EE
Les API de J2EE peuvent se répartir en trois grandes
catégories :
Les composants. On distingue habituellement deux
familles de composants :
o Les composants web : Servlets et JSP (Java Server
Pages). Il s'agit de la partie chargée de l'interface
avec l'utilisateur (on parle de logique de
présentation).
o Les composants métier : EJB (Enterprise Java
Beans). Il s'agit de composants spécifiques chargés
des traitements des données propres à un secteur
d'activité (on parle de logique métier ou de logique
applicative) et de l'interfaçage avec les bases de
données.
Les services, pouvant être classés par catégories :
o Les services d'infrastructures : il en existe un grand
HOUNGBEME Joseph http://master1istri.blogspot.com/
50
51. nombre, définis ci-dessous :
JDBC (Java DataBase Connectivity) est une API
d'accès aux bases de données relationnelles.
JNDI (Java Naming and Directory Interface) est
une API d'accès aux services de nommage et
aux annuaires d'entreprises tels que DNS, NIS,
LDAP, etc.
JTA/JTS (Java Transaction API/Java Transaction
Services) est un API définissant des interfaces
standard avec un gestionnaire de transactions.
JCA (J2EE Connector Architecture) est une API
de connexion au système d'information de
l'entreprise, notamment aux systèmes dits
«Legacy» tels que les ERP.
JMX (Java Management Extension) fournit des
extensions permettant de développer des
applications web de supervision d'applications.
o Les services de communication :
JAAS (Java Authentication and Authorization
Service) est une API de gestion de
l'authentification et des droits d'accès.
JavaMail est une API permettant l'envoi de
courrier électronique.
JMS (Java Message Service) fournit des
fonctionnalités de communication asynchrone
(appelées MOM pour Middleware Object
Message) entre applications.
RMI-IIOP est une API permettant la
communication synchrone entre objets.
L'architecture J2EE permet ainsi de séparer la couche
présentation, correspondant à l'interface homme-machine
(IHM), la couche métier contenant l'essentiel des traitements
HOUNGBEME Joseph http://master1istri.blogspot.com/
51
52. de données en se basant dans la mesure du possible sur des
API existantes, et enfin la couche de données correspondant
aux informations de l'entreprise stockées dans des fichiers,
dans des bases de données relationnelles ou XML, dans des
annuaires d'entreprise ou encore dans des systèmes
d'information complexes.
Les codes sources sont ci-joint Fin
HOUNGBEME Joseph http://master1istri.blogspot.com/
52