Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Non-Officiels > Site Web > PHP > Points particuliers > Lecture des commentaires

Vos commentaires sur :
Faire un système de droits d'accès grâce aux opérateurs binaires

Retour au tutoriel

Vous devez être inscrit pour pouvoir poster des messages

Page : 1  2 
Pseudo Commentaire
Page : 1  2 
Hors ligne OyoKooN # Posté le 28/09/2007 21:09:17
Soy una raya en el mar !
Avatar
Groupe : Membres
Bah, c'est une bonne leçon de ce que tu as fait sur la Gazette :p
Je trouve le tuto bien écris comme à ton habitude :)

Merci pour les zér0s !

Secret (cliquez pour afficher)
Bien entendu, c'est 20/20 !

"Celui qui, dans la vie, est parti de zéro pour n'arriver à rien, n'a de merci à dire à personne." Pierre Dac
 
En ligne Talus # Posté le 28/09/2007 21:30:12
タルス
Avatar
Groupe : Membres
Yoplà,

Moui l'idée est bonne... Mais des choses à revoir. Par exemple, le coup du formulaire avec "Oui / non"... Une checkbox suffit (suffit de tester après si le champ existe, c'est à dire si il est coché). De même, si tu as besoin de rajouter X permissions... Ben à force, ta table, elle va exploser...

Note que ceci est fait après première lecture (rapidos), et voici les défauts que j'ai vu (en lisant rapidos :p).

Pas de note, Tchaw :p

EDIT > J'ai trouvé un autre truc foireux : LE coup de stocker dans les variables... A la limite, tu fais juste une condition bool ($mon_droit = (bool)(int) $donnees['mon_droit'];, ou une connerie du genre... J'ai pas suffisement vu comment était foutu le bordel) , mais, le même probleme que tout à l'heure se pose : Trop de droits ==> On s'en sort plus... :p
 
Hors ligne Nelty # Posté le 28/09/2007 22:08:33
Persévérer c'est avancer !
Avatar
Groupe : Membres
Salut Talus,

Pour le nombre de droits, je suis d'accord, mais comment veux-tu parer ce problème ?
J'avais vu que dans la base mysql de Easyphp (base de config), il y avait une colonne dans la table par permission :o .



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
Hors ligne Luigi_home # Posté le 28/09/2007 22:55:41
Le post est par là =>
Avatar
Groupe : Membres
Citation : Nelty
Pour le nombre de droits, je suis d'accord, mais comment veux-tu parer ce problème ?


Personnellement, je stocke dans un seul champs le numéro des droits dont le groupe d'utilisateur dispose. Ensuite, lorsque l'utilisateur veut faire un action, je vérifie si le numéro de l'action se trouve dans le champs, si oui, je le laisse passé, si non je lui refuse l'accès. Je trouve que ma méthode et la méthode binaire sont les deux seuls méthodes correctes. Après, ça n'engage que moi.

Image utilisateur
Recherche emploie dans le développement web
Coup de coeur musical :Andrée Watters - S'il te reste, Paramore - That's What You Get
Dernier CD : Pamela Lajoie - 120 milles à l'heure
 
En ligne Talus # Posté le 28/09/2007 23:23:21
タルス
Avatar
Groupe : Membres
Citation : Luigi_Home
Je trouve que ma méthode et la méthode binaire sont les deux seuls méthodes correctes. Après, ça n'engage que moi.


Ui, c'est ce que j'utilise aussi. Pour ca, faut connaitre un peu les opérateurs binaires (y'a un tuto qui traine, me semble)

P.S > Pour MySQL, c'est une autre histoire. En effet, le nombre de champ ne varie pas, et c'est du PMA... :p
 
Hors ligne Mathelec # Posté le 29/09/2007 09:13:16
In The Code..
Groupe : Membres
Allez un p'tit 17 car c'est un bon tutoriel mais la méthode utilisée n'est pas terrible si on veut créer + d'une vingtaines de permissions.
Penses à revoir ton tutoriel en utilisant les opérateurs de bits et voici un tuto !
A+
Hors ligne revan # Posté le 29/09/2007 11:31:45
Avatar
Groupe : Membres
Pas mal... S'il n'y avait pas eu les opérateurs de bits !
Ils peuvent faire la même chose, mais stockent tous les droits dans un seul champs sous la forme 001101000 par exemple.
Et pour ajouter / enlever des droits, rien de plus simple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. // ajouter les droits PROPOSER_NEW et VALIDER_NEW
  3. $DroitsDuMembre |= PROPOSER_NEW | VALIDER_NEW;
  4. // Un membre a été méchant ? On lui supprime les droits LECTURE_FORUM et ECRITURE_FORUM
  5. $DroitsDuMembre &= ~(LECTURE_FORUM | ECRITURE_FORUM);
  6. // Allez, c'est trop méchant, on lui remet LECTURE_FORUM
  7. $DroitsDuMembre |= LECTURE_FORUM; ?>

Bon, je vous refais pas le tuto, suivez le lien de Mathelec ;)

www.remuneurone.com: énigmes, paradoxes, illusions d'optique, cryptologie, débats scientifiques... etc...
Sciences : Le temps : existence infinie ?, débat sur la notion de temps, de l'âme et de l'origine de l'univers.
Illusion: Coca à plat, si si ! cette bouteille est peinte sur le sol !!!
Paradoxe: Le paradoxe du barbier, à en perdre la tête !
Jeu: La règle mystère, un jeu bien sympa !

Image utilisateur

Allez non de non
C'qu'boudiou j'hallucinions
Par les baloches du cornu
j'ai dû abusé du litron
Cette olive on dirait qu'c'est la couille de Godzilla
Va m'en falloir des endives
Pour contenter c'te bête là

Cryptologie : Le chiffrement par grille trouée, une cryptanalyse bien difficile !
 
Hors ligne Nelty # Posté le 29/09/2007 12:05:55
Persévérer c'est avancer !
Avatar
Groupe : Membres
Bonjour,

Merci de vos commentaires ;) .

Je suis en train d'effectuer des tests avec les opérateurs binaires :) .

S'ils sont concluants, je modifierai mes scripts.



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
Hors ligne Dentuk # Posté le 29/09/2007 12:25:29
Yamo...
Avatar
Groupe : Membres
Ben, il y a déjà un tuto pour gérer les droits avec les opérateurs de bits.
http://www.siteduzero.com/tuto-3-6518-1-introduction-aux-operateurs-de-bits.html
 
Hors ligne Nelty # Posté le 29/09/2007 12:59:42
Persévérer c'est avancer !
Avatar
Groupe : Membres
@Dentuk :
Ce tuto montre le principe pour gérer les droits.

Dans mon tuto, j'utilise le principe et je crée les pages complètent pour le gérer facilement :) .

Edition : j'ai soumi le tutorial modifié à la validation. Une fois validé vous verrez qu'il utilise maintenant les opérateurs de bit :) .



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
Hors ligne Cam # Posté le 29/09/2007 17:47:09
Have fun !
Avatar
Newsers
Perso je n'adhère pas au concept. Mettre des droits qui sont normalement statiques dans une base de donnée, je trouve ça absurde. Une fois, j'avais mis toutes mes permissions dans ma table groupe (p_acces_site, p_acces_forum, p_post_topic..), eh bien, j'en ai chier, surtout quand je dois ajouter une permission.

Pour moi la solution est de faire un fichier de permission mis en cache. Je m'explique, on fait une page avec la possibilité que ce groupe puisse ajouter/modifier/supprimer des articles, ensuite, on créé un fichier contenant un array avec toutes les permissions de ce groupe, et naturellement, on inclue dans la page et après, suffit de faire une condition pour savoir si le groupe a l'accès ou non.

Sur ce, je ne mets pas de note. ;)
 
En ligne Talus # Posté le 30/09/2007 02:13:40
タルス
Avatar
Groupe : Membres
Cam > Et... Qu'est-ce qui t'empeche de mettre en cache (dans un array justement) les permissions binaire d'un groupe extrait d'une BDD SQL ? C'est tout aussi "statique", et tout aussi relou (voir moins) à mettre à jour que ta méthode... :p

Surtout que ta méthode,ben elle est pareile que celle explicité au dbut par Nelty, mais en plus lourde, car faut vérifie si le fichier existe, si il est à jour, et surtout, ca prends de la place, mine de rien.
 
Hors ligne The fan of Charlotte # Posté le 30/09/2007 15:23:54
I
Avatar
Groupe : Membres
J'ai pas tès bien compris comment ça marche :(
15/20

"There were many who couldn't understand, and sometimes he walked among them. But even in his darkest hours, he knew in his heart, that someday it would return to him. And his world would be whole again. And his belief in god and love and art would be reawakened in his heart."

Lucas Scott, ep 16 season 5, OTH

 
Hors ligne Diti # Posté le 30/09/2007 16:00:23
Manchot empereur
Avatar
Groupe : Membres
Bof, y'a bien mieux pour gérer les permissions : les opérateurs de bits.

Image utilisateur
Jabber : Image utilisateur
 
Hors ligne Nelty # Posté le 30/09/2007 16:09:27
Persévérer c'est avancer !
Avatar
Groupe : Membres
Ditit -> Je sais pas si t'a remarqué mais on dit ça depuis le début des commentaires ^^ .

Je suis en train de préparer la nouvelle version du tuto qui utilisera les opérateurs de bits ;) .



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
Hors ligne `Haku # Posté le 04/10/2007 21:39:12
**Rose**
Avatar
Modérateurs
En quoi les opérateurs de bits sont mieux qu'une table avec plusieurs colonnes ?
Mis à part le fait que ça ne prend qu'une colonne, quel est l'intérêt transcendant ? (vu que n'importe quel SGBDR digne de ce nom n'a ni chaud ni froid quand on fait des tables de 40 ou 50 ou plus colonnes qui ne contiennent que des entiers positif <= 255).

Perso je n'ai pas d'avis sur la question, de mon point de vue les méthodes se valent amplement. Mais si quelqu'un a un argument qui transcende des guépards roses tibetins, j'serais ravi de l'entendre.
Mais si ce n'est pas le cas, c'est pas la peine de vous amener en prétendant que votre méthode est meilleure (et celui qui me sort l'argument c'est plus joli, je le boude).

Mais celui qui me sortira que c'est difficile de gérer beaucoup de droit sans les ops bin ou apparentés, bin, désolé de dire ça, mais c'est qu'il ne réfléchi pas à ce qu'il fait. Parce que j'ai déjà gérer plus d'une vingtaine de droit avec la méthode une colonne/droit et c'est d'une simplicité effarante quelle que soit l'opération considéré (édition, ajout, suppression) pour autant qu'on s'occupe bien du bidule. En fait c'était même aussi simple que les ops bin.

Envie d'apprendre le PHP ou le SQL ?
Envie d'en savoir plus sur le PHP ou le SQL ?
Suivez le guide...
 
Hors ligne Awaken # Posté le 11/10/2007 18:38:49
Avatar
Groupe : Membres
C'est une méthode qui a ses avantages et ses désavantages. Avec les opérateurs de bits, on peut seulement créer des permissions vraies ou fausses genre, ex : droit de modifier article ou non.
Mais si je veux par exemple une permission "nombre maximal de mp", ce n'est pas possible avec cette méthode. Personnellement, je préfère la gestion avec un SGBDR et la mise en cache en php. Au moins quand on va dans phpmyadmin, on voit tout de suite les droits des groupes et pas un truc illisible genre 0101011010100101010.

Enfin, ceci dit, ton tuto n'est pas mauvais :lol:

The greatest trick the Devil ever pulled was convincing the world he didn't exist.
 
Hors ligne Nelty # Posté le 11/10/2007 20:11:11
Persévérer c'est avancer !
Avatar
Groupe : Membres
Awaken -> je suis d'accord avec toi, et mn ancienne version de tuto le permettait.

Ici j'ai visé tout d'abord la simplicité d'utilisation. Si "l'installation" peut paraître fastidieuse, son utilisation ne l'est pas du tout ! Je l'utilise pour un site et j'en suis très content.

Si tu veux rajouter des colonnes SQL du style "nb_mp_max", tu peux facilement le faire, en rajoutant une colonn via phpmyadmin (ou autres).

De plus, l'intérêt de mon tuto est à la fois de vous montrer comment faire un système de gestion de permissions, mais surtout (maintenant) de vous apprendre à utiliser les opérateurs binaires (très utiles dans certains cas :) ).



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
En ligne Talus # Posté le 11/10/2007 20:14:57
タルス
Avatar
Groupe : Membres
Awaken > Tu sais, faut pas confondre config et droits. Y'a droits et droits. Les permissions, c'est ca : A t-il el droit pour faire cette action ? Oui / Non (0/1). Sinon, tu fous le truc ailleurs.

Par exemple, j'ai une table des droits (par groupes et utilisateurs), et j'ai aussi, dans ma table des groupes, une colonne qui indique le nbre max de mp.
 
Hors ligne `Haku # Posté le 11/10/2007 21:22:22
**Rose**
Avatar
Modérateurs
J'attends toujours qu'on me dise en quoi ça transcende des tortues amazoniennes d'utiliser les opérateurs binaires :p

Envie d'apprendre le PHP ou le SQL ?
Envie d'en savoir plus sur le PHP ou le SQL ?
Suivez le guide...
 
Hors ligne Dentuk # Posté le 12/10/2007 15:08:58
Yamo...
Avatar
Groupe : Membres
C'est un peu abusé là, si tu connais pas les opérateurs bit à bit tu les utilises pas...
Le | est un OU bit à bit et non un ET (&).
Ensuite tu initialises $droit à une chaîne vide... o_O
Y a ça aussi...Code : SQL - Afficher / masquer les numéros de ligne
  1. `permissions` VARCHAR(255)
Tu pourrais me justifier l'utilisation d'un VARCHAR ? :-°
Et il y a même apparemment des restes de l'ancienne version.
Citation : Tuto
ATTENTION : remarquez ici l'utilisation de la fonction addslashes, sans elles je ne récupérerai qu'une partie des permissions. Les permissions sont comme ça : 0\0\0\0\etc . Sans addslashes, je ne récupérerai que le permier 0 !

Dire comme ça "Tiens bah on va mettre |= pour rajouter un droit et &= ~ pour l'enlever" je trouve pas ça top...
Sans vouloir être méchant, je ne comprends pas comment cette version a pu passer la validation.
`Haku => Il faut voir ce que tu proposes d'autre. :p
Edit : Ah tu proposes une colonne par droit...
Ben pour moi l'atout majeur des opérateurs de bits c'est que ça prend moins de place, si tu prends une colonne par droit vu qu'il n'y a pas de type de taille inférieure à un octet tu prendras un TINYINT par droit, donc 1 octet par droit, alors qu'avec les opérateurs bit à bit tu peux mettre 8 droits par octet.
Après, ben chacun fait comme il veut de toute façon. :D
 
Hors ligne Nelty # Posté le 12/10/2007 17:16:10
Persévérer c'est avancer !
Avatar
Groupe : Membres
Salut Dentuk (merci de ton commentaire),

Si je déclare la variable droits vide, c'est parce que si je ne sélectionne aucun droits dans ma page, lors de la requête il va y avoir une erreur (eh oui la variable ne sera pas déclarée...).
Pour mon site j'ai créé un groupe "Visiteurs" avec 0 permissions, donc ne me dis pas que ça ne sert à rien ^^ .

Pour le type dans la table, je trouvais ça plus simple et je n'allais pas baratiner les Zér0s comme quoi il vallait mieux prendre le type binary, int ou je ne sais lequel plutôt qu'un autre. Varchar est connu de tous, comme ça c'est plus simple :) .

Cordialement,

Nelty.



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
Hors ligne Dentuk # Posté le 12/10/2007 17:55:01
Yamo...
Avatar
Groupe : Membres
Je n'ai pas dit que ça servait à rien.
Seulement les opérateurs de bits agissent sur des entiers (ou des chaînes mais ils ont un comportement spécifique dans ce cas).
Donc $droits devrait être initialisée à 0, et le type dans la table devrait être un type entier.
Ne pas baratiner les zéros, ben s'ils ne connaissent pas les types de base qui sont énumérés dans le tuto officiel ils ne vont pas aller bien loin ! o_O
 
Hors ligne Nelty # Posté le 12/10/2007 17:57:22
Persévérer c'est avancer !
Avatar
Groupe : Membres
Mouais, je peux changer ça pour la variable $droits, mais c'est vraiment un détail ^^ .

Pour le type de la colonne, tu sais, je suis sûr que si tu demandes à 100 zéros ce qu'il faut sélectionner pour attribuer le type "entier" dans une table, 60 % au moins ne sauront pas...



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
Hors ligne Dentuk # Posté le 12/10/2007 18:01:13
Yamo...
Avatar
Groupe : Membres
Je ne pense pas, personnellement.
Et de toute manière, je ne vois pas en quoi ça justifie l'utilisation d'un type inapproprié...
Enfin bon, je voudrais pas non plus pourrir trop l'espace de commentaires.
 
Hors ligne Nelty # Posté le 12/10/2007 18:03:58
Persévérer c'est avancer !
Avatar
Groupe : Membres
Ne t'inquiètes pas, je prends en note et lorsque j'aurai autre chose à modifier, je ferai toutes les modifications en même temps ;) .

Merci de tes commentaires :) .



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
Hors ligne Mat000 # Posté le 12/10/2007 21:22:27
Groupe : Membres
Merci :p Ca ma beaucoup intéréssé les opérateurs de bit :)

Mais par contre, tu aurais pu faire a la place de Ajouter un utilisateur, Mettre un utilisateur déja existant dans un groupe !

Voila 19/20 :)

Mon humeur : Image utilisateur
 
Hors ligne jblucas # Posté le 22/01/2008 18:12:42
error : citation trop nulle
Avatar
Groupe : Membres
Dieu garde pim's Netly ! ^^

Merci pour ce tuto génial, même s'il y a des améliorations possible (autrement tu serait parfait ! o_O )

Bon, je met 17 ! :)

jblucas
Hors ligne Nelty # Posté le 22/01/2008 18:15:49
Persévérer c'est avancer !
Avatar
Groupe : Membres
Merci jblucas :) .

Par contre, au contraire, si tu vois des améliorations à effectuer fais en moi part pour que ce tutoriel devienne parfait encore mieux :) .

hum et sinon, j'imagine que c'est une faute de frappe mais bon : mon pseudo c'est Nelty et non Netly :-° .



Python



À l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. :p

Concrètement, Python c'est quoi ?



Python est comme je l'ai indiqué plus haut un langage de programmation interprété.
Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux).
Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique.

Atouts



Un des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code.
En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation.
Ainsi, un tel code en PHP :
Code : PHP
1
2
3
4
5
6
<?php
for($i=1;$i<=3;$i++)
{
echo $i*2.' ';
}
?>

Donnera ceci en Python :
Code : Python
1
2
3
4
for i in xrange(1,4):
  print 2*i
# ou
[i*2 for i in [1,2,3]]


Les deux afficheront (à peu près) :
Citation : Résultat :

2,4,6


Remarquez la simplification du code pour effectuer une action très simple.

Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple.

Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit.

Où apprendre ?



Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais.
Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français.
S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami !

Où se faire aider ?



Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider !
Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider.
Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneurs viennent de temps en temps.
Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais).
 
Hors ligne Natim # Posté le 01/02/2008 13:18:17
En stage chez Simple It
Avatar
Admins
Moi ce que je ne comprends pas c'est pourquoi tu ne stocke pas la variable Droits_utilisateur directement dans la BDD ?

Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk.fr
 

Vous devez être inscrit pour pouvoir poster des messages

Retour au tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 345 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.0563s (0.0448s)