Techno-magis

Sortilège numérique

Je pense mettre ici quelques petits trucs sans prétention que je pense utile que j'aie pu rencontrer à diverses occasions : PHP, Java, JS, HTML, CSS, SQL, Linux, etc. Ça peut être juste une astuce, truc que j'ai trouvé sur le web, un problème que j'ai rencontré ou une connerie que j'ai faite (à prendre dans le sens que l'on veut). Ça sera sans grande prétention, et surtout en fonction des rencontres... Si je ne vois rien d'intéressant, je ne chercherais pas à écrire pour écrire.

Zéflingによって、 2013/09/23 20:30:19

Les derniers billets publiés

Mes contributions avec Angular

2017年10月10日(火曜日)

Ça fait un petit moment que je n'ai rien publié ici. Mais ça va peut-être changer. Je travaille depuis quelque temps sur Angular/Material2 en TypeScript, et je pense que je commence à avoir une belle expérience dessus. Tout ce que j'ai fait est pour l'instant dans un cadre privé, sauf 2 projets :

  • select2-component : un Select2 dont je me suis occupé d'améliorer la partie Angular et rendre l'élément compatible (graphiquement) avec un formulaire Material2.
  • walkthrough : une sorte de guide logiciel pour Angular. Ça me permet d'expérimenter un projet complet avec support de repository NPM, etc. (désolé pour mon anglais tout pourri)

Maintenant, je me dis que mon prochain projet pourrait être avec cette techno. Et pourquoi pas essayer du nodeJS avec, mais je m'avance un peu vite. J'ai déjà beaucoup à faire sur un autre site qui reste assez minimaliste côté JS.

記事にコメントする...
カテゴリ:
Zéflingによって、 2017/10/10 20:55:05
1回を読んだ。0件のコメントが投稿されています。

Copies de sources sur Git

2016年11月20日(日曜日)

Depuis quelque temps, j'essaie de retrouver les sources de projets pour les publiés sur mon Gitlab. C'est surtout pour archivage, certaines choses sont abandonnées depuis belle lurette ou inutilisables en l'état. De plus, je ne peux pas attribuer de licence à des projets que je n'ai pas réalisés seul... En fait, si à 99% pour le code, mais étant des TP universitaires, je ne sais pas s'il me faut l'accord de la personne avec qui jamais ne fait le projet (qui franchement n'avait rien foutu ou presque pour la partie code). J'ai aussi posté toutes les sources de classes ou petits projets que j'avais postées au fur et à mesure sur ce blog. Je compte continuer à mettre à disposition des sources, car cela me permet aussi de les retrouver plus facilement et d'en faire profiter d'autres qui peuvent plus simplement les récupérer ou s'en inspirer sans s'embêter à récupérer les sources pour savoir si c'est vraiment intéressant.

En tout cas, Gitlab est un outil vraiment intéressant pour la publication personnelle sur son propre serveur, quoiqu'un peu lourd, mais facile à mettre en place. On pourrait me dire que ça fait un peu prendre un char pour tirer sur une mouche vu ce que j'en fais. L'utilisant au boulot, ça me semble plus simple comme ça. Pourquoi pas ailleurs, comme Github ? Ce n'est pas que je n’aime pas Github, je l'utilise souvent, mais je n'aime pas l'idée qu'une seule plateforme concentre la majorité des codes sources du monde. En fait, je n'aime pas la minitélisation du web.

Voici les projets publiques.

記事にコメントする...
カテゴリ:
Zéflingによって、 2016/11/20 23:48:59
13回を読んだ。0件のコメントが投稿されています。

Installation de Gitlab avec Ubuntu Server/Apache 2

2016年7月15日(金曜日)

Je ne prétends pas que ça soit l'installation parfaite, mais ayant un peu galéré à faire marcher le tout, ça me sert surtout de mémo. Si vous avez mieux à proposer, un commentaire sera le bienvenu.

全記事を読みます...
カテゴリ:
Zéflingによって、 2016/07/15 00:36:44
119回を読んだ。0件のコメントが投稿されています。

BakuJS version 0.2

2016年2月21日(日曜日)

Après un peu plus d'un mois, j'ai fini par sortir une version de ma petite bibliothèque sur GitHub. J'ai surtout accès mon projet sur les besoins sur celui d'un projet. Maintenant, je compte l'intégré sur ce site même, donc je vais maintenant plus me concentrer sur la partie DOM. Celle du formatage, je m'en sers assez peu à titre perso, même si elle est pratique pour le framework qui m'a eu donner l'idée de me lancer. D'ailleurs grand nombre de retours se sont produits lors de l'intégration : « ça marche pas avec », « j'ai besoin de ça », etc. C'est dur de penser à tous les cas.

Pour ce qui est du support, j'ai vu ce que ça donnait avec IE 8 et 9, et j'ai pas le courage de m'arracher les cheveux pour eux. D'ailleurs, pour ce site, le support est IE10 minimum depuis pas mal de temps. Je ne jalouse pas ceux qui doivent travailler avec ces dinosaures.

Pour conclure, voilà où trouver la version : BakuJS.

Le projet est sous licence libre (MIT), donc tout aide sera la bienvenue, quelque soit sa forme.

記事にコメントする...
カテゴリ:
Zéflingによって、 2016/02/21 11:53:37
26回を読んだ。0件のコメントが投稿されています。

BakuJS : l'importance des tests

2016年1月27日(水曜日)

Ça va faire deux semaines que je me suis vraiment lancé sur ma petite bibliothèque JS et j'ai presque tout réécrit, en grande partie à cause d'erreurs de conception. J'avais fait quelques tests, un peu à l'arrache (en live dans la console), et je n'avais jamais rencontré de problème. Puis pour être certains que ça fonctionne, j'ai commencé à écrire une batterie de tests, et à chaque fois c'était « si je vais ceci, ça doit donner cela » et je lance mon test. C'est avec stupeur que certains ne fonctionnaient pas. Donc je me suis lancé sur la recherche de toute les cas tordus avec le résultat escompté et je suis parti à la chasse aux bugs. En fait, cette technique de débogage, je la connais. C'est du TDD. On commence par écrire un test qui ne fonctionne pas, et on fait en sorte que le code le fasse marcher. Dans mon cas, il y a aussi tous les autres tests qui fonctionnaient déjà.

Je me rends compte que je n'ai pas tellement le temps de faire de genre de choses au boulot et c'est dur à prendre en main. J'ai du passé autant de temps à écrire mes tests qu'à faire les corrections pour qu'ils passent. Pour être franc, c'est un peu long et chiant, mais une fois que j'ai les tests, ça devient facile de détecter la moindre variance dans le code. Il en reste que ce n'est pas simple de penser à tout, je suis certain qu'il y a une kyrielle de cas oubliés.

Bref, c'est donc partiellement mis en application pour BakuJS. J'essaie méthode par méthode d'étoffer les tests. J'ai aussi pris un petit temps pour écrire la doc. C'est également un bon moyen de relire son code. Pour l'instant, c'est tout en français. Dès que j'ai le courage, je la fais en anglais et je passe également mes commentaires de code en anglais... sauf si quelqu'un veut m'aider. J'en serais ravi.

全記事を読みます...
カテゴリ:
Zéflingによって、 2016/01/27 23:51:55
42回を読んだ。2件のコメントが投稿されています。

Open source & Github

2016年1月16日(土曜日)

Suite à un petit problème de licence, en fait du code sans licence n'est techniquement pas utilisable ou éditable. Pour pallier à ce petit problème, j'ai commencé à diffuser une partie du code présenté ici sur GitHub, avec une licence MIT.

Mon premier projet sur Github concerne les extensions Js par prototypage sur les objets de base : String, Number, Date. Comme, en ce comment, je bosse assez souvent sur du formatage JS au boulot, et que j'avais remarqué que j'en avais aussi un peu dans le code de mon site, j'ai repris l'idée et j'ai essayé d'aller plus loin pour rendre ça quasiment transparent à l'utilisation. Bref, c'est plus pour pallier certains manques qu'un véritable framework, du moins pour l'instant.

Le dépôt est ici : https://github.com/Zefling/BakuJS

J'ai même corrigé du code que j'avais proposé. Sous peu, je devrais aussi publier les tests qui vont avec. Je vais probablement y pousser d'autres idées sur ce dépôt ou un autre. À terme, ça sera peut-être le code entier de ce site.

Édit 19/01 : changement de nom et de licence. Je n'avais pas fait attention ExtJS est déjà utiliser par un module de Sencha et la licence GPL est un peu chiant pour un projet JS comme celui-ci. Pour information le nom Baku vient d'une créature fantastique japonaise.

記事にコメントする...
カテゴリ:
Zéflingによって、 2016/01/16 10:59:06
16回を読んだ。0件のコメントが投稿されています。

Décompression ZIP et l'encode des noms de fichiers

2015年12月21日(月曜日)

Le format ZIP est un format très rependu. Malheureusement, le nom des fichiers est encodé suivant l'encodage du système1, ce qui fait qu'une fois décompressé, on peut se retrouve avec un nom de fichier nommé de la sorte « �s����Ȑ_�l.ext », ce qui a beaucoup de chance de le rendre fichier illisible l'état par d'autres programmes, mais aussi vous-même. Il faut donc le renommer et c'est là que ça se complique vu que l'on ne connaît pas forcément le nom d'origine.

Heureusement, sous Linux, il existe convmv qui permet de déplacer en masse des fichiers en réencodant leur nom, un mélange de « mv + conversion ».

Pour tester une conversion ici du SHIFT_JIS vers l'UTF8 :

コード:

convmv -f SHIFT_JIS -t UTF8 *

Et pour réaliser la conversion :

コード:

convmv -f SHIFT_JIS -t UTF8 --notest *

Parfois des petites choses nous rendent la vie impossible, et d'autres nous en sauvent. 😊

  • 1

    ZIP ne semble pas conserver l'encodage des fichiers contrairement d'autres formats comme RAR ou TAR.GZ. En tout cas, je ne remercie pas Windows qui n'est pas fichu d'avoir le même encodage suivant la langue du système, ce qui peut rendre une installation impossible pour un logiciel chinois ou japonais sur un poste en français.


記事にコメントする...
カテゴリ:
Zéflingによって、 2015/12/21 21:23:58
19回を読んだ。0件のコメントが投稿されています。

Jquery : show/hide/toggle c'est le mal !

2015年11月15日(日曜日)

De base, je ne suis pas super fan de Jquery. D'ailleurs, je ne l'utilise pas pour mes propres sites, mais il permet une compatibilité multi-navigateur (surtout les anciens) sans se prendre trop la tête.

Je sais que certains trouvent que .show(), .hide() et .toggle(bool) sont bien pratiques, mais ils posent certains problèmes quand on doit appliquer des règles CSS ou le détecter par sélecteur. On se retrouve parfois à passer par des règles bien compliquées pour pas grand-chose. Par exemple, dans ce genre de cas, si l'on veut ajouter une règle CSS pour cacher un élément, on devra nécessairement passer par !important ce qui n'est pas l'idéale :


Exemple repris sur un projet du boulot

Si j'avais une proposition, ça serait de passer par la classe hide. Donc .addClass('hide'), .removeClass('hide') ou .toggleClass('hide', bool).

コード:

.hide {
	display:none;
}

De mon point de vue, cela apporte plusieurs avantages :

  • il n'y a pas de style ajouté directement sur les éléments du DOM (ce qui généralement mal vu),
  • côté CSS : on peut appliquer des règles par dessus sans faire des trucs tordus comme [style*="display"][style*="none"] pour détecter un élément caché par style="display:none",
  • coté Jquery : on peut utiliser des sélecteurs jquery comme .hide ou :not(.hide), car :visible ne fonctionne pas dans tous les cas, par exemple sur un élément entier masqué. De plus, détecter .hideet beaucoup plus rapides que :visible.

Les inconvénients :

  • c'est un peu plus lourd à écrire,
  • les classes sont probablement un peu plus lente que de changer directement le style,
  • ce n’est pas forcement applicable dans le cas de l'animation (et d'un support de navigateur obsolète).

Je note tout de même que l'inconvénient de la lourdeur s'efface parfois par la lourdeur qu'il faut entreprendre pour récupérer les éléments voulus dans certains cas. C'est d'ailleurs à cause de cas répété où j'ai vu des boucles super lourdent pour faire des choses simples que j'en suis venu à me dire qu'il était bien plus simple et propre de passer par la classe hide.

記事にコメントする...
カテゴリ:
Zéflingによって、 2015/11/15 20:56:25
62回を読んだ。0件のコメントが投稿されています。

2 ans sous Linux (sans Windows)

2015年9月19日(土曜日)

Depuis le 19 septembre 2013, chez moi je n'ai vu Windows qu'au travers d'une machine virtuelle (et encore, j'ai crashé celle que j'avais et je ne l'ai pas réinstallé) ou Wine (mais ce n'est pas vraiment Windows). Ça ne s'est pas fait en partie pour pouvoir garder le contrôle de ma machine et aussi parce que j'avais déjà l'idée d'y passer. Donc je ne peux pas dire que ma démarche s'est totalement faite au hasard, même si certaines choses l'ont précipité. Je vais donc vous raconter quelle a été mon expérience durant ses deux années. Attention, je ne suis pas là pour dire que Linux est mieux, je dirais qu'il correspond mieux à ce que j'attends d'un système d'exploitation, malgré quelques galères.

全記事を読みます...
カテゴリ:
Zéflingによって、 2015/09/19 00:00:35
225回を読んだ。2件のコメントが投稿されています。

Le paradoxe des fontes à icônes

2015年8月29日(土曜日)

Cet article est juste une réflexion sur l'utilisation étrange des fontes qui est faite par les sites qui utilisent de bibliothèques toutes faites. De plus en plus de sites remplacent les images pour les icônes, non pas du SVG, car pas correctement supporté par certains navigateurs un peu anciens (même si ça commence aussi à venir), mais des fonts d’icônes comme il est existe depuis... au moins l'existant de première police de caractère vectoriel.

全記事を読みます...
カテゴリ:
Zéflingによって、 2015/08/29 10:54:40
49回を読んだ。0件のコメントが投稿されています。