Articles

Mac

Compéments PHP/MySQL :

Par Didier Pulicani - Publié le

PRECAUTIONS A PRENDRE



"ATTENTION : Ne faites jamais de copier coller des lignes de cet article dans le terminal, mais retappez le code. Ca peut être la cause de nombreux bugs !"

Protéger la base de données avec un nom et un mot de passe



Bien qu'avec la méthode énoncée dans 'installer mysql' votre base de donnée soit plutôt facile à utiliser, vous préfererez peut-être la protéger avec un nom d'utilisateur et un mot de passe, si c'est ce que vous désirez, rendez-vous à nouveau dans le terminal.

Nous allons tout d'abord créer l'utilisateur root de mysql (qui n'a à priori rien à voire avec le root de votre ordinateur), tappez donc cette ligne dans le terminal :
mysqladmin -u root password 'mot de passe de votre choix'


On se connecte ensuite à mysql avec cet utilisateur root :
mysql -u root -p mysql


Entrez le mot de passe que vous venez de choisir lorsque on vous le demande.
Vous allez maintenant créer un nouvel utilisateur que nous appellerons ici administrateur avec un mot de passe que vous choisirez et qui va être l'administrateur de vos bases de données (accès à toutes les bases de données etc...) La liste des utilisateurs est stockée dans une table appellée user contenant 17 champs, dont l'utilisateur, son mot de passe et une liste de 14 cases dans lesquelles ont met Y ou N pour donner des autorisations aux utilisateurs.
pour cela entrez la ligne suivante :

INSERT INTO user VALUES ('localhost','administrateur',PASSWORD('mot de passe'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

(n'oubliez pas le point virgule à la fin, sans quoi la ligne ne s'executerait pas)

Vous pouvez aussi créer un autre utilisateur qui n'aura accès qu'à une seule base de donnée, pour cela tappez les lignes suivantes :

INSERT INTO user VALUES ('localhost','nom_utilisateur',PASSWORD('mdp_de_lutilisateur','N','N','N','N','N','N','N','N','N','N','N','N','N','N');

Ceci cré l'utilsateur ayant pour nom : nom_utilisateur et pour mot de passe : mdp_de_lutilisateur.

CREATE DATABASE nom_utilisateur_db;
Ce qui va créer une base de donnée qui aura le même nom que l'utilisateur suivi de "_db" (facultatif mais vous permettra ici de faire la différence entre le nom de l'utilisateur et celui de sa base)

INSERT INTO db VALUES ('%','nom_utilisateur_db','nom_utilisateur','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

Enfin, cette ligne donnera les droits sur sa base de données à cet utilisateur.

Pour que toutes ces modifications prennent effet tout de suite, sans avoir besoin de relancer apache, validez les en tappant la ligne suivante :
FLUSH PRIVILEGES


sortez maintenant du moteur mysql en tappant :
exit


Dorénavant vous pourrez tappez vos lignes de commandes directement dans le terminal, simplement en tappant :
mysql -u administrateur -p mysql


Compéments PHP/MySQL :


Cet administrateur dispose des mêmes autorisations que le root créé au début (root que vous pouvez maintenant supprimer si cela vous chante).

Cependant, plutôt que de vous fatiguer à tapper vos lignes de commandes dans le terminal, je vous conseille de vous intéresser particulièrement à la suite de cet article qui va vous aider à installer phpmyadmin !

Installer phpmyadmin



Ce dont vous avez besoin :



Une version récente de phpmyadmin

Et maintenant, en à peine quelques lignes, l'installation !



Une fois le dossier téléchargé et décompressé, placez le dans votre dossier site (ou dans Library/WebServer/Documents).
Renommez le dossier 'phpMyAdmin-2.2.3' en 'phpmyadmin' (facultatif mais plus pratique).
Ouvrez le fichier config.inc.php et reperez les lignes suivantes :

$cfgServers[1]['host']          = ''; // MySQL hostname
$cfgServers[1]['port']          = '';          // MySQL port - leave blank for default port
$cfgServers[1]['socket']        = '';          // Path to the socket - leave blank for default socket
$cfgServers[1]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')
$cfgServers[1]['stduser']       = '';          // MySQL standard user settings (this user must have read-only
$cfgServers[1]['stdpass']       = '';          //   access to the "mysql/user" and "mysql/db" tables)
$cfgServers[1]['auth_type']     = 'config';     // Authentication method (config, http or cookie based)?
$cfgServers[1]['user']          = 'root';      // MySQL user
$cfgServers[1]['password']      = '';          // MySQL password (only needed with 'config' auth)


Placez alors les informations suivantes où il convient :

$cfgServers[1]['host']          = 'localhost';
$cfgServers[1]['auth_type']     = 'http';
$cfgServers[1]['user']          = 'votre_pseudo_administrateur'; 
$cfgServers[1]['password']      = 'votre_mot_de_passe'; 


Repérez aussi la ligne suivante :

$cfgPmaAbsoluteUri = ';
Si vous avez placé phpmyadmin dans votre dossier site rempacez par :
$cfgPmaAbsoluteUri = 'http://127.0.0.1/~pseudo/phpMyAdmin';
Si vous l'avez plustôt placés dans library/webservers/documents remplacez par :
$cfgPmaAbsoluteUri = 'http://127.0.0.1/phpMyAdmin';


Bien entendu le pseudo administrateur est celui créé d'après les indications que je vous ai données plus haut, ou bien le root de mysql.

Pour la 2e ligne concernant le mode d'identification, vous pouvez aussi mettre cookie ou config, 'cookie' vous demanderait de vous identifier par un formulaire html pour mémoriser ensuite les informations dans des cookies, tandis que 'config' permettrait à nimporte quel utillisateur d'avoir accès à votre phpmyadmin sans s'identifier, puisqu'il se connecterait avec les infos données dans config.inc.php.
'http' est donc selon moi la meilleur méthode, vu qu'elle ouvre une fenêtre d'identification en vous permettant de mémoriser les pseudo et mot de passe dans votre trousseau de clef.

Compéments PHP/MySQL :


ATTENTION : Il est possible que ces informations varient quelque peu avec les prochaines versions de phpMyAdmin, les informations que je vous donnent font référence à la 2.2.3 (la plus récentes à l'heure où j'écris cet article).

Et voilà, vous avez déjà terminé ! Vous pouvez dès maintenant administrer votre base de données avec phpMyAdmin en tappant l'adresse suivante dans votre navigateur :
http://127.0.0.1/~votre_pseudo/phpmyadmin (ou ici : http://127.0.0.1/phpmyadmin si vous avez placé phpmyadmin dans Library/WebServer/Documents)

Devenir possesseur de httpd.conf



'httpd.conf' est le fichier de configuration d'appache que vous avez besoin d'éditer pour installer php, cependant il appartient au root et vous n'avez par se fait pas le droit d'enregistrer les modifications dans ce fichier sans être logué en root.
Cependant avec un peu d'astuce cela peut changer ;) Je propose même deux méthodes :

Une méthode toute simple :



J'ai découvert il y'a peu ce petit utilitaire fort pratique : BatChmod que vous pouvez télécharger ici.
Il permet de changer le possesseur d'un fichier, ou simplement de modifier les autorisations (nécessite bien sur un mot de passe administrateur). Bref vous n'avez qu'à ouvrir httpd.conf avec cet utilitaire pour vous donnez les autorisations d'écriture sur ce fichier ;)
Toutefois faites bien attention, sachez qu'avec cet utilitaire nimporte quel utilisateur sur votre ordinateur ayant un compte administrateur peut aller modifier vos fichiers... Et sachez aussi que son utilisation sur certains fichiers systèmes pourrait vous attirer de gros ennuis...

Une méthode un peu plus compliquée, si vraiment vous n'aimez pas voir trainer ce genre d'utilitaires sur votre ordinateur !



- Dans le finder, ouvrez le menu 'Aller' et sélectionnez l'article 'Aller au dossier...' .
- Tappez '/etc/httpd' .
- Placez une copie de ce fichier à un endroit dont vous vous souviendrez (la racine de votre disque-dur par exemple).
- Redémarrez sous Mac OS 9 .
- Lancez ResEdit (que vous pouvez trouver ici)
- Clickez sur 'annuler' dans la fenêtre qu'il ouvre à chaque lancement.
- Dans le menu 'File' sélectionnez l'article 'get file/folder infos' ouvrez ainsi le dossier invisible 'private' qui se trouve à la racine de votre disque dur.

Compéments PHP/MySQL :


- Décochez la case 'invisible', enregistrez les modifications (ne quittez pas ResEdit).

Compéments PHP/MySQL :


- Ouvrez le dossier 'private' dans le finder, puis dans celui-ci le dossier 'etc', et enfin le dossier 'httpd'.
- Remplacez le fichier httpd.conf par celui qui que vous avez copié depuis Mac OS X (et dont vout êtes donc le possesseur système).
- Dans ResEdit recochez la case 'invisible', enregistrez les modifications.
- Redémarrez sous Mac OS X, vous avez maintenant toutes les autorisations sur le fichier httpd.conf, manipulez le cependant avec précaution !

Ainsi avec un peu d'astuce on peut toujours se passer de l'utilisateur root. Je ne l'ai d'ailleurs jamais créé...

Rediriger votre adresse ip vers votre dossier site



Lorsque vous voulez accèder aux fichiers de votre dossier site vous devez toujours tapper : http:127.0.0.1/~votre-pseudo . (bien entendu l'adresse 127.0.0.1 peut être remplacée par votre adresse du réseau local ou internet), voici donc comment faire une redirection automatique :
- placez vous à la racine de votre disque dur, ouvrez le dossier 'Library', dans celui-ci ouvrez le dossier 'Webserver', puis le dossier 'Documents'
- virez alors tous les fichiers commancant par index.html (y'en a dans toutes les langues, et ils servent à rien...)
- créez un fichier html que vous nommerez index.html et que vous placerez dans ce dossier.
- Dans ce fichier tappez le code suivant :

Compéments PHP/MySQL :


- Enregistrez les modifications, tappez http://localhost ou http://127.0.0.1 et là, comme par magie vous êtes redirigés ;)

ATTENTION : N'essayez jamais de tapper du html dans TextEdit, contrairement à simple text il n'enregistre pas au format texte classique, mais rajoute un packet de tags etc... qui empecheraient le script de s'executer.

Il se peut d'ailleurs parfois qu'il ne veuille pas enregistrer les modifications en texte brut dans le fichier de configuration d'apache, si cela vous arrive abandonnez le pour BBEDIT (qui est gratuit en version lite et que vous trouverez sur versiontracker )

Problème courant



- Suite à certaines mises à jour de MAC OS (X.1 nottament) il arrive que php ne s'active pas correctement ou que le partage web ne veuille pas démarrer, si cela vous arrive, loguez vous en root, dans le menu 'aller' dans 'aller au dossier' tapper /etc/httpd supprimez le fichier httpd.conf dupliquez httpd.conf.default renommez le nouveau fichier en httpd.conf refaites les modifications, ca devrait marcher.

Par Grumff



Correction orthographique (sisi !) : Grouik

La recette !



Melle Maya (aka Grumff) étant à l'origine de toutes ces lignes de commandes, je n'ai pas pu m'empêcher de rajouter quelques desserts... au miel ! C'est tout simple à réaliser, et en plus.. c'est vraiment pas mauvais !

Compéments PHP/MySQL :

Pan Cakes



Rien de tel pour exhaler tous les arômes et parfums des miels et confitures Corses
Pour 8 à 10 pan cake

Ingrédients :

150 g. de farine, 1/2 cuillère à café de sel, 4 ?ufs, 300 ml. de lait, 1 paquet de levure, 1 cuillère à soupe de sucre, poêle de 12 cm de diamètre

Préparation :
Mélanger la farine, le sucre, la levure et le sel. Faire un puit. Mélanger progressivement les jaunes djQuery36105077214895675697_1663170731658ufs, ajoutés un à un. Ajouter les blancs montés en neige. Faire cuire dans une poêle à blinis légèrement huilée (2-3 mn la première face jusqu?à apparition de bulles en surface ; 1-2 mn l?autre face). Les placer au fur et à mesure sur une assiette placée sur un bain marie afin de les garder chauds.

Compéments PHP/MySQL :

Gâteau au miel



Recette facile et vraiment délicieuse

Ingrédients :

100 g de beurre, 3 oeufs, 2 bonnes cuillerées à soupe de miel liquide AOC, 150g de farine, 90g de sucre, 1/2 d'un sachet de levure

Préparation :

Mélangez énergiquement le sucre et le beurre ramolli. Ajoutez le miel AOC, la farine, la levure puis les oeufs. Laissez cuire à thermostat 6 (180 °C) pendant 40 à 45 minutes.
Vous pouvez si vous le voulez incorporer des noisettes ou encore des noix environ 100 à 150g à la fin de la préparation (avant la cuisson).

Compéments PHP/MySQL :

Crêpe



Rien de tel pour exhaler tous les arômes et parfums des miels et confitures Corses
Pour 15 à 20 crêpes

Ingrédients :

250 g. de farine, 1/2 cuillère à café de sel, 4 ?ufs, 1/2 litre de lait, 100 g. de beurre

Préparation :

Mélanger la farine et le sel. Faire un puit. Mélanger progressivement une partie de la farine avec les ?ufs ajoutés un à un. Finir de délayer avec le lait. Ajouter le beurre fondu. Faire cuire à la crêpière. Les placer au fur et à mesure sur une assiette placée sur un bain marie afin de les garder chaudes.

Source