MySQL : Restaurer les privilèges

29 01 2011

Si comme Monsieur Schnaps, tu es suffisamment con pour enlever les privilèges INSERT, UPDATE et DELETE sur ton serveur MySQL de développement local (fournis avec EasyPHP), par inadvertance, alors tu cherches surement à réparer ta connerie.

En effet, ce trou du cul de MySQL va refuser systématiquement toutes les requêtes INSERT, empêchant de se réaffecter les privilèges qu’on vient juste de s’enlever.

Pour commencer, assure toi que MySQL n’est pas en cours d’exécution (Alt Ctrl Suppr : virer mysqld.exe). Ouvre une console dans le répertoire bin de MySQL, et entre cette commande :

C:\EasyPHP5.2.10\mysql\bin>mysqld --skip-grant-tables

Ça sert à démarrer le serveur MySQL dans un mode spécial.

Ensuite, ouvre une autre invite de commande dans le répertoire bin, et lance le client mysql en tapant… mysql. Ouais, tapes le bien, mysql…

Balance lui tout de suite cette requête dans la gueule, histoire de cadrer le truc :

UPDATE mysql.user SET Password=PASSWORD('') WHERE User='root';

Décoche lui dans la foulée cette autre requête en pleine tête :

FLUSH PRIVILEGES;

Enfin, pour être certain de bien lui ruiner le minois, achève le avec cette dernière requête :

GRANT ALL PRIVILEGES ON *  . *  TO 'root'@'localhost' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR  0 MAX_UPDATES_PER_HOUR  0 MAX_USER_CONNECTIONS  0 ;

Là il ne devrait plus broncher.

Oh yeah !



Connexion automatique [Windows 7]

24 01 2011

Il est possible de configurer Windows 7 pour qu’il se connecte automatiquement à un compte de votre choix au démarrage de l’ordinateur.

C’est très pratique, comme ça vous appuyez sur le bouton power de la machine, vous allez faire un tour et 10 minutes plus tard, Windows 7 a enfin terminé de faire gratter le disque pour charger toute sa merde dans le fichier d’échange (SWAP) au lieu de n’utiliser que la mémoire vive (RAM), comme le fait si bien Mac OS.

Autologin windows 7

Sur Windows 7 c’est très facile, faites la combinaison Windows + R au clavier (la touche windows c’est celle avec un petit drapeau à la con à côté de la barre d’espace, entre Alt et Ctrl).

Tapez control userpasswords2 dans le champ, puis touche Entrer pour valider.

Une fenêtre s’affiche, décochez la case “Les utilisateurs doivent entrer un nom d’utilisateur et un mot de passe pour utiliser cet ordinateur.”

Ensuite, cliquez sur le bouton Appliquer en bas à droite, et entrez votre mot de passe.

Et voilà !

Autologin windows xp

Sur windows xp il faut télécharger TweakUI, un PowerToys (développé par microsoft, y’a pas d’embrouille man, quoique…) qui permet d’accéder à certains réglages avancés de windows xp.

Il y a une option je ne sais plus trop où, avec une case Autologin à cocher, et le mot de passe à renseigner. Vous trouverez, je vous fait confiance.

En espérant vous avoir fait gagner du temps et évité un coup de stress en poireautant devant votre ordinateur pédalant tel un chinois dans une course effrénée vers…



Apple TV … sans apple TV

22 01 2011

L’apple TV c’est cool :-)

ça a introduit une nouvelle technologie, ou du moins, le renommage (un peu comme le rebranding chez ATI/Nvidia) AirPlay (anciennement AirTunes).

Lire la suite »



Ferme la fenêtre, non pas celle là -_-’ !

20 01 2011

Citation bien pratique de Dijkstra, a balancer à tout ceux qui vous demandent de l’aide pour brancher un clavier ou une livebox (ou autre truc à la con impliquant l’ordinateur familial), parce que vous avez le malheur de travailler dans l’informatique :

« La science informatique n’est pas plus la science des ordinateurs que l’astronomie  n’est celle des télescopes. »



Notepad++ c’est d’la merde en barre

19 01 2011

Vive Komodo !

4 ans que j’utilise Notepad++, j’ai appris le PHP sur cette merde !

Jamais aucun problème, jusqu’à…

Alors que je travaillais sur un de mes sites (non, pas mr schnaps), que je venais de finir d’écrire cette saloperie de classe PHP depuis 1 heure et demi, l’éternel Ctrl+S pour sauvegarder avant d’éteindre l’ordi, et là c’est le drame.

La sablier rond de windows 7 se met à tourner, je crains le freeze. C’est effectivement le cas, cet abrutis a freezé.

Pas grave me dis-je, notepad++ freeze, => Alt+Ctrl+Suppr pour terminer le processus et hop, j’ai juste à réécrire les quelques lignes de code perdues, depuis la dernière sauvegarde réussie (pas de quoi fouetter un rat)…

Sauf que non, cette petite enflure a tout simplement vidée le fichier sur lequel je travaillais, 0 octets !

Du coup, une heure et demi de travail perdu à cause d’un éditeur de texte merdique.

Voici donc 3 leçons à retenir :

  1. Notepad++ c’est de la merde en barre
  2. On peut pas plus faire confiance à un programme qu’à…
  3. Komodo c’est mieux (voir PSPad si t’es charrette)


Thomas NGijol

16 01 2011

Thomas N’Gijol, le middle-class de Maisons-Alfort, chez Laurent Ruquier :



Configurer phpMyAdmin : trucs et astuces

15 01 2011

Si vous faites du web avec PHP/MySQL, vous utilisez probablement phpMyAdmin pour administrer vos bases de données MySQL.

Voici quelques informations pratiques sur la configuration de phpMyAdmin.

Pour commencer, la configuration de PMA est définie dans le fichier /config.inc.php (à la racine du dossier d’installation de PMA). Lire la suite »



Serveur SMTP Orange

15 01 2011

Si vous souhaitez utiliser le serveur SMTP (envoi de mail) d’orange, dans votre client mail (Thunderbird, Outlook, Mail…), il vous faut son adresse et le port.

Pendant longtemps, c’était assez simple :

Serveur : smtp.orange.fr
Port    : 25

25 étant le port par défaut pour les serveurs SMTP. Sauf que maintenant ça ne fonctionne plus, car orange a changé le domaine du serveur, ainsi que le port, et aucun de ces trou du cul n’a pensé à faire une redirection de l’ancien domaine vers le nouveau.

Donc voici les nouvelles coordonnées du service SMTP orange :

Serveur : smtp-msa.orange.fr
Port    : 587

Bien entendu, le service ne transmet vos mails que si vous envoyez depuis un ordinateur connecté à internet avec Orange. Chaque FAI propose normalement un service d’envoi de mail.



Différences entre php4 et php5

13 01 2011

Il existe un certain nombre de différences entre les versions 4, 5.2 et 5.3 de PHP qu’il peut être utile de connaître.

HTTP_VARS

En php 4, on pouvait accéder aux variables superglobales GET, POST et COOKIE (GPC) de 2 manières différentes :

Ancienne syntaxe Nouvelle syntaxe
GET HTTP_GET_VARS $_GET
POST HTTP_POST_VARS $_POST
COOKIE HTTP_COOKIE_VARS $_COOKIE

L’ancienne syntaxe n’éxiste plus à partir de php 5.0, elle a été supprimée.

Modèle objet

Autre différence notable, au niveau de la programmation orientée objet (POO).

Portée

En php 4, la notion de portée des membres d’une classe (attributs & méthodes) n’existait pas. Ainsi, tous les membres d’une classe étaient publiques (accessibles sans aucune restriction), et on déclarait les attributs avec var :

class Test{
	var Nom;
	var Prenom;
}

En PHP 5, ont peut définir une portée aux membres, avec les instructions public, private, protected ou encore final, static, what the fuck

Constructeur et destructeur

Enfin, la syntaxe des constructeurs et destructeurs en php 4 et php 5 est différente.

En PHP 4 on utilisait le nom de la classe pour déclarer le constructeur. Il n’y avait pas de destructeur en natif, il fallait recourir à la fonction register_shutdown_function(), bref, une belle merde !

Mais avec PHP 5 ton cauchemar est terminé, le constructeur s’appelle maintenant __construct, et le destructeur __destruct.

PHP 5 supporte les deux syntaxes pour le constructeur (nom de la classe et __construct) jusqu’à la version 5.2.x incluse. Au-delà (PHP 5.3), seule __construct fonctionne.

Si vous utilisez PHP 5.2, qui est compatible avec les deux syntaxes, et que vous déclarer un constructeur pour chaque syntaxe, la nouvelle syntaxe __construct sera exécutée en priorité si elle éxiste, sinon l’ancienne sera appellée. Mais en aucun cas le constructeur ne sera appelé 2 fois, ce qui serait une aberration aberrante

Du coup, voila un petit exemple pour faire des classes à la fois compatibles PHP 4, PHP 5.2 et PHP 5.3, idéal pour pas se prendre la tête avec la rétro compatibilité :

class Exemple{

	function Exemple(){
		echo "<div>[Mode compatibilité PHP4, appel constructeur PHP5]</div>";
		$this->__construct();
	}

	function __construct(){
		echo "<div>Je suis l'Architecte, certaines de mes réponses te seront accessibles mais pas toutes.</div>";
	}

}

$exemple = new Exemple();

La classe hein ?

Quelques fonctions en moins

PHP5 propose quelques fonctions en moins par rapport à PHP4. Ces fonction sont qualifiés d’obsolètes.

Il faut noter par exemple la suppression de ereg() et eregi() qui permettaient d’utiliser les expressions POSIX. Maintenant on est obligé de passer par preg_xxx() qui utilisent les expressions PCRE (Perl).



Web beacon (web bug), tu connais ?

12 01 2011

Littéralement, cela signifie en Français “Balise web”. Attention, rien à voir avec les balises du langage HTML !

Parfois, sur une page web, il peut être utile d’appeler une URL à l’extérieur du domaine courant, le plus souvent pour obtenir des statistiques sur les visiteurs.

C’est par exemple le cas avec les services de statistiques de fréquentation (web analytics) comme Xiti, Google Analytics ou Piwik.

Pour appeler ces services, la solution la plus logique est d’utiliser AJAX : on fait une requête via XmlHTTPRequest en passant tous les paramètres nécessaires.

Sauf que cette technique ne fonctionne pas si le client n’exécute pas le JavaScript, ou si le visiteur a désactivé JavaScript dans son navigateur.

Lire la suite »