Les brèves de nerdycode


Python pour tous

Python est un langage de progrmmation assez utilisé. Très utile d’ailleurs pour faire des scripts, il vous propose de nombreuses possibilités, découvrez les en lisant un de ces livres entièrement gratuit. Pour ma part, je vous conseille les livres de Gérard Swinnen : un standard. Pour les consulter c’est par ici.

Cours magistral sur UNIX disponible

En fouillant un peu sur le net, j’ai trouvé un cours sur UNIX (intéressant sur certains points) . Je continuerai à partager, à l’avenir, avec vous quelques liens URL sur ce sujet chaud brulant comme toujours. Bien évidemment, nombreux sont les documents qui portent sur le même sujet : « Débuter sur un UNIX », « Lignes de commande »… Je ferais du tri si j’en ai le temps.

Si Linux vous intéresse, vous pouvez lire mon article-phare sur ce sujet. 🙂

CSS is beautiful

Remerciez Squier pour ce lien URL trouvé aujourd’hui. Sur ce site, vous y trouverez multiples exemples démontrant la puissance du CSS.

Ninn : Une fenêtre Java avec un JTextArea

Introduction

Je vous en parlais dans la brève d’aujourd’hui, nous allons bientôt démarrer le développement de Ninn fin Septembre si tout se passe bien. Nous allons partager avec vous ce mois-ci un code en java qui servira de base au développement de Ninn. (Nous avons de grands projets pour Ninn 🙂 ).

Java 

Pour exécuter ce code, veuillez avoir installer l’environnement Java (JRE et JDK). Pour comprendre ce code servez vous des commentaires ainsi de l’article proposé en fin d’article. 🙂

 
 

package Ihm;
import java.util.*;
//on importe tout le contenu de la bibliothèque avec
//cela évite d'importer un par un les éléments de la bibliothèque swing
import javax.swing.*;
/*je suis obligé de faire appel à AWT car j'en ai besoin pour gérer les 'layouts manager'
(gestionnaires de placement)
*/
import java.awt.*;
import java.awt.event.*;

//la classe hérite de JFrame (extends)
class mainwindow extends JFrame
//On maintenant construit la fenêtre
{
/*variable privée : variable accessible uniquement dans la classe
on déclare ces variables qui vont être utilisés dans le constructeur avant
avantage de le déclarer en dehors du constructeur :
utilisable partout dans la classe mainwindow*/

//Container, contient tous les autres objets tel que JButton
private JPanel panel = new JPanel();

//barre de menu
private JMenuBar menubar = new JMenuBar();

//Menu
private JMenu file = new JMenu("File");
private JMenu edition = new JMenu("Edit");
private JMenu about = new JMenu("A propos");

//Items
private JMenuItem sauvegarder = new JMenuItem("Save");
private JMenuItem quitter = new JMenuItem("Quit");
private JMenuItem license = new JMenuItem("License");

//fontsize sera un item de : edition et aura plusieurs items
private JMenu fontsize = new JMenu("Font Size");
private JMenuItem size12 = new JMenuItem("12");
private JMenuItem size36 = new JMenuItem("36");
//Zone de texte
private JTextArea text = new JTextArea("");
//constructeur
public mainwindow()
{            //titre de la fenêtre
setTitle("NINN");
//taille de la fenêtre
setSize(990,560);
setResizable(true);
//affiche la fenêtre au centre de l'écran
setLocationRelativeTo(null);
//cadre de la fenêtre
//true : cadre
//false : sans cadre
setUndecorated(false);
// ferme la fenêtre
//si on ne met pas ça en réalité la fenetre n'est pas fermée elle a juste "disparue"
setDefaultCloseOperation(EXIT_ON_CLOSE);

//----------------
setJMenuBar(menubar);
menubar.add(file);
menubar.add(edition);
menubar.add(about);
file.add(sauvegarder);
file.add(quitter);
edition.add(fontsize);
fontsize.add(size12);
fontsize.add(size36);
about.add(license);

//----------------

//raccourcis clavier
sauvegarder.setMnemonic('S');
// getKeyStroke to get the KeyChar
sauvegarder.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK));
quitter.setMnemonic('Q');
quitter.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_Q,InputEvent.CTRL_MASK));

//----------------

//quand on clique sur quitter, l'application se ferme
//pour sauvegarder
sauvegarder.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(panel, "La fonction sauvegarder n'existe pas encore" );
}
}
);
//pour quitter Ninn
quitter.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.exit(0);}
}
);
//la licence d'exploitation de Ninn
license.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(panel, "GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. http://fsf.org/" );
}
}
);
//pour modifier la taille du texte
size12.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
Font twelve = new Font("Arial", Font.PLAIN,12 ); // 12
text.setFont(twelve);
}
}
);
size36.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
Font twelve = new Font("Arial", Font.PLAIN,36 ); // 36
text.setFont(twelve);
}
}
);

//----------------

//on appelle ceci un layout manager et ceci est un objet de la bibliothèque AWT
panel.setLayout(new BorderLayout());
//panel.add(bouton, BorderLayout.NORTH);
panel.add(text, BorderLayout.CENTER);
this.setContentPane(panel);

//----------------

//autorise le retour à la ligne
text.setLineWrap(true);

}
}
//classe principale 'window'
public class window {

/**
* @param args
*/
//méthode prncipale main (static void)
public static void main(String[] args) {
// TODO Auto-generated method stub
//objet de type JFrame, on place sa référence dans window
//On va construire la fenêtre en faisant appelle à la classe mainwindow();
JFrame window = new mainwindow();
//rendre visible la fenêtre
window.setVisible(true);

}

}

VOUS AVEZ ADORÉ ? VOUS ALLEZ RIRE MAIS CET ARTICLE VOUS INTÉRESSERA.

En passant

Les brèves de nerdycode


Création d’une nouvelle rubrique : Les brèves de nerdycode

Après constaté que je pouvais consacré un peu de mon temps pour des articles rapides, je vous propose cette rubrique. Cette dernière comportera des nouvelles plus ou moins brèves, ou des articles dans le vif du sujet.

Vous reconnaîtrez ce type d’articles par le logotype ici présent —>

Le projet Ninn

Début du projet Ninn : 30 Septembre 2012 normalement.

Ninn sera un éditeur de texte écrit en Java, nous commençons bientôt le développement de l’applicatif. Il sera normalement diffusé en version code source libre et gratuit. Dans la continuité du projet, je partagerais avec vous un code source qui fera office de base au code du programme Ninn. Par respect de l’auteur, veuillez ne pas piquer le nom choisi pour l’application en cours de développement.

Creation of a new section : brief news from nerdycode

After a moment while writing a lot of expeditious articles, I decided to create the « brief news form nerdycode », where Serial and me will write very short articles or non-important articles.

Ninn project

Beginning of the project : 09/30/12. Normally.

Ninn will be an editor written in Java (so normally, running everywhere according to the theory). We’re startin’ the development soon, and it will be diffused as free software. So, I’ll share with you the source code in Java which will help me to build Ninn. Be nice, don’t copy the name I found for my soft.

En passant

Fedora 17 : The Beefy Miracle

Ecrit à partir de mon HP Pavilion Entertainment PC tournant sur Fedora 17 :
Ayant été un peu déçu par la version 12.04 LTS d’ubuntu qui n’est pas supporté par mon vieil laptop, je passe aux choses sérieuses : Installation d’un nouvel OS. après m’être frotté brèvement à debian où je n’ai pas dépassé le stade de l’installation (car Môssieur Debian ne voulait pas reconnaître ma borne wifi, mais ça c’est une autre histoire), je me suis tourné vers un vieux fantasme de gamin : Fedora !
Distribution tant utilisée dans les écoles (d’informatique précisons-le), à l’instar des deux autres distributions cités dans ce post, mon envie de l’installer, de le tester et d’apprendre avec joie les lignes de commande est dû aussi au fait que mon subconscient me fait dire que c’est le petit frère de RedHat (chers développeurs, ne m’en veuillez pas de l’appeler petit alors qu’il a tout d’un grand).
Peut être qu’un jour avec un peu de sous, je m’essaierai à RedHat et sa super certification. Un jour… J’en suis loin moi et mes ls, cd, mkdir….
Bref, il est arrivé le miracle énorme.
N.B : En choisissant d’installer avec les paquets « bureautique », j’ai fait l’énorme bétise de me priver des outils de développements. Je me dois de réparer ce manque d’outils par une installation manuelle. je dis ça au cas ou je vous aurai convaincu de l’installer…

Example of static webpage.


 
The HTML source

<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,400italic,300,300italic' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Butterfly+Kids' rel='stylesheet' type='text/css'>
<style>
body
{
background-image:url(images/subtle-pattern-1.jpg);
}
</style>
</head>
<body>
<header id="header">
<p>
Cerf-volant
</p>
</header>
<nav id="nav">
<ul>

<li>
Menu
</li>

<li>
<a href="#">Acceuil</a>

</li>

<li>
<a href="#">Boutique</a>
<ul>
<li><a href="#">Cerf-volants</a></li>
<li><a href="#">Kite-surf</a></li>
</ul>
</li>

</ul>

</nav>
<div id="menu">
<a href="#">Acceuil</a>

<a href="index2.html">Boutique</a>

<a href="index3.html">Evenement</a>

<a href="index3.html">Blog</a>

<a href="index4.html">Contact</a>

</div>
<div id="content">
<article>
<h1>Title 1</h1>
<table>
<tr>
<td><img src="images/kite.gif"/></td>
<td>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet.
</td>
</tr>
</table>

<h1>Title 2</h1>
<img src="images/kite2.gif" style="position: absolute; margin: 10px 20px 0px 0px;float:left;width: 200px; height: 400px"/>
<p style="padding-left:210px;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna. Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet.
</p>
</article>
<footer>
<a href="#">Cerf-volant</a> | Ne marche pas sur Internet Explorer, veuillez utiliser un autre navigateur : <a href="http://www.mozilla.org/fr/firefox/fx/" alt="Téléchargez Mozilla">Mozilla</a>, <a href="https://www.google.com/intl/fr/chrome/browser/?hl=fr&brand=CHMB&utm_campaign=fr&utm_source=fr-ha-emea-fr-sk&utm_medium=ha" alt="Téléchargez Chrome">Chrome</a>, <a href="http://fr.opera.com/" alt="Téléchargez Opera">Opera</a>...
</footer>
</div>

</body>
</html>

 
The CSS source

			body
				{
					background-image:url(images/subtle-pattern-1.jpg);
					font-family:'Open Sans', Arial, Lucida Grande;
				}
			#header
				{
					/*largeur minimale*/
					min-width:952px;
					/*largeur : automatique*/
					width:auto;
					/*position*/
					position:relative;
					/*arrière plan*/
					background: #87e0fd; /* Old browsers */
					background: -moz-linear-gradient(top, #87e0fd 0%, #53cbf1 40%, #05abe0 100%);
					background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a9e4f7), color-stop(100%,#0fb4e7)); /* Chrome,Safari4+ */
					background: -webkit-linear-gradient(top,  #87e0fd 0%,#05abe0 #05abe0100%); /* Chrome10+,Safari5.1+ */
					background: -o-linear-gradient(top,  #87e0fd 0%,#05abe0 100%); /* Opera 11.10+ */
					background: -ms-linear-gradient(top,  #87e0fd 0%,#05abe0 100%); /* IE10+ */
					background: linear-gradient(to bottom,  #87e0fd 0%,#05abe0 100%); /* W3C */
					filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a9e4f7', endColorstr='#0fb4e7',GradientType=0 ); /* IE6-9 */

					/*bordure en bas*/
					border-bottom:1px solid #e5e5e5;
					/*hauteur*/
					height:190px;
					/*marges intérieures*/
					padding-top:26px;
					padding-left:25px;
					padding-bottom:25px;
					/*marges extérieures*/
					margin-top : -5px;
					margin-left : -8px;
					margin-right : -8px;
					overflow: hidden;

					vertical-align: baseline;

				}
			#header p{
					font-family: 'Butterfly Kids', cursive;
					font-size:40px;
					color:#ffffff;
					text-shadow: 0px 2px 0px grey;
					margin-top:150px;
			}

			#menu /* Ensemble du menu */
				{
					position:relative;
					/*marge extérieure uniquement à gauche*/
					padding-left:30px;
					/*marges extérieures*/
					margin-left : -8px;
					margin-right : -8px;

					/*text-align : left; */
					font-family : 'Open Sans', Arial;
					font-size : 14px;
					line-height : 36px;

					min-width:952px;
					width:auto;
					position:relative;
					background : #333333 ;
					overflow:none;
				}

			#menu a /* Contenu des listes */
				{
					display : inline-block; /* on change le type d'élément, les liens deviennent des balises de type block */
					padding : 0; /* aucune marge intérieure */
					margin:0;
					background : #333333 ; /* couleur de fond */
					color : #fff; /* couleur du texte */
					text-decoration : none; /* on supprime le style par défaut des liens (la plupart du temps = souligné) */
					width : 140px; /* largeur */
					height : 40px;

				}
			#menu a:hover
				{

					text-decoration:underline;
					font-size:20px;

				}
			#nav{
				position: fixed;
				left: -39px;
				margin-top: 25px;
				color: #000000;
				}
			#nav li {
				/* on annule la puce par défaut */
    			list-style-type: none;
    			display : block;
				text-align: center;
				text-decoration : none;
				margin-top:auto;
				color:#000000;
				/* Mozilla */
				background: -moz-linear-gradient(top, #eeeeee 0%, #cccccc 100%);
				/* Chrome,Safari4+ */
				background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#cccccc));
				/* Chrome10+,Safari5.1+ */
				background: -webkit-linear-gradient(top,  #eeeeee 0%,#cccccc #cccccc 100%);
				/* Opera 11.10+ */
				background: -o-linear-gradient(top,  #eeeeee 0%,#cccccc 100%);
				/* IE10+ */
				background: -ms-linear-gradient(top,  #eeeeee 0%,#cccccc 100%);
				/* W3C */
				background: linear-gradient(to bottom,  #eeeeee 0%,#cccccc 100%);
				/* IE6-9 */
				filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 );
				width : 185px; /* largeur */
				height : 50px;
				}
			#nav li a{
				display : block;
				text-align: center;
				text-decoration : none;
				margin-top:auto;
				color:#000000;
				background: -moz-linear-gradient(top, #eeeeee 0%, #cccccc 100%);
				width : 185px; /* largeur */
				height : 50px;
				}
			#nav li a:hover{
				text-decoration:none;
				background: -moz-linear-gradient(top, #aaeeff 0%, #1a90a1 100%);
				width : 185px; /* largeur */
				height : 50px;
				}

			#nav li ul /* Sous-listes */
				{
       			position: relative;
       			/* Largeur des sous-listes */
        		width: 144px;
        		/* Masquer les sous-liste du champ de vision */
        		left: -999em;
        		border-radius:5px 5px;
				}

			#nav li ul a /* Eléments de sous-listes */
				{
 					border-radius:5px 5px;
 					background: rgb(238,238,238);
				}
			#nav li ul a:hover/* Eléments de sous-listes */
				{
 					border-radius:5px 5px;
				}
			#nav li:hover ul /* Sous-listes lorsque la souris passe sur le menu */
				{
        		/* Repositionnement */
        		left: -40px;
        		/* Au cas ou il y aurait un probleme */
        		min-height: 0;
				}

			#content
				{
				position:relative;
				background : #ffffff;
				padding-top:3px;
				padding-left:30px;
				margin-left : 180px;
				padding-right:30px;
				margin-right : 180px;
				padding-bottom: 3px;
				min-width:290px;
				max-width:1300px;
				height : 1500px;
				max-height : auto;
				text-align: justify;
				font-size:12px;
				}
			footer{
				position:relative;
				/* Old browsers */
				background: #a90329;
				/* Mozilla */
				background: -moz-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
				/* Chrome,Safari4+ */
				background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a90329), color-stop(100%,#6d0019));
				/* Chrome10+,Safari5.1+ */
				background: -webkit-linear-gradient(top,  #a90329 0%,#6d0019 #6d0019100%);
				/* Opera 11.10+ */
				background: -o-linear-gradient(top,  #a90329 0%,#6d0019 100%);
				/* IE10+ */
				background: -ms-linear-gradient(top,  #a90329 0%,#6d0019 100%);
				/* W3C */
				background: linear-gradient(to bottom,  #a90329 0%,#6d0019 100%);
				/* IE6-9 */
				filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a90329', endColorstr='#6d0019',GradientType=0 );

				color:#ffffff;
				height: 50px;
				min-width: auto;
				width:970px;
				top:500px;
				margin-top:5px;
				left:282px;
				padding-top: 8px;
				padding-left:30px;
				border-radius:5px 5px;
				-moz-border-radius:5px 5px;
				-webkit-border-radius:5px 5px;
			}
			footer a{
				color:#ffffff;
			}
			footer a:hover{
				font-size:30px;
			};

Éditeurs de code

J’espère que vous aimerez cet article qui m’a pris beaucoup de temps et qui complète une série d’articles :

  1. J’apprends à programmer
  2. Des ressources en abondance pour le développeur

Pour compléter la parfaite panoplie du développeur, il faut choisir un IDE. L’IDE est un éditeur de développement intégré. Plus qu’un simple éditeur, il proposera des outils, tel un couteau suisse, comme l’auto-complétion. Alors qu’en ce moment même, Adobe développe son propre éditeur orienté web, j’ai décidé de vous parlé des éditeurs.

Commençons avec les éditeurs en apparence simple mais qui permettent de bosser sur tous les langages.

Éditeurs multiple-langages.

Notepad ++

Éditeur très simple sans débogueur, rien du tout d’autre qu’un éditeur qui vous permet d’enregistrer dans différents formats. A l’origine Notepad++ se veut un simple éditeur pour tous les langages, c’est pourquoi vous le trouverez dénudé au départ, surtout si vous êtes habitués à des IDE tel qu’Eclipse. Ceci dit, ce dernier propose quelques plugins qui vous permettent d’avoir  tous les gadgets que vous voulez (auto complétion, etc).

intype

Cet éditeur est très très jeune mais a une belle longue vie devant lui à tracer. Comme Notepad++, des bundles à souhait. Il n’y a pas encore de plugins, mais il est déjà assez sympathique comme ça. 🙂

Sublime Text 2

Pour finir (en beauté) la partie « éditeur multiple-langage », je vous propose un cas très particulier. Je l’ai découvert depuis très peu de temps : Sublime Text 2. Tapez sur Google, et vous lirez de beaux textes du genre « Il sublimera votre code » (ce qui n’est pas tout à fait vrai dans un sens, puisque ce n’est pas l’éditeur qui fait que le code est magnifique), mais j’avoue qu’il gère la fougère ! Côté aspect graphique rien à dire. Petit plus par rapport à Notepad++, la façon d’utiliser l’ascenseur de droite. Je vous laisse la surprise. Sinon, il y a des raccourcis à souhait, et des plugins qui amènent son utilisation vers la simplicité et l’efficacité. Cerise sur le gâteau, bien qu’une licence est exigée (59$), il n’y a pas de limite dans le temps à l’utilisation de la « version d’essai ».

Éditeurs « Usine à gaz »

On les appelle « usines à gaz », je vous les cite sans passer trop de temps à les décrire, vous comprendrez qu’il n’y a là aucun intérêt d’en parler aussi bien ils sont connus (pour la plupart) que leur réputation d’usines à gaz n’est pas à refaire (ce qui signifie pas que ce sont de mauvais éditeurs). Si vous cherchez un éditeur de code plus léger (qu’importe le langage), ce paragraphe n’est pas pour vous (à moins que vous soyez piqués de curiosité) :

  • Eclipse (éditeur très connu pour Java, je vous recommande la lecture de cet article)
  • Netbeans (éditeur principalement Java, créé d’ailleurs par les créateurs de Java)
  • Komodo Edit (encore du Java mais pas seulement en fait…)
  • Aptana (éditeur principalement HTML/CSS/JS)
  • Dreamweaver (éditeur HTML, etc)
  • VisualStudio (édité par Microsoft)

Éditeurs « autres »

BlueGriffon

Pour faire du développement web, je vous propose, si vous n’utilisez pas un des éditeurs multiple-langages, BlueGriffon. Il s’agit d’un éditeur WYSIWYG (What You See Is What You Get). Cet éditeur, pour la culture générale, est écrit par Daniel Glazman. Si vous lisez quelque part : »éditeur basé sur le moteur de rendu de Firefox ». C’est tout à fait normal. 🙂 Les deux éditeurs web de firefox qui se sont succédés, KompoZer et Nvu, ont été écrit par Daniel Glazman !(Bon, d’accord, il n’était pas tout seul sur le développement du logiciel, mais cela explique assez bien les similitudes…).

Bluefish

Si vous n’aimez pas le WYSIWYG, ou que vous préférez le code pur et dur, vous avez Bluefish. (On adore le bleu nous les informaticiens). Remarque : le WYSIWYG n’est plus à la mode, d’autant plus que nombreux sont les web developers  qui considèrent le WYSIWYG comme un outil pour les débutants…Je dis ça je dis rien…

Brackets : « L’éditeur qui pouvait s’éditer lui-même »

Mais celui qui a attiré mon attention ces derniers temps est Brackets, un éditeur gratuit et open-source, tout étant édité par… Adobe ! Enfin un logiciel Adobe que je vais sûrement aimer ! Le code source est donc à disposition sur Github. Son design est épuré , son interface est bien pensé. Techniquement, c’est une vrai trouvaille puisque qu’il est écrit entièrement en HTML et JS (« built with the web« ) ! Quoi de mieux qu’une vidéo pour vous montrer ce que c’est 😉 :

Pour conclure, nombreux sont les logiciels pour les développeurs web. Néanmoins, les principaux à retenir sont :

Je n’ai pas testé d’autres éditeurs autres qu’Eclipse, Komodo et Netbeans pour le java. Néanmoins, je peux vous indiquer deux logiciels plus légers :

Éditeurs en ligne

Cela devient à la mode : les éditeurs en ligne. Je commence par Mozilla et son outil Thimble  dont le graphisme est assez sympathique soit dit en passant. Curieusement, cela me fait penser à un vieux projet de Mozilla  : Bespin, devenu par la suite Skywriter, projet actuellement inactif. :mrgreen:

La fondation Eclipse a son propre éditeur : Orion. L’éditeur est dans votre navigateur et utilisera les ressources de votre navigateur. 🙂

Vous trouverez d’autres « éditeurs », il suffit de suivre un peu l’actualité puisque cela devient un effet de mode. Tout comme on observe de plus en plus des compilateurs en ligne.

D’autre part, vous croiserez sur votre route d’internaute, des « éditeurs » comme jsFiddle. Je vous laisse découvrir son utilité 😀

VOUS AVEZ ADORÉ ? VOUS ALLEZ RIRE MAIS CET ARTICLE VOUS INTÉRESSERA.

En passant

Linux les commandes

Il y a de nombreuses commandes. Vraiment beaucoup. Mais quand on y réfléchit à deux fois, elles sont faciles à retenir pour la plupart et il y a matière à écrire un (bel) article. C’est presque de l’instinctif Linux. Et puis si ça ne l’est pas,  RTFM 😛

ls

affiche la liste des fichiers d’un répertoire

cd

[change directory] va au répertoire personnel (home)

pwd

montre le répertoire courant

mkdir

[make directory] crée un nouveau répertoire

💡 Nous vous conseillons d’utiliser ce qu’on appelle dans le jargon informatique une cheatsheet, soit une « antisèche » regroupant les principales lignes de commande à connaître pour s’en sortir sur le terminal linuxien comme celle-ci. Car vous vous doutez bien que celles que nous venons de voir ci-dessus ne sont pas les seules commandes qui existent !

Si vous doutez de tel ou tel commande, il suffit de lire le manuel en tapant man.

Bref, en attendant de pouvoir lire ce bel article (qui est loin d’être publié !), je vous propose une petite ligne de commande cachée (easter egg oui) :

user@engine:-$ xeyes

 

Rappel :

Accès aux terminaux (Sur les machines du département vous disposez de 7 terminaux virtuels. Six sont en mode texte et le septième est en mode graphique) :

ALT+CTRL+F1/F2/F3/F4/F5/F6.

J’apprends à programmer.

Ze usual suspects introduction.

Bonjour, j’ai décidé de partager mon opinion de débutant en programmation avec vous et vous faire part de mes observations après avoir glané un peu sur le oueb. Vous trouverez à foison des conseils, des idées…Bref, un peu de tout. Je ne dois pas être le seul à faire ce genre d’articles, ni le seul à essayer de partager mon opinion mais j’espère que quelqu’un lise ceci, commente de façon pertinente et surtout que cela l’aide.

Avant de se lancer corps et âme  dans la programmation.

4 choses à savoir, 4 choses à avoir, 4 choses inévitables à acquérir :

  • Une curiosité insatiable.
  • Une grande autonomie.
  • Une bonne mémoire.
  • De la rigueur.

L’informatique, c’est un peu comme une science. D’ailleurs, vous allez rire mais y a des maths en informatique ! *trollface* En sciences, comme en informatique, la rigueur, la curiosité et la mémoire est de mise. En ce qui concerne l’autonomie j’y viendrai après.

Être curieux est une chose très naturelle chez l’Homme et permet au débutant en informatique de progresser en ne cessant de lire les forums, les blogs, etc. Mais pas seulement ça, le bon programmeur qui voit son programme « buguer » ne s’arrête pas à régler le problème mais, par curiosité, à comprendre pourquoi ça ne fonctionnait pas.

RIGUEUR + ORDINATEUR = AMAZING TRICK !!!*

La rigueur, vous l’apprendrez en C, est important car l’ordinateur ne fait pas de l’à peu près. C’est c*n un ordinateur, vous savez ? Il ne fait que suivre au mot près. Aucune déduction. Kaput. Mais par contre, il est fort en maths et a une bonne mémoire (si vous en prenez soin). Si vous êtes rigoureux, il vous sortira des trucs incroyables.

*Amazing trick : Tour de magie incroyable.
 

La mémoire est le meilleur appareil photo qui soit.

La mémoire est utile qu’importe l’activité que vous exercez. C’est plus rapide de programmer quand on se souvient bien de l’instruction dont à besoin qu’alterner entre son IDE et Google parce qu’on ne se souvient plus. 😉

Moi j’suis grand, j’me débrouille tout seul !

Un jour, quand j’ai vraiment débuté, j’ai voulu faire une calculatrice en JAVA. Très simple non ? Je me suis renseigné sur un forum et je me suis fait incendié (de mon point de vue) par un membre. En fait, c’est une technique très courante chez les membres experts en programmation quand ils tombent sur un débutant qui leur pose une question qui a été posé plus d’un million de fois. Je ne sais pas si dans mon cas je méritais sanction mais je les comprends un peu.

Vous tomberez aussi sûrement sur un membre qui vous dira : rtfm (surtout si vous débutez sur linux). Ceci n’est ABSOLUMENT pas une remarque sympathique du style LOL, je tiens à le préciser. :mrgreen: Soyez autonome et glanez sur le oueb. Vous trouverez bien quelqu’un qui aura posé la question avant vous ! 🙂 Et lisez les documentations et les manuels aussi, ça peut servir, ils sont là pour ça hein ? RTFM ! 😛

Le bibliothécaire

Je tiens à vous parler des livres en informatique car il est évident que tout informaticien, tel un érudit, se voit doté d’une bonne bibliothèque.

Si vous faîtes partie des gens qui pensent que grâce à Internet, on est plus obligé de dépenser de l’argent pour des livres qui souvent coûtent très cher, je vous donne à moitié raison. Tout d’abord, il est évident que niveau prix, il n’y a pas photo : Internet c’est génial, tout est gratuit ! (pas vraiment tout en fait, mais ce n’est pas l’intérêt de l’article). Mais en ce qui concerne la qualité, c’est fiable à 70%, même peut être moins mais je ne suis point statisticien. Je ne m’aventurerais pas d’avantage dans les chiffres, mais vous l’avez bien compris : On trouve de tout sur Internet. Les livres offrent des cours, des pratiques, des méthodes (qui parfois paraissent « obsolètes », je le reconnais), des trucs et astuces de qualité. Le prix d’un livre est très variable, vous pouvez très bien tombé sur un très bon livre à 20 € comme Java de C.Delannoy (édition Eyrolles, je parle de ce livre ici).

 N’oublions pas les ebooks !! Je ne me lancerais pas dans le débat : « le livre numérique est-ce bien ? », le livre numérique reste un excellent compromis : Nettement moins cher et moins encombrant.

Moi j’ai une petite méthode pour bien choisir mon livre dans une librairie. J’y vais en suivant une méthode tel un ordinateur suivant un algorithme :

Sujet Qualité Prix Édition Auteur

Voilà, je procède donc en regardant d’abord le sujet, ensuite la qualité, puis le prix (là c’est carrément vital dans mon cas :mrgreen: ), pour finir l’éditeur et l’auteur. Généralement, les meilleurs éditeurs dans le domaine de l’informatique sont Pearson et O’Reilly. Sans oublier Dunod, qui est un peu plus scientifique lui.

Les p’tites phrases

Pour faire simple et vous évitez de longs paragraphes, je vous ai fait une liste de petites phrases qui veulent tout dire :

  • Un code simple est difficile à écrire.
  • Un code extrêmement simple est extraordinairement difficile à écrire.
  • Un code facile à comprendre ne signifie pas qu’il était facile à écrire. (En fait, plus il est facile à comprendre, plus il était probablement difficile à écrire).
  • Il y a plusieurs façons de faire quelque chose.
  • Quoi qu’il en soit, il n’y a probablement aucun meilleur moyen, seulement beaucoup de façons différentes qui sont bonnes.
  • Il y a toujours beaucoup de place pour l’amélioration (dans votre code, et dans votre façon de faire).
  • Les changements à « une seule ligne de code » n’existent pas.
  • Toujours sauvegarder avant de réorganiser.
  • RTFM 😉 Lisez les documentations (pas intégralement seulement ce qui vous intéresse) et les tutoriels.
  • N’ayez pas honte d’utiliser un max les ressources qu’on vous propose que cela vient de Windows, Mac, Linux ou je ne sais pas de qui.
  • Ce n’est pas parce que vous avez écrit au moins cent lignes de code que vous êtes un génie.
  • Réussir à faire un petit programme ne veut pas dire que vous avez tout vu de l’informatique.
  • Faîtes votre liste des projets, des choses que vous voulez faire comme vous faîtes votre liste des courses.
  • Write once, run everywhere.

Structure.

J’en reviens à la rigueur : structurez bien votre code. C’est toujours plus sympa de lire un code structuré, tout comme il est très agréable de lire un roman structuré en paragraphes. Voilà un exemple sur le CSS. Généralement, on fait apprendre aux débutants le C pour la rigueur. Vous en aurez bien besoin en POO lorsqu’il s’agira d’écrire des classes de classes de… Bref, structurez !

Write once, run everwhere ?

Pensez votre code pour qu’il puisse marcher partout. En écrivant cela, je pense au responsive design. L’art de faire un site internet lisible sur n’importe quel appareil (multi-device) sans problème de taille de la page et des caractères. C’est une manipulation CSS. J’ai actuellement un blog gratuit fait avec WordPress. Je n’envisage pas pour l’instant de passer dans un domaine payant où je peux maîtriser tous les éléments du site. Mais j’ai choisi un thème intitulé YOKO fait par Elmastudio qui s’adapte sur tous les appareils. Vous pouvez tester par vous même si vous le souhaitez. Ceci est un exemple. Mais cette philosophie peut s’adapter à n’importe quel projet que vous mènerez.

POO : Programmation Orienté Objet.

En programmation, vous rencontrerez la programmation orienté objet. Très utilisée en Java, reprise également, ne serait-ce que le principe et la forme, en Javascript, la programmation orientée objet que vous utilisez Java, JS, Python, ou autre, c’est toujours la même vision : Objets, Procédures, Méthodes. Des termes à bien maîtriser. Important en Java notamment pour les classes.

Voilà, voilà, j’espère que ça vous aidera dans un avenir proche. 🙂

VOUS AVEZ ADORÉ ? VOUS ALLEZ RIRE MAIS CET ARTICLE VOUS INTÉRESSERA.