Votre navigateur est obsolète !

Pour une expériencenet et une sécurité optimale, mettez à jour votre navigateur. Mettre à jour maintenant

×

Anthony Crovella

Analyste programmeur

informatique
Développement
Créativité
Microsoft
Polyvalence
Anthony Crovella
36 ans
Permis de conduire
Lexy (54720) France
Situation professionnelle
En poste
En simple veille
CV réalisé sur DoYouBuzz
Developers N.E.P nep-dev.blogspot.com
iSpy cams
20 avr. 2018
Pour ceux qui sont intéressés par Star Wars, Darth Vador streame ses aventures avec iSpyConnect :
(il s'agit d'un "emulateur" de webcam trés pratique quand vous faites du dev sur une VM qui n'a pas accès avec votre webcam)

For this to work with skype you will need to download the 32 bit version (skype is 32 bit only)
We've developed a virtual webcam driver so you can use any of the cameras you add into ispy in applications like Skype, Messenger, Flash, web conferencing tools etc. It's free and what's more, with an ispy subscription you can use this driver remotely. Virtual webcam driver
  • Download the Virtual Webcam Driver
  • Unzip the file
  • Run the install.bat file. Depending on your settings, Windows may block this as it has been downloaded from the internet. If this happens click "More info" and "Run anyway" to install.
  • You may need to restart your computer for the driver to show up in third party software

Configuring the virtual webcam driver


Integrating with Skype:
  • Click Tools - Options - Video Settings
  • Select "iSpy Virtual Devices" in the webcam dropdown (if you don't see this run the install.bat file again and check it is installing successfully. You will need Administrator privileges to install this. Try restarting skype and restarting your PC)
  • Enter your iSpyConnect.com login information in the settings dialog and click "Get Cameras". iSpy will need to be running and signed into your account in web settings to get a list of available cameras.
  • Click to select a camera. The live feed from that camera will then start playing in the video preview window.
  • Click OK
The driver will remember your selection. To clear your configuration remove your login details from settings and click "Get Cameras" again.

Default cameras and Multi View

To setup default cameras, open ispy and click "Options - Default Device Manager". You can then select 1 or more cameras to display in the default video feed to the virtual device driver.


When you then connect a third party application to the virtual device driver ispy will return a multi cam feed of your selected devices. You can change your camera selections in ispy and the feed into skype will be updated live without having to go back into properties which makes it easy to swap in and out video feeds.

 

Uninstalling the Driver

You can uninstall the driver at any time by running uninstall.bat in the same archive.

source et DL :
https://www.ispyconnect.com/userguide-virtual-webcam-driver.aspx
Chocolatey !
08 févr. 2018


Résultat de recherche d'images pour


Chocolatey is a package manager for Windows (like apt-get or yum but for Windows). It was designed to be a decentralized framework for quickly installing applications and tools that you need. It is built on the NuGet infrastructure currently using PowerShell as its focus for delivering packages from the distros to your door, err computer.


https://chocolatey.org

Résultat de recherche d'images pour

Requirements

  • Windows 7+ / Windows Server 2003+
  • PowerShell v2+
  • .NET Framework 4+ (the installation will attempt to install .NET 4.0 if you do not have it installed)
That's it! All you need is choco.exe (that you get from the installation scripts) and you are good to go! No Visual Studio required.

Installing Chocolatey

Chocolatey installs in seconds. You are just a few steps from running choco right now!
  1. First, ensure that you are using an administrative shell - you can also install as a non-admin, check out Non-Administrative Installation.
  2. Copy the text specific to your command shell - cmd.exe or powershell.exe.
  3. Paste the copied text into your shell and press Enter.
  4. Wait a few seconds for the command to complete.
  5. If you don't see any errors, you are ready to use Chocolatey! Type choco or choco -? now.
Automatic page load progress bar
05 mai 2015

What is Pace?

Include pace.js and a CSS theme of your choice, and you get a beautiful progress indicator for your page load and ajax navigation.
No need to hook into any of your code, progress is detected automatically.



http://github.hubspot.com/pace/docs/welcome/



Some examples : 


07 avr. 2015

DiffNow - Compare files Online
06 mars 2015
Aujourd'hui je vais vous présenter un petit site vraiment sympa qui ma bien dépanner.
Quand vous avez un fichier HTML de 1800 lignes qui pète à cause d'une balise qui est venue faire la maline vous ne savez trop ou il est toujours intéressant de pouvoir comparé le fichier actuel avec une ancienne versions.

Alors oui il y a moult outils de versionning pour ça, mais des fois votre outil de versionning ne peut simplement pas être utilisé.



Diffnow vous permet de faire ceci et il va plus loin même puisqu'il vous permet de comparé toutes sorte de fichiers.

Je vous invite vivement à l'essayer c'est gratuit (vous pouvez faire un dons si vous le souhaitez) et ça ce passe à cette adresse.


Chart.js Documentation
24 févr. 2015
Everything you need to know to build great looking charts using Chart.js

Petit liens pour vos graphiques (fort pratique pour des dashboard par exemple)

ChartJs



Sécurité – Se former à l’exploitation
22 oct. 2014
Enore une fois, un petit Mémo qui viens tout droit du site de notre cher Korben
C'est un site qui s'appelle exploit-exercises.com qui propose plusieurs machines virtuelles ainsi que les explications et les exercices qui vont bien pour apprendre le hacking, le vrai, c'est à dire l'escalade de privilèges sous Linux, les buffers overflow, le développement d'exploit, ou encore le reverse engineering...etc
Y'a de quoi faire si vous voulez vous former à la sécurité informatique.
Des exercices pour vous former au pentest
22 oct. 2014
Similaire à l'initiative exploit-exercises, qui permet de se former à la sécurité informatique, voici venu PentesterLab.
(merci Korben)



Ce site, comme son grand frère, propose des images Vmware (ISO) à télécharger gratuitement ainsi que des tutoriels, pour vous former seul au pentesting.
Pour le moment, il n'y a qu'une dizaine de cours, mais c'est déjà assez pointu.
  • CVE-2012-6081: MoinMoin code execution
  • Web for Pentester
  • Axis2 Web Service and Tomcat Manager
  • CVE-2008-1930: WordPress 2.5 Cookie Integrity Protection Vulnerability
  • CVE-2012-1823: PHP CGI
  • From SQL injection to shell
  • From SQL injection to shell: PostgreSQL edition
  • PHP Include And Post Exploitation
  • CVE-2012-2661: ActiveRecord SQL Injection
  • Introduction to Linux Host Review
  • Rack Cookies and Commands Injection
Amusez-vous bien !
[JS]Empécher l'envoi multiple d'un form
22 oct. 2014
Il est dur de ce protéger des cliqueurs fou aujourd'hui, voici une petite fonction javaScript qui permet d'éviter les envoi multiple d'un form à cause d'un user X ou Y qui aurait eu la bonne idée de cliquez 13 fois sur votre boutton.





La fonction :

 

rajouter dans votre balise form :

onsubmit="return hideSubmit();"

Enfin placer votre boutton dans une div comme ceci:




Ceci désactivera votre boutton et affichera un message (patientez...) à la place empéchant ainsi l'envoi multiple.

note : si vous mettez id='submitButton' directement dans votre boutton, cela changera le texte du boutton mais n'empechera pas l'user de cliquer dessu comme un fou furieux


Plus de 750 icônes libres pour vos projets web et mobiles
21 oct. 2014
Merci Korben ,

Il y a 2 jours, Google a publié sur Github une mise à jour de sa petite collection d'icônes(symboles) dans le cadre de son site Design rassemblant les "meilleures pratiques" en terme de design web et applicatif selon Google.


À vous de voir ce qui est à prendre ou à laisser sur ce site mais cette petite collection de plus de 750 symboles sous licence Creative Commons va faire votre bonheur.
On y retrouve des icônes classées par catégories, permettant de couvrir tous les types de contenus, de comportement, de communication, de médias, d'objets...etc. que vous pourriez avoir à illustrer sur vos sites ou dans vos applications, qu'elles soient web ou mobile.
91f05e76 5603 11e4 9d59 27aa01e1c669 650x368 Plus de 750 icônes libres pour vos projets web et mobiles
be3628ee 5603 11e4 8c29 e7a102d36565 650x206 Plus de 750 icônes libres pour vos projets web et mobiles
Les icônes sont disponibles dans les formats suivants et sont utilisables librement :
  • SVG en 24 px et 48 px
  • SVG et sprites CSS
  • En version PNG pour le web
  • En version PNG pour iOS (Propre sur écrans Retina)
  • En version Hi-dpi (Propre sur les écrans Ultra HD)
[JOOMLA][docs]Display error messages and notices
17 oct. 2014
Errors, warnings and notices can be displayed from any component, module, plugin or template using the methods outlined below.


// Get a handle to the Joomla! application object
$application = JFactory::getApplication();
 
// Add a message to the message queue
$application->enqueueMessage(JText::_('SOME_ERROR_OCCURRED'), 'error');
 
/** Alternatively you may use chaining */
JFactory::getApplication()->enqueueMessage(JText::_('SOME_ERROR_OCCURRED'), 'error');
The second argument to the enqueueMessage function is the type of the message. The default is 'message', but 'error' results in a different style for the message. The message will be displayed in place of a special jdoc:include statement in your template. Place the following in your template at the location where you want messages to appear.
<jdoc:include type="message" />

Message

Message
JFactory::getApplication()->enqueueMessage('Message');

Notice

Notice
JError::raiseNotice( 100, 'Notice' );

Warning

Warning
JError::raiseWarning( 100, 'Warning' );

Error

JError::raiseError( 4711, 'A severe error occurred' );

Joomla! 3.x is bootstrapped

Since Joomla! Joomla 3.x uses bootstraped templates, the messages will use the standard bootstrap CSS styles for Alerts.
The general syntax remains:
JFactory::getApplication()->enqueueMessage('Your Message', 'type');
Where type can be one of
  • 'warning' - yellow
  • 'notice' - blue
  • 'error' - red
  • 'message' (or empty) - green
[JOOMLA] Suivi de création de module 3.x
15 oct. 2014
Cette articles est une suite de l'article sur la création de composant 3.x, il est vivement conseiller de'y jeter un oeil avant de poursuivre.

Bon ce fut moins laborieux que prévu :D




Dans mon composant j'ai crée un nouveau dossier 'module'
dans ce dossier j'y ai placer un fichier XML pour l'instalation :

(config n'est pas obligatoire c'est la que vous mettrez vos field si field vous avez)



Code:


    Online Help
     Anthony Crovella
    1.0.0
    module composant (a mettre en trad) 
    
        mod_composant.xml
        mod_composant.php
        index.html
        helper.php
        tmpl/default.php
        tmpl/index.html
    
    
    
    
Ensuite le fichier mod_composant.php 

Code PHP:

  
// no direct access defined('_JEXEC') or die;

require 
JModuleHelper::getLayoutPath('mod_composant'$params->get('layout''default'));?>
Ensuite dans le dossier module j'ai crée un dossier 'tmpl' dans lequel j'ai mis mon default.php

Code PHP:
// No direct access defined('_JEXEC') or die;JHtml::_('behavior.keepalive'); JHtml::_('bootstrap.tooltip'); ?> 
echo JRoute::_('index.php'); ?>" method="get" id="modOh-form" class="form-inline">
        

            echo JText::_(''?>
            echo JText::_('JGLOBAL_PASSWORD'?>" />      
        

        

            echo JText::_(''?>
            echo JText::_('JGLOBAL_PASSWORD'?>" />      
        

        
                echo JText::_('COM_ONLINEHELP_ONLINEHELP_SEND'); ?>
                
                
                echo JHtml::_('form.token'); ?>             

J'ai donc simplement fait un form en get qui renvoi sur ma vue confirm (souvenez vous)
Aprésent je vais entammer la partie fun (ou pas) => les ACL !
[JOOMLA] Suivi création de composant 3.x
09 oct. 2014
Bonjour,

Je dévelope actuellement un composant qui permettra aux clients d'envoyer des messages anonymes à un groupe d'administrateur charger de s'occuper de ces gens.

J'ai suivi la docs officiel qui propose de crée un petit helloworld.




Premier problème le tri des colonnes dans la partie admin ne fonctionnait pas, j'ai reussi à résoudre ce probléme en farfouillant dans les composant joomla (com_banners)

J'ai ensuite voulu ajouter les filtres j'ai donc suivi ce tuto :http://docs.joomla.org/J2.5:How_to_a..._to_components

Que j'ai adapter à la version 3.x en utilisant encore une fois ce que j'ai pu voir dans com_banners.Cela ne fonctionne pas.

Le problème :

aprés l'ajout du code le tri ne fonctionne plus (on clique une fois ca tri en asc, on reclick ca trie en desc, on reclik encore ca remet en asc puis ca ne change plus)

Le probléme viens, je pense, du fullordering :

ma consol me dit : public 'list.fullordering' => string 'null ASC' (length=8)

Dans Admin/forms j'ai ajouter ceci a mon fichier xml :


Code HTML:
 "list">
  
   >JGLOBAL_SORT_BY
   >JGRID_HEADING_ID_ASC
   >JGRID_HEADING_ID_DESC
  
  
 
Je presume que ce fichier xml est appeler par le populatestate?
Actuellement ma fonction populatestate ressemble a ceci :

Code PHP:
 protected function populateState($ordering null$direction null)
        {
            
// Initialise variables.
            
$app JFactory::getApplication('administrator');
    
            
// Load the filter state.
            
$search $this->getUserStateFromRequest($this->context '.filter.search''filter_search');
            
$this->setState('filter.search'$search);
    
            
$state $this->getUserStateFromRequest($this->context '.filter.state''filter_state''''string');
            
$this->setState('filter.state'$state);
    
            
// Load the parameters.
            
$params JComponentHelper::getParams('com_letest');
            
$this->setState('params'$params);
    
            
// List state information.
            
parent::populateState('id''asc');
        }  
Je ne suis pas trés doué en php j'ai donc du mal a comprendre comment appeler mon fichier xml? (en partant du principe que c'est ca le problème biensure)

Edit: après quelques manipulations sur le com_banners j'ai decouvert que mon problème ne vient pasdu fullordering je repars à 0 

EDIT 07/10/14

J'ai reussi a faire fonctionner le tri avec les filtre par defaut de joomla (state et search) en revanche j'ai ajouter un nouveau filtre 'section' qui correspond a la colonne 'section' de ma table.Cette colonne peut contenir 3 valeurs (jeune / adulte / prof) l'idée c'est de pouvoir aficher que les lignes qui correspondent a jeune (par exemple) mais je bloque.

ma fonction getoption (admin/models/fields/monfichier.php): 


Code PHP:
protected function getOptions()
        {
                
// Initialize variables.
                
$options = array();

                
$db     JFactory::getDbo();
                
$query  $db->getQuery(true)

            ->
select('id As value, section As text')
            ->
from('#__matable AS a')
            ->
order('a.section');

                
// Get the options.
                
$db->setQuery($query);

                
$options $db->loadObjectList();

                
// Check for a database error.
                
if ($db->getErrorNum()) {
                        
JError::raiseWarning(500$db->getErrorMsg());
                }

                return 
$options;
        }  
Ce que j'ai rajouter dans mon fichier xml de filtre :

Code:
                 
   
  
Et enfin l'ajout dans ma fonction getListQuery (admin/models/monfichiers.php) :

Code PHP:
if ($section $this->getState('filter.section'))
        {
            
var_dump($this->getState('filter.section'));
            
$query->where('section = ' $db->quote($section));
            echo 
$query;
        }  
EDIT (09/10/14)

Les filtres fonctionnent j'ai crée un fichier php par filtre spécifiques pour les filtres 'globaux' j'ai pu utiliser les librairies joomla voiciun exemple d'un fonction getOptions() pour un filtre spécifique :

Code PHP:
protected function getOptions()
        {

        
$db JFactory::getDbo();
        
$query $db->getQuery(true)
            ->
select ('distinct section As value, section As text')
            ->
from('#__matable AS a')
            ->
group('value');

        
// Get the options.
        
$db->setQuery($query);

        try
        {
            
$options $db->loadObjectList();
        }
        catch (
RuntimeException $e)
        {
            
JError::raiseWarning(500$e->getMessage());
        }

        
// Merge any additional options in the XML definition.
        // $options = array_merge(parent::getOptions(), $options);

        
array_unshift($optionsJHtml::_('select.option''0'JText::_('COM_MONCOMPOSANT_SECTION')));

        return 
$options;
        }
}  
a retenir : beaucoup de tuto/forum et cie disent qu'il faut utiliser la fonctions populatestate, aprés plusieurs test voila ma fonction populatestate actuel :


Code PHP:
  protected function populateState($ordering null$direction null)
        {
            
// List state information.
            
parent::populateState('id''asc');
        }

Pour mes filtres perso voilà ma démarche :
- si ils 'agit d'un filtre spécifique : création d'un fichier php dans admin/models/fileds avec la fontions getoptions qui va bien (voir plus haut)

-ajout du field XML dans le fichier filter_tonfiltre.xml (admin/models/forms)

-ajout du filtre dans le fichier php toncomposants.php (admin/models) comme suit (exemple pour un filtre spécifique et un filtre qui utilise les lib joomla):


Code PHP:
 // Filter by published state
                
$published $this->getState('filter.published');
          
                if (
is_numeric($published))
                {
                    
$query->where('published = ' . (int) $published);
                }
                elseif (
$published === '')
                {
                    
$query->where('(published IN (0, 1))');
                }
  
                
//filter by section
                
if ($section $this->getState('filter.section'))
                {
                    
$query->where('section = ' $db->quote($section));
                }  
(PS: n'oublier pas d'afficher le tout dans votre vue (le code qui suit est a placé aprés la balise ouvrante
: )


Code PHP:

        
            echo JText::_('COM_ONLINEHELP_ONLINEHELPS_FILTER'); ?>                             echo JLayoutHelper::render(
                    
'joomla.searchtools.default',
                    array(
'view' => $this)
                );
            
?>         

    


Je m'attaque au coté client actuellement j'ai un formulaire de ce type : 


Code HTML (la vue) :
"form_oh" method="post" action="components\com_onlinehelp\controllers\formulaire.php">
 

>Ton pseudo :"text" id="pseudo" name="pseudo" required />

>Tu es : "radio" id="genre_m" name="genre" /> un garçon

"radio" id="genre_f" name="genre" /> une fille

>Ton âge :"number" id="age" name="age" required />

>Ta question :

Ici tu peux écrire le texte de ta demande. Tu peux nous écrire en français, en allemand, en anglais. Tu peux agrandir le champ texte en tirant avec le pointeur sur l'angle en bas à droite
"text-align:center;">"submit" name="envoi" value="Envoyer ma question" />

Code PHP (controlleur):
if(isset($_POST['pseudo']))      $pseudo=$_POST['pseudo'];
else      
$pseudo="";

if(isset(
$_POST['genre']))      $genre=$_POST['genre'];
else      
$genre="";

if(isset(
$_POST['age']))      $age=$_POST['age'];
else      
$age="";

if(isset(
$_POST['question']))      $question=$_POST['question'];
else      
$question=""// On vérifie si les champs sont vides if(empty($pseudo) OR empty($genre) OR empty($age) OR empty($question))
{
    echo 
'Attention, tous les champs sont obligatoires !';

}  

l'idée c'est d'utiliser les outils joomla (genre Jinput) pour rendre le tout plus safe (pasque la bonjour les injections !)

Donc le frontend fonctionne voici les modif faite sur le code :


Code PHP (la vue):

    echo JRoute::_('index.php'); ?>" method="post" class="form-validate form-horizontal">
        

            echo JText::_('COM_COMPOSANT_FORM_LABEL');?>
            
                echo $this->form->getLabel('section'); ?>

                echo $this->form->getInput('section'); ?>

            

            
                echo $this->form->getLabel('pseudo'); ?>

                echo $this->form->getInput('pseudo'); ?>

            

            
                echo $this->form->getLabel('genre'); ?>
                echo $this->form->getInput('genre'); ?>
            
            
                echo $this->form->getLabel('age'); ?>
                echo $this->form->getInput('age'); ?>
            
            
                echo $this->form->getLabel('question'); ?>
                echo $this->form->getInput('question'); ?>
            

        
            
                echo JText::_('COM_COMPOSANT_COMPOSANT_SEND'); ?>
                
                
                echo JHtml::_('form.token'); ?>             
 

 Ensuite voila a quoi ressemble mon fichier view.html.php :

Code PHP (view.html.php) il récupére le form et le passe à la vue ce qui permet de faire les traitements:
class OnlineHelpViewOnlineHelp extends JViewLegacy // Overwriting JView display method
        
function display($tpl null)
        {     
                
// Assign data to the view
                
$this->form $this->get('Form');

                
// Check for errors.
                
if (count($errors $this->get('Errors')))
                {
                        
JLog::add(implode(''$errors), JLog::WARNING'jerror');
                        return 
false;
                }
                
// Display the view
                
parent::display($tpl);
        }
}  

Ensuite j'ai eu besoin de crée une page qui, aprés l'envoi du formulaire, affiche un message de confirmation ainsi que le pseudo et un code unique pour l'utilisateur, j'ai donc du recup les données.La première idée fu de passer mes 2 param dans l'url et de les recupéré avec un $_GET, cette variable n'étant pas 'safe' le Jinput fait son retour :

pour pouvoir utiliser tout correctement et surtout proprement j'ai crée 2 fonctions dans mon model :

Code PHP (confirmation.php : le model) :
            /**
             * Get the pseudo
             * @return string The pseudo to be displayed to the user
             */
            
public function getPseudo()
            {
                
$jinput JFactory::getApplication()->input;
                if (!isset(
$this->pseudo))
                {
                    
$this->pseudo $jinput->get('pseudo');
                }
                return 
$this->pseudo;
            } 
         
            
/**
             * Get the code question
             * @return string The code unique to be displayed to the user
             */
         
            
public function getCode_unique()
            {
                
$jinput JFactory::getApplication()->input;
                if (!isset(
$this->code_unique))
                {
                    
$this->code_unique $jinput->get('code_unique');
                }
                return 
$this->code_unique;
            }  

Ensuite j'ai rajouter la génération d'un code unique dans mon tableau de donnée que je crée dans mon controllers dans ma fonction submit:

Code PHP:
$data[code_question] = uniqid();  

Ainsi a la fin de mon submit je redirige vers une URL qui contient mes 2 valeurs :

Code PHP:
$this->setRedirect(JRoute::_('index.php?option=com_composant&view=confirm&pseudo='.$data[pseudo].'&code_unique='.$data[code_question],false));  
Ensuite on assigne nos données a la vue (via le fichier view.html.php de notre vue 'confirm)

Code PHP (view.html.php):
class ComposantViewConfirm extends JViewLegacy // Overwriting JView display method
        
function display($tpl null)
        {         

         
             
                // Assign data to the view
                
$this->pseudo $this->get('Pseudo');
                
$this->code_question $this->get('Code_unique');

                
// Check for errors.
                
if (count($errors $this->get('Errors')))
                {
                        
JLog::add(implode(''$errors), JLog::WARNING'jerror');
                        return 
false;
                }
                
// Display the view
                
parent::display($tpl);
        }

On peut donc utiliser notre pseudo et notre code unique sans soucis dans la vue (et surtout sans $_GET et de manière sécurisée)

Code PHP:

echo JText::_('COM_COMPOSANT_MSG_CONFIRMATION_PSEUDO');  echo $this->pseudo ;  ?>


echo JText::_('COM_COMPOSANT_MSG_CONFIRMATION_CODE_UNIQUE');  echo $this->code_unique;  ?>

 (les longue chaine de majuscules sont des label, j'utilise un fichier de traduction il n'y a donc aucun texte en dur dans le code)

Aller on attaque la création du module !
En savoir +
[Joomla] Standard form field types
08 oct. 2014
Numerous types of form field are built into Joomla!. The following table lists these standard types and their availability. Use the single-page reference if you want to print all existing form field documentation.
Joomla 1.5 Please note that many of these fields are available as parameter types in Joomla! 1.5. For a list of parameter types, see J1.5:Standard parameter types. For a comparison between form field and parameter types, see Standard form field and parameter types.


TypeDescriptionAvailability
accesslevelprovides a drop down list of viewing access levels.Joomla 2.5 and newer
cachehandlerprovides a list of available cache handling options.Joomla 2.5 and newer
calendarprovides a text box for entry of a date. An icon next to the text box provides a link to a pop-up calendar, which can also be used to enter the date value.Joomla 2.5 and newer
captchaprovides a drop down list of the captcha plugins.Joomla 2.5 and newer
categoryprovides a drop down list of categories for an extension.Joomla 2.5 and newer
checkboxprovides a single checkbox to be checked or uncheckedJoomla 2.5 and newer
checkboxesprovides unlimited checkboxes that can be used for multi-select.Joomla 2.5 and newer
Chrome Styleprovides a list of template chrome style options grouped by template.Joomla 3.0 and newer
colorprovides a color picker when clicking the input box.Joomla 2.5 and newer
Content LanguageProvides a list of content languages.Joomla 2.5 and newer
Content TypeProvides a list of content types.Joomla 3.1 and newer
comboprovides a combo box field.Joomla 2.5 and newer
componentlayoutprovides a grouped list of core and template alternate layouts for a component item.Joomla 2.5 and newer
contentlanguageprovides a list of installed content languages for use in conjunction with the language switcher plugin.Joomla 2.5 and newer
Database ConnectionProvides a list of available database connections, optionally limiting to a given list.Joomla 2.5 and newer
editorprovides an editor area field.Joomla 2.5 and newer
editorsProvides a drop down list of the available WYSIWYG editors. Since Joomla 2.5 use plugins form field instead.Joomla 2.5
emailprovides an email field.Joomla 2.5 and newer
fileJoomla 2.5 and newer
filelistprovides a drop down list of files from a specified directory.Joomla 2.5 and newer
folderlistprovides a drop down list of folders from a specified directory.Joomla 2.5 and newer
groupedlistprovides a drop down list of items organized into groups.Joomla 2.5 and newer
header tagprovides a drop down list of the header tags (h1-h6).Joomla 3.0 and newer
helpsiteprovides a drop down list of the help sites for your Joomla installation.Joomla 2.5 and newer
hiddenprovides a hidden field for saving a form field whose value cannot be altered directly by a user in the Administrator (it can be altered in code or by editing the params.ini file).Joomla 2.5 and newer
imagelistprovides a drop down list of image files in a specified directory.Joomla 2.5 and newer
integerprovides a drop down list of integers between a minimum and maximum.Joomla 2.5 and newer
languageprovides a drop down list of the installed languages for the Front-end or Back-end.Joomla 2.5 and newer
listprovides a drop down list of custom-defined entries.Joomla 2.5 and newer
mediaprovides modal access to the media manager for insertion of images with upload for users with appropriate permissions.Joomla 2.5 and newer
menuprovides a drop down list of the available menus from your Joomla site.Joomla 2.5 and newer
Menu Itemprovides a drop down list of the available menu items from your Joomla site.Joomla 2.5 and newer
Module Layoutprovides a list of alternative layout for a module grouped by core and template.Joomla 2.5 and newer
Module OrderProvides a drop down to set the ordering of module in a given positionJoomla 2.5 and newer
Module Positionprovides a text input to set the position of a module.Joomla 2.5 and newer
Module Tagprovides a list of html5 elements (used to wrap a module in).Joomla 3.0 and newer
notesupports a one line text field.Joomla 3.1 and newer
passwordprovides a text box for entry of a password. The password characters will be obscured as they are entered.Joomla 2.5 and newer
pluginsprovides a list of plugins from a given folder.Joomla 2.5 and newer
radioprovides radio buttons to select different options.Joomla 2.5 and newer
repeatableAllows form fields which can have as many options as the user desires.Joomla 3.2 and newer
rulesprovides a matrix of group by action options for managing access control. Display depends on context.Joomla 2.5 and newer
sessionhandlerprovides a drop down list of session handler options.Joomla 2.5 and newer
spacerprovides a visual separator between form fields. It is purely a visual aid and no value is stored.Joomla 2.5 and newer
sqlprovides a drop down list of entries obtained by running a query on the Joomla Database. The first results column returned by the query provides the values for the drop down box.Joomla 2.5 and newer
tagprovides an entry point for tags (either AJAX or Nested).Joomla 3.1 and newer
telprovides an input field for a telephone number.Joomla 2.5 and newer
templatestyleprovides a drop down list of template styles.Joomla 2.5 and newer
textprovides a text box for data entry.Joomla 2.5 and newer
textareaprovides a text area for entry of multi-line text.Joomla 2.5 and newer
timezoneprovides a drop down list of time zones.Joomla 2.5 and newer
URLprovides a URL text input field.Joomla 2.5 and newer
userprovides a modal list of users.Joomla 2.5 and newer
usergroupprovides a drop down list of user groups.Joomla 2.5 and newer
En savoir +
[JOOMLA] [composant] ereur 500 - Affichage introuvable
01 oct. 2014
Message type : 500 - Affichage introuvable [NOM, TYPE, PREFIX] contact,html,contactView

Ma solution : Dans la partie admin/views j'ai fait une erreur dans le default.php, en effet si l'on regarde le fichier helloworld du tutoriel on voit ceci :



que j'ai remplacer par ceci :

En savoir +
[JOOMLA][composant] probléme de tri sur les colonnes du back-end
01 oct. 2014
Petit mémo, si vous avez suivi ce tutoriel :

http://docs.joomla.org/J3.x:Developing_a_MVC_Component/Introduction

Pour crée votre propre composant joomla, vous avez du remarquez que le tri des colonnes dans l'admin ne fonctionne pas.En effet il est ecris qu'il n'y a pas besoin de la fonction populateState, moi j'en ai eu besoin..




je vous ajoute un petit tutoriel pour rendre le tout triable :

Step 1: The Model

The first thing you need to do is to populate the order state of your model. Change 'default_column_name' to the name of the column you want to use as the default sort, and change the second parameter to DESC if you wish the default order direction to be descending. Calling the parents populateState method will make sure that the State object is filled and accessible to all of the code that might need it.
protected function populateState($ordering = null, $direction = null) {
        parent::populateState('default_column_name', 'ASC');
}
The JModelList::populateState only allows predefined values for the ordering. Therefore you'll have to add the names of all columns by which your data can be sorted to the 'filter_fields' config, like this:
        public function __construct($config = array())
        {   
                $config['filter_fields'] = array(
                        'column_name_1',
                        'column_name_2',
                        // ...
                        'column_name_3'
                );
                parent::__construct($config);
        }
If you use column prefixes in your query you can also specify them along with the column name (e.g. 'b.id').
In the model which generates the data that will form the table, you need to make a change to the method which builds the database query that will be used to populate the HTML table. Most often this is the getListQuery() method, but might not be.
The model could pull data in from anywhere; it doesn't have to be a database, but in the vast majority of cases the model will be using the Joomla database API to submit SQL queries to a database. Assuming that to be the case, you need to adjust the query so that the sort parameters are taken into account.
This information gets called by whatever function builds the ORDER BY clause, typically a private function like this:
public function getListQuery() {
        $db = JFactory::getDbo();
        $query = $db->getQuery(true);
 
        // ...
 
        $query->order($db->escape($this->getState('list.ordering', 'default_sort_column')).' '.
                $db->escape($this->getState('list.direction', 'ASC')));
 
        return $query;
}
Replace 'default_sort_column' with the column you want to sort by by default. You can also change 'ASC' to 'DESC', depending on which way you want to sort by default.

Step 2: The View

Having generated the sorting variables in the model, you need to assign them to the view so that they show up on the page when it is displayed.
To do this you need to add a few lines of code to your view file, typically view.html.php with code similar to this:
public function display($tpl=null) {
        $items = $this->get('Items');
        $state = $this->get('State');
 
        $this->sortDirection = $state->get('list.direction');
        $this->sortColumn = $state->get('list.ordering');
 
        parent::display($tpl);
}

Step 3: The Template

Now you need to add some elements to the component layout file. The table must be included in a form. This might already be the case as, for example, you might already have implemented pagination or filtering on the table. But if the table is not yet in a form then now is the time to wrap it in and tags. The reason that a form is required is that the sortable columns rely on a bit of JavaScript that will submit the form with sort parameters added. Naturally, this will involve a page load, so if you would prefer an AJAX-based solution, then this procedure is not for you.
The form tags will look something like this:
<form id="adminForm" method="post" name="adminForm">
 
.... table goes here ....
 
form>
Notice that the form name must be "adminForm". In some special cases you might need to add the action attribute (e.g. action=""), but usually this should not be required, when it's not there the form will just be submitted to the current documents address, i.e. the same page, which is usually the correct behavior.
You also need to add a couple of hidden fields to the form. They can be placed anywhere between the
and
tags, but generally they are placed just before the closing tag, like this:
.... table goes here .... echo $this->sortColumn; ?>" /> echo $this->sortDirection; ?>" />
Now look at the table itself. You might have a table with static headings already, looking vaguely like this:
<tr>
        <th>Nameth>
        <th>Descriptionth>
tr>
You need to replace the static column names with calls to the Joomla JHTML static class, so that your code will look something like this:

         echo JHTML::_( 'grid.sort', 'Name', 'DbNameColumn', $this->sortDirection, $this->sortColumn); ?>
         echo JHTML::_( 'grid.sort', 'Description', 'DbDescriptionColumn', $this->sortDirection, $this->sortColumn); ?>

You will definitely need to adapt this code to your specific requirements. The arguments to the JHTML call are as follows:
  1. Must be 'grid.sort' so that JHTML will insert the correct behaviour for a sortable column.
  2. This is the name of the column that your visitors will actually see. You need to change this for your particular table columns.
  3. This is the name of the corresponding database field (column) that is to be sorted on. This will be passed to the model, most likely so it can be added to an "ORDER BY" clause in the SQL query statement (whatever is here needs to match one of the column names specified in the whitelist, including any possible prefixes).
  4. Must be exactly as shown here. It is the current order direction (ascending or descending) and comes from the view (see later).
  5. Must be exactly as shown here. It is the name of the column that the table is currently sorted on and comes from the view (see later).
In short, you need to amend the second and third arguments to each JHTML call appropriately.
Finally, if your sortable table is going to be in the front-end of your site, then you need to add a little snippet of JavaScript to the layout. Alternatively, you can add it to the view code (using JDocument->addScriptDeclaration) if you would rather keep your JavaScript code in the HTML section.
<script language="javascript" type="text/javascript">
function tableOrdering( order, dir, task )
{
        var form = document.adminForm;
 
        form.filter_order.value = order;
        form.filter_order_Dir.value = dir;
        document.adminForm.submit( task );
}
script>
You don't need to add this code if your sortable table is in the Administrator as this code is loaded for you automatically anyway.
This completes the changes you need to make to the layout. JHTML grid.sort will now add a call to the tableOrdering function so thattableOrdering will be called whenever the user clicks on the column header. tableOrdering puts the name of the column that was clicked, and the sort direction, into the hidden form fields and submits the form; the changed values will get picked up by the populateState method, and then retrieved by your model via the list.ordering/list.dirc.
En savoir +
Code Rammstein
11 sept. 2014
Merci Joris pour ce morceau de codeque je partage bien évidemment !








// by Rammstein

do
do class
do class if .
do
do class
do class if .

do !
do class !
do class if
do class if !
do class if inline
do class if inline
do class if inline
bool this delete define !

this do int break sizeof public
try if struct for auto static . . .
while !
while !
En savoir +
[CMS][Plugin] Les sondage avec POWr
04 sept. 2014
Bonjour les amis,
aujourd'hui petite présentation d'un Add que j'ai trouver sur le net et que je trouve vraiment bien foutu.
Il s'agit de POWr .



Ils ont plusieur plugin sur leur site, j'ai actuellement pu tester que POWr Survey pour faire des sondage.

En savoir +
[PHP] Script pour copier des fichier d'un dossier à un autre
28 août 2014
Petite fonctions PHPpour copier des fichiers depuis un dossier vers un autre (remplacer copy par rename si vous voulez deplacez le fichier)







 public function deplace_fichier($filename)
{
$path1="lechemin/".$filename;
echo $path1.'
';

$path2="lechemins/".$filename;
echo $path2.'
';

//si le fichier existe dans le premier dossier
if (file_exists($path1)) 
{
//on le copie dans le nouveau dossier
copy($path1, "nouveauchemin/".$filename);
echo 'fichier deplacer depuis path1
';

}else{
//sinon on regarde si il est dans le deuxième dossier
if (file_exists($path2)) 
{
copy($path2, "lenouveauchemin/".$filename);
echo 'fichier deplacer depuis path2
';

}else { echo 'le fichier '.$filename.' n existe pas.';}
}
}
En savoir +
[JAVA] String format
19 août 2014
Pour la construction de valleur prennant obligatoirement un certains nombres de chiffres (exemple: on ne veut pas de 1 ou de 15 on veux 0001 et 0015)

Méthode :


String nu = String.format("%04d", nuCourant);



Showcase :



nuCourant = 123

String nu = String.format("%04d", nuCourant);

résultat :

             
 nu = 0123
En savoir +
[Joomla!3]Comment rajouter des format sur l'éditeur Tiny MCE, exemple le Boutton
12 août 2014
Bonjour ,

Si vous avez besoin de modifier l'éditeur par defaut de joomla, tiny MCE, ces quelques lignes devrait vous être utile, j'explique comment rajouter un format boutton mais cela peut s'adapter pour bien d'autre choses (coloration de texte, etc...)

Il faut simplement modifier le fichier editor.css (qui ce trouve dans template/system/css)
J'ai placer ma classe btn dans une div de cette façon :

Code HTML:
div.btn      { padding: 0 10px 0 10px; }





Ce qui permet de voir div.btn dans les differents format de l'éditeur. (Je pense qu'on est obliger d'encadré avec une
ET un ca permet par la suite de faire du ciblage spécifique dans votre custom.css par exemple


Ensuite je rajoute un lien (le fameux
), et le tour est joué.
Si l'on regarde le code obtenu aprés avoir cliquez sur le format et sur le lien on obteint ceci :

et le rendu final :

Cliquez sur l'image pour la voir en taille réelle 

Nom :   939004Capture2.png 
Affichages : 0 
Taille :  1,4 Ko 
ID :    27921
[HMLT][CSS] Code htm pour le sommaire et son CSS
04 août 2014
Petit "post'it" pour le sommaire de nep-gaming:



Le HTML :




Le CSS :


/*CSS pour la box SOMMAIRE   3px solid #444444 */
.sommaireBox{
border: none;
width: 100%;
height: 100%;
background-color: #41a62a;
padding-top:15px;
margin-bottom:25px;
padding-bottom:0px;
border-radius: 1px;
box-shadow: 0px 10px 6px -6px #777777;
}
.sommaireBox h3 {
margin-bottom:-15px;
margin-left: 3%;
}
.sommaireBox div{
margin-left: 2%;
}
.sommaireBox div:last-child{
margin-left: 7%;
}
.sommaireBox a{
color:#fff;
}
.sommaireBox a:hover {
font-weight:bold;
color:#fff;
}
.p1
{
  display:inline-block;
}
.ulSommaire
{
  list-style:none;
  display:inline;
  margin-bottom:-15px;
}

.ulSommaire li a
{
  text-decoration:none;
}
.ulSommaire:first-child
{
  margin-right:15px;
}

/*CSS pour les ombres*/
.box-shadow-preview{
    height: 100%;
    width: 100%;
    position: relative;
    background-color: #41a62a;
    border-width: 1px;
    border-color: #DDDDDD;
    border-radius: 1px;
    box-shadow: 0px 10px 6px -6px #777777;
}
[SQL] Comment changer un mot de passe rapidement ?
04 août 2014
Bonjour les amis,
voilà une petite astuce pour récupérer des droit MySql par exemple.

MySQL crypte ses mot de passe du coup si vous oubliez le mot de passe super Admin d'un de vos site sur CMS par exemple dur dur de le récupérer.

avec cette astuce ca vous prendera moins de 1 minute,
Connecter vous à votre BDD (via phpmyadmin par exemple), dans la table qui contient vos users choisir le user pour lequel vous avez besoin d'un nouveau mot de passe.

Ensuite copier/coller bêtement ce code :

d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199

Dans la case qui correspont au mot de passe de l'user. Vous pouvez dés à présent vous connecter avec votre nom de user et le mot de passe secret .
[HTML][JAVASCRIPT] Afficher/masquer le contenu d'une DIV
01 août 2014
Code HTML pour la balise div qui va encadré votre contenu :

<div id="id_div_1" style="display:none;"> Texte à masquer, afficher
div>

Code HTML pour le lien sur lequel il faudra cliquer pour afficher votre contenu :

<a href="" onclick="javascript:visibilite('id_div_1'); return false;" >Liena>

Et enfin la fonction JAVASCRIPT à mettre dans votre
      <script>
function visibilite(thingId)
{
var targetElement;
targetElement = document.getElementById(thingId) ;
if (targetElement.style.display == "none")
{
targetElement.style.display = "" ;
} else {
targetElement.style.display = "none" ;
}
}
script>
Lien d'exemple
Texte ou contenu à masquer, afficher
[CSS][PHP] Création d'un calendrier en CSS
29 juil. 2014
voici un petit clendrier bien sympa et qui s'intégre facillement :




les classes CSS utiles :

.date {
width: 80px; height: 96px;
background: #fcfcfc;
background: linear-gradient(top, #fcfcfc 0%,#dad8d8 100%);
background: -moz-linear-gradient(top, #fcfcfc 0%, #dad8d8 100%);
background: -webkit-linear-gradient(top, #fcfcfc 0%,#dad8d8 100%);
border: 1px solid #d2d2d2;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
margin-left: -8%;
}
.date p {
font-family: Helvetica, sans-serif;
font-size: 53px; text-align: center; color: #9e9e9e;
margin-top: 25px;
}
.date p span {
background: #e84542;
background: linear-gradient(top, #e84542 0%, #7a0909 100%);
background: -moz-linear-gradient(top, #e84542 0%, #7a0909 100%);
background: -webkit-linear-gradient(top, #e84542 0%, #7a0909 100%);
font-size: 33px; font-weight: bold; color: #fff; text-transform: uppercase; display: block;
border-radius: 0 0 10px 10px;
-moz-border-radius: 0 0 10px 10px;
-webkit-border-radius: 0 0 10px 10px;
padding: 9px 0 10px 0;
margin-top: 16px;
}

Libre à vous de l'intégrer comme bon vous semble.
en HTML tout simplement :


24 JUIL


 

ou en php (dans mon cas j'ai utiliser le php car j'ai utiliser ce calendrier dans un template joomla et j'avais besoin qu'il m'affiche automatiquement la date de création d'un article)

get('show_create_date')) : ?>

created, 'd'); ?> created, 'M') ?>





Vous pouvez aussi le reproduire via photoshop, pour plus d'infos je vous invite à visiter ce site