Catégorie : Développement

Dossiers et exemples de code dans différents langages de programmation tels que Java, Javascript, PHP, Windev, C#… mais aussi de balisage comme HTML.

[JS] JQuery – Mémo #2 – Requête AJAX

[JS] JQuery – Mémo #2 – Requête AJAX

JQuery vous permet d’effectuer facilement des requêtes AJAX. Par exemple:

$.ajax({
 type : "POST",
 url : "URL_A_APPELER",
 data : {
  param1: val_param1,
  param2: val_param2,
  // ...
 }
})
.done(function(data)
{
})
.fail(function(jqXHR, responseHtml, url)
{
});

Dans l’exemple on spécifie le type de requête, l’URL appelée, et les données envoyées. La fonction done() est exécutée lorsque la réponse est positive. L’objet « data » est alors un objet qui peut contenir du HTML notamment. La fonction fail() est exécutée quand la réponse du serveur est une erreur ou quand l’appel a échoué.

Dans JQuery 3, il ne faut plus utiliser les méthodes callback suivantes : error(), success() et complete().

La documentation officielle décrit les paramètres supplémentaires et l’utilisation des méthodes callback. Par exemple, on peut passer un objet dans « data » à la place des différents paramètres. Au niveau des options, on peut notamment spécifier async: false, pour forcer l’attente de la réponse. Les possibilités sont nombreuses.

[Utilitaires] Scoop

[Utilitaires] Scoop

Scoop est un utilitaire qui s’exécute en ligne de commande via Windows Powershell et fait penser à apt-get dans son fonctionnement. Il permet en fait d’installer pour l’utilisateur en cours des applications – principalement pour le développement – sans demander d’élévation des privilèges, et sans se soucier de l’architecture de la machine, tout ça sans passer par un navigateur web.

L’utilitaire télécharge lui-même le nécessaire et stocke ensuite les fichiers dans le dossier de l’utilisateur. On trouve principalement des outils de développement.

Poursuivre la lecture « [Utilitaires] Scoop »

[JS] Des infobulles avec Tooltipster 4

[JS] Des infobulles avec Tooltipster 4

Tooltipster est un script permettant d’afficher des infobulles modernes, bien plus « user-friendly » que ce que proposent les navigateurs. Il nécessite JQuery pour fonctionner (attention que sous Internet Explorer 9 avec JQuery version 1.8, cela ne fonctionnera tout simplement pas!)

Poursuivre la lecture « [JS] Des infobulles avec Tooltipster 4 »

[JS] Personnaliser la liste de styles dans tinyMCE

[JS] Personnaliser la liste de styles dans tinyMCE

Dans l’éditeur tinyMCE, lorsqu’on choisit de dérouler le menu de sélection du format, on dispose d’éléments par défaut comme les en-têtes (h1 à h6), l’alignement ou bien même la mise en forme classique comme le « gras », « souligné » ou « italique ». Ce menu peut être personnalisé de différentes manières.

Poursuivre la lecture « [JS] Personnaliser la liste de styles dans tinyMCE »

[Java] Evaluer une expression avec Groovy

[Java] Evaluer une expression avec Groovy

Apache Groovy est à la base un langage de programmation pouvant s’intégrer à des logiciels développés pour la plateforme Java. Les librairies qu’il propose peuvent être importées dans un projet, notamment pour diverses raisons comme le besoin d’évaluer dynamiquement une expression.

Poursuivre la lecture « [Java] Evaluer une expression avec Groovy »

[JS] Recharger un TA tinyMCE après appel AJAX

[JS] Recharger un TA tinyMCE après appel AJAX

Pas plus tard qu’aujourd’hui j’ai été confronté à un petit problème de rafraichissement de mes champs textarea pour lesquels j’utilise l’éditeur tinyMCE 4, un éditeur WYSIWYG permettant de saisir du texte et de le transformer en code HTML.

En effet, après un appel AJAX qui ajoutait des éléments textarea dans mon code, je rappelais la fonction tinymce.init(). Sauf qu’il n’y avait alors que les nouveaux champs qui étaient chargés…

Poursuivre la lecture « [JS] Recharger un TA tinyMCE après appel AJAX »

[Java] JPA : Fetch dans une requête JPQL

[Java] JPA : Fetch dans une requête JPQL

Quand on crée des entités avec la Java Persistence API, on peut spécifier des jointures qui se présentent alors sous forme d’objets liés à d’autres entités, plutôt que sous la forme de variables comme des chaines ou des Long. Voici un exemple de relation entre un client et ses factures.

Poursuivre la lecture « [Java] JPA : Fetch dans une requête JPQL »

[JS] JQuery – Mémo #1 – Sélecteurs

[JS] JQuery – Mémo #1 – Sélecteurs

Coché et sélectionné

On utilisera le sélecteur « :checked« . Exemple :

if($('#monChampId').is(':checked')) 
{ 
  ... 
}

A noter qu’on pourra utiliser « :selected » pour des listes déroulantes, dans la méthode find par exemple, ou directement comme sélecteur.

$("#maComboId option:selected").text();

Récupération du parent (méthode)

$('#formTest').parent()

Récupère le parent du niveau direct inférieur. On peut aussi spécifier un filtre en tant que paramètre de la fonction, pour s’assurer de la nature du parent choisi.

Sélection par classe

var champ = $('.classe1');

Sélection par ID

var champ = $('#idChamp');

Sélection de champs sur l’attribut name

$('element[name="VALUE"]')

On peut notamment utiliser :

  • ^= : commence par.
  • $= : termine par.
  • *= : contient.

La recherche peut être effectuée sur d’autres attributs (ex : id, type).

Traitement appliqué à X éléments

Utiliser la fonction find sur le parent (par exemple, un formulaire).

$('#formTest').find(
	'input[type=text].classe1, select.classe2'
)
.each(function() 
{ 
	// Traitement des champs 
	// (utiliser $(this) pour le champ parcouru). 
});

On peut envisager d’utiliser des sélecteurs qui contrôlent l’état.

$('#formTest').find(
	'select.classe2:visible:disabled, 
	input[type=radio]:not(:disabled)'
)
.each(function() { ... });

Ou même recherche sur un enfant…

$('#formTest').find(
	'div.classe1 > input[type=text]'
)
.each(function() { ... });

En savoir plus…

Les sélecteurs

[Java] Appel de méthode avec l’API Reflection

[Java] Appel de méthode avec l’API Reflection

Vous avez par exemple deux classes qui possèdent la même méthode (même nom, même signature) mais au moment de l’exécution, vous souhaitez choisir dynamiquement laquelle appeler à l’exécution. L’API Reflection permet d’effectuer cela de manière plutôt simple.

Poursuivre la lecture « [Java] Appel de méthode avec l’API Reflection »

[SQL] L’opérateur (+) d’Oracle

[SQL] L’opérateur (+) d’Oracle

Je pensais avoir vu beaucoup de choses mais n’ayant pas beaucoup travaillé avec Oracle ces dernières années (en fait, pour être honnête : pas du tout), je n’avais jamais rencontré cette syntaxe qui peut paraitre étrange la toute première fois… Que fait cet opérateur plus dans les conditions des jointures ? Perturbant… Cela implique de se renseigner un peu.

Poursuivre la lecture « [SQL] L’opérateur (+) d’Oracle »