Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Ecrire une "Moulinette" - #3
Posté par : bartok

Rechercher dans Php, Mysql, ...

Précédemment, nous avons vu comment construire une moulinette de "dépannage"

Il s'agissait d'utiliser "à chaud" un outil permettant de réparer rapidement un petit dégât ou de faire une petite correction. Un commentaire nous a indiqué que cette méthode n'était pas la seule et que l'on pouvait aussi faire ce travail directement dans phpmyadmin.

Chaque méthode a ses avantages et, pour ma part, j'aime bien tester à blanc avant d'exécuter ce genre de script et je sauvegarde plutôt deux fois qu'une afin de revenir très rapidement en arrière si besoin est. C'est quand c'est chaud que ce genre d'intervention est le plus risqué. Et puis nous nous sommes volontairement placés dans un contexte d'hébergement gratuit.
D'ailleurs, nous ne tarderons pas à évoquer la sécurité :

- Sécurité des données: par exemple ne pas corrompre un champ avec une valeur impropre;
- Sécurité du site: en n'ouvrant pas une faille de sécurité.

De plus, il peut être intéressant de lancer des moulinettes non pas de dépannage mais de maintenance périodique (purge, correction, etc...)

Dans cette troisième étape, nous allons faire en sorte que notre moulinette soit un peu plus universelle. Le but est d'utiliser le même script pour modifier n'importe quelle valeur de n'importe quel champ de n'importe quelle table de la base de données. En plus, nous introduirons un paramètre qui permettra de faire un test "à blanc" (donc sans modification réelle).


Pour que le script soit universel, il convient de le coder pour qu'il réponde à une demande via l'url (toujours pour notre exemple de départ) de la forme :

http://monsite.com/moulinette.php?tabl=users&champ=storynum&val=20&ok=R


Notre script devient alors:

moulinette_4_4.jpg

 

 

moulinette_4_5.jpg

 

La partie importante se trouve à la ligne 14. Cet exemple, sans prétention, montre qu'il n'est pas besoin d'être Docteur es PHP pour se simplifier la tâche d'administrateur.

Evidement , le modèle ci-dessus a ses limites. Par exemple, si l'on veut conditionner la modification à la valeur précédemment contenue du champ, le code devient franchement moins universel car la requête sera :

$sql = sql_query(" UPDATE $tabl SET $champ = $val WHERE $val='10' ");

(Dans notre exemple, il s'agit de ne modifier que la valeur pré-déterminée par NPDS (10) et non pas les valeurs modifiées ensuite par les utilisateurs eux-même.=

Un autre aspect important de notre exemple ci-dessus ... c'est qu'il pose certains problème de sécurité.

Je propose de distinguer deux cas:

A) Moulinettes de correction ponctuelle:

Dans ce cas, je suis partisan du "one shot":

  1. je sauvegarde le contexte
  2. je télécharge le script
  3. j'exécute
  4. je contrôle le résultat
  5. s'il est mauvais je restaure la table
  6. Dans les deux cas, j'efface dans la foulée le script sur le site.

Enfin, dans cette hypothèse, je préfère coder en dur les éléments à modifier (table, champ et nouvelle valeur) : cela m'oblige à réfléchir à ce que je fais dans un moment souvent un peu "tendu".

 

B) Moulinette périodique de maintenance:

cette partie sera développée dans un prochain article qui montrera les dispositions indispensables en matière de sécurité.

 

A suivre donc ...



Lundi 03 février 2014 @ 21:30:51    Page Spéciale pour impression Envoyer cet Article à un ami    Précédent |  Suivant

Temps : 0.0659 seconde(s)