mardi 22 septembre 2015

espaces indésirables pour les éléments inline et inline-block

Bonjour,

Vous vous rappelez que dans l'exercice casse-tête ( Exercice 9 ) , on s'est rendu compte que lorsque 2 éléments inline sont séparés dans le code HTML par un espace, un saut de ligne ou autre, un espace se retrouve également dans la disposition des éléments; on avait donc placé toutes nos balises côte-à-côte dans le html de manière à se débarrasser de cet espace indésirable.

La même chose se produit avec les éléments ayant la propriété display:inline-block donc on a abondamment discuté au dernier cours. L'article suivant revient sur la situation et donne d'autres trucs pour se débarrasser de ces espaces indésirables.

http://www.alsacreations.com/astuce/lire/1432-display-inline-block-espaces-indesirables.html

lundi 21 septembre 2015

Générateur de faux texte pour page web

Bonjour,

"Lorem Ipsum" ou du faux texte, est du texte en faux latin qui sert uniquement pour démontrer la disposition de blocs dans une page web. De nombreux générateurs permettent de produire un ou plusieurs paragraphes de "faux texte" de manière à voir de quoi ont l'air nos designs web avec du texte.

La présente est pour vous présenter une liste de générateurs rigolos, se rapportant au bacon, à la série Downton Abbey ou aux chatons !

jeudi 7 mai 2015

Gala annuel du mérite étudiant 2015 - Nos gagnants du département


Le 27 avril dernier avait lieu le gala annuel du mérite étudiant. Il s'agit d'un gala durant lequel différentes bourses sont remises, entre autres, aux étudiants ayant cumulé les meilleurs résultats académiques dans chacun des programmes offerts au Collège. Le gala était animé pour une deuxième année par François Genest, étudiant en 3ème année.

Nous tenons à féliciter nos deux gagnants dans le programme de techniques de l'informatique:

Elisa Zhang ( 2ème année )
François Genest ( 3ème année )





mardi 3 mars 2015

Java - Superposer un JLabel sur un JToggleButton

Bonjour, Dans un travail, nous voulons représenter le plus fidèlement possible l'interface du logiciel Paint ( et ses fonctionnalités ! ). Nous voulons entre autres représenter les boutons permettant de changer la couleur avec une zone de couleur :


Il est donc composé d'un JToggleButton auquel on ajoute un JLabel. Pour éviter les problèmes de rafraîchissement, nous allons miser sur le fait qu'un JToggleButton est un conteneur. Nous allons donc créer et ajouter le JLabel au JToggleButton plutôt qu'à un JPanel. On doit cependant y aller dans le code plutôt qu'avec l'onglet Design.

Dessiner votre JButton normalement dans l'onglet Design. Trouvez-le dans votre code ( constructeur ). Suite à sa création,  ajoutez les lignes de code suivantes :

boutonCouleur1 = new JToggleButton("Couleur 1");
boutonCouleur1.setLayout( new FlowLayout()); // on assigne un FlowLayout au bouton car il sera un conteneur, un FlowLayout permettra de positionner le JLabel contenant la couleur plus facilement.
labelCouleur1 = new JLabel(); // création du JLabel, a été déclaré comme variable d'instance
labelCouleur1.setOpaque(true); // afin qu'il ne soit pas transparent, qu'il puisse représenter une couleur comme le noir dans celui ci-haut
boutonCouleur1.add(labelCouleur1); // le lable est ajouté au JToggleButton



On retourne dans l'onglet Design. Dans la fenêtre de structure, on voit que le JLabel est à l'intérieur du JToggleButton. Si on sélectionne le JLabel, il est minuscule ( qu'un point ). On doit le redimensionner. Étant donné qu'il est dans un FlowLayout, on doit le redimensionner avec la propriété preferredSize ( dans les propriétés avancées ). 

Le tour est joué ! Pour écrire couleur1 sur le JToggleButton, vous pouvez modifier la propriété verticalAlignment à Bottom.




lundi 2 mars 2015

Nouvelle activité au département : des présentations sur différents thèmes reliés à l'informatique !


Une présentation aura lieu à chaque moi sur un sujet relié à l'informatique. Ce mois-ci :De Pascaline à Pepper, petite histoire de nos relations cognitives.

La pensée, cette chose évanescente dont les humains furent les fiers dépositaires des millénaires durant, changent de sens en ce début de XXIième siècle.
Nous ne sommes plus seuls tributaires de ses manières.
Primates et mammifères marins se voient reconnaître de nouveaux droits issus de leur capacité cognitive.
Et un nouveau joueur s'apprête à survenir.
Une petite histoire de l'informatique sur les rapports cognitifs entre l'homo sapiens et sa machine.


Cette présentation de Jean-Marc Deschamps aura lieu le 25 mars à 18h00. Vous devez vous inscrire en utilisant le portail ( http://informatique.cvm.qc.ca/portail ) .


mardi 24 février 2015

Android Studio - Accéder à la javadoc directement

Pour ce faire, on doit aller ajouter un paramètre :

Menu FIle --> Settings --> Editor --> ajouter le crochet à "Show Quick Doc on Mouse Move"


mercredi 11 février 2015

Eclipse - Ne pas avoir à exécuter deux fois le programme pour avoir la bonne version

Bonjour,

Certains étudiants m'ont fait part qu'ils devaient toujours faire run deux fois pour que l'exécutable tienne en compte de leur derniers changements. Je n'ai jamais eu ce problème. La cause vient d'un paramètre que vous pouvez facilement modifier.

Menu Window -- Preferences -- développez la section Run/Debug , Launching


Assurez-vous d'avoir la première section à Always et le premier crochet à Build.

lundi 9 février 2015

Compétition d'applications mobiles ApplETS - Victoire d'une équipe du département

Vendredi et samedi dernier avait lieu une compétition de développement d'applications mobiles à L'ÉTS. C'était la 2e édition et pour la première fois, 2 équipes du département compétitionnaient. Suite à des présentations sur le développement Android par des professeurs et des développeurs, les étudiants ont environ 20 heures pour développer une app sur un sujet énoncé le soir même ( Cette année, c'était la santé ). Les étudiants doivent donc faire une nuit blanche afin de programmer de 20h30 le vendredi soir à 16h00 le samedi. Ils doivent finalement présenter leur application aux juges et aux autres personnes présentes.

Une dizaine d'équipes de cégeps et d'universités ont participé, la majorité développaient sous Android, une équipe en IOS et une en WindowsMobile.

Je suis très content de la performance de nos deux équipes car les deux équipes ont pu remettre une application fonctionnelle sur un téléphone dans les temps prescrits, ce qui ne fut pas le cas de toutes les équipes. Les deux équipes étaient formées de :

Olivier Racette, François Genest et Oleksandr Yuvzhenko ( régulier ) : ont fait une application Android permettant de conserver nos résultats de pression artérielle.

Laurel Daigneault, Philippe Deschesnes et Danny Boisvert ( intensif ) : ont fait une application utilisant le fonctionnement de Tinder mais relatifs à des recettes santé.

L'équipe de l'intensif a remporté la palme de meilleur projet pour les équipes provenant du collégial

Félicitations aux 6 étudiants !

jeudi 5 février 2015

Java - transparence sur les JPanels

Bonjour,

Certains étudiants de deuxième année ont attiré mon attention sur le fait que les panels dont la couleur avait un certain degré de transparence ( alpha ) ne s'affichaient pas bien. C'est particulièrement vrai pour les Panels qu'on dessine nous-mêmes ( dessin sur mesure ).

Pourquoi ?

Cela a rapport à l'opacité qui, par défaut, est complète sur les JPanels ( la propriété opaque est à true ) . Cela cause une contradiction avec une couleur de fond qui n'est pas totalement opaque.

Solution ?

1. La solution facile est d'assigner la couleur de fond à l'objet représentant la surface de dessin plutôt que dans la redéfinition de la méthode paintComponent  :

Ex.

SurfaceDessin sd;


// dans le constructeur du JFrame

...
sd = new SurfaceDessin();
sd.setBounds( 10,10,200,200 );
sd.setBackground ( new Color ( 23,56, 100, 80 );
getContentPane().add(sd);


2. Une solution plus permanente existe, mais elle est plus longue à réaliser. Elle consiste à placer la surface de dessin ( ou un autre JPanel ) complètement transparent ( setOpaque( false )) et de dessiner une grand rectangle occupant toute la surface du JPanel et d'appliquer la couleur ayant un degré de transparence à ce rectangle. Donc dans le paintComponent, ça donne :

protected void paintComponent ( Graphics g )
{

g.setColor( getBackground() );
g.fillRect(0, 0, getWidth(), getHeight());
super.paintComponent(g);


}

et dans le constructeur :

//ajouter la surface de dessin
sd = new SurfaceDessin();

sd.setBounds( 10, 140, 300, 200);
sd.setOpaque(false);
sd.setBackground( new Color(255, 0, 0, 20) );
getContentPane().add(sd);