rnb-js

Librairie javascript qui regroupe une série de fonctions et d'objets développés sur le site http://omacronides.com depuis 2004.

Présentation

La création de cette librairie s'est faite peu à peu, à partir de 2004, lorsque le javascript a fait irruption sur le site. A l'époque, une série de projets indépendants comme la présentation par onglet possédaient des méthodes ou des comportements communs et utilisables dans d'autres contextes. Pour simplifier le travail, il a fallu regrouper le tout de manière cohérente en un même endroit afin d'éviter les répétitions.

Depuis août 2016 une version « 2 » remplace peu à peu la version historique afin d'alléger le code, de rendre les modules plus indépendants les uns et des autres et pour abadonner totalement le support des navigateurs obsolètes.

Depuis 2018, la librairie est passé aux modules javascript. Elle utilise aussi dorénavant les composants web.

Depuis 2022, la librairie en tant que telle n'existe plus vraiment : elle a été divisée en plusieurs projets plus ou moins indépendants les uns des autres. Cela permet une plus grand souplesse dans leur utilisation, notamment dans des applications annexes : on n'est plus obligé de déclarer la librairie en entier mais uniquement les modules dont on a besoin.

rnb-js est un outil d'expérimentation mais il est aussi utilisé en production à la fois sur ce site et dans un cadre professionnel.

Projets

En cours de reconstruction...

Historique

2022-03-20
  • upd: Découpage de la librairie en sous-projets.
2021-04-13
  • add: composant HTMLLangSwitcher.
2020-05-01
  • add: Slides, dernière implémentation d'une ergonomie classique.
  • del: lazypics et lazygals devenus obsolètes avec l'arrivée de l'attribut « loading ».
2020-01
  • add: Ajout de copyToClipboard.
2018-09
  • upd: Création du module charts.
  • add: rnb/charts/PieChart.
2018-02
  • upd: fusion rnb2 / rnb avec passage définitif à ES6.
2016-08
  • upd: création de « rnb2 », version de la librairie avec des modules plus indépendants et l'abandon total du support des navigateurs obsolètes.
2013-11
  • upd: restructuration du projet (branche « modern ») avec une organisation plus simple, une limitation des dépendances à l'objet global rnb.
  • upd: module lang pour tout ce qui touche à l'
2013-08
  • fix: Simplification de la librairie.
  • del: Suppression des styles, gérés totalement par rnb.css.
  • add: Génération d'une première documentation avec rnb-php/codedoc.
  • upd: Utilisation d'objets plus modernes comme MutationObserver.
  • upd: Utilisation d'attributs aria au lieu de classes pour illustrer des états.
2013-04
  • upd: Maintenance (corrections, simplifications).
  • upd: GeoScale
  • add: Timeline
2013-01
  • del: Nettoyage pour supprimer le support IE 6/7/8.
  • upd: Simplification des objets.
  • fix: Déplacement des méthodes d'aides dans le prototype des objets natifs quand elles font partie des spécifications (polyfills).
2012-04
  • del: rnb.dom - suppression des méthodes liées aux classes ; utilisation de classList.
  • upd: Simplification des objets.
2012-03
  • upd: rnb.define et rnb.rquire deviennent define et require.
  • add: Possibilité d'utiliser le chargeur interne de modules ou un chargeur externe (requirejs).
2011-08
  • add: Split du fichier principal en sous-fichiers fusionnés lors du build.
  • add: Nouveau gestionnaire de modules : les modules retournent leur contenu et n'alimentent plus l'objet global rnb.
  • upd: Réorganisation du projet.
  • fix: Divers corrections de bugs.
2011-05
  • add: Définition de modules (rnb.define).
  • fix: Mises à jour et corrections diverses.
  • fix: Simplification des objets.
2010-10
  • upd: rnb.gc.Gal devient rnb.gc.SlideView, un outil plus générique.
2010-04
  • add: Composant rnb.gc.Spinner.
  • add: Composant rnb.wg.CladeTree.
  • add: Composant rnb.wg.GeoScale.
  • add: Composant rnb.wg.PTE.
2009-05
  • add: Interfaces de comportement et rnb.Base pour factoriser le code et harmoniser les comportements.
  • add: Composant rnb.gc.ContentPane.
  • add: Composant rnb.gc.Pane.
  • add: Composant rnb.gc.Menu.
  • add: Composant rnb.gc.RTE.
  • upd: Nouvelles structures et organisation.
  • upd: Espaces de nommage rnb.gc et rnb.wg en lieu et place de rnb.comp.
2008-06
  • upd: Espace de nommage rnb.comp, prédécesseurs de rnb.gc et rnb.wg.
  • upd: rnb.fwk : début de gestion des héritages.
  • add: Espace de nommage rnb.forms.
2008-01
  • add: Méthodes d'indentification de type, de manipulation de chaînes de caractères, de gestion des méthodes.
  • add: rnb.MouseMoveManager : gestion du mouvement de la souris.
  • add: Composant rnb.fx.Resizer.
  • add: Composant rnb.fx.Zoom.
  • add: Composant rnb.gc.Nav.
  • add: Composant rnb.gc.Splitter.
  • add: Composant rnb.gc.Table.
  • add: Composant rnb.gc.Toc.
  • add: Composant rnb.wg.Apod.
  • upd: Réécriture complète de la plupart des composants, proches de leur forme définitive.
  • upd: rnb.dom enrichit : forme presque définitive même si les méthodes sont encore distribuées dans 3 espaces de nommage différents.
  • upd: rnb.fwk : gestion des dépendances et des fichiers minifiés.
  • upd: Composant rnb.fx.Anim.
  • upd: Composant rnb.fx.Dragger.
2007-04
  • add: Espace de nommage rnb.
  • add: Méthodes de manipulation de l'arborescence DOM, des attributs (class), de gestion des événements.
  • add: Espace de nommage rnb.fx avec dragger et pseudo-anim.
  • add: Composant rnb.Toggler.
2006-04
  • add: Objet de requêtes asynchrones (futur rnb.xhr).
  • add: Composant rnb.gc.Tree.
  • upd: Popup avec requêtes asynchrones.
2005-08
  • add: include : inclure des appels à des fichiers javascript et css.
  • add: Composant rnb.gc.StxHighlight.
  • add: Débuts de ce qui deviendra rnb.dom.
  • upd: Evolution du gestionnaire de popup.
  • upd: Version finale du moteur de recherche.
  • upd: Composant rnb.gc.TabView.
  • upd: Composant rnb.gc.Gal.
2005-04
  • fix: Correction de bugs.
2004-12
  • upd: Scripts indépendants prélude à certains composants de la librairie.
  • add: Moteur de recherche (futur rnb.gc.Suggest).
  • add: Gestion d'onglets dérivée du DomTab de Christian Heilmann (futur rnb.gc.TabView).
  • add: Gestion de gallerie d'images dérivée d'un script de Jeremy Keith (futur rnb.gc.Gal).
  • add: Gestion de popup (futur rnb.gc.Popup).