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.

[Sécurité] Découverte d’une faille de sécurité critique dans Spring

[Sécurité] Découverte d’une faille de sécurité critique dans Spring

Comme nous le rapporte le magazine Programmez! VMWare signale la présence d’une faille de sécurité critique dans son produit Spring, permettant l’exécution de code à distance (RCE). Cela touche les versions de Spring Framework 5.2.0 à 5.2.19 et 5.3.0 à 5.3.17, ainsi que des versions plus anciennes. Reprise sous l’identifiant CVE-2022-22965 et baptisée Spring4Shell, cette faille ne peut être exploitée que si certaines conditions sont réunies.

Faille de sécurité Spring

Poursuivre la lecture « [Sécurité] Découverte d’une faille de sécurité critique dans Spring »

[Java] Mémo – Trucs et astuces impliquant l’API Stream

[Java] Mémo – Trucs et astuces impliquant l’API Stream

Java propose l’API Stream, qui permet de manipuler et effectuer des opérations sur un ensemble de données, telles qu’une collection, un tableau ou même un flux I/O. Elle offre diverses possibilités : tri, parcours de collections, extraction d’éléments à l’aide de filtres, etc.

Dans cet article nous allons voir comment effectuer un tri basique pour retourner une nouvelle liste mais également comment retourner une liste d’objets d’un type spécifique.

Poursuivre la lecture « [Java] Mémo – Trucs et astuces impliquant l’API Stream »

[JS] Récupérer le contenu d’un éditeur tinyMCE

[JS] Récupérer le contenu d’un éditeur tinyMCE

Si vous ne connaissez pas encore tinyMCE, il s’agit d’un éditeur WYSIWYG que vous pouvez intégrer à vos sites. Il est notamment très connu grâce à son utilisation dans WordPress. L’édition Community est gratuite mais il existe également des offres avec support et plugins premium.

Pour une raison ou une autre vous souhaitez peut-être récupérer le contenu d’un éditeur initialisé avant de l’envoyer au serveur. Cela est évidemment possible ! Bien que cet article serve avant tout de mémo il va également vous aider à ne pas plonger dans les méandres de l’énorme documentation de la librairie. Voyons ensemble comment procéder.

Poursuivre la lecture « [JS] Récupérer le contenu d’un éditeur tinyMCE »

[JS] Retour sur le rendu d’une page avec PDF.js

[JS] Retour sur le rendu d’une page avec PDF.js

Il y a déjà un moment nous abordions le fait de pouvoir afficher une page de PDF sous forme d’image grâce à la librairie PDF.js. Les différentes mises à jour de celle-ci ont conduit à ce que certains appels soient désormais dépréciés, bien que toujours fonctionnels. Dès lors, comment modifier votre code ?

Poursuivre la lecture « [JS] Retour sur le rendu d’une page avec PDF.js »

[Java] Filtre sur liste avec les streams

[Java] Filtre sur liste avec les streams

L’une des grosses améliorations de Java 8, c’est ce qu’on appelle les streams. C’est un nouveau pattern de manipulation de données et cela permet de se passer notamment des itérateurs que l’on connait. On peut les utiliser sur des collections ou même des tableaux.

Poursuivre la lecture « [Java] Filtre sur liste avec les streams »

[Java] Mémo – Validation de beans

[Java] Mémo – Validation de beans

En Java, il est possible d’utiliser la validation de beans pour permettre d’en valider son contenu, donc les différents membres de la classe. Par exemple, si on a une classe Personne, qui contient un nom et un prénom, on voudrait valider que ceux-ci ne dépassent pas une certaine taille ou même qu’ils respectent une expression régulière.

Plutôt que de créer des méthodes visant à vérifier chaque élément un à un, on va se baser sur des annotations.

Poursuivre la lecture « [Java] Mémo – Validation de beans »

[Utilitaires] Plugin Compare pour Notepad++

[Utilitaires] Plugin Compare pour Notepad++

Si vous cherchez un plugin de comparaison pour la version 64 bits de Notepad++, vous pouvez télécharger Compare proposé par le développeur Pavel Nedev. Il vous permettra de mettre en évidence les différences dans deux fichiers texte, et si ceux-ci correspondent vous serez directement notifié par l’outil.

Notepad++ avec le plugin Compare 2.0

Poursuivre la lecture « [Utilitaires] Plugin Compare pour Notepad++ »

[SQL] Rechercher du texte dans un BLOB

[SQL] Rechercher du texte dans un BLOB

En SQL il est possible de rechercher du texte dans une colonne de type BLOB. Attention que cette méthode s’applique à la base de données Oracle. On utilise des méthodes internes qui permettent de convertir le terme cherché en données brutes et effectuer une recherche de caractères dans la colonne.

Poursuivre la lecture « [SQL] Rechercher du texte dans un BLOB »

[JS] Prism, une alternative à SyntaxHighlighter

[JS] Prism, une alternative à SyntaxHighlighter

En guise d’alternative au très bon SyntaxHighlighter développé par Alex Gorbatchev (voir le site ici) mais qui n’est malheureusement plus mis à jour, on peut utiliser Prism.js.

Il offre la coloration syntaxique pour afficher du code de manière à ce qu’il soit lisible par les utilisateurs. Il se veut intuitif et extensible car il est possible d’ajouter assez facilement des langages à ceux déjà pris en charge. On peut même basculer entre différents thèmes. La librairie est utilisée par de nombreux sites tels que React ou même Drupal.

Poursuivre la lecture « [JS] Prism, une alternative à SyntaxHighlighter »

[Java] Gestion des erreurs à l’aide d’une servlet

[Java] Gestion des erreurs à l’aide d’une servlet

Dans votre application web, il est possible de réaliser une gestion d’exceptions – notamment pour intercepter ServletException – en passant par une servlet. Par défaut, les erreurs telles que le code HTTP 500 sont gérées par le serveur et renvoient vers une page par défaut. L’idée est donc de changer ce comportement en renvoyant par exemple une information en JSON ou en redirigeant vers une JSP.

Poursuivre la lecture « [Java] Gestion des erreurs à l’aide d’une servlet »