My.bookmarks

Soyez le premier à donner votre avis sur cette source.

Vue 11 897 fois - Téléchargée 1 106 fois

Description

My.Boomarks

My.Bookmarks est une application PHP5 permettant la sauvegarde de vos sites favoris sur internet.

Si comme moi vous :

- Utilisez plusieurs postes différents dans une journée.
- Jonglez avec plusieurs navigateurs.
- Perdez vos favoris suite à un formatage de disque dur (hahah le naze).
- Souhaitez partager vos dernières découvertes avec vos amis.
- Voulez rester maitre de vos données.

My.Bookmarks est fait pour vous. Grâce à un simple widget ( un composant d'interface graphique), déposé dans votre barre de favoris (CTRL+B dans firefox pour l'afficher), vous pouvez enregistrer la page que vous êtes en train de visualiser directement sur <u>votre</u> espace web.

Il est vrai qu'il existe déjà des services comparables : xmark, firefox sync... Services gratuits le plus souvent, mais si une de ces sociétés ou association ferme, que vont devenir vos données ? Le plus sage serait l'autonomie !


Démonstration

- http://bookmarks.inwebo.net/

Environnement développement

- PHP 5.2
- jQuery 1.6.4
- jQuery-ui 1.8.16
- MySQL
- HTML5 / CSS3
- Boilerplate
- 960 grid system
- GitHub
- Approche MVC

Compatibilité

Firefox 6+, Opera 11.52+, Chromium 14+

Source / Exemple :


<?php
			if( !is_file('config/config.ini') ) {
				include('views/setup.php');
                                exit();
			}
                        ini_set('display_errors', 0);
?>
<?php include('autoload.php'); ?>
<?php include( dirname( __FILE__ ) . DIRECTORY_SEPARATOR .'helpers/const.define.php'); ?>
<?php

// Controleur Init
try {

	// Session
	$sessions = new MySessions();
	$sessions->addParams('type', 'guest');

	$multiViews   = new MyMultiviews( 'index.php' );
        //var_dump($multiViews);
}
catch( Exception $e ) {

	// Display Error ?
	if( $conf['debug'] == 1 ) {
		echo $e->getMessage();
	}
	else {
		// Try to log in exceptions.log
		try {
			$myLog = new MyLog( $conf['logs'] . 'exceptions.log' );
			$myLog->line( $e->getMessage() );
			$myLog->save();
		}
		// Display it
		catch(Exception $e) {
			if( $conf['debug'] == 1 ) {
				echo $e->getMessage();
			}
		}
	}

}

if( isset($_POST['login']) && isset($_POST['password']) ) {
	$userExists = $sql->query('SELECT *  from `users` WHERE login=":?" AND password=":?"', array( $_POST['login'], md5($_POST['password']) ));
	if( is_resource( $userExists ) && ( @mysql_result( $userExists, 0 ) ) !== FALSE ) {
		$sessions->setParams('type','admin');
		//echo "<meta http-equiv='refresh' content='0';URL=". $conf['root'] ."'>";
	}
}

if( isset($_GET['q'] ) && $_SESSION['type'] == 'admin') {
	$sessions->destroy();
	$sessions->setParams('type','guest');
	echo "<meta http-equiv='refresh' content='0';URL=". $conf['root'] ."'>";
}
?>
<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!-- Consider adding an manifest.appcache: h5bp.com/d/Offline -->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">

  <!-- Use the .htaccess and remove these lines to avoid edge case issues.
       More info: h5bp.com/b/378 -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title><?php echo $conf['name']; ?></title>
  <meta name="description" content="Self hosted bookmarklet service.">
  <meta name="author" content="inwebo">

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width,initial-scale=1">

  <!-- Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons -->

  <!-- CSS: implied media=all -->
  <!-- CSS concatenated and minified via ant build script-->
	<link rel="stylesheet" href="<?php echo ROOT_CSS; ?>my-style.css">
  <!-- end CSS-->

  <!-- More ideas for your <head> here: h5bp.com/d/head-Tips -->
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
    <script type="text/javascript" src="<?php echo ROOT_JS; ?>libs/modernizr-2.0.6.min.js"></script>

   
</head>

<body>
    <a name="top"></a>
  <div id="container" >
    <?php include('views/header.php'); ?>
    <div id="main" role="main">
	<!-- Container -->
	<div class="container_12">

	<!-- Breadcrumbs -->
	<div id="breadCrumbs" class="grid_12">
	<?php
		include('views/breadcrumbs.php');
		BreadCrumbs::display();
	?>
	</div>
	<!-- /Breadcrumbs -->

                <!-- Include -->
		<div class="clear"></div>
                <div class="">
		<?php

                        
			if( $multiViews->args == NULL ) {
				include('views/home.php');
			}
			elseif( $multiViews->args[1] == "categorie" ) {
                               include('views/categorie.php');
                        }
			elseif( $multiViews->args[1] == "tags" ) {
                                if( isset( $multiViews->args[2] ) ) {
                                    include('views/list-tags.php');
                                }
                                else {
                                    include('views/tags.php');
                                }
			}
			elseif( $multiViews->args[1] == "about" ) {
                                    include( 'views/about.php' );
			}
		?>
                </div>
                <!-- Breadcrumbs -->
                
	

        <div class="clear"></div>

	</div>

    </div>
	<!-- /Container -->

       
	<!-- Footer -->
        <?php include('views/footer.php'); ?>
	<!-- /Footer -->

  </div>
<!--! end of #container -->

<!-- Display debug -->
<div id="debugOutPut">
	<ul id="displayMssg">

	</ul>
<div>
<!-- /Display debug -->

<!-- Custom JS -->

<script type="text/javascript" src="<?php echo ROOT_JS; ?>login.js"></script>
<script type="text/javascript" src="<?php echo ROOT_JS; ?>tags-filter.js"></script>
<?php if( $_SESSION['type'] == "admin") {?>
<script type="text/javascript" src="<?php echo ROOT_JS; ?>init.php"></script>
<script type="text/javascript" src="<?php echo ROOT_JS; ?>computeitem.js"></script>
<script type="text/javascript" src="<?php echo ROOT_JS; ?>handler-gui-message.js"></script>

<script type="text/javascript" src="<?php echo ROOT_JS; ?>gestion-categorie.js"></script>
<!--<script type="text/javascript" src="<?php //echo ROOT_JS; ?>cat-del.js"></script>-->
<script type="text/javascript" src="<?php echo ROOT_JS; ?>administration.js"></script>
<script type="text/javascript" src="<?php echo ROOT_JS; ?>handler-help.js"></script>
<?php } ?>
<script type="text/javascript" src="<?php echo GOOGLE; ?>?id=<?php echo $conf ['id']; ?>"></script>
<!-- /Custom JS -->

  <!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.
       chromium.org/developers/how-tos/chrome-frame-getting-started -->
  <!--[if lt IE 7 ]>
    <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
    <script>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
  <![endif]-->

</body>
</html>

Conclusion :


Fork me i'm famous :

https://github.com/inwebo/My.Bookmarks

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

Très bonne idée elcoyotos ! Je mets cela en place
Messages postés
6
Date d'inscription
samedi 26 février 2005
Statut
Membre
Dernière intervention
31 mars 2009

Dommage qu'on puisse pas se loguer sur la demo ....
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

Bonjour,

les messages privés sont exactement fait pour cela je suis dans l'embarras maintenant ...
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

Bonjour,

merci pour ce retour j'effectue les corrections dés que possible.
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010

Pour information, le script d'installation, une fois les fichiers copiés sur le serveur, ne fonctionne pas avec Internet Explorer 8. Il y a une erreur JavaScript:
'console' is undefined
et la validation du formulaire ne se fait pas.
Avec Chrome c'est passé.
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.