Symfony : Rsync sous Windows

Posted: août 18th, 2010 | Author: Vincent | Filed under: Développement, PHP, Symfony, Windows | Tags: rsync, ssh, Symfony, Windows | No Comments »

Ce soir, je cherchais à faire fonctionner le Rsync sous Windows, et particulièrement sous Symfony.

En effet, un outil existant permet de faire fonctionner du Rsync sous Windows vers un serveur unix via le protocole SSH. Il est trouvable à l’adresse suivante : http://trac.symfony-project.org/wiki/SymfonySyncOnWindows

Comment ça marche ?

Téléchargez l’archive fournie sur le lien ci-dessus puis décompressez-la dans un répertoire. Nous prendrons comme exemple C:\rsync.

Il vous faut ensuite aller éditer les variables d’environnement de Windows et particulièrement la variable PATH à laquelle vous devez rajouter votre répertoire C:\rsync.

Vous pouvez désormais utiliser la commande via une invite de commande (console) (Démarrer > Exécuter > cmd).

Modifier la librairie Symfony

Oui mais voilà, la commande ne va pas fonctionner pour autant lorsque vous lancerez votre ‘symfony project:deploy <environment> –go‘.

Pour celà, il vous faut aller modifier la ligne 164 du fichier lib/vendor/symfony/lib/task/project/sfProjectDeployTask.class.php.

Modifiez la ligne :

$this->getFilesystem()->execute($command, $options['trace'] ? array($this, 'logOutput') : null, array($this, 'logErrors'));

en :

$this->getFilesystem()->execute('start cmd /k ' . $command, $options['trace'] ? array($this, 'logOutput') : null, array($this, 'logErrors'));

La commande start cmd /k va nous permettre d’ouvrir une invite de commande qui se chargera d’exécuter le rsync.
Ainsi, si vous synchronisez comme moi via SSH, vous n’aurez plus qu’à taper votre mot de passe qui ne peut pas être inscrit dans le fichier de configuration, par raisons de sécurité.
En espérant que cette petite astuce puisse avoir aider certains d’entre vous :)

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

HTML5 – Mediaelement.js : Balises video et audio sur tous les navigateurs

Posted: août 1st, 2010 | Author: Vincent | Filed under: Développement, Javascript, Web 2.0, Web design, web | Tags: audio, elements, html5, Javascript, media, video | No Comments »

Vous souhaitez utiliser les balises <video> et <audio> apportées par HTML5 sur tous les navigateurs (oui oui, y compris les anciens) ?

La solution

Une solution vient d’être apportée en Javascript pour adapter tout ça sur les différents supports à l’adresse suivante : http://mediaelementjs.com/.

Ainsi, vous pourrez utiliser ces nouvelles balises HTML5 sans soucis de compatibilité sur les différents navigateurs.

Solutions de compatibilité utilisées pour les différents navigateurs

  • Safari : HTML5 natif
  • Chrome : HTML5 natif
  • Internet Explorer 9 : HTML5 natif
  • Internet Explorer 6,7,8 : Silverlight/Flash
  • Firefox : Silverlight/Flash
  • Opera : Silverlight/Flash
  • iPhone, iPad : HTML5 natif
  • Android : HTML5 natif

De plus, plus besoin de vous soucier du format de vidéo, le H.264 qui ne fonctionne pas sous Opéra et Firefox pourra désormais fonctionner car MediaElements.js s’occupe de modifier la source pour l’adapter en fonction des navigateurs.

À noter que la balise <video> peut contenir plusieurs éléments <source> qui ont comme source une vidéo de format différente afin que le navigateur puisse utiliser le format approprié.

Exemple d’utilisation













Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

Devao : la preview est ouverte

Posted: juillet 5th, 2010 | Author: Vincent | Filed under: Doctrine, Développement, PHP, Symfony | Tags: actualité, devao, doctrine, PHP, projet, Symfony | No Comments »

Et voila, en ce 5 Juillet, je viens d’ouvrir la preview de mon projet de fin d’année. Pas des masses de fonctionnalités pour le moment, mais elles vont rapidement arriver par la suite !

Devao, qu’est-ce ?

C’est tout simplement un site agrégateur d’actualités en temps réel. Pour le moment, seulement certains blogs sont indexés mais par la suite, les utilisateurs auront la possibilité d’ajouter leurs propres blogs, des comptes Twitter et pleins d’autres petites choses en préparations :)

Ce projet a été développé sous Symfony 1.4 (http://www.symfony-project.org), le meilleur framework PHP selon moi et utilise l’ORM Doctrine (http://www.doctrine-project.org).

Rendez-vous sur http://www.devao.fr pour la suite et à très bientôt pour le debriefing de la preview et le détail des nouvelles fonctionnalités !

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

jQnotice : mon petit plug-in de notifications jQuery

Posted: juin 20th, 2010 | Author: Vincent | Filed under: Développement, Javascript, Web 2.0, Web design, web | Tags: jqnotice, jquery, notice, notification, plugin | No Comments »

En ce Dimanche matin, j’avais besoin de faire quelquechose pour avoir des notifications / alertes sur un projet web dont je vous reparlerais très prochainement.

Je n’avais jamais créé de plug-in jQuery, c’est maintenant chose faite, même s’il n’est vraiment pas extraordinaire, il vous permettra de créer des petites notifications sympas en haut de votre site web ! Biensûr, il reste personnalisé pour mon projet mais est très facilement adaptable à votre sauce.

Commençons par le code JavaScript (après avoir inclus la librairie jQuery) :

(function($) {
	$.notice = {
		show: function(message) {
			/** Configuration */
			var top = 5;
			var left = 15;
			var fadeoutDuration = 1000;

			/** Launch the notification */
			$('html, body').animate({scrollTop:0});
			$('

').attr('id', 'notice').css('left', (50-left)+'%').css('top', (0+top)+'px').appendTo('body').text(message);

			/** Switch off the notification */
			setTimeout(function() {$('#notice').animate({ opacity: 0, top: '-20px' }, fadeoutDuration);}, 2000);
			setTimeout(function() {$('#notice').remove();}, 3000);
		}
	}

	jQnotice = function(message) { $.notice.show(message); };
})(jQuery);

Ajoutez à celà un petit bloc de CSS :

#notice {
	position:absolute;
	background-image:url('/images/notice.png');
	width:250px;
	height:35px;
	text-align:center;
	padding:15px 0 0 0;
	font-size:11px;
	color:#467618;
}

Vous aurez également besoin de cette image :

Enfin, terminons par l’appel de la méthode pour lancer une notification :

jQnotice('Votre message de notification');

- Adresse du plug-in : http://plugins.jquery.com/project/jQnotice
- Adresse de démonstration : http://composieux.fr/jqnotice

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

Sencha : premier framework HTML5 pour mobiles

Posted: juin 20th, 2010 | Author: Vincent | Filed under: Développement, Javascript, Web 2.0, iPhone, web | Tags: android, application, extjs, framework, html5, ipad, iPhone, jqtouch, raphael, sencha, web | 1 Comment »

Depuis le 14 Juin est rendu disponible Sencha, premier framework HTML5 pour mobiles. Autrement dit, le premier outil qui vous permet de créer des applications web pour mobiles (aussi bien Android qu’iPhone ou même iPad !).

La deuxième surprise est le fait que Sencha soit en fait un regroupement de trois frameworks Javascript assez énormes qui ont bien fait parler d’eux. Il s’agit en effet d’ExtJS (qui est maintenant devenu Sencha), Raphaël et jQtouch (un plug-in jQuery permettant de construire des applications iPhone).

Ce qui est intéressant, c’est la multitude de possibilités qu’offre le framework ainsi que les nombreuses démonstrations misent à disposition dans le package.

Je vous laisse donc vous amuser avec et personnellement, je l’utiliserais très certainement si j’en ai le temps lorsque j’aurais fini de développer Devao !

- Site web de Sencha

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

jQuery Tools : Des outils intéressants pour jQuery

Posted: juin 9th, 2010 | Author: Vincent | Filed under: Actualité, Développement, Javascript, Web 2.0, Web design, web | Tags: Javascript, jquery, librairie, library, outils, tools | No Comments »

Ca faisait un petit bout de temps que je n’avais pas blogué, je vais donc tenter de m’y remettre tout doucement bien que je travaille actuellement sur mon projet de fin d’année dont vous pourrez bientôt suivre les actualités puisque je viens de terminer l’intégration du thème WordPress du blog de ce projet.
Affaire à suivre !

Nous parlons ce soir de jQuery Tools, une librairie d’outils très intéressants et très forts pour faciliter la vie des développeurs à l’utilisation des différents effets Javascript qui donnent un plus à votre site/blog.

Parmis ces effets, on retrouve de la tabulation, des tooltips, des overlays, des calendriers, des effets de scrolls, des lightbox, enfin bref, des must-have.

Je trouve vraiment cette librairie très complète et facile d’utilisation, c’est la raison pour laquelle je l’utiliserais certainement dans de futurs projets.

Pour plus d’informations, je vous invite à visiter le site de l’éditeur :

- Site de l’éditeur

- Télécharger jQuery Tools

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

Threadsy – Découverte et invitations pour beta privée

Posted: avril 2nd, 2010 | Author: Vincent | Filed under: Actualité, Divers, Web 2.0, web | Tags: facebook, gmail, service, threadsy, twitter, web | 1 Comment »

Je vous propose de découvrir un nouveau service web actuellement en bêta privée : Threadsy (http://www.threadsy.com).

J’ai eu la surprise de recevoir avant-hier soir un e-mail de leur part m’invitant à participer à la beta privée et je vais donc vous faire part de mon avis sur la chose !

Pour commencer, qu’est-ce-que c’est Threadsy ?

Il s’agit là d’un tout nouveau service vous permettant de suivre la « timeline » de votre compte Mail (doit supporter l’Imap), Facebook et Twitter en un seul et même endroit. Plutôt pratique !

Vous aurez donc accès à vos replies/DM sur Twitter, commentaires sur Facebook, et une notification apparait à chaque nouvelle activité sur le profil de vos différents réseaux sociaux.

Bien évidemment, chaque nouveau mail que vous recevez apparaît également.

Rentrons un peu dans le détail !

L’interface web se compose de deux colonnes, gauches et droites, la colonne de gauche étant la timeline globale de vos trois services web (mail, Twitter, Facebook).

Vous avez la possibilité de répondre directement via l’interface, composer un nouveau mail, un nouveau tweet, envoyer un mail, accéder à vos brouillons de mail/tweet, aux messages envoyés, etc …

Vous avez même la possibilité de faire une recherche parmis vos éléments reçus, vos brouillons ou vos éléments envoyés.

La deuxième colonne quant à elle est une vraie « timeline », comme les clients à la Tweetdeck le font actuellement et intègre votre timeline Facebook et Twitter en direct, avec la possibilité là aussi d’interagir directement depuis l’interface !

De plus, je dirais que l’interface est assez agréable et permet aussi, lorsque l’on clique sur un pseudo, de détailler la biographie de l’utilisateur, ses photos (s’il s’agit de Facebook), ses derniers messages …

Ah oui, j’allais oublier, les photos et vidéos envoyées sur Twitter via des liens Twitpic et autre sont directement affichées avec le message, un très gros plus !

Pour finir …

Une interface très agréable qui donne un réel plaisir à utiliser les différents réseaux sociaux, je suis conquis.

Je tiens aussi à signaler la présente d’une toolbar dans le bas de l’interface qui permet de se connecter au chat de Facebook et d’échanger donc en direct.

Vous souhaitez participer à la beta ?

Je dispose de 10 invitations (enfin 9 maintenant, on m’en a déjà volé une ;) ) pour vous faire entrer dans le monde de la beta. Faite moi signe en DM via Twitter ou par mail si vous souhaitez vous inscrire.

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

C# .net – Modifier le titre joué dans Windows Live Messenger

Posted: avril 2nd, 2010 | Author: Vincent | Filed under: C Sharp, Développement, Geek, Microsoft, Windows | Tags: .net, C Sharp, C#, interoperabilite, msn, titre | No Comments »


Hello,

Ca faisait bien longtemps que je n’avais pas fais un article sur ce blog ! Pourquoi ? Des cours + de l’alternance qui m’ont pris un peu de temps + l’hiver + pas forcément dans une période de grande motivation.

Cette période est révolue, me revoilà avec un article intéressant, je vais vous fournir du code vous permettant de mettre à jour le titre joué dans Windows Live Messenger en y renseignant ce que vous voulez :)

Créez un nouveau projet, etc …, puis insérons-y le namespace suivant afin d’avoir accès aux classes d’interopérabilité du framework .net :

using System.Runtime.InteropServices;

Nous définissons ensuite une région de code nous permettant, en utilisant les services d’interopérabilité du framework, de définir la façon dont seront envoyées les données (avec également une petite gestion du Garbage Collector) :

#region InteropServices - Title WLM
    private const int WM_COPYDATA = 0x4A;

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    private static extern IntPtr SendMessage(IntPtr hwnd, uint wMsg, IntPtr wParam, IntPtr lParam);

    [DllImport("user32.dll", EntryPoint = "FindWindowExA")]
    private static extern IntPtr FindWindowEx(IntPtr hWnd1, IntPtr hWnd2, string lpsz1, string lpsz2);

    [StructLayout(LayoutKind.Sequential)]
    private struct COPYDATASTRUCT
    {
        public IntPtr dwData;
        public int cbData;
        public IntPtr lpData;
    }

    private static COPYDATASTRUCT data;

    private static IntPtr VarPtr(object e)
    {
        GCHandle GC = GCHandle.Alloc(e, GCHandleType.Pinned);
        IntPtr gc = GC.AddrOfPinnedObject();
        GC.Free();
        return gc;
    }
#endregion

Bien, il ne nous reste plus qu’à écrire la méthode pour envoyer notre artiste, notre titre ainsi que l’album sur Windows Live Messenger, je l’ai appelée setMSNMusic :

private void setMSNMusic(bool enable, string title, string artist, string album)
{
    string category = "Music";
    string buffer = "\\0" + category + "\\0" + (enable ? "1" : "0") + "\\0{0} - {1}\\0" + title + "\\0" + artist + "\\0" + album + "\\0\\0\0";
     int handle = 0;
    IntPtr handlePtr = new IntPtr(handle);

    data.dwData = (IntPtr)0x0547;
    data.lpData = VarPtr(buffer);
    data.cbData = buffer.Length * 2;

    handlePtr = FindWindowEx(IntPtr.Zero, handlePtr, "MsnMsgrUIManager", null);
    if (handlePtr.ToInt32() > 0)
        SendMessage(handlePtr, WM_COPYDATA, IntPtr.Zero, VarPtr(data));
}

Bon et bien le plus facile reste à faire, réaliser un appel à cette méthode pour afficher ce que l’on veut (par exemple U2 – Vertigo) :

this.setMSNMusic(true,"U2", "Vertigo", "Vertigo (album)");

En espérant que cet article soit utile à certains :)

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

C# .Net – Tri d’une ArrayList sur la propriété d’un objet

Posted: mars 16th, 2010 | Author: Vincent | Filed under: C Sharp, Développement, Microsoft | Tags: .net, arraylist, C#, CSharp, Microsoft, objet, trie | No Comments »

Pour un projet, j’ai eu besoin de trier une ArrayList d’objets Genome par une propriété particulière (pour moi, une note que je donnais aux genomes).

J’ai mis pas mal de temps à trouver la bonne solution, et elle était en fait tellement simple que je vous la partage :

Commencons par implémenter l’interface IComparable à notre classe :

public class Genome : IComparable {
...

Ensuite, il faut redéfinir la méthode CompareTo, de la façon suivante :

public int CompareTo(object obj)
{
     Genome Compare = (Genome)obj;
     int result = this.note.CompareTo(Compare.note);
     if (result == 0)
            result = this.note.CompareTo(Compare.note);
     return result;
}

Prenez soin de modifier la propriété demandée pour la comparaison ainsi que le nom de votre classe.

Ensuite, il ne vous reste plus qu’à appeller la méthode Sort sur votre ArrayList pour la trier :

monArrayList.Sort();

Et voilà, votre ArrayList est triée :)

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR

Symfony 2 is « fast as hell » !

Posted: février 17th, 2010 | Author: Vincent | Filed under: Développement, PHP, Symfony, Web 2.0, web | Tags: 2.0, fast, hell, Symfony | 1 Comment »

Alors que je recommence à peine à me remettre un peu à Symfony pour un projet perso, voilà que Fabien Potentier annonce lors de la Symfony live 2010 les nouveautés du framework 2.0 qui devrait arriver d’ici le mois de mars !

L’accent a été particulièrement mit sur la rapidité d’exécution des applications sous Symfony, jugez plutôt :

De quoi me donner de bonnes raisons de penser que Symfony est vraiment un framework PHP très maintenu, très évolutif et surtout très stable aussi bien pour de petites applications que de grosses applications.

Si vous souhaitez tous les slides de la présentation de cette version 2, les voici :

Partager cet article : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live-MSN
  • MySpace
  • Pownce
  • Scoopeo
  • Wikio
  • Wikio FR