1007

Bienvenue

Présentation du projet

Philum est né en 2004 pour disposer de procédures génériques permanentes.
Le gestionnaire de contenu est devenu avec le temps un Framework (environnement de développement) afin de permettre toutes les fantaisies de la croissance en complexité.

Il a fallu adopter une architecture novatrice, qui allie des choses parfois contradictoires :

  • un code rapide à développer mais aussi à comprendre
  • des processus génériques déclinables
  • différentes couches logicielles, des plus stables et constantes aux plus sensibles aux effets du temps
  • un code "neuronal", dont toute partie peut servir à toute autre.

Ces choix ont montré qu'ils étaient garants :

  • d'un développement harmonieux : l'évolution est homogène
  • d'une réduction substantielle de la redondance
  • d'une vitesse d'exécution du code qui bat tous les records
  • d'une maintenance rendue très agréable.

En particulier sur cette idée fondatrice, qui consiste en une disposition fractale des composants du système (d'où le φ - une spirale est une fractale, et le nombre d'or en est l'unité), chaque dispositif peut engendrer n'importe quel autre dispositif.
Pour comprendre cela il faut exposer chacun d'eux.

Présentation du framework

Architecture logicielle

Protocole Ajax

Langage programmatique

connecteurs, modules, plugins...

Les modules pré-existants peuvent recevoir de nombreux paramètres, globaux, locaux et ponctuels. Leur affichage peut appartenir à différents contextes. Et ils peuvent faire appel à différents moteurs de rendu.

Du plus simple au plus complexe :

  • les connecteurs, nombreux, peu paramétrables, qui sont au final des super balises html (logicielles)
  • les templates, dans lesquels on place les variables, rédigés en codeline (qui sont des connecteurs orientés html)
  • les modules, qui utilisent des paramètres complexes de traitement, qui appellent des données et des moteurs de rendu)
  • les plugins, ont des tâches spécialisées, qui doivent être rédigées en php, en utilisant (ou pas) les ressources du framework.

Finalement, connecteur, module, et plugin ne sont que différents niveaux de complexité des fonctionnalités. La différence est le niveau de prise en charge qui va en décroissant :

  • le connecteur reçoit un ou quelques paramètres occasionnels. Sa fiabilité est maximale.
  • le module a des paramètres plus complexes : il permet de choisir la source, le contexte et le mode d'affichage des données ; on peut se tromper dans les paramétrages.
  • le plugin est éditable en tant que code source. On est totalement libre d'y faire ce qu'on veut. Il reçoit des caractères depuis le gestionnaire de plugins (propriétaire, en dev, classement partagé..). Il profite de l'ensemble des ressources du framework.

Les connecteurs

Utilisation des Connecteurs

Les templates

Les plugins

Usages de Philum

Principales caractéristiques du Cms

Utilisateurs communs

L'édition

L'importation d'articles

Les Mods

Les Css

Usage minimal

Après une installation fraîche, le logiciel est disposé à publier des articles, de la manière la plus intuitive possible. Toute l'édition se fait sur place. Le site marchera aussi bien sur un mobile ou une tablette.
On pourra, en deux secondes, personnaliser les couleurs du site, et s'en tenir là pour l'instant.

A un premier niveau de curiosité on peut jouer avec les "restrictions", qui limitent les compétences du logiciel, afin de le simplifier. Celles qui sont activées par défaut concernent une utilisation en tant que Blog. Mais on peut très vite étendre les fonctionnalités du site par ces simples boutons de type OFF/ON qui activent et désactivent des compétences.

Ensuite on peut créer des accès personnalisés à des pages ou à des modules (ou à des plugin) en utilisant les contextes. C'est à dire que par défaut les pages s'affichent dans un des trois contextes de base que sont la Home, "cat" pour le déroulé des articles d'une catégorie, et "art" pour la lecture d'un article. Chaque module peut être associé à un de ces contextes.
Pour créer des contextes personnalisés il suffit d'affecter son nom arbitraire (genre "choses") au module. Ensuite cette page sera joignable depuis un autre module situé dans tous les contextes ("all"), qui affichera un menu (un des nombreuses sortes de menus).

Un premier module très simplifié, nommé 'art_mod' permet d'associer des modules aux articles. Son fonctionnement est moins simple que les autres modules puisqu'il requiert de rédiger les scripts d'accès aux autres modules. Pour cela on peut s'entraîner dans une section "test" où on crée des modules et on copie leur script. Ce premier module est simple parce que les principales attentes sont déjà proposées par défaut, il suffit de l'activer, pour avoir par exemple un module qui dit "sur le même thème, lire aussi...".

Un utilisateur quotidien trouvera facilement des fonctionnalités même celles dont il n'en a pas souvent besoin, comme un gestionnaire de champs de tags ou un espace disque utilisateur. Son travail consistera à ordonner et organiser l'information.

Un développeur peut écrire des plugins qui peuvent être lancés dans l'article, en pleine page, dans une popup, ou comme iframe.

Au final Philum est un logiciel à complexité variable, et qui peut aller très loin pour satisfaire des usages très professionnels.

Le Desktop

Les Apps

L'API

Social

Conclusion

Le Framework, et son Cms particulier, sont de véritables outils qui permettent créativité et réactivité. C'est un outil idéal pour les sites à haute fréquentation et qui nécessitent des mises à jour fréquentes.


Sites qui reposent sur une architecture Philum
newsnet.fr : Base documentaire de l'époque contemporaine
oumo.fr : Bureau d'études de documents

Fractal Framework
Une re-compilation des procédés développés pour Philum a engendré FractalFramework, un MVC Ajax (écrit de façon plus conventionnelle selon les normes industrielles) destiné à permettre de créer des Apps.
A partir de ce FW, a été décliné tlex.fr : Un réseau social pour le travail collaboratif et l'échange de données. C'est un "Twitter-Like", exactement le même, mais en mieux ! Puisqu'il permet de faire circuler des Apps au lieu des simples messages, qui sont de véritables logiciels d'activité sociale.






dernière mise à jour: 1806