Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CALCULATEUR D'AIRES ET VOLUMES DES SOLIDES LES PLUS COURANTS


Information sur la source

Description

Cliquez pour voir la capture en taille normale
En gros, c'est un programme qui permet de calculer rapidement et avec une précision de 3 chiffres après la virgule les aires et les volumes des solides les plus courants tel le cône, le cylindre, la sphère, la pyramide(à base carré) et le prisme(à base carré). J'ai fait du mieu que j'ai pu pour l'interface graphique =)
 

Source

  • import java.awt.*;
  • import java.awt.event.*;
  • import java.text.DecimalFormat;
  • import javax.swing.*;
  • public class AiresVolumes extends JFrame implements ActionListener {
  • private String attrib[] = {"Rayon: ", "Hauteur: ", "Apothène: ", "Longueur: ", "Largeur: ", "Résultat"};
  • private String solide[] = {"Cône", "Cylindre", "Sphère", "Pyramide", "Prisme"};
  • private String formuleAire[] = {"pi*r^2 + pi*r*Ap", "2*pi*r^2 + 2*pi*r*h", "4*pi*r^2", "L*l + Pe*Ap / 2", "2*Ab + Pe*h" };
  • private String formuleVolume[] = {"pi*r^2*h / 3", "pi*r^2*h", "4*pi*r^3 / 3", "L*l*h / 3", "L*l*h"};
  • private JRadioButton choixSolide[];
  • private JRadioButton choixAire, choixVolume;
  • private JTextField txAttribs[];
  • private JTextField resultat;
  • private JButton btnEffacer, btnCalculer;
  • private static final double PI = 3.1416;
  • // Méthode principale
  • public AiresVolumes() {
  • super.setTitle("Aires et Volumes");
  • Container c = getContentPane();
  • // Panneau de selection «Aire» ou «Volume» (en haut)
  • JPanel p1 = new JPanel();
  • p1.setLayout( new FlowLayout(FlowLayout.CENTER) );
  • ButtonGroup group1 = new ButtonGroup();
  • choixAire = new JRadioButton("Aire");
  • choixAire.addActionListener(this);
  • choixAire.setSelected(true);
  • group1.add(choixAire);
  • p1.add(choixAire);
  • choixVolume = new JRadioButton("Volume");
  • choixVolume.addActionListener(this);
  • group1.add(choixVolume);
  • p1.add(choixVolume);
  • c.add(p1, BorderLayout.NORTH);
  • // Panneau de sélection du solide (à gauche)
  • JPanel p2 = new JPanel();
  • p2.setLayout( new GridLayout(solide.length, 1) );
  • ButtonGroup group2 = new ButtonGroup();
  • choixSolide = new JRadioButton[solide.length];
  • for (int i = 0; i < solide.length; i++) {
  • choixSolide[i] = new JRadioButton(solide[i]);
  • choixSolide[i].addActionListener(this);
  • p2.add(choixSolide[i]);
  • group2.add(choixSolide[i]);
  • }
  • setFormules();
  • choixSolide[0].setSelected(true);
  • c.add(p2, BorderLayout.WEST);
  • // Panneau de paramètres du solide sélectionné (au centre)
  • JPanel p3 = new JPanel();
  • p3.setLayout( new FlowLayout(FlowLayout.CENTER) );
  • txAttribs = new JTextField[attrib.length];
  • for (int i = 0; i < attrib.length; i++) {
  • txAttribs[i] = new JTextField(15);
  • txAttribs[i].setEditable( (attrib[i] != "Résultat") ? true : false );
  • p3.add( new JLabel(attrib[i]) );
  • p3.add(txAttribs[i]);
  • }
  • enableTx(true, false, true, false, false);
  • c.add(p3, BorderLayout.CENTER);
  • // Panneau d'actions (en bas)
  • JPanel p4 = new JPanel();
  • p4.setLayout( new FlowLayout(FlowLayout.CENTER) );
  • btnEffacer = new JButton("Effacer");
  • btnEffacer.addActionListener(this);
  • p4.add(btnEffacer);
  • btnCalculer = new JButton("Calculer");
  • btnCalculer.addActionListener(this);
  • p4.add(btnCalculer);
  • c.add(p4, BorderLayout.SOUTH);
  • setSize(350, 275);
  • setResizable(false);
  • setLocation(260, 172);
  • show();
  • }
  • // Gérer les événements
  • public void actionPerformed(ActionEvent e) {
  • if (choixAire == e.getSource())
  • setFormules();
  • updateAttribs();
  • if (choixVolume == e.getSource())
  • setFormules();
  • updateAttribs();
  • for (int i = 0; i < choixSolide.length; i++) {
  • if (choixSolide[i].isSelected())
  • updateAttribs();
  • }
  • if (btnEffacer == e.getSource()) {
  • for (int i = 0; i < txAttribs.length; i++) {
  • txAttribs[i].setText("");
  • }
  • }
  • if (btnCalculer == e.getSource())
  • calculer();
  • }
  • // Afficher les formules
  • private void setFormules() {
  • for (int i = 0; i < choixSolide.length; i++) {
  • if (choixAire.isSelected())
  • choixSolide[i].setToolTipText("Formule: " + formuleAire[i]);
  • else if (choixVolume.isSelected())
  • choixSolide[i].setToolTipText("Formule: " + formuleVolume[i]);
  • }
  • }
  • // Mettre en évidence les champs nécessaires
  • private void updateAttribs() {
  • for (int i = 0; i < txAttribs.length - 1; i++) {
  • txAttribs[i].setEnabled(false); // Désactiver tout les champs
  • }
  • if (choixSolide[0].isSelected()) { // Si le Cône est sélectionné:
  • if (choixAire.isSelected()) // Si on veut calculer l'Aire:
  • enableTx(true, false, true, false, false);
  • else if (choixVolume.isSelected()) // Si on veut calculer le Volume:
  • enableTx(true, true, false, false, false);
  • }
  • if (choixSolide[1].isSelected()) // Si le Cylindre est selectionné:
  • enableTx(true, true, false, false, false);
  • if (choixSolide[2].isSelected()) // Si la Sphère est sélectionnée:
  • enableTx(true, false, false, false, false);
  • if (choixSolide[3].isSelected()) { // Si la Pyramide est sélectionnée:
  • if (choixAire.isSelected()) // Si on veut calculer l'Aire:
  • enableTx(false, false, true, true, true);
  • else if (choixVolume.isSelected()) // Si on veut calculer le Volume:
  • enableTx(false, true, false, true, true);
  • }
  • if (choixSolide[4].isSelected()) // Si le Prisme est sélectionné:
  • enableTx(false, true, false, true, true);
  • }
  • // Pour activer/désactiver les champs
  • private void enableTx(boolean b1, boolean b2, boolean b3, boolean b4, boolean b5) {
  • txAttribs[0].setEditable(b1);
  • txAttribs[0].setEnabled(b1);
  • txAttribs[1].setEditable(b2);
  • txAttribs[1].setEnabled(b2);
  • txAttribs[2].setEditable(b3);
  • txAttribs[2].setEnabled(b3);
  • txAttribs[3].setEditable(b4);
  • txAttribs[3].setEnabled(b4);
  • txAttribs[4].setEditable(b5);
  • txAttribs[4].setEnabled(b5);
  • }
  • // Effectuer le calcul
  • private void calculer() {
  • double operation[] = new double[choixSolide.length];
  • if (choixAire.isSelected())
  • operation = getAires();
  • else if (choixVolume.isSelected())
  • operation = getVolumes();
  • DecimalFormat precision3 = new DecimalFormat("0.000"); // Laisser 3 chiffres après la virgule
  • for (int i = 0; i < operation.length; i++) {
  • if (choixSolide[i].isSelected()) {
  • double resultat = (double) operation[i]; // Assigner l'opération à effectuer selon le solide
  • txAttribs[5].setText(precision3.format(resultat)); // Écrire le résultat dans le champ prévu
  • }
  • }
  • }
  • // Les formules (Aires)
  • public double[] getAires() {
  • try {
  • // Essayer de convertir les valeurs des champs disponibles en nombres entiers
  • double rayon = (txAttribs[0].isEnabled()) ? Double.parseDouble(txAttribs[0].getText()) : 0;
  • double hauteur = (txAttribs[1].isEnabled()) ? Double.parseDouble(txAttribs[1].getText()) : 0;
  • double apothene = (txAttribs[2].isEnabled()) ? Double.parseDouble(txAttribs[2].getText()) : 0;
  • double longueur = (txAttribs[3].isEnabled()) ? Double.parseDouble(txAttribs[3].getText()) : 0;
  • double largeur = (txAttribs[4].isEnabled()) ? Double.parseDouble(txAttribs[4].getText()) : 0;
  • double operation[] = {
  • PI * rayon * apothene, // Aire du Cône
  • (2 * PI * rayon * rayon) + (2 * PI * rayon * hauteur), // Aire du Cylindre
  • 4 * PI * rayon * rayon, // Aire de la Sphère
  • (longueur * largeur) + ( ( ((2 * longueur) + (2 * largeur)) * apothene ) / 2 ), // Aire de la pyramide
  • (2 * (longueur * largeur) ) + ( ((2 * longueur) + (2 * largeur)) * hauteur ) // Aire du Prisme
  • };
  • return operation;
  • }
  • catch(NumberFormatException e) {
  • JOptionPane.showMessageDialog(null, "Entrée manquante ou format invalide",
  • "Erreur", JOptionPane.ERROR_MESSAGE);
  • return null;
  • }
  • }
  • // Les formules (Volumes)
  • public double[] getVolumes() {
  • try {
  • // Essayer de convertir les champs disponibles en nombres entiers
  • double rayon = (txAttribs[0].isEnabled()) ? Double.parseDouble(txAttribs[0].getText()) : 0;
  • double hauteur = (txAttribs[1].isEnabled()) ? Double.parseDouble(txAttribs[1].getText()) : 0;
  • double apothene = (txAttribs[2].isEnabled()) ? Double.parseDouble(txAttribs[2].getText()) : 0;
  • double longueur = (txAttribs[3].isEnabled()) ? Double.parseDouble(txAttribs[3].getText()) : 0;
  • double largeur = (txAttribs[4].isEnabled()) ? Double.parseDouble(txAttribs[4].getText()) : 0;
  • double operation[] = {
  • (PI * rayon * rayon * hauteur) / 2, // Volume du Cône
  • PI * rayon * rayon * hauteur, // Volume du Cylindre
  • (4 * PI * Math.pow(rayon, 3)) / 3, // Volume de la Sphère
  • (longueur * largeur * hauteur) / 3, // Volume de la Pyramide
  • longueur * largeur * hauteur // Volume du Prisme
  • };
  • return operation;
  • }
  • catch(NumberFormatException e) {
  • JOptionPane.showMessageDialog(null, "Entrée manquante ou format invalide",
  • "Erreur", JOptionPane.ERROR_MESSAGE);
  • return null;
  • }
  • }
  • // Fermeture de la fenêtre
  • public static void main(String[] args) {
  • AiresVolumes app = new AiresVolumes();
  • app.setDefaultCloseOperation(EXIT_ON_CLOSE);
  • }
  • }
import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
import javax.swing.*;

public class AiresVolumes extends JFrame implements ActionListener {
    private String attrib[] = {"Rayon: ", "Hauteur: ", "Apothène: ", "Longueur: ", "Largeur: ", "Résultat"};
    private String solide[] = {"Cône", "Cylindre", "Sphère", "Pyramide", "Prisme"};
    private String formuleAire[] = {"pi*r^2  +  pi*r*Ap", "2*pi*r^2  +  2*pi*r*h", "4*pi*r^2", "L*l  +  Pe*Ap / 2", "2*Ab  +  Pe*h" };
    private String formuleVolume[] = {"pi*r^2*h / 3", "pi*r^2*h", "4*pi*r^3 / 3", "L*l*h / 3", "L*l*h"};
    private JRadioButton choixSolide[];
    private JRadioButton choixAire, choixVolume;
    private JTextField txAttribs[];
    private JTextField resultat;
    private JButton btnEffacer, btnCalculer;
    private static final double PI = 3.1416;
    
    // Méthode principale
    public AiresVolumes() {
        super.setTitle("Aires et Volumes");
        Container c = getContentPane();
        
        // Panneau de selection «Aire» ou «Volume» (en haut)
        JPanel p1 = new JPanel();
        p1.setLayout( new FlowLayout(FlowLayout.CENTER) );
        ButtonGroup group1 = new ButtonGroup();
        choixAire = new JRadioButton("Aire");
        choixAire.addActionListener(this);
        choixAire.setSelected(true);
        group1.add(choixAire);
        p1.add(choixAire);
        choixVolume = new JRadioButton("Volume");
        choixVolume.addActionListener(this);
        group1.add(choixVolume);
        p1.add(choixVolume);
        c.add(p1, BorderLayout.NORTH);
        
        // Panneau de sélection du solide (à gauche)
        JPanel p2 = new JPanel();
        p2.setLayout( new GridLayout(solide.length, 1) );
        ButtonGroup group2 = new ButtonGroup();
        choixSolide = new JRadioButton[solide.length];
        for (int i = 0; i < solide.length; i++) {
            choixSolide[i] = new JRadioButton(solide[i]);
            choixSolide[i].addActionListener(this);
            p2.add(choixSolide[i]);
            group2.add(choixSolide[i]);
        }
        setFormules();
        choixSolide[0].setSelected(true);
        c.add(p2, BorderLayout.WEST);
        
        // Panneau de paramètres du solide sélectionné (au centre)
        JPanel p3 = new JPanel();
        p3.setLayout( new FlowLayout(FlowLayout.CENTER) );
        txAttribs = new JTextField[attrib.length];
        for (int i = 0; i < attrib.length; i++) {
            txAttribs[i] = new JTextField(15);
            txAttribs[i].setEditable( (attrib[i] != "Résultat") ? true : false );
            p3.add( new JLabel(attrib[i]) );
            p3.add(txAttribs[i]);
        }
        enableTx(true, false, true, false, false);
        c.add(p3, BorderLayout.CENTER);
        
        // Panneau d'actions (en bas)
        JPanel p4 = new JPanel();
        p4.setLayout( new FlowLayout(FlowLayout.CENTER) );
        btnEffacer = new JButton("Effacer");
        btnEffacer.addActionListener(this);
        p4.add(btnEffacer);
        btnCalculer = new JButton("Calculer");
        btnCalculer.addActionListener(this);
        p4.add(btnCalculer);
        c.add(p4, BorderLayout.SOUTH);
        
        setSize(350, 275);
        setResizable(false);
        setLocation(260, 172);
        show();
    }
    
    // Gérer les événements
    public void actionPerformed(ActionEvent e) {
        if (choixAire == e.getSource())
            setFormules();
            updateAttribs();
        if (choixVolume == e.getSource())
            setFormules();
            updateAttribs();
        for (int i = 0; i < choixSolide.length; i++) {
            if (choixSolide[i].isSelected())
                updateAttribs();
        }
        if (btnEffacer == e.getSource()) {
            for (int i = 0; i < txAttribs.length; i++) {
                txAttribs[i].setText("");
            }
        }
        if (btnCalculer == e.getSource())
            calculer();
    }
    
    // Afficher les formules
    private void setFormules() {
        for (int i = 0; i < choixSolide.length; i++) {
            if (choixAire.isSelected())
                choixSolide[i].setToolTipText("Formule: " + formuleAire[i]);
            else if (choixVolume.isSelected())
                choixSolide[i].setToolTipText("Formule: " + formuleVolume[i]);
        }
    }
    
    // Mettre en évidence les champs nécessaires
    private void updateAttribs() {
        for (int i = 0; i < txAttribs.length - 1; i++) {
            txAttribs[i].setEnabled(false);    // Désactiver tout les champs
        }
        if (choixSolide[0].isSelected()) {    // Si le Cône est sélectionné:
            if (choixAire.isSelected())    // Si on veut calculer l'Aire:
                enableTx(true, false, true, false, false);
            else if (choixVolume.isSelected())    // Si on veut calculer le Volume:
                enableTx(true, true, false, false, false);
        }
        if (choixSolide[1].isSelected())    // Si le Cylindre est selectionné:
            enableTx(true, true, false, false, false);
        if (choixSolide[2].isSelected())    // Si la Sphère est sélectionnée:
            enableTx(true, false, false, false, false);
        if (choixSolide[3].isSelected()) {    // Si la Pyramide est sélectionnée:
            if (choixAire.isSelected())    // Si on veut calculer l'Aire:
                enableTx(false, false, true, true, true);
            else if (choixVolume.isSelected())    // Si on veut calculer le Volume:
                enableTx(false, true, false, true, true);
        }
        if (choixSolide[4].isSelected())    // Si le Prisme est sélectionné:
            enableTx(false, true, false, true, true);
    }
    
    // Pour activer/désactiver les champs
    private void enableTx(boolean b1, boolean b2, boolean b3, boolean b4, boolean b5) {
        txAttribs[0].setEditable(b1);
        txAttribs[0].setEnabled(b1);
        txAttribs[1].setEditable(b2);
        txAttribs[1].setEnabled(b2);
        txAttribs[2].setEditable(b3);
        txAttribs[2].setEnabled(b3);
        txAttribs[3].setEditable(b4);
        txAttribs[3].setEnabled(b4);
        txAttribs[4].setEditable(b5);
        txAttribs[4].setEnabled(b5);
    }
    
    // Effectuer le calcul
    private void calculer() {
        double operation[] = new double[choixSolide.length];
        if (choixAire.isSelected())
            operation = getAires();
        else if (choixVolume.isSelected())
            operation = getVolumes();
            
        DecimalFormat precision3 = new DecimalFormat("0.000");    // Laisser 3 chiffres après la virgule
        for (int i = 0; i < operation.length; i++) {
            if (choixSolide[i].isSelected()) {
                double resultat = (double) operation[i];    // Assigner l'opération à effectuer selon le solide
                txAttribs[5].setText(precision3.format(resultat));    // Écrire le résultat dans le champ prévu
            }
        }
    }
    
    // Les formules (Aires)
    public double[] getAires() {
        try {
            // Essayer de convertir les valeurs des champs disponibles en nombres entiers
            double rayon = (txAttribs[0].isEnabled()) ? Double.parseDouble(txAttribs[0].getText()) : 0;
            double hauteur = (txAttribs[1].isEnabled()) ? Double.parseDouble(txAttribs[1].getText()) : 0;
            double apothene = (txAttribs[2].isEnabled()) ? Double.parseDouble(txAttribs[2].getText()) : 0;
            double longueur = (txAttribs[3].isEnabled()) ? Double.parseDouble(txAttribs[3].getText()) : 0;
            double largeur = (txAttribs[4].isEnabled()) ? Double.parseDouble(txAttribs[4].getText()) : 0;
            
            double operation[] = {
                PI * rayon * apothene,    // Aire du Cône
                (2 * PI * rayon * rayon) + (2 * PI * rayon * hauteur),    // Aire du Cylindre
                4 * PI * rayon * rayon,    // Aire de la Sphère
                (longueur * largeur) + (  ( ((2 * longueur) + (2 * largeur)) * apothene ) / 2  ),    // Aire de la pyramide
                (2 * (longueur * largeur) ) + ( ((2 * longueur) + (2 * largeur)) * hauteur )    // Aire du Prisme
            };
            return operation;
        }
        catch(NumberFormatException e) {
            JOptionPane.showMessageDialog(null, "Entrée manquante ou format invalide",
                    "Erreur", JOptionPane.ERROR_MESSAGE);
            return null;
        }
    }
    
    // Les formules (Volumes)
    public double[] getVolumes() {
        try {
            // Essayer de convertir les champs disponibles en nombres entiers
            double rayon = (txAttribs[0].isEnabled()) ? Double.parseDouble(txAttribs[0].getText()) : 0;
            double hauteur = (txAttribs[1].isEnabled()) ? Double.parseDouble(txAttribs[1].getText()) : 0;
            double apothene = (txAttribs[2].isEnabled()) ? Double.parseDouble(txAttribs[2].getText()) : 0;
            double longueur = (txAttribs[3].isEnabled()) ? Double.parseDouble(txAttribs[3].getText()) : 0;
            double largeur = (txAttribs[4].isEnabled()) ? Double.parseDouble(txAttribs[4].getText()) : 0;
    
            double operation[] = {
                (PI * rayon * rayon * hauteur) / 2,    // Volume du Cône
                PI * rayon * rayon * hauteur,    // Volume du Cylindre
                (4 * PI * Math.pow(rayon, 3)) / 3,    // Volume de la Sphère
                (longueur * largeur * hauteur) / 3,    // Volume de la Pyramide
                longueur * largeur * hauteur    // Volume du Prisme
            };
            return operation;
        }
        catch(NumberFormatException e) {
            JOptionPane.showMessageDialog(null, "Entrée manquante ou format invalide",
                    "Erreur", JOptionPane.ERROR_MESSAGE);
            return null;
        }
    }
    
    // Fermeture de la fenêtre
    public static void main(String[] args) {
        AiresVolumes app = new AiresVolumes();
        app.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
}

Conclusion

Pour l'instant, je n'ai pas encore rencontré de "bugs" mais si quelqu'un en trouve, qu'il me le dise et je vais essayer de corriger ;-)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • AiresVolumes.jarTélécharger ce fichier [Réservé aux membres club]3 708 octets
  • AiresVolumes.javaTélécharger ce fichier [Réservé aux membres club]Voir ce fichier10 263 octets
  • manifest.tmpTélécharger ce fichier [Réservé aux membres club]50 octets

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de CHKDSK2K le 17/09/2004 08:28:46

Salut,

Bonne source Bravo :d

tu devrais ajouter une partie qui dessine le volume ?

DoS - CHKDSK - 2K4 supprimer.chkdsk@callantdavid.be.tf

signaler à un administrateur
Commentaire de Dobel le 17/09/2004 13:21:37

;-), marre de voir des redefinitions de constantes !

private static final double PI = Math.Pi; si tu veux
mais pas 3.1416 !!!

Dobel [membre du collectif pour le respect de la valeur de Pi ;O ]

signaler à un administrateur
Commentaire de gmi19oj19 le 17/09/2004 18:07:29

Pitié, mets un zip : pense aux 56 k ...

signaler à un administrateur
Commentaire de FasteX_ le 17/09/2004 20:56:21

CHKDSK2K que veux-tu dire par une partie qui dessine le volume ?

signaler à un administrateur
Commentaire de CHKDSK2K le 17/09/2004 21:13:36

Comme tu trouveras dans un de mes programmes que j'ai fait il dessine la courbe ax²+bx+c ... (un px de pub LOL)

tu vois ce que je vx dire ?

en fonction du rayon et de la hauteur longeur etc ...

mais je ne sais pas si c'est réalisable ...

DoS-CHKDSK-2K4 supprimer.chkdsk@callantdavid.be.tf

signaler à un administrateur
Commentaire de FasteX_ le 18/09/2004 00:23:36

Certe, c'est réalisable, mais je ne pense pas être assez haut niveau pour faire un tel code :o

signaler à un administrateur
Commentaire de dmaillet le 22/09/2004 14:30:57

Pour le faire, tu peux utiliser le java3d,
tu n'en auras pas pour longtemps,
ce sont des objets basiques!

signaler à un administrateur
Commentaire de FasteX_ le 25/09/2004 07:55:40

Saurais-tu où trouver un bon tuto pour java3d ?

signaler à un administrateur
Commentaire de dmaillet le 27/09/2004 09:00:52

bah tu peux essayer l'excellent site eteks.com...
pour le java3d: http://eteks.com/coursjava/java3D.html
c'est un tres bon debut,
le reste, on le decouvre en s'amusant...
si tu a des soucis avec le java3d
n'hesite a me demander.
je l'utilise dans mon boulot,
donc je devrait pouvoir t'aider...

signaler à un administrateur
Commentaire de FasteX_ le 29/09/2004 02:40:49

Merci pour tt, jvais essayer de m'y mettre ;-)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,31 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.